Whilst waiting for my quieter fans to arrive, A little more digging into the inner workings of the printer is called for – mainly to ensure that Estimated slicing times in Cura get a little closer to the real world slicing times that I’m seeing…
Overall, if Cura suggests it’ll be 6 hours, it’ll actually be a 9 hour print!
I’m using the vanilla Ultimaker version of Cura rather than the Wanhao custom version
Not quite sure what the advantages are of a custom version that’s lagging a little behind the bleeding edge, Wanhao really need to get their sales pitch documentation up to scratch!
Lots of reading around suggests that Cura’s settings don’t match the printer capabilities, which is why the estimates are quite off..
So, how to find the Jerk settings from the factory?
Infact, how to find any standard printer firmware setting from the factory? – what exactly did Wanhao shove in the EEPROM to make it ‘be’ a Wanhao D9?
Enter – Pronterface
Now known as Printrun
Quite a bit of Googling suggested a very easy, simple way of tethering a printer via USB and ‘doing stuff’ to it was to use this software….
Indeed, it IS easy….
Just fire up, Select the right COM port and….there you go!, simple Full control over stuff!….AND…Look at that Terminal port over on the right!
……….Lets Get cracking
G-Code – http://marlinfw.org/meta/gcode/
Everyone should know a little about this GCode stuff…..
Reading Marlin’s pages, …..http://marlinfw.org/docs/gcode/M503.html M503 – Report Settings Lets go, type – M503 into that terminal box on the right
- Marlin 1.1.4 – The Wanhao is using a year old version of firmware, released in July 2017 – https://github.com/MarlinFirmware/Marlin/releases/tag/1.1.4
This isn’t necessarily a bad thing, a LOT of consumer devices have software / fimrware that lags significantly behind the cutting edge….Car manufacturers are notorious for this…
- Compiled: Jun 12 2018 –
Wanhao have modified the source code and added things like the DGUS LCD control
This basically means that the firmware doesn’t use any calculations relating to volumetric extrusion Which is that fancy newer filament width setting can use
- echo:Steps per unit – This is the calibration of the printer, the PHYSICAL amount it moves! when told to.
The command refers to ‘per unit’ that’s just confusing you, we in Europe use Metric, so here, we’ll go Metric, so that’ll read ‘Steps per Milimeter’
- M92 – returns fairly ‘standard’ numbers!
- X80.30 – 80.3 microsteps of the X (left to Right) stepper motor per MM movement
- Y80.30 – 80.3 microsteps of the Y (Front to Back / Bed movement ) stepper motor per MM movement
- Z400.50 – 400.5 microteps of the Z (Height) stepper motor per MM movement
- E94.30 – 94.3 microsteps of the extruder to pass 1mm of filament out
These, I’ll possibly be changing another time…..These will be quite important for ensuring the Printer outputs stuff that is accurately sized
In particular, the X and Y axis belts definitley aren’t the same length, so it’s likely the steps per MM will be slightly different
http://print.theporto.com/posts/how-to-calibrate-your-3d-printer-extruder-steps/ Goes into more detail than I can for the Extruder calibration.
echo:Maximum feedrates (units/s) – This basically limits how fast the pinter can go! units are again Millimetres per second
- M203 –
- X300.00 – Left to right – 300mm/s (30cm/s, that’s the whole width in 1 second!!)
- Y300.00 – front to back – 300mm/s (30cm/s, that’s the whole depth in 1 second!!)
- Z5.00 – Up and Down – 5mm/s – Glacial 🙂
- E25.00 – Extruder – unsure what this means at the moment…25 what per what?
echo:Maximum Acceleration (units/s2): – i.e. how quick it can get to somewhere – in this case, X is able sustain an acceleration of 500 milimeters per second from rest…or, using some simple formula we can figure out that these numbers are a tad high
- M201 – Set Print Max Acceleration
- X500 –500 millimeters per second per second …Given the bed is just 300mm long, a maximum speed of 547.723m/s would be reached at the end of the bed in just 1.095 seconds!…..this won’t happen in real life of course, which is where the Jerk settings come in AND where the maximum speed of 300mm/s applies above……i.e. just because your Tesla in ludicrous mode can out accelerate gravity, doesn’t mean it’ll get into orbit any time soon, or be able to sustain that acceleration for the amount of time necessary to obtain orbit!……
- Y500
- Z100 –
- E500 – there must be a ‘multiplier’ somewhere for extruder, can’t believe that it can accelerate filament at a steady 0.051 G!
echo:Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>
- M204 – Set Starting Acceleration
- P500.00 – maximum Printing acceleration
- R800.00 – maximum filament retraction acceleration
- T500.00 – maximum Travel acceleration (whilst not printing / extruding)
- M205 – Set Advanced Settings
- S0.00 – Feed Rate – Minium feedrate for Print moves
- T0.00 – Feed Rate – Minimum feedrate for Travel moves
- B20000 – Minimum Segment Time – Microseconds -this number suggests 20 seconds!?
- X7.00 – X Maximum Jerk in mm/s
- Y7.00 – Y Maximum Jerk in mm/s
- Z0.40 – Z Maximum Jerk in mm/s
- E1.00 – Extruder Maximum Jerk
These settings seem to be fairly important – especially to tuning the time for printing in Cura
Summary – Important settings
- Speed – which is the rate of change in your position – Millimeters per second
- Acceleration – which is the rate of change of speed – Millimeters per second Squared
- Jerk – is the minimum velocity difference at which the printer doesn’t need to accelerate or decelerate…….it’ll be a higher number in Bowden setups due to their lesser print head mass….lower in direct drive because they have steppers and stuff on the head, more mass, which can’t change velocity as quickly. From the Marlin Firmware – when changing Speed AND direction – if the difference is less than the value defined, it may happen instantaneously
- Basic Jerk explaination
- If you’re driving at high speed in your car and try to turn down a side street without slowing down, you can’t, you’ll overshoot the street (ringing) and have to turn your car around or reverse to be able to get into that street…
- To take the turning you have to change acceleration – decelerate in the direction you’re currently going just enough to turn and accelerate again to the desired speed when you’re in the side street. Your car hasn’t lost all it’s speed taking the corner, just enough to make sure you take the corner well, without skidding (missing steps)
- simpler Jerk explaination
- Hold a 20Kg weight in your hand….now, imagine someone taking it off you slowly..If it were instantaneously removed, your hand would probably shoot upwards and whack you in the face….In both cases, the force has gone fron about 9.8 newtons to Zero slow removal of the weight vs instant removal is a good analogy for low jerk vs infinite / very high jerk settings….it’s a fine tuning for what your machine is ‘in theory’ capable of, vs what it is physically capable of.
- Speed – Faster = lower quality prints
- Acceleration – Faster = stringing, slower = blobbing
- Jerk – effectivley ‘clamps down’ the maximum speed
- 100000 towards infinite – ‘faster’ – instant changes in direction…. causes lots of vibration, shaking of printer and ‘ringing’ in prints Repetier has a default setting of 20! Marlin has 10…
- 1 – ‘slower’ – problems cornering, too slow, blobby prints, really smoothes out motion on lower end / badly setup printers
Dear bleughbleugh,
can I use your Firmware on GitHub also for the Wanhao D9/500? I got a Volcano hotend and have to change the thermistor type and would like to enable the PID tuning for the bed.
LikeLike
Hi, I’ve not written any firmware, only copied some from github to learn a bit about the workings! I’m not the right person to ask, but, what you do ask is a relatively simple few code changes of Marlin firmware, I’d have no idea where to start for the wanhao, nor am I plentiful enough in time to learn! Good luck
LikeLike
I am using Cura 3.6.0 and Octorpint. So what do I set those too? I have the Monoprice Maker Pro mk1 which is a rebranded D9. so far prints are coming out ok but I am not sure what to set the printhead to in Cura and Octoprint. Octoprint has this under axes “Please define the maximum speed/feedrate of the individual axes and whether their control should be inverted or not.” Is that the M203 above? and in Cura is asks “PrintHead Settings X min Y min X max Y max…. I am not sure about any of this.
LikeLike
printhead settings really are a physical measurement of your printhead! taken from the hotend………It’s there to allow the Cura option “print all at once” or “print one at a time” – if you enable one at a time, the slicer calculates how far apart to space them on the bed to make sure that the print head doesn’t hit the other ones.
Hope that makes sense?
unless you plan on printing lots of things at the same time, but one at a time, I wouldn’t worry about this setting
LikeLike
That does actually. I did learn about printing two things at once or two things on the plate at the same time but printed in two separate print instances. I think I have it all setup now with the speed/feedrate and the like all set and printing fine. Getting ready to print an 8 inch plate to replace some broken plastic holding a head light in on a truck. It was all broken out in a fender bender and the part is 800 bucks because it stretches across the entire front. I’ll use some glue to connect the print out to the old plastic still in there. Will be really cool if it all holds.
Thanks for your help
LikeLike
I saw a brief mention of adding a filament run out sensor to the D9 300 but haven’t heard anything else recently (firmware changes, printing or changing the existing part to add a switch etc). Have you toyed with this at all? I would love to add this!
Thanks!
LikeLike
Hi, I haven’t played with it yet, it’s still on the ‘things to do’ list..someone (Justin Boshoven) on one of the facebook groups has though, and it works well apparently. Thanks for the reminder though, i’ll push it up my schedule of things to document!, i’m months behind already 😛
LikeLike
I really would appreciate that! I have really enjoyed the stuff and tips you have offered, big fan! SO much good stuff here and am thankful you have shared it all.
Thanks again,
Jon
LikeLike