Log In Register

Closed-Loop PID Algorithms in Motion/Motor Control

Use Differential Feed Forward for Numerical Controls or Integrate Backward for Trajectory Control of Motion

07/12/2012

5 votes
Text size: - +

Figure 3 below illustrates a digital servo control. The control boxes perform PID algorithms. Only one or two of the three terms of the PID algorithm might be implemented. In 3, the outer Loop 1 might be a pure P control, Loop 2 a PI control, Loop 3 another P control, and Loop 4 is a P translation to switching times for the PWM. The process feedback(s) in Figure 3 are shown schematically as one line. If an incremental pulse encoder is used for feedback, it could provide velocity as well as position feedback. Torque feedback is obtained from the motor current. The acceleration loop and the PWM control are part of the drive circuit.

FIGURE 3: DIGITAL SERVO CONTROL
Digital Servo Control
This concept illustrates inner loops with decreasing sampling rates. (Click image to enlarge.)

Figure 4 below shows a typical implementation of a motion control system. A new position command PC is computed and provided from an external source every ∆t = 10 msec. The difference between two successive position commands is the speed command fed forward into the velocity loop.

FIGURE 4: TYPICAL MOTION CONTROL IMPLEMENTATION
Typical Motion Control
Cascade Loop Control with Position the primary command and Velocity VE feed forward. (Click image to enlarge.)

If KPV is selected properly, then the velocity feed forward provides most of the signal to the velocity loop (Loop 2) and the position-following error E remains near zero for any velocity. Older numerical control systems didn’t use velocity feed forward.

In any case, such feed forward is optional for performance enhancement. In the end, the outer-most loop must be satisfied.

For an actual implementation of a multi-axis motion control system, a personal computer can be used for the motion planning and position loop control of all axes at a 10 msec sampling rate. The velocity control loop may be implemented for one or two axes on a motion module using a microprocessor at a 1 msec sampling rate, and the torque, current and power control can be implemented in the drive, with a combination of a digital signal processor (DSP) at 100 µsec and 10 µsec, and some additional discrete circuits for the power switches.

An incremental digital encoder provides incremental position feedback IPF, pulses that are accumulated for the position feedback. These same encoder pulses also are accumulated for every ∆t = 1 msec, and represent the distance traveled per time—a digital tachometer.

The feed-forward principle can be extended to the inner-most loop as shown in Figure 5 below by providing an advanced acceleration offset AC. Note that all variables including acceleration are signed numbers. For distinction, a negative acceleration often is called a deceleration and appears here as (-AC). A torque or current feedback for the inner loop already is provided by the drive. The AC signal, a torque command, is obtained as a derivative of VE.

FIGURE 5: CASCADE LOOP WITH DERIVATIVES
Cascade Loop With Derivatives
Cascade Loop with Position the primary command and with Derivatives for Velocity VE and Acceleration AC. (Click image to enlarge.)

For general-purpose motion control and trajectory control,it’s advantageous to make the acceleration AC the primary motion command as shown in Figure 6 below. Integration of the acceleration command AC produces the velocity command VE, and integration of VE produces the position command PC. If no torque feed-forward AC is desired, then KPA = 0; everything else remains as shown. Drives and motors have torque limitations; keeping the AC value below those limits guarantees the motor and drive actually will follow the command closely.

FIGURE 6: CASCADE LOOP WITH ACCELERATION
Cascade Loop With Acceleration
Cascade Loop with Acceleration as Primary Motion Command, and with Integration for Velocity VE and Position PC. (Click image to enlarge.)

A typical move block might specify these parameters:

Position (Endpoint P3 in absolute form; go there from present position)
Velocity (maximum traverse velocity)
Acceleration (ramp up velocity at the beginning of the move)

5 votes

Read more about

Related Content You May Like If you enjoy this article, our editors think you may enjoy this related reading.