How Does The Output Of The Pid Controller Remain Non-Zero?


Thread Starter


After the error becomes zero in a PID control loop how does the output remain non zero?

The output is gain multiplied by error.
The output remains at the position where error became zero.
How does that happen?

If one looks at the governing equation of a A PID loop the output is proportional to error.

Suppose the output reaches fifty percent when error becomes zero, the output remains at fifty percent however by the governing equation the output should be zero as well
If your output is non zero after the error reaches zero, your integrator (the I term in PID) has been turned on and the gain is greater than zero.

Imagine that you are wanting to drive your car and get up to a final speed of 50 (A commanded value of 50 and a feedback value of 50). Starting out at zero you are not applying any accelerator pedal at all. As you decide to increase in speed (command > zero) your foot changes position and applies force to the accelerator pedal. You continue this process increasing the command to 50. Observing the feedback, you proceed to apply more and more force to the accelerator pedal until you observe that your final speed is 50.

At this point your error is zero and yet your output (force on the accelerator pedal) is greater than zero.

This is because of the integrator action within the controller.

Peter Nachtwey

There are non-integrating and integrating systems. Temperature and velocity control are non-integrating systems. To make these systems change from steady state, ambient temperature or 0 speed, a control output must be applied even when the error is 0.

Position and tank level control systems are integrating systems. Once the set point or command position is reached the error is 0 so no output is required to hold position or tank level unless there is a disturbance.


Suppose I need to control flow in a line ....

When the valve is around 60 percent open the error becomes zero.
However even after that output is held at 60 percent to keep the error zero.

IntegrAl gain should decrease because the steady state error is zero.
But output remains at 60 percent.

How does that happen?
The output is not zero because of Integral action. Here two important aspects you have to understand.

With only Proportional controller - A fixed output is always added with the overall output i.e, Output = Kp(error)+ Po

With PID controller the same is achieved because of Integral action

<b> integral = integral + error*dt ( Here dt is Integral time)
output = Kp*error + Ki*integral + Kd*derivative </b>

from the above equation it is very clear, the value of Integral term is not zero, even error is zero, so the last output value (instance where error became zero) is held constant.
1. Let us try to explain the question without going into mathematics/integration.

2. Let us take day to day example:
Take the case of a bank account.
It is not uncommon to get an interest rate of 5% for deposit in an Indian Bank

3. Assume that you make a deposit of Rs. 1000 in a bank which pays 5% interest.

4. After 1-year, what is the interest earned? Interest earned is (5/100)*1000 = Rs.50

5. Now withdraw the deposit of Rs.1000

6. The bank balance will be the interest earned that is Rs.50

7. Same thing happens in an integral controller.

8. Deposit a 'voltage' for some time and then withdraw the deposit and make it zero.

9. The 'interest' earned will be the balance that is available in the integrator 'bank account'

10. Unlike bank account, in integral controller, voltage/current will be the input, duration will not be in 'year' but in milliseconds or even microseconds.

11. In a control system with integral controller, error acts as 'deposit' and is fed into integral controller.

12. If error stays for a few millisecond / microsecond and becomes zero, the integral controller produced 'interest' is still at output and that drives the plant.

This is a crude explanation of integral controller. It is to be noted that you need error (deposit) for sometime and at 'steady-state' error can be zero and integral controller can produce output with zero input.
In PID control, the integrator is the reason holding the last accumulated value. integrator is to be thought as simple accumulator. The error is multiplied by time (dt) and summed up. when there is not error, the sum is reaming at last value.

new value= previous value+ new error accumulation

If new error accumulation is zero, new value= previous value.
Error is based in the difference of a measured variable and a desired setpoint.

The controller output is adjusted to hold the final control element to maintain zero or near zero error.
I like BDThompson's explanation the best, equating it to a car accelerator pedal.

The controller output is seldom zero, it's what it needs to be to maintain the status quo.