Science Fair Project Encyclopedia
A Proportional-Integral-Derivative controller or PID is a standard feedback loop component in industrial control applications. It measures an "output" of a process and controls an "input", with a goal of maintaining the output at a target value, which is called the "setpoint". An example of a PID application is the control of a process temperature, although it can be used to control any measurable variable which can be affected by manipulating some other process variable. For example, it can be used to control pressure, flow rate, chemical composition, force, speed or a number of other variables. Automobile cruise control is an example of an application area outside of the process industries.
The basic idea is that the controller reads a sensor. Then it subtracts the measurement from a desired "setpoint" to determine an "error".
The error is then treated in three different ways simultaneously:
- Proportional - To handle the present, the error is multiplied by a negative proportional constant P, and added to the current output. P represents the band over which a controller's output is proportional to the error of the system. E.g. for a heater, a controller with a proportional band of 10 deg C and a setpoint of 20 deg C would have an output of 100% at 10 deg C, 50% at 15 Deg C and 10% at 19 deg C. Adding the change to the output makes the output self-adjusting. For example, if the burner were to get dirty, decreasing the heater's efficiency, the baseline output would just drift upwards a bit, and then restabilise.
- Integral - To handle the past, the error is integrated (or averaged, or summed) over a period of time, and then multiplied by a constant I, and added to the current output. I represents the steady state error of the system. Using the Proportional term alone it is not possible to reach a steady set point temperature. Real world processes are not perfect and are subject to a number of environmental variables. As these variables are often constant they can be measured and compensated for. Using the Proportional example above; at 19.9 deg C the controller output is 1%, at this temperature environmental losses through heat transmission are 3%. In this scenario the system controller will never be able to reach set point, however it can be corrected by introducing an Integral term, which will attempt to remove errors that last for some time. In practice, the Integral term of a controller only considers a relatively short history of the controller.
- Derivative - To handle the future, the first derivative of the error (its rate of change) is calculated with respect to time, and multiplied by another constant D, and added to the output. The derivative term is used to govern a controller's response to a change in the system. The larger the derivative term the more rapidly the controller will respond to changes in the process value. This is a good thing to reduce when trying to dampen a controller's response to short term changes.
The generic transfer function for a PID controller is
with C being a constant (typically .01 or .001).
Tuning a PID loop
There are several methods for tuning a PID loop. The choice of method will depend largely on whether or not the loop can be taken "offline" for tuning, and the response speed of the system. If the system can be taken offline, the best tuning method often involves subjecting the system to a step change in input, measuring the output as a function of time, and using this response to determine the control parameters.
If the system must remain online, one tuning method is to first set the I and D values to zero. Increase the P until the output of the loop oscillates. Then increase I until oscillation stops. Finally, increase D until the loop is acceptably quick to reach its setpoint. The best PID loop tuning usually overshoots slightly to reach the set-point more quickly, however some systems cannot accept overshoot.
|Effects of changes in parameters|
|Parameter||Rise Time||Overshoot||Settling Time||S.S. Error|
|D||Small Change||Decrease||Decrease||Small Change|
Another tuning method is formally known as the "Ziegler-Nichols method". It starts in the same way as the method described before: first set the I and D gains to zero and then increase the P gain until the output of the loop starts to oscillate. Write down the critical gain (Kc) and the oscillation period of the output (Pc). Then adjust the P, I and D controls as the table shows:
One common problem is "integral windup." It might take too long for the output value to ramp up to the necessary value when the loop first starts up. Sometimes this can be fixed with a more aggressive differential term. Sometimes the loop has to be "preloaded" with a starting output. Another option is to disable the integral function until the measured variable has entered the proportional band.
Some PID loops control a valve or similar mechanical device. Wear of the valve or device can be a major maintenance cost. In these cases, the PID loop may have a "deadband." The calculated output must leave the deadband before the actual output will change. Then, a new deadband will be established around the new output value.
Another problem with the differential term is that small amounts of noise can cause large amounts of change in the output. Sometimes it's helpful to filter the measurements, with a running average, or a low-pass filter. Alternatively, the differential band can be turned off in some systems with little loss of control.
The differential term can also produce undesirable results in systems subjected to instantaneous "step" inputs (such as when a computer changes the setpoint). In practice, PID controllers are sometimes used as PI controllers, especially when dealing with measurements involving significant noise or delay (e.g. chemical composition, temperature). Many industrial PID systems actually measure the differential of the output quantity, which is always continuous (i.e., never has a step function), and usually moves in the same direction as the error.
A PID loop can be mathematically characterized as a filter applied to a frequency-domain system. Mathematical PID loop tuning induces an impulse in the system, and then uses the controlled system's frequency response to design the PID loop values. In loops with response times of several minutes, mathematical loop tuning is recommended, because trial and error can literally take days just to find a stable set of loop values. Optimal values are harder, and yet can save a company huge amounts of money. Commercial software is available from several sources, and can easily pay for itself if a PID loop runs a large, or expensive process.
- Proportional Band is sometimes referred to as Gain
- Integral Band is sometimes referred to as Reset
- Derivative Band is sometimes referred to as Rate
How to get one
PID controller functionality is a common feature of programmable logic controllers (PLC). They can also be implemented with any physical system that can produce ratiometric behavior and integration. Mechanical systems (usually the cheapest) can use a lever, spring and a mass. Pneumatic controllers were once common, but have been largely replaced by digital electronic controllers. Electronic systems are very cheap, and can be made by using an amplifier, a capacitor and a resistance. Software PID loops are the most stable, because they do not wear out, and their high expense has been decreasing.
- sci.engr.* FAQ on PID controller tuning
- Information, including tutorial, on PID control algorithm
- good, basic PID simulation in Excel
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details