7
$\begingroup$

I am trying to understand the effects of P, I and D constants in a PID controller on a system.

As far I've understood, P and I make the system 'faster', and D makes it 'slower'(which I read in books), but I don't actually understand what makes it go 'fast' or 'slow'.

How an integrator causes overshoot and all things like that. It makes sense that the P part causes overshoot, since it adds a gain. But what is the integrator doing? I want some kind of mathematical understanding on how all these parameters affect the system.

I know how they work individually, but I'm having a hard time understanding, how it affects the system as a whole. For example, how does a Zero added to the system lead to decrease in overshoot, but when normally adding a zero to a system would create more overshoot.

$\endgroup$
3
  • 1
    $\begingroup$ Watch the youtube vids by Brian Douglas. They really helped me to understand the basics of how PID works. watch?v=XfAt6hNV8XM and watch?v=UR0hOmjaHp0. About a half hour total. $\endgroup$
    – Octopus
    May 14, 2014 at 23:37
  • $\begingroup$ I have already watched them... :( $\endgroup$
    – Control
    May 14, 2014 at 23:42
  • $\begingroup$ Did you take a look here? en.wikipedia.org/wiki/PID_controller Also sounds like you should pick up a control theory book. It will cover the math in depth. If you're looking for more of an intuition rather than math then look at Ian's answer. $\endgroup$
    – Guy Sirton
    Jul 3, 2014 at 0:34

1 Answer 1

10
$\begingroup$

It sounds like you've missed the core concept of a PID, so let's start from scratch.

In mathematical terms, a PID controller decides how much force to apply in order to move a system in 1-dimensional space -- from an actual position to a desired position. Based on the error $(\text{error} = \text{position}_{desired} - \text{position}_{actual})$, it provides a value for some corrective force to be applied; this value is the sum of 3 forces (P, I, and D).

  • Proportional force is so named because it is directly proportional to the error. Double the error, and you double the force. When error is zero, proportional force is zero. You've observed that this makes the system "faster", which is more or less correct; it controls how aggressively the system will attempt to return to zero.
  • Derivative force is proportional to the rate of change of the error -- the differential calculus type of derivative. Double the rate of change of the error, and you double the force. So, when the system is standing still then the derivative force is zero. You've observed that this makes the system "slower", which is somewhat correct, but probably not for the reason you think; it accounts for momentum in the system.
  • Integral force is proportional to the error multiplied by time -- the differential calculus type of integral. Double the amount of time that the error stays at a certain value, and you double the force. So, when the system spends an equal amount of time moving between negative and positive errors, the integral term drops to zero. The integral term accounts for constant forces, like gravity, that act on the system.
$\endgroup$
2
  • $\begingroup$ Maybe you could add some additional effects of each action. Such as, proportional force can cause you to overshoot your target position (similar to a spring, think about harmonic oscillators) and derivative force dampens overshoot. $\endgroup$
    – fibonatic
    Jul 8, 2014 at 20:34
  • 1
    $\begingroup$ Those are somewhat accurate. Proportional force is what makes you move toward your target when you're away from it, but not try to move while you're on it -- momentum is what causes the overshoot. Derivative force acts in opposition to any motion, not just overshoot. In a properly tuned PD controller, momentum and derivative force are equally balanced. $\endgroup$
    – Ian
    Jul 9, 2014 at 21:23

Your Answer

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

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