My Motor Spins at Full Torque Until it Trips a Following Error When I Command it to Move
Hardware: Motion Control, Motion Control>>Controllers>>PCI-7340, Motion Control>>Controllers>>PCI-7350, Motion Control>>Power Drives>>MID-7652, Motion Control>>Power Drives>>MID-7654
When I execute any action that tries to move my motor (e.g., call the Initialize function from Measurement & Automation Explorer [MAX], click the Start button in the Interactive Window, or try tuning my servo using Step Response inside MAX), it runs at full speed and then stops and has no torque as if it were killed. Why does this happen?
The axis is being killed because a following error has occurred. Following error is the difference between the expected and actual location of the motor; defined technically as the difference between the position setpoint established by the motion controller's internal trajectory generator and the position reported by the encoder feedback.
The internal PID loop on the 733x, 734x and 735x controllers depends completely on the encoder feedback in order to operate properly. This means that when a positive torque command is sent to the DAC output on the motion controller, the PID expects the encoder counts to increase and thus to decrease the amount of following error for the move.
If this is not the case, it usually means that the encoder phases A and B sent to the controller are inverted (the pulse train supplied to the Encoder Phase B input on the controller is leading the pulse train A being supplied instead of A leading B as the controller expects). The effect this has on the system is that when the controller outputs a positive torque voltage, the encoder counts will decrease and the following error will increase. See this link for more information about Following Error in a Motion Control System.
The PID loop tries to compensate an increasing following error by increasing the voltage output on the DAC, and thus may ramp the command up to a very high torque before the following error limit (set inside MAX under the Trajectory Settings panel for the 734x) is surpassed by the move's following error and kills the motor (disables the drive) immediately. Another way to identify this problem is to run a step response on the motor. In a correctly connected motor, the position will try to approach the setpoint. On a motor connected improperly, the position will move away from the setpoint.
There are two ways to solve this problem:
KnowledgeBase 3QGEF7D3: Following Error in a Motion Control System
White Paper: Understanding Servo Tune
Report Date: 10/01/2003
Last Updated: 05/12/2017
Document ID: 320HJPOV