Closed-Loop PID Algorithms in Motion/Motor Control

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

By Ernst Dummermuth

Share Print Related RSS
Page 1 of 2 « Prev 1 | 2 View on one page

First published here in April 2007, this timeless back-to-basics tutorial by Ernst Dummermuth, one of several popular articles he wrote for us, generated a large number of page views on for years after we first posted it, and still draws attention today.


The basic function of closed-loop control is to maintain a process characteristic (temperature, flow, pressure, speed, torque) at a desired value. The process can deviate from this desired set point (SP) value as a result of changing material, load requirements, interaction with other processes, and so on. The actual condition of the process characteristic measured is the process variable (PV). The deviation of the measured process variable from the desired set point is the error (E).

The formula for process error is thus: E = SP – PV

Once an error is determined, the function of the control loop is to output a control variable to the process to force the error E to zero. Figure 1 below shows a basic PID closed loop control.

There's More to This Story
Get more. You can read the rest of this story and other exclusive content as a Control Design community member. It's FREE, and it’s easy. We just need your name and email address. Then you can read everything you want on our site and even comment on it.

Page 1 of 2 « Prev 1 | 2 View on one page
Share Print Reprints Permissions

What are your comments?

Join the discussion today. Login Here.


  • This is not "your basic PID controller" as the caption on figure 1 indicates. This is "your basic PID controller supplemented with constant feedforward control." See for example a more comprehensive PID survey such as the chapter by K.J. Astrom and T. Hagglund in the 1996 edition of the CRC Control Handbook.

    The basic idea of the feedforward control extension is a good one. If you know the VS value that must be applied to cause the plant to hold the desired PS setpoint level, and you use this as the feedforward signal, the integral term of the PID controller is no longer necessary to drive the system to the desired operating level. In fact, when the system stabilizes, the controller output (including the integral portion) goes to 0. Thus freed from the obligation to drive the system to reach the desired output level, the integral control can be better tuned for rejecting small output level disturbances.

    Drawbacks? The scheme isn't as easy as it sounds when the system is somewhat nonlinear, or when it must operate at various different setpoint levels. The combination of PID controller plus the feedforward control can sometimes increase the amount of transient overshoot. As is the case with any of the PID extensions, every added feature adds a certain amount of complication to the implementation and to the application. It is a better idea to start with the basic PID scheme, and build from there, even if the extensions are relatively good ones.


RSS feed for comments on this page | RSS feed for all comments