Skip to main content
/

Site Navigation

Your Account

Choose Language

Help

Revision to M569.6

Ian A-S

+[title|M569.6]
+
+
+==== M569.6: Execute closed loop tuning move ====
+
+Perform a [[Tuning the Duet 3 Expansion 1HCL#Section_Runtime_Tuning|runtime tuning manoeuvre]] with a closed loop drive.
+
+Supported for drivers attached to:
+
+* [[Duet 3 Expansion 1HCL|1HCL expansion boards]]
+
+***Parameters***
+
+* ***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 [[Tuning the Duet 3 Expansion 1HCL|dedicated closed-loop tuning page]].
+
+{table
+|width=100%
+|format=lm:lm:cm:cm
+|! 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
+|--
+| <<color="#AAA">> Control Check
+| <<color="#AAA">> [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.
+| <<color="#AAA">> Yes
+| <<color="#AAA">> 8
+|--
+| <<color="#AAA">> Encoder Steps Check
+| <<color="#AAA">> [Coming Soon!] Checks that the encoder is sending the correct count per revolution, as set by M569.1.
+| <<color="#AAA">> Yes
+| <<color="#AAA">> 16
+|--
+| <<color="#AAA">> Continuous Increase Manoeuvre
+| <<color="#AAA">> [Coming Soon!] Applies a continuous sin/cos wave to the motor inputs to move the motor continuously in 1 direction. Stops after 8 steps.
+| <<color="#AAA">> No
+| <<color="#AAA">> 32
+|--
+| Step Manoeuvre
+| Applies a step change to the PID target to view the step response of the PID controller.
+| No
+| 64
+|--
+| <<color="#AAA">> Ziegler-Nichols Manoeuvre
+| <<color="#AAA">> [Coming Soon!] Attempts to find the ultimate gain and oscillation period of the motor for use in Ziegler-Nichols tuning
+| <<color="#AAA">> No
+| <<color="#AAA">> 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.