PID Control Explanation
PID Control Explanation
Web enabled,
programming in
BASIC!
The Setpoint (SP) is the value that we want the process to be.
For example, the temperature control system in our house may have a SP of 22°C. This means that
“we want the heating and cooling process in our house to achieve a steady temperature of as close to 22°C as possible”
The PID controller looks at the setpoint and compares it with the actual value of the Process Variable (PV). Back in our house, the box of
electronics that is the PID controller in our Heating and Cooling system looks at the value of the temperature sensor in the room and sees
how close it is to 22°C.
If the SP and the PV are the same – then the controller is a very happy little box. It doesn’t have to do anything, it will set its output to zero.
However, if there is a disparity between the SP and the PV we have an error and corrective action is needed. In our house this will either be
cooling or heating depending on whether the PV is higher or lower than the SP respectively.
Let’s imagine the temperature PV in our house is higher than the SP. It is too hot. The air-con is switched on and the temperature drops.
The sensor picks up the lower temperature, feeds that back to the controller, the controller sees that the “temperature error” is not as great
because the PV (temperature) has dropped and the air con is turned down a little.
This process is repeated until the house has cooled down to 22°C and there is no error.
Then a disturbance hits the system and the controller has to kick in again.
In our house the disturbance may be the sun beating down on the roof, raising the temperature of the air inside.
So that’s a really, really basic overview of a simple feedback control system. Sounds dead simple eh?
When we have gone through these thought experiments we will appreciate why a PID algorithm is needed and why/how it works to control
the process.
We will be using the analogy of changing lanes on a freeway on a windy day. We are the driver, and therefore the controller of the process of
changing the car’s position.
Here’s the Block Diagram we used before, with the labels changed to represent the car-on-windy-freeway control loop.
Notice how important closing the feedback loop is. If we removed the feedback loop we would be in “open loop control”, and would have to
control the car’s position with our eyes closed!
Thankfully we are under “Closed loop control” -using our eyes for position feedback.
As we saw in the house-temperature example the controller takes the both the PV and SP signals, which it then puts through a black box to
calculate a controller output. That controller output is sent to an actuator which moves to actually control the process.
We are interested here in what the black box actually does, which is that it applies 1, 2 or 3 calculations to the SP and Measured PV signals.
These calculations, called the “Modes of Control” include:
• Proportional (P)
• Integral (I)
• Derivative (D)
P – Sometimes used
Derivatives
Go into the control room of a process plant and ask the operator:
“What’s the derivative of reactor 4’s pressure?”
And the operator will examine the pressure trend and say something like:
“About 5 PSI every 10 minutes”
He’s just performed calculus on the pressure trend! (don’t tell him though or he’ll want a pay raise)
So derivative is just a mathematical term meaning rate-of-change. That’s all there is to it.
Integrals without the Math
Is it any wonder that so many people run scared from the concept of integrals and integration, when this is a typical definition?
What the!?!?
The integral of a signal is the sum of all the instantaneous values that the signal has been, from whenever you started counting until you stop
counting.
So if you are to plot your signal on a trend and your signal is sampled every second, and let’s say you are measuring temperature. If you
were to superimpose the integral of the signal over the first 5 seconds – it would look like this:
The green line is your temperature, the red circles are where your control system has sampled the temperature and the blue area is the
integral of the temperature signal. It is the sum of the 5 temperature values over the time period that you are interested in. In numerical
terms it is the sum of the areas of each of the blue rectangles:
(13 x 1)+(14x1)+(13x1)+(12x1)+(11x1) = 63 °C s
The curious units (degrees Celsius x seconds) are because we have to multiply a temperature by a time – but the units aren’t important.
As you can probably remember from school –the integral turns out to be the area under the curve. When we have real world systems, we
actually get an approximation to the area under the curve, which as you can see from the diagram gets better, the faster we sample.
Proportional control
Here’s a diagram of the controller when we have enabled only P control:
In Proportional Only mode, the controller simply multiplies the Error by the Proportional Gain (Kp) to get the controller output.
The Proportional Gain is the setting that we tune to get our desired performance from a “P only” controller.
So where does this strange name come from? It is a measure of how long it will take for the Integral Action to match the Proportional Action.
In other words, if the output of the proportional box on the diagram above is 20%, the repeat time is the time it will take for the output of the
Integral box to get to 20% too.
And the important point to note is that the “bigger” integral action, the quicker it will get this 20% value. That is, it will take fewer minutes to
get there, so the “minutes per repeat” value will be smaller.
In other words the smaller the “minutes per repeat” is the bigger the integral action.
To make things a bit more intuitive, a lot of controllers use an alternative unit of “repeats per minute” which is obviously the inverse of
“minutes per repeat”.
The nice thing about “repeats per minute” is that the bigger it is - the bigger the resulting Integral action is.
They do this in a PID loop by adding the final ingredient: Derivative Action.
So adding derivative action can allow you to have bigger P and I gains and still keep the loop stable, giving you a faster response and better
loop performance.
If you think about it, Derivative action improves the controller action because it predicts what is yet to happen by projecting the current rate
of change into the future. This means that it is not using the current measured value, but a future measured value.
The units used for derivative action describe how far into the future you want to look. i.e. If derivative action is 20 seconds, the derivative
term will project the current rate of change 20 seconds into the future.
The big problem with D control is that if you have noise on your signal (which looks like a bunch of spikes with steep sides) this confuses the
hell out of the algorithm. It looks at the slope of the noise-spike and thinks:
“Holy crap! This process is changing quickly, lets pile on the D Action!!!”
And your control output jumps all over the place, messing up your control.
Of course you can try and filter the noise out, but my advice is that, unless PI control is really slow, don’t worry about switching D on.
Another note from Jim: "Whether learning about PID and how the parameters affect performance, or trying to tune a process, simulation is an
important tool for getting PID right. Finn Peacock has a simulation tool available that runs in Microsoft Excel. Over the years, I have written a
lot of different simulation programs while developing PID algorithms for everything from industrial process controls to scientific research
apparatus on the NASA Space Shuttle. If this spread sheet had been available then, it would have saved me a lot of time. You can get a copy
of this simulation tool (screen shot below) as part of the Pro package available from Finn Peacock at www.pidtuning.net. You can also sign
up for Finn's free 7-day PID course via email at this link: http://pidtuning.net/learn-pid-control4.html. Again, I don't make a
dime off this. I just found it valuable and wanted to pass it along."