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…
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
- 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!……
- 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