Back to the Gcode Dictionary
M566: Set allowable instantaneous speed change
- Xnnn Maximum instantaneous speed change of the X axis (mm/min)
- Ynnn Maximum instantaneous speed change of the Y axis
- Znnn Maximum instantaneous speed change of the Z axis
- Ennn Maximum instantaneous speed change of the extruder drives
- Pn Jerk policy (RepRapFirmware 2.03 and later)
- M566 X600 Y600 Z50 E600
Sets the maximum allowable speed change (sometimes called 'jerk speed') of each motor when changing direction.
The model files and gcode files used by repraps generally render circles and other curves shapes as a sequence of straight line segments. If the motors were not allowed any instantaneous speed change, they would have to come to a stop at the junction between each pair of line segments. By allowing a certain amount of instantaneous speed change, printing speed can be maintained when the angle between the two line segments is small enough.
If you set these X and Y values too low, then the printer will be slow at printing curves. If they are too high then the printer may be noisy when cornering and you may suffer ringing and other print artefacts, or even missed steps.
When mesh bed compensation is used, movement may be jerky if the allowed Z jerk is too low, because the Z speed needs to change abruptly as the head moves between squares in the mesh.
The default jerk policy is 0, which replicates the behaviour of earlier versions of RRF (jerk is only applied between two printing moves, or between two travel moves, and only if they both involve XY movement or neither does). Changing the jerk policy to 1 allows jerk to be applied between any pair of moves.
Note: The minimum jerk speed supported in as at firmware version 2.02RC3 is 0.1mm/sec.
RepRapFirmware does not support individual motor settings where an axis has multiple motors connected to different stepper drivers. The first parameter specified will be used for all motors on the axis. You should use identical motors on any axis that has more than one motor to avoid unexpected behaviour.
Example: If you have two motors on your Z axis, physically connected to Z and E0 stepper drivers, configured with M584 Z2:3, set M566 Z50, not M566 Z50:50