For applications that require better speed
regulation, it is recommended to tune Speed loop PI controllers [SPD_LOOP_KP] and
[SPD_LOOP_KI]. Kp coefficient of speed loop [SPD_LOOP_KP] controls the settling time and
speed overshoots. Ki coefficient of Speed loop [SPD_LOOP_KI] controls speed overshoot and
ensures regulation of speed at set value and drives the error to zero. Speed loop PI
controller gains can either be auto-tuned by MCF8329A or tuned manually.
Auto Tuning: MCF8329A auto calculates
the Speed loop PI controller gains when [SPD_LOOP_KP] and [SPD_LOOP_KI] are set to zero.
Manual Tuning: Use the following
steps to tune Speed loop PI controller gains manually:
- Set the control mode [CTRL_MODE] to modulation index control (11b).
- Issue non-zero speed command to start the motor (refer to Section 4.2, step 1 on how to issue non-zero
speed command). Motor will spin in open loop.
- Allow the open loop current to settle down and then measure the peak open loop
current.
- Stop the motor and set the control mode [CTRL_MODE] to current control.
- Slowly increase the speed command until the motor speed reaches the max speed. Note down
the Iq_ref value being reported in the IQ_REF_CLOSED_LOOP register.
- Speed loop Kp [SPD_LOOP_KP] is calculated using Equation 2.
Equation 2.
- Speed loop Ki [SPD_LOOP_KI] is calculated using Equation 3.
Equation 3.
- Stop the motor and set the control mode [CTRL_MODE] to speed control.
Note: Tuning speed loop Kp and Ki is
experimental. If the above recommendation doesn’t work, then we recommend to manually tune
Speed loop Kp and Ki till the desired results are achieved.