8
\$\begingroup\$

enter image description here

I am already studying PID control and some how to some extent I have understood it except one main confusion. When the difference between reference input \$r(t)\$ and current output value \$y(t)\$ is zero, \$e(t)\$ will be zero and hence \$u(t)\$ will also be zero, so how will then the plant act or work when its input \$u(t)\$ is zero?

\$\endgroup\$
5
  • 7
    \$\begingroup\$ No error, so no need to correct or adjust control. \$\endgroup\$ Commented Oct 15, 2019 at 15:30
  • \$\begingroup\$ @StainlessSteelRat - not true, the output needs to be maintained. For example a heater still needs to be driven when the target temperature is reached. \$\endgroup\$ Commented Oct 15, 2019 at 21:15
  • 1
    \$\begingroup\$ The output of an integrator is not necessarily zero even if the input is zero. \$\endgroup\$ Commented Oct 15, 2019 at 21:16
  • 1
    \$\begingroup\$ @KevinWhite Yes. The output setting (whatever it is) stays as it is because it is at the set point, or no error, so no need to correct or adjust control. \$\endgroup\$ Commented Oct 15, 2019 at 21:44
  • 1
    \$\begingroup\$ The whole point of the integrator is that it provides a constant output when its input is zero. That constant output need not (and usually is not) equal to zero. An integrator in the forward path, whether it's in the plant or the controller, ensures that the steady state error will be zero in response to a step input. \$\endgroup\$
    – Chu
    Commented Oct 15, 2019 at 21:55

3 Answers 3

19
\$\begingroup\$

No, e(t) being zero does not imply that u(t) is also zero. It only implies that the output of the "P" process is zero.

Remember, the "I" and "D" processes have memory — they depend on the past behavior of e(t). u(t) is zero only if the sum of all three processes is zero.

\$\endgroup\$
6
  • 1
    \$\begingroup\$ As far as "I" process concerned,it can have memory since it integrates past values but how "D" process can have memory of past when it is used for future?? \$\endgroup\$
    – DSP_CS
    Commented Oct 15, 2019 at 16:48
  • 1
    \$\begingroup\$ @engr: The D term is used to "predict the future" in a sense, but it is calculated entirely on past values -- in particular, the difference between the present value and previous value(s). \$\endgroup\$
    – Dave Tweed
    Commented Oct 15, 2019 at 17:18
  • 1
    \$\begingroup\$ @engr The D term is simply the velocity with a gain on it. It should be clear (I hope) that you can be in some position with zero velocity, or you can cross zero position with a large velocity. \$\endgroup\$
    – Graham
    Commented Oct 16, 2019 at 13:23
  • \$\begingroup\$ @engr BTW, the classical PID description of the D term "predicting the future" (as Dave says), whilst true, doesn't always help. A better description IMO is that the D term is friction. We all understand friction, right? Like physical friction, the faster the system moves, the more the D term pushes back to try to slow you down. \$\endgroup\$
    – Graham
    Commented Oct 16, 2019 at 13:24
  • 4
    \$\begingroup\$ @Graham: I think "Damping" is an even better term (which coincidentally starts with "d"). The term "friction" is often used to describe resistance which is independent of velocity, but "damping" implies velocity-sensitive resistance. \$\endgroup\$
    – supercat
    Commented Oct 16, 2019 at 15:58
5
\$\begingroup\$

There can be a couple of scenarios.

Consider a system \$\frac{1}{s (s+1)}\$. A PI controller is \$\frac{0.9 s+0.27}{s}\$. In steady state after the controller has made \$y=r\$, the error \$e\$ and its integral are both zero. In this case when \$e=0\$ then \$u=0\$. If there is a nonzero input going to this system, the output will keep on increasing.

For a system such as\$\frac{1}{s+1}\$ and PI controller \$\frac{1. s+2.0006}{s}\$, the error goes to zero in steady state, but the integral of the error does not. This gets multiplied by 2.0006 and is the control input that maintains the output at the reference value.

The computations below are done in Mathematica. The plots below show the error signals. Both go to zero. However the integral of the one on the left is also zero. The integral of the one on the right is not zero but around 0.5

enter image description here

\$\endgroup\$
4
\$\begingroup\$

Take a motor control PID for example. The motor (once running) will have small load perturbations that will cause it to overshoot or undershoot the zero error case, so then the system will react and cause the motor to slightly overshoot in the opposite direction.

If you were to zoom in on a graph of the error, it would be little zig zags across the zero error line. Assuming that it's been tuned properly.

Also u(t) doesn't go to zero when the error is near zero. u(t) goes to the value that makes the error near zero.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.