Back to the Gcode Dictionary
M569.6: Execute closed loop tuning move
Perform a runtime tuning manoeuvre with a closed loop drive.
Supported for drivers attached to:
- Pnn Motor driver number
- Vnn Tuning move(s) to perform. See below for usage details.
Warning: Duet firmware currently only supports tuning one driver at a time. This means that when tuning a multi-driver axis, one driver will move and the other(s) will not. If attempting to tune a multi-driver axis, please take appropriate mitigation to ensure the axis doesn't become stressed/misaligned when only one one driver moves.
The table below lists the available tuning manoeuvres. For more information see the dedicated closed-loop tuning page.
|Manoeuvre Name||Description||Required?||Manoeuvre ID|
|Polarity Detection||Detects in which orientation the stepper motor coils are connected.||Yes||1|
|Zeroing||Ensures that a feedback reading of 0 corresponds to the position the encoder assumes when only coil A is energised.||Yes||2|
|Polarity Check||Checks that the polarity has been detected correctly by the polarity detection manoeuvre to a high degree of accuracy. This will also detect if a motor's wiring is faulty or it is not plugged in.||Yes||4|
|Control Check||[Coming Soon!] Checks that the motor is controllable. For instance, if the PID parameters are set such that they push the motor away from the target instead of towards it (the P term is negative), this check will fail.||Yes||8|
|Encoder Steps Check||[Coming Soon!] Checks that the encoder is sending the correct count per revolution, as set by M569.1.||Yes||16|
|Continuous Increase Manoeuvre||[Coming Soon!] Applies a continuous sin/cos wave to the motor inputs to move the motor continuously in 1 direction. Stops after 8 steps.||No||32|
|Step Manoeuvre||Applies a step change to the PID target to view the step response of the PID controller.||No||64|
|Ziegler-Nichols Manoeuvre||[Coming Soon!] Attempts to find the ultimate gain and oscillation period of the motor for use in Ziegler-Nichols tuning||No||128|
In order to combine multiple moves, add the manoeuvre IDs. For example, to perform polarity detection and zeroing, use 1+2=3 as the V parameter to M569.6. The manoeuvres will be performed in ascending order of ID - so in the above example, polarity detection would occur first, followed by zeroing.