SPRUHJ1I January 2013 – October 2021 TMS320F2802-Q1 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027-Q1 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F2806-Q1 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1
SpinTAC controllers are tuned via a single parameter. This parameter is called bandwidth. The bandwidth of the SpinTAC controller is adjusted via the configuration parameter Bandwidth Scale. This value should be used to adjust the value of the bandwidth in the controller to meet the control requirements of your application. For position control applications, a single bandwidth is used to set the gain for both position and speed.
Figure 13-6 shows the SpinTAC Velocity Control response to a torque disturbance as the bandwidth is increased. As the bandwidth is increased, the response to the torque disturbance becomes faster and has less overshoot. When the bandwidth is increased too much it begins to oscillate around the goal speed when the torque disturbance is removed from the system. This indicates that the bandwidth has been set too high. In this example the ideal bandwidth is 40 rad/s. This is due to the response having minimal oscillation around the goal speed when the torque is removed.
Figure 13-7 shows SpinTAC Position Control response to a torque disturbance. As the bandwidth is increased, the response to the torque disturbance becomes faster and has less overshoot. When the bandwidth has been increased too much the motor begins to hum and oscillate. This indicates that the output of SpinTAC Position Control has begun to oscillate. In this example the ideal bandwidth is 50 rad/s. This is because it has a very good response to the disturbances while having a minimal output oscillation.
To tune a SpinTAC controller, the first step is to set the speed reference to zero. Once the motor is at zero speed, manually rotate the motor shaft with your hand to feel how tightly the motor is holding zero, this is an indication of how aggressively the motor is tuned. Increase the bandwidth scale "gMotorVars.SpinTAC.VelCtlBwScale" or "gMotorVars.SpinTAC.PosCtlBwScale" in steps of 1, continuing to feel how tightly the motor is holding zero speed. For motors where the shaft is not accessible, give the motor a reference step. Change the reference and monitor how aggressively the controller tries to achieve the new setpoint. Once the SpinTAC controller is tightly holding zero the bandwidth scale has been tuned for zero hold. At this point it is important to run the motor in order to ensure that this bandwidth will work across your application's operating range.