Recent from talks
Contribute something
Nothing was collected or created yet.
Proportional–integral–derivative controller
View on Wikipedia
A proportional–integral–derivative controller (PID controller or three-term controller) is a feedback-based control loop mechanism commonly used to manage machines and processes that require continuous control and automatic adjustment. It is typically used in industrial control systems and various other applications where constant control through modulation is necessary without human intervention. The PID controller automatically compares the desired target value (setpoint or SP) with the actual value of the system (process variable or PV). The difference between these two values is called the error value, denoted as .
It then applies corrective actions automatically to bring the PV to the same value as the SP using three methods: The proportional (P) component responds to the current error value by producing an output that is directly proportional to the magnitude of the error. This provides immediate correction based on how far the system is from the desired setpoint. The integral (I) component, in turn, considers the cumulative sum of past errors to address any residual steady-state errors that persist over time, eliminating lingering discrepancies. Lastly, the derivative (D) component predicts future error by assessing the rate of change of the error, which helps to mitigate overshoot and enhance system stability, particularly when the system undergoes rapid changes. The PID output signal can directly control actuators through voltage, current, or other modulation methods, depending on the application. The PID controller reduces the likelihood of human error and improves automation.
A common example is a vehicle’s cruise control system. For instance, when a vehicle encounters a hill, its speed will decrease if the engine power output is kept constant. The PID controller adjusts the engine's power output to restore the vehicle to its desired speed, doing so efficiently with minimal delay and overshoot.
The theoretical foundation of PID controllers dates back to the early 1920s with the development of automatic steering systems for ships. This concept was later adopted for automatic process control in manufacturing, first appearing in pneumatic actuators and evolving into electronic controllers. PID controllers are widely used in numerous applications requiring accurate, stable, and optimized automatic control, such as temperature regulation, motor speed control, and industrial process management.
Fundamental operation
[edit]
The distinguishing feature of the PID controller is the ability to use the three control terms of proportional, integral and derivative influence on the controller output to apply accurate and optimal control. The block diagram on the right shows the principles of how these terms are generated and applied. It shows a PID controller, which continuously calculates an error value as the difference between a desired setpoint and a measured process variable : , and applies a correction based on proportional, integral, and derivative terms. The controller attempts to minimize the error over time by adjustment of a control variable , such as the opening of a control valve, to a new value determined by a weighted sum of the control terms. The PID controller directly generates a continuous control signal based on error, without discrete modulation.
In this model:
- Term P is proportional to the current value of the SP − PV error . For example, if the error is large, the control output will be proportionately large by using the gain factor "Kp". Using proportional control alone will result in an error between the set point and the process value because the controller requires an error to generate the proportional output response. In steady state process conditions an equilibrium is reached, with a steady SP-PV "offset".
- Term I accounts for past values of the SP − PV error and integrates them over time to produce the I term. For example, if there is a residual SP − PV error after the application of proportional control, the integral term seeks to eliminate the residual error by adding a control effect due to the historic cumulative value of the error. When the error is eliminated, the integral term will cease to grow. This will result in the proportional effect diminishing as the error decreases, but this is compensated for by the growing integral effect.
- Term D is a best estimate of the future trend of the SP − PV error, based on its current rate of change. It is sometimes called "anticipatory control", as it is effectively seeking to reduce the effect of the SP − PV error by exerting a control influence generated by the rate of error change. The more rapid the change, the greater the controlling or damping effect.[1]
Tuning – The balance of these effects is achieved by loop tuning to produce the optimal control function. The tuning constants are shown below as "K" and must be derived for each control application, as they depend on the response characteristics of the physical system, external to the controller. These are dependent on the behavior of the measuring sensor, the final control element (such as a control valve), any control signal delays, and the process itself. Approximate values of constants can usually be initially entered knowing the type of application, but they are normally refined, or tuned, by introducing a setpoint change and observing the system response.[2]
Control action – The mathematical model and practical loop above both use a direct control action for all the terms, which means an increasing positive error results in an increasing positive control output correction. This is because the "error" term is not the deviation from the setpoint (actual-desired) but is in fact the correction needed (desired-actual). The system is called reverse acting if it is necessary to apply negative corrective action. For instance, if the valve in the flow loop was 100–0% valve opening for 0–100% control output, meaning that the controller action has to be reversed. Some process control schemes and final control elements require this reverse action. An example would be a valve for cooling water, where the fail-safe mode, in the case of signal loss, would be 100% opening of the valve; therefore 0% controller output needs to cause 100% valve opening.
Control function
[edit]The overall control function is
where , , and , all non-negative, denote the coefficients for the proportional, integral, and derivative terms respectively (sometimes denoted P, I, and D).
Standard form
[edit]In the standard form of the equation (see later in article), and are respectively replaced by and ; the advantage of this being that and have some understandable physical meaning, as they represent an integration time and a derivative time respectively. is the time constant with which the controller will attempt to approach the set point. determines how long the controller will tolerate the output being consistently above or below the set point.
where
- is the integration time constant, and
- is the derivative time constant.
Selective use of control terms
[edit]Although a PID controller has three control terms, some applications need only one or two terms to provide appropriate control. This is achieved by setting the unused parameters to zero and is called a PI, PD, P, or I controller in the absence of the other control actions. PI controllers are fairly common in applications where derivative action would be sensitive to measurement noise, but the integral term is often needed for the system to reach its target value.[citation needed]
Applicability
[edit]The use of the PID algorithm does not guarantee optimal control of the system or its control stability . Situations may occur where there are excessive delays: the measurement of the process value is delayed, or the control action does not apply quickly enough. In these cases, lead–lag compensation is required to be effective. The response of the controller can be described in terms of its responsiveness to an error, the degree to which the system overshoots a setpoint, and the degree of any system oscillation. But the PID controller is broadly applicable since it relies only on the response of the measured process variable, not on knowledge or a model of the underlying process.
History
[edit]

Origins
[edit]The centrifugal governor was invented by Christiaan Huygens in the 17th century to regulate the gap between millstones in windmills depending on the speed of rotation, and thereby compensate for the variable speed of grain feed.[3][4]
With the invention of the low-pressure stationary steam engine, there was a need for automatic speed control, and James Watt's self-designed "conical pendulum" governor, a set of revolving steel balls attached to a vertical spindle by link arms, came to be an industry standard. This was based on the millstone-gap control concept.[5]
Rotating-governor speed control, however, was still variable under conditions of varying load, where the shortcoming of what is now known as proportional control alone was evident. The error between the desired speed and the actual speed would increase with increasing load. In the 19th century, the theoretical basis for the operation of governors was first described by James Clerk Maxwell in 1868 in his now-famous paper On Governors. He explored the mathematical basis for control stability and progressed a good way towards a solution, but made an appeal for mathematicians to examine the problem.[6][5] The problem was examined further in 1874 by Edward Routh, Charles Sturm, and in 1895, Adolf Hurwitz, all of whom contributed to the establishment of control stability criteria.[5] In subsequent applications, speed governors were further refined, notably by American scientist Willard Gibbs, who in 1872 theoretically analyzed Watt's conical pendulum governor.
About this time, the invention of the Whitehead torpedo posed a control problem that required accurate control of the running depth. Use of a depth pressure sensor alone proved inadequate, and a pendulum that measured the fore and aft pitch of the torpedo was combined with depth measurement to become the pendulum-and-hydrostat control. Pressure control provided only a proportional control that, if the control gain was too high, would become unstable and go into overshoot with considerable instability of depth-holding. The pendulum added what is now known as derivative control, which damped the oscillations by detecting the torpedo dive/climb angle and thereby the rate-of-change of depth.[7] This development (named by Whitehead as "The Secret" to give no clue to its action) was around 1868.[8]
Another early example of a PID-type controller was developed by Elmer Sperry in 1911 for ship steering, though his work was intuitive rather than mathematically-based.[9]
It was not until 1922, however, that a formal control law for what we now call PID or three-term control was first developed using theoretical analysis, by Russian American engineer Nicolas Minorsky.[10] Minorsky was researching and designing automatic ship steering for the US Navy and based his analysis on observations of a helmsman. He noted the helmsman steered the ship based not only on the current course error but also on past error, as well as the current rate of change;[11] this was then given a mathematical treatment by Minorsky.[5] His goal was stability, not general control, which simplified the problem significantly. While proportional control provided stability against small disturbances, it was insufficient for dealing with a steady disturbance, notably a stiff gale (due to steady-state error), which required adding the integral term. Finally, the derivative term was added to improve stability and control.
Trials were carried out on the USS New Mexico, with the controllers controlling the angular velocity (not the angle) of the rudder. PI control yielded sustained yaw (angular error) of ±2°. Adding the D element yielded a yaw error of ±1/6°, better than most helmsmen could achieve.[12]
The Navy ultimately did not adopt the system due to resistance by personnel. Similar work was carried out and published by several others[who?] in the 1930s.[citation needed]
Industrial control
[edit]
The wide use of feedback controllers did not become feasible until the development of wideband high-gain amplifiers to use the concept of negative feedback. This had been developed in telephone engineering electronics by Harold Black in the late 1920s, but not published until 1934.[5] Independently, Clesson E Mason of the Foxboro Company in 1930 invented a wide-band pneumatic controller by combining the nozzle and flapper high-gain pneumatic amplifier, which had been invented in 1914, with negative feedback from the controller output. This dramatically increased the linear range of operation of the nozzle and flapper amplifier, and integral control could also be added by the use of a precision bleed valve and a bellows generating the integral term. The result was the "Stabilog" controller, which gave both proportional and integral functions using feedback bellows.[5] The integral term was called Reset.[13] Later, the derivative term was added by a further bellows and adjustable orifice.
From about 1932 onwards, the use of wideband pneumatic controllers increased rapidly in a variety of control applications. Air pressure was used for generating the controller output, and also for powering process modulating devices such as diaphragm-operated control valves. They were simple low maintenance devices that operated well in harsh industrial environments and did not present explosion risks in hazardous locations. They were the industry standard for many decades until the advent of discrete electronic controllers and distributed control systems (DCSs).
With these controllers, a pneumatic industry signaling standard of 3–15 psi (0.2–1.0 bar) was established, which had an elevated zero to ensure devices were working within their linear characteristic and represented the control range of 0-100%.

In the 1950s, when high-gain electronic amplifiers became cheap and reliable, electronic PID controllers became popular, and the pneumatic standard was emulated by 10-50 mA and 4–20 mA current loop signals (the latter became the industry standard). Pneumatic field actuators are still widely used because of the advantages of pneumatic energy for control valves in process plant environments.


Most modern PID controls in industry are implemented as computer software in DCSs, programmable logic controllers (PLCs), or discrete compact controllers.
Electronic analog controllers
[edit]Electronic analog PID control loops were often found within more complex electronic systems, for example, the head positioning of a disk drive, the power conditioning of a power supply, or even the movement-detection circuit of a modern seismometer. Discrete electronic analog controllers have been largely replaced by digital controllers using microcontrollers or FPGAs to implement PID algorithms. However, discrete analog PID controllers are still used in niche applications requiring high-bandwidth and low-noise performance, such as laser-diode controllers.[14]
Control loop example
[edit]Consider a robotic arm[15] that can be moved and positioned by a control loop. An electric motor may lift or lower the arm, depending on forward or reverse power applied, but power cannot be a simple function of position because of the inertial mass of the arm, forces due to gravity, external forces on the arm such as a load to lift or work to be done on an external object.
- The sensed position is the process variable (PV).
- The desired position is called the setpoint (SP).
- The difference between the PV and SP is the error (e), which quantifies whether the arm is too low or too high and by how much.
- The input to the process (the electric current in the motor) is the output from the PID controller. It is called either the manipulated variable (MV) or the control variable (CV).
The PID controller continuously adjusts the input current to achieve smooth motion.
By measuring the position (PV) and subtracting it from the setpoint (SP), the error (e) is found, and from it, the controller calculates how much electric current to supply to the motor (MV).
Proportional
[edit]The obvious method is proportional control: the motor current is set in proportion to the existing error. However, this method fails if, for instance, the arm has to lift different weights: a greater weight needs a greater force applied for the same error on the down side, but a smaller force if the error is low on the upside. That's where the integral and derivative terms play their part.
Integral
[edit]An integral term increases action in relation not only to the error but also the time for which it has persisted. So, if the applied force is not enough to bring the error to zero, this force will be increased as time passes. A pure "I" controller could bring the error to zero, but it would be both weakly reacting at the start (because the action would be small at the beginning, depending on time to become significant) and more aggressive at the end (the action increases as long as the error is positive, even if the error is near zero).
Applying too much integral when the error is small and decreasing will lead to overshoot. After overshooting, if the controller were to apply a large correction in the opposite direction and repeatedly overshoot the desired position, the output would oscillate around the setpoint in either a constant, growing, or decaying sinusoid. If the amplitude of the oscillations increases with time, the system is unstable. If it decreases, the system is stable. If the oscillations remain at a constant magnitude, the system is marginally stable.
Derivative
[edit]A derivative term does not consider the magnitude of the error (meaning it cannot bring it to zero: a pure D controller cannot bring the system to its setpoint), but rather the rate of change of error, trying to bring this rate to zero. It aims at flattening the error trajectory into a horizontal line, damping the force applied, and so reduces overshoot (error on the other side because of too great applied force).
Control damping
[edit]In the interest of achieving a controlled arrival at the desired position (SP) in a timely and accurate way, the controlled system needs to be critically damped. A well-tuned position control system will also apply the necessary currents to the controlled motor so that the arm pushes and pulls as necessary to resist external forces trying to move it away from the required position. The setpoint itself may be generated by an external system, such as a PLC or other computer system, so that it continuously varies depending on the work that the robotic arm is expected to do. A well-tuned PID control system will enable the arm to meet these changing requirements to the best of its capabilities.
Response to disturbances
[edit]If a controller starts from a stable state with zero error (PV = SP), then further changes by the controller will be in response to changes in other measured or unmeasured inputs to the process that affect the process, and hence the PV. Variables that affect the process other than the MV are known as disturbances. Generally, controllers are used to reject disturbances and to implement setpoint changes. A change in load on the arm constitutes a disturbance to the robot arm control process.
Applications
[edit]In theory, a controller can be used to control any process that has a measurable output (PV), a known ideal value for that output (SP), and an input to the process (MV) that will affect the relevant PV. Controllers are used in industry to regulate temperature, pressure, force, feed rate,[16] flow rate, chemical composition (component concentrations), weight, position, speed, and practically every other variable for which a measurement exists.
Controller theory
[edit]- This section describes the parallel or non-interacting form of the PID controller. For other forms please see § Alternative nomenclature and forms.
The PID control scheme is named after its three correcting terms, whose sum constitutes the manipulated variable (MV). The proportional, integral, and derivative terms are summed to calculate the output of the PID controller. Defining as the controller output, the final form of the PID algorithm is
where
- is the proportional gain, a tuning parameter,
- is the integral gain, a tuning parameter,
- is the derivative gain, a tuning parameter,
- is the error (SP is the setpoint, and PV(t) is the process variable),
- is the time or instantaneous time (the present),
- is the variable of integration (takes on values from time 0 to the present ).
Equivalently, the transfer function in the Laplace domain of the PID controller is
where is the complex angular frequency.
Proportional term
[edit]
The proportional term produces an output value that is proportional to the current error value. The proportional response can be adjusted by multiplying the error by a constant Kp, called the proportional gain constant.
The proportional term is given by
A high proportional gain results in a large change in the output for a given change in the error. If the proportional gain is too high, the system can become unstable (see the section on loop tuning). In contrast, a small gain results in a small output response to a large input error, and a less responsive or less sensitive controller. If the proportional gain is too low, the control action may be too small when responding to system disturbances. Tuning theory and industrial practice indicate that the proportional term should contribute the bulk of the output change.[citation needed]
Steady-state error
[edit]The steady-state error is the difference between the desired final output and the actual one.[17] Because a non-zero error is required to drive it, a proportional controller generally operates with a steady-state error.[a] Steady-state error (SSE) is proportional to the process gain and inversely proportional to proportional gain. SSE may be mitigated by adding a compensating bias term to the setpoint AND output or corrected dynamically by adding an integral term.
Integral term
[edit]
The contribution from the integral term is proportional to both the magnitude of the error and the duration of the error. The integral in a PID controller is the sum of the instantaneous error over time and gives the accumulated offset that should have been corrected previously. The accumulated error is then multiplied by the integral gain (Ki) and added to the controller output.
The integral term is given by
The integral term accelerates the movement of the process towards setpoint and eliminates the residual steady-state error that occurs with a pure proportional controller. However, since the integral term responds to accumulated errors from the past, it can cause the present value to overshoot the setpoint value (see the section on loop tuning).
Derivative term
[edit]
The derivative of the process error is calculated by determining the slope of the error over time and multiplying this rate of change by the derivative gain Kd. The magnitude of the contribution of the derivative term to the overall control action is termed the derivative gain, Kd.
The derivative term is given by
Derivative action predicts system behavior and thus improves settling time and stability of the system.[18][19] An ideal derivative is not causal, so that implementations of PID controllers include an additional low-pass filtering for the derivative term to limit the high-frequency gain and noise. Derivative action is seldom used in practice, though – by one estimate in only 25% of deployed controllers[citation needed] – because of its variable impact on system stability in real-world applications.
Loop tuning
[edit]Tuning a control loop is the adjustment of its control parameters (proportional band/gain, integral gain/reset, derivative gain/rate) to the optimum values for the desired control response. Stability (no unbounded oscillation) is a basic requirement, but beyond that, different systems have different behavior, different applications have different requirements, and requirements may conflict with one another.
Even though there are only three parameters and it is simple to describe in principle, PID tuning is a difficult problem because it must satisfy complex criteria within the limitations of PID control. Accordingly, there are various methods for loop tuning, and more sophisticated techniques are the subject of patents; this section describes some traditional, manual methods for loop tuning.
Designing and tuning a PID controller appears to be conceptually intuitive, but can be hard in practice, if multiple (and often conflicting) objectives, such as short transient and high stability, are to be achieved. PID controllers often provide acceptable control using default tunings, but performance can generally be improved by careful tuning, and performance may be unacceptable with poor tuning. Usually, initial designs need to be adjusted repeatedly through computer simulations until the closed-loop system performs or compromises as desired.
Some processes have a degree of nonlinearity, so parameters that work well at full-load conditions do not work when the process is starting up from no load. This can be corrected by gain scheduling (using different parameters in different operating regions).
Stability
[edit]If the PID controller parameters (the gains of the proportional, integral and derivative terms) are chosen incorrectly, the controlled process input can be unstable; i.e., its output diverges, with or without oscillation, and is limited only by saturation or mechanical breakage. Instability is caused by excess gain, particularly in the presence of significant lag.
Generally, stabilization of response is required and the process must not oscillate for any combination of process conditions and setpoints, though sometimes marginal stability (bounded oscillation) is acceptable or desired.[citation needed]
Mathematically, the origins of instability can be seen in the Laplace domain.[20]
The closed-loop transfer function is
where is the PID transfer function, and is the plant transfer function. A system is unstable where the closed-loop transfer function diverges for some .[20] This happens in situations where . In other words, this happens when with a 180° phase shift. Stability is guaranteed when for frequencies that suffer high phase shifts. A more general formalism of this effect is known as the Nyquist stability criterion.
Optimal behavior
[edit]The optimal behavior on a process change or setpoint change varies depending on the application.
Two basic requirements are regulation (disturbance rejection – staying at a given setpoint) and command tracking (implementing setpoint changes). These terms refer to how well the controlled variable tracks the desired value. Specific criteria for command tracking include rise time and settling time. Some processes must not allow an overshoot of the process variable beyond the setpoint if, for example, this would be unsafe. Other processes must minimize the energy expended in reaching a new setpoint.
Overview of tuning methods
[edit]There are several methods for tuning a PID loop. The most effective methods generally involve developing some form of process model and then choosing P, I, and D based on the dynamic model parameters. Manual tuning methods can be relatively time-consuming, particularly for systems with long loop times.
The choice of method depends largely on whether the loop can be taken offline for tuning, and on the response time 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.[citation needed]
| Method | Advantages | Disadvantages |
|---|---|---|
| Manual tuning | No mathematics required; online. | This is an iterative, experience-based, trial-and-error procedure that can be relatively time consuming. Operators may find "bad" parameters without proper training.[21] |
| Ziegler–Nichols | Online tuning, with no tuning parameter therefore easy to deploy. | Process upsets may occur in the tuning, can yield very aggressive parameters. Does not work well with time-delay processes. [citation needed] |
| Tyreus Luyben | Online tuning, an extension of the Ziegler–Nichols method, that is generally less aggressive. | Process upsets may occur in the tuning; operator needs to select a parameter for the method, which requires insight. |
| Software tools | Consistent tuning; online or offline – can employ computer-automated control system design (CAutoD) techniques; may include valve and sensor analysis; allows simulation before downloading; can support non-steady-state (NSS) tuning. | "Black box tuning" that requires specification of an objective describing the optimal behaviour. |
| Cohen–Coon | Good process models[citation needed]. | Offline; only good for first-order processes.[citation needed] |
| Åström-Hägglund | Unlike the Ziegler–Nichols method, this will not introduce a risk of loop instability. Little prior process knowledge required.[22] | May give excessive derivative action and sluggish response. Later extensions resolve these issues, but require a more complex tuning procedure.[22] |
| Simple control rule (SIMC) | Analytically derived, works on time-delayed processes, has an additional tuning parameter that allows additional flexibility. Tuning can be performed with step-response model.[21] | Offline method; cannot be applied to oscillatory processes. Operator must choose the additional tuning parameter.[21] |
Manual tuning
[edit]If the system must remain online, one tuning method is to first set and values to zero. Increase the until the output of the loop oscillates; then set to approximately half that value for a "quarter amplitude decay"-type response. Then increase until any offset is corrected in sufficient time for the process, but not until too great a value causes instability. Finally, increase , if required, until the loop is acceptably quick to reach its reference after a load disturbance. Too much causes excessive response and overshoot. A fast PID loop tuning usually overshoots slightly to reach the setpoint more quickly; however, some systems cannot accept overshoot, in which case an overdamped closed-loop system is required, which in turn requires a setting significantly less than half that of the setting that was causing oscillation.[citation needed]

| Parameter | Rise time | Overshoot | Settling time | Steady-state error | Stability |
|---|---|---|---|---|---|
| Decrease | Increase | Small change | Decrease | Degrade | |
| Decrease | Increase | Increase | Eliminate | Degrade | |
| Minor change | Decrease | Decrease | No effect in theory | Improve if small |
Ziegler–Nichols method
[edit]Another heuristic tuning method is known as the Ziegler–Nichols method, introduced by John G. Ziegler and Nathaniel B. Nichols in the 1940s. As in the method above, the and gains are first set to zero. The proportional gain is increased until it reaches the ultimate gain at which the output of the loop starts to oscillate constantly. and the oscillation period are used to set the gains as follows:
| Control type | |||
|---|---|---|---|
| P | — | — | |
| PI | — | ||
| PID |
The oscillation frequency is often measured instead, and the reciprocals of each multiplication yields the same result.
These gains apply to the ideal, parallel form of the PID controller. When applied to the standard PID form, only the integral and derivative gains and are dependent on the oscillation period .
Cohen–Coon parameters
[edit]This method was developed in 1953 and is based on a first-order + time delay model. Similar to the Ziegler–Nichols method, a set of tuning parameters were developed to yield a closed-loop response with a decay ratio of . Arguably, the biggest problem with these parameters is that a small change in the process parameters could potentially cause a closed-loop system to become unstable.
Relay (Åström–Hägglund) method
[edit]Published in 1984 by Karl Johan Åström and Tore Hägglund,[25] the relay method temporarily operates the process using bang-bang control and measures the resultant oscillations. The output is switched (as if by a relay, hence the name) between two values of the control variable. The values must be chosen so the process will cross the setpoint, but they need not be 0% and 100%; by choosing suitable values, dangerous oscillations can be avoided.
As long as the process variable is below the setpoint, the control output is set to the higher value. As soon as it rises above the setpoint, the control output is set to the lower value. Ideally, the output waveform is nearly square, spending equal time above and below the setpoint. The period and amplitude of the resultant oscillations are measured and used to compute the ultimate gain and period, which are then fed into the Ziegler–Nichols method.
Specifically, the ultimate period is assumed to be equal to the observed period, and the ultimate gain is computed as where a is the amplitude of the process variable oscillation, and b is the amplitude of the control output change which caused it.
There are numerous variants on the relay method.[26]
First-order model with dead time
[edit]The transfer function for a first-order process with dead time is
where kp is the process gain, τp is the time constant, θ is the dead time, and u(s) is a step change input. Converting this transfer function to the time domain results in
using the same parameters found above.
It is important when using this method to apply a large enough step-change input that the output can be measured; however, too large of a step change can affect the process stability. Additionally, a larger step change ensures that the output does not change due to a disturbance (for best results, try to minimize disturbances when performing the step test).
One way to determine the parameters for the first-order process is to use the 63.2% method. In this method, the process gain (kp) is equal to the change in output divided by the change in input. The dead time θ is the amount of time between when the step change occurred and when the output first changed. The time constant (τp) is the amount of time it takes for the output to reach 63.2% of the new steady-state value after the step change. One downside to using this method is that it can take a while to reach a new steady-state value if the process has large time constants.[27]
Tuning software
[edit]Most modern industrial facilities no longer tune loops using the manual calculation methods shown above. Instead, PID tuning and loop optimization software are used to ensure consistent results. These software packages gather data, develop process models, and suggest optimal tuning. Some software packages can even develop tuning by gathering data from reference changes.
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 take days just to find a stable set of loop values. Optimal values are harder to find. Some digital loop controllers offer a self-tuning feature in which very small setpoint changes are sent to the process, allowing the controller itself to calculate optimal tuning values.
Another approach calculates initial values via the Ziegler–Nichols method, and uses a numerical optimization technique to find better PID coefficients.[28]
Other formulas are available to tune the loop according to different performance criteria. Many patented formulas are now embedded within PID tuning software and hardware modules.[29]
Advances in automated PID loop tuning software also deliver algorithms for tuning PID Loops in a dynamic or non-steady state (NSS) scenario. The software models the dynamics of a process through a disturbance, and calculate PID control parameters in response.[30]
Limitations
[edit]While PID controllers are applicable to many control problems and often perform satisfactorily without any improvements or only coarse tuning, they can perform poorly in some applications and do not, in general, provide optimal control. The fundamental difficulty with PID control is that it is a feedback control system with constant parameters and no direct knowledge of the process, and thus, overall performance is reactive and a compromise. While PID control is the best controller for an observer that has no model of the process, better performance can be obtained by overtly modeling the actor of the process without resorting to an observer.
PID controllers, when used alone, can give poor performance when the PID loop gains must be reduced so that the control system does not overshoot, oscillate or hunt about the control setpoint value. They also have difficulties in the presence of non-linearities, may trade-off regulation versus response time, do not react to changing process behavior (say, the process changes after it has warmed up), and have lag in responding to large disturbances.
The most significant improvement is to incorporate feed-forward control with knowledge about the system, and using the PID only to control error. Alternatively, PIDs can be modified in more minor ways, such as by changing the parameters (either gain scheduling in different use cases or adaptively modifying them based on performance), improving measurement (higher sampling rate, precision, and accuracy, and low-pass filtering if necessary), or cascading multiple PID controllers.
Linearity and symmetry
[edit]PID controllers work best when the loop to be controlled is linear and symmetric. Thus, their performance in non-linear and asymmetric systems is degraded.
A nonlinear valve in a flow control application, for instance, will result in variable loop sensitivity that requires damping to prevent instability. One solution is to include a model of the valve's nonlinearity in the control algorithm to compensate for this.
An asymmetric application, for example, is temperature control in HVAC systems that use only active heating (via a heating element), whereas only passive cooling is available. Overshoot of rising temperature can only be corrected slowly; active cooling is not available to force temperature downward as a function of the control output. In this case, the PID controller could be tuned to be over-damped, to prevent or reduce overshoot, but this reduces performance by increasing the settling time of a rising temperature to the set point. The inherent degradation of control quality in this application could be solved by application of active cooling.
Noise in derivative term
[edit]A problem with the derivative term is that it amplifies higher frequency measurement or process noise that can cause large amounts of change in the output. It is often helpful to filter the measurements with a low-pass filter in order to remove higher-frequency noise components. As low-pass filtering and derivative control can cancel each other out, the amount of filtering is limited. Therefore, low-noise instrumentation can be important. A nonlinear median filter may be used, which improves the filtering efficiency and practical performance.[31] In some cases, the differential band can be turned off with little loss of control. This is equivalent to using the PID controller as a PI controller.
Modifications to the algorithm
[edit]The basic PID algorithm presents some challenges in control applications that have been addressed by minor modifications to the PID form.
Integral windup
[edit]One common problem resulting from the ideal PID implementations is integral windup. Following a large change in setpoint, the integral term can accumulate an error larger than the maximal value for the regulation variable (windup), thus the system overshoots and continues to increase until this accumulated error is unwound. This problem can be addressed by:
- Disabling the integration until the PV has entered the controllable region
- Preventing the integral term from accumulating above or below pre-determined bounds
- Back-calculating the integral term to constrain the regulator output within feasible bounds.[32]
Overshooting from known disturbances
[edit]For example, a PID loop is used to control the temperature of an electric resistance furnace where the system has stabilized. Now, when the door is opened and something cold is put into the furnace, the temperature drops below the setpoint. The integral function of the controller tends to compensate for error by introducing another error in the positive direction. This overshoot can be avoided by freezing of the integral function after the opening of the door for the time the control loop typically needs to reheat the furnace.
PI controller
[edit]
A PI controller (proportional-integral controller) is a special case of the PID controller in which the derivative (D) of the error is not used.
The controller output is given by
where is the error or deviation of actual measured value (PV) from the setpoint (SP).
A PI controller can be modelled easily in software such as Simulink or Xcos using a "flow chart" box involving Laplace operators:
where
- = proportional gain
- = integral gain
Setting a value for is often a trade off between decreasing overshoot and increasing settling time.
The lack of derivative action may make the system more steady in the steady state in the case of noisy data. This is because derivative action is more sensitive to higher-frequency terms in the inputs.
Without derivative action, a PI-controlled system is less responsive to real (non-noise) and relatively fast alterations in state, and so the system will be slower to reach setpoint and slower to respond to perturbations than a well-tuned PID system may be.
Deadband
[edit]Many PID loops control a mechanical device (for example, a valve). Mechanical maintenance can be a major cost and wear leads to control degradation in the form of either stiction or backlash in the mechanical response to an input signal. The rate of mechanical wear is mainly a function of how often a device is activated to make a change. Where wear is a significant concern, the PID loop may have an output deadband to reduce the frequency of activation of the output (valve). This is accomplished by modifying the controller to hold its output steady if the change would be small (within the defined deadband range). The calculated output must leave the deadband before the actual output will change.
Setpoint step change
[edit]The proportional and derivative terms can produce excessive movement in the output when a system is subjected to an instantaneous step increase in the error, such as a large setpoint change. In the case of the derivative term, this is due to taking the derivative of the error, which is very large in the case of an instantaneous step change. As a result, some PID algorithms incorporate some of the following modifications:
- Setpoint ramping
- In this modification, the setpoint is gradually moved from its old value to a newly specified value using a linear or first-order differential ramp function. This avoids the discontinuity present in a simple step change.
- Derivative of the process variable
- In this case, the PID controller measures the derivative of the measured PV, rather than the derivative of the error. This quantity is always continuous (i.e., never has a step change as a result of changed setpoint). This modification is a simple case of setpoint weighting.
- Setpoint weighting
- Setpoint weighting adds adjustable factors (usually between 0 and 1) to the setpoint in the error in the proportional and derivative element of the controller. The error in the integral term must be the true control error to avoid steady-state control errors. These two extra parameters do not affect the response to load disturbances and measurement noise and can be tuned to improve the controller's setpoint response.
Feed-forward
[edit]The control system performance can be improved by combining the feedback (or closed-loop) control of a PID controller with feed-forward (or open-loop) control. Knowledge about the system (such as the desired acceleration and inertia) can be fed forward and combined with the PID output to improve the overall system performance. The feed-forward value alone can often provide the major portion of the controller output. The PID controller primarily has to compensate for whatever difference or error remains between the setpoint (SP) and the system response to the open-loop control. Since the feed-forward output is not affected by the process feedback, it can never cause the control system to oscillate, thus improving the system response without affecting stability. Feed forward can be based on the setpoint and on extra measured disturbances. Setpoint weighting is a simple form of feed forward.
For example, in most motion control systems, in order to accelerate a mechanical load under control, more force is required from the actuator. If a velocity loop PID controller is being used to control the speed of the load and command the force being applied by the actuator, then it is beneficial to take the desired instantaneous acceleration, scale that value appropriately and add it to the output of the PID velocity loop controller. This means that whenever the load is being accelerated or decelerated, a proportional amount of force is commanded from the actuator regardless of the feedback value. The PID loop in this situation uses the feedback information to change the combined output to reduce the remaining difference between the process setpoint and the feedback value. Working together, the combined open-loop feed-forward controller and closed-loop PID controller can provide a more responsive control system.
Bumpless operation
[edit]PID controllers are often implemented with a "bumpless" initialization feature that recalculates the integral accumulator term to maintain a consistent process output through parameter changes.[33] A partial implementation is to store the integral gain times the error rather than storing the error and postmultiplying by the integral gain, which prevents discontinuous output when the I gain is changed, but not the P or D gains.
Other improvements
[edit]In addition to feed-forward, PID controllers are often enhanced through methods such as PID gain scheduling (changing parameters in different operating conditions), fuzzy logic, or computational verb logic.[34][35] Further practical application issues can arise from instrumentation connected to the controller. A high enough sampling rate, measurement precision, and measurement accuracy are required to achieve adequate control performance. Another new method for improvement of PID controller is to increase the degree of freedom by using fractional order. The order of the integrator and differentiator add increased flexibility to the controller.[36]
Cascade control
[edit]One distinctive advantage of PID controllers is that two PID controllers can be used together to yield better dynamic performance. This is called cascaded PID control. Two controllers are in cascade when they are arranged so that one regulates the set point of the other. A PID controller acts as outer loop controller, which controls the primary physical parameter, such as fluid level or velocity. The other controller acts as inner loop controller, which reads the output of outer loop controller as setpoint, usually controlling a more rapid changing parameter, flowrate or acceleration. It can be mathematically proven[citation needed] that the working frequency of the controller is increased and the time constant of the object is reduced by using cascaded PID controllers.[vague].
For example, a temperature-controlled circulating bath has two PID controllers in cascade, each with its own thermocouple temperature sensor. The outer controller controls the temperature of the water using a thermocouple located far from the heater, where it accurately reads the temperature of the bulk of the water. The error term of this PID controller is the difference between the desired bath temperature and measured temperature. Instead of controlling the heater directly, the outer PID controller sets a heater temperature goal for the inner PID controller. The inner PID controller controls the temperature of the heater using a thermocouple attached to the heater. The inner controller's error term is the difference between this heater temperature setpoint and the measured temperature of the heater. Its output controls the actual heater to stay near this setpoint.
The proportional, integral, and differential terms of the two controllers will be very different. The outer PID controller has a long time constant – all the water in the tank needs to heat up or cool down. The inner loop responds much more quickly. Each controller can be tuned to match the physics of the system it controls – heat transfer and thermal mass of the whole tank or of just the heater – giving better total response.[37][38]
Alternative nomenclature and forms
[edit]Standard versus parallel (ideal) form
[edit]The form of the PID controller most often encountered in industry, and the one most relevant to tuning algorithms, is the standard form. In this form the gain is applied to the , and terms, yielding:
where
- is the integral time
- is the derivative time
In this standard form, the parameters have a clear physical meaning. In particular, the inner summation produces a new single error value, which is compensated for future and past errors. The proportional error term is the current error. The derivative components term attempts to predict the error value at seconds (or samples) in the future, assuming that the loop control remains unchanged. The integral component adjusts the error value to compensate for the sum of all past errors, with the intention of completely eliminating them in seconds (or samples). The resulting compensated single error value is then scaled by the single gain to compute the control variable.
In the parallel form, shown in the controller theory section
the gain parameters are related to the parameters of the standard form through and . This parallel form, where the parameters are treated as simple gains, is the most general and flexible form. However, it is also the form where the parameters have the weakest relationship to physical behaviors and is generally reserved for theoretical treatment of the PID controller. The standard form, despite being slightly more complex mathematically, is more common in industry.
Reciprocal gain, a.k.a. proportional band
[edit]In many cases, the manipulated variable output by the PID controller is a dimensionless fraction between 0 and 100% of some maximum possible value, and the translation into real units (such as pumping rate or watts of heater power) is outside the PID controller. The process variable, however, is in dimensioned units such as temperature. It is common in this case to express the gain not as "output per degree", but rather in the reciprocal form of a proportional band , which is "degrees per full output": the range over which the output changes from 0 to 1 (0% to 100%). Beyond this range, the output is saturated, full-off or full-on. The narrower this band, the higher the proportional gain.
Basing derivative action on PV
[edit]In most commercial control systems, derivative action is based on process variable rather than error. That is, a change in the setpoint does not affect the derivative action. This is because the digitized version of the algorithm produces a large unwanted spike when the setpoint is changed. If the setpoint is constant, then changes in the PV will be the same as changes in error. Therefore, this modification makes no difference to the way the controller responds to process disturbances.
Basing proportional action on PV
[edit]Most commercial control systems offer the option of also basing the proportional action solely on the process variable. This means that only the integral action responds to changes in the setpoint. The modification to the algorithm does not affect the way the controller responds to process disturbances. Basing proportional action on PV eliminates the instant and possibly very large change in output caused by a sudden change to the setpoint. Depending on the process and tuning, this may be beneficial to the response to a setpoint step.
King[39] describes an effective chart-based method.
Laplace form
[edit]Sometimes it is useful to write the PID regulator in Laplace transform form:
Having the PID controller written in Laplace form and having the transfer function of the controlled system makes it easy to determine the closed-loop transfer function of the system.
Series/interacting form
[edit]Another representation of the PID controller is the series, or interacting form
where the parameters are related to the parameters of the standard form through
- , , and
with
- .
This form essentially consists of a PD and PI controller in series. As the integral is required to calculate the controller's bias, this form provides the ability to track an external bias value, which is required to be used for proper implementation of multi-controller advanced control schemes.
Discrete implementation
[edit]The analysis for designing a digital implementation of a PID controller in a microcontroller (MCU) or FPGA device requires the standard form of the PID controller to be discretized.[40] Approximations for first-order derivatives are made by backward finite differences. and are discretized with a sampling period , k is the sample index.
Differentiating both sides of PID equation using Newton's notation gives:
Derivative terms are approximated as,
So,
Applying backward difference again gives,
By simplifying and regrouping terms of the above equation, an algorithm for an implementation of the discretized PID controller in an MCU is finally obtained:
or:
s.t.
Note: This method solves in fact where is a constant independent of t. This constant is useful when you want to have a start and stop control on the regulation loop. For instance, setting Kp,Ki and Kd to 0 will keep u(t) constant. Likewise, when you want to start a regulation on a system where the error is already close to 0 with u(t) non null, it prevents from sending the output to 0.
Pseudocode
[edit]Here is a very simple and explicit group of pseudocode that can be easily understood by the layman:[citation needed]
- Kp - proportional gain
- Ki - integral gain
- Kd - derivative gain
- dt - loop interval time (assumes reasonable scale)[b]
previous_error := 0 integral := 0 loop: error := setpoint − measured_value proportional := error; integral := integral + error × dt derivative := (error - previous_error) / dt output := Kp × proportional + Ki × integral + Kd × derivative previous_error := error wait(dt) goto loop
Below a pseudocode illustrates how to implement a PID considering the PID as an IIR filter:
The Z-transform of a PID can be written as ( is the sampling time):
and expressed in a IIR form (in agreement with the discrete implementation shown above):
We can then deduce the recursive iteration often found in FPGA implementation[41]
A0 := Kp + Ki*dt + Kd/dt
A1 := -Kp - 2*Kd/dt
A2 := Kd/dt
error[2] := 0 // e(t-2)
error[1] := 0 // e(t-1)
error[0] := 0 // e(t)
output := u0 // Usually the current value of the actuator
loop:
error[2] := error[1]
error[1] := error[0]
error[0] := setpoint − measured_value
output := output + A0 * error[0] + A1 * error[1] + A2 * error[2]
wait(dt)
goto loop
Here, Kp is a dimensionless number, Ki is expressed in and Kd is expressed in s. When doing a regulation where the actuator and the measured value are not in the same unit (e.g., temperature regulation using a motor controlling a valve), Kp, Ki and Kd may be corrected by a unit conversion factor. It may also be interesting to use Ki in its reciprocal form (integration time). The above implementation allows to perform an I-only controller which may be useful in some cases.
In the real world, this is D-to-A converted and passed into the process under control as the manipulated variable (MV). The current error is stored elsewhere for re-use in the next differentiation, the program then waits until dt seconds have passed since start, and the loop begins again, reading in new values for the PV and the setpoint and calculating a new value for the error.[42]
Note that for real code, the use of "wait(dt)" might be inappropriate because it doesn't account for time taken by the algorithm itself during the loop, or more importantly, any pre-emption delaying the algorithm.
A common issue when using is the response to the derivative of a rising or falling edge of the setpoint, as shown below:
A typical workaround is to filter the derivative action using a low pass filter of time constant where :
A variant of the above algorithm using an infinite impulse response (IIR) filter for the derivative:
A0 := Kp + Ki*dt
A1 := -Kp
error[2] := 0 // e(t-2)
error[1] := 0 // e(t-1)
error[0] := 0 // e(t)
output := u0 // Usually the current value of the actuator
A0d := Kd/dt
A1d := - 2.0*Kd/dt
A2d := Kd/dt
N := 5
tau := Kd / (Kp*N) // IIR filter time constant
alpha := dt / (2*tau)
d0 := 0
d1 := 0
fd0 := 0
fd1 := 0
loop:
error[2] := error[1]
error[1] := error[0]
error[0] := setpoint − measured_value
// PI
output := output + A0 * error[0] + A1 * error[1]
// Filtered D
d1 := d0
d0 := A0d * error[0] + A1d * error[1] + A2d * error[2]
fd1 := fd0
fd0 := ((alpha) / (alpha + 1)) * (d0 + d1) - ((alpha - 1) / (alpha + 1)) * fd1
output := output + fd0
wait(dt)
goto loop
See also
[edit]Notes
[edit]- ^ The only exception is where the target value is the same as the value obtained when the controller output is zero.
- ^ Note that for very small intervals (e.g. 60Hz/ seconds), the resulting derivative value will be extremely large, and orders of magnitude larger than the proportional or integral components. Adjusting this value for the derivative (e.g. multiplying by 1000) or changing the division to multiplication is likely to yield the intended results. This holds true for all pseudocode presented here.
References
[edit]- ^ Araki, M. (2009). "Control Systems, Robotics and Automation – Volume VII - PID Control" (PDF). Japan: Kyoto University.
- ^ "9.3: PID Tuning via Classical Methods". Engineering LibreTexts. 2020-05-19. Retrieved 2024-05-31.
- ^ Hills, Richard L (1996), Power From the Wind, Cambridge University Press
- ^ Richard E. Bellman (December 8, 2015). Adaptive Control Processes: A Guided Tour. Princeton University Press. ISBN 9781400874668.
- ^ a b c d e f Bennett, Stuart (1996). "A brief history of automatic control" (PDF). IEEE Control Systems Magazine. 16 (3): 17–25. Bibcode:1996ICSys..16c..17B. doi:10.1109/37.506394. Archived from the original (PDF) on 2016-08-09. Retrieved 2014-08-21.
- ^ Maxwell, J. C. (1868). "On Governors" (PDF). Proceedings of the Royal Society. 100.
- ^ Newpower, Anthony (2006). Iron Men and Tin Fish: The Race to Build a Better Torpedo during World War II. Praeger Security International. ISBN 978-0-275-99032-9. p. citing Gray, Edwyn (1991), The Devil's Device: Robert Whitehead and the History of the Torpedo, Annapolis, MD: U.S. Naval Institute, p. 33.
- ^ Sleeman, C. W. (1880), Torpedoes and Torpedo Warfare, Portsmouth: Griffin & Co., pp. 137–138,
which constitutes what is termed as the secret of the fish torpedo.
- ^ "A Brief Building Automation History". Archived from the original on 2011-07-08. Retrieved 2011-04-04.
- ^ Minorsky, Nicolas (1922). "Directional stability of automatically steered bodies". Journal of the American Society for Naval Engineers. 34 (2): 280–309. doi:10.1111/j.1559-3584.1922.tb04958.x.
- ^ Bennett 1993, p. 67
- ^ Bennett, Stuart (June 1986). A history of control engineering, 1800-1930. IET. pp. 142–148. ISBN 978-0-86341-047-5.
- ^ Shinskey, F Greg (2004), The power of external-reset feedback (PDF), Control Global
- ^ Neuhaus, Rudolf. "Diode Laser Locking and Linewidth Narrowing" (PDF). Retrieved June 8, 2015.
- ^ "Position control system" (PDF). Hacettepe University Department of Electrical and Electronics Engineering. Archived from the original (PDF) on 2014-05-13.
- ^ Kebriaei, Reza; Frischkorn, Jan; Reese, Stefanie; Husmann, Tobias; Meier, Horst; Moll, Heiko; Theisen, Werner (2013). "Numerical modelling of powder metallurgical coatings on ring-shaped parts integrated with ring rolling". Material Processing Technology. 213 (1): 2015–2032. doi:10.1016/j.jmatprotec.2013.05.023.
- ^ Lipták, Béla G. (2003). Instrument Engineers' Handbook: Process control and optimization (4th ed.). CRC Press. p. 108. ISBN 0-8493-1081-4.
- ^ "Introduction: PID Controller Design". University of Michigan.
- ^ Tim Wescott (October 2000). "PID without a PhD" (PDF). EE Times-India.
{{cite journal}}: Cite journal requires|journal=(help) - ^ a b Bechhoefer, John (2005). "Feedback for Physicists: A Tutorial Essay On Control". Reviews of Modern Physics. 77 (3): 783–835. Bibcode:2005RvMP...77..783B. CiteSeerX 10.1.1.124.7043. doi:10.1103/revmodphys.77.783.
- ^ a b c Skogestad, Sigurd (2003). "Simple analytic rules for model reduction and PID controller tuning" (PDF).
- ^ a b "A Review of Relay Auto-tuning Methods for the Tuning of PID-type Controllers".
- ^ Kiam Heong Ang; Chong, G.; Yun Li (2005). "PID control system analysis, design, and technology" (PDF). IEEE Transactions on Control Systems Technology. 13 (4): 559–576. Bibcode:2005ITCST..13..559A. doi:10.1109/TCST.2005.847331. S2CID 921620.
- ^ Jinghua Zhong (Spring 2006). "PID Controller Tuning: A Short Tutorial" (PDF). Archived from the original (PDF) on 2015-04-21. Retrieved 2011-04-04.
{{cite journal}}: Cite journal requires|journal=(help) - ^ Åström, K.J.; Hägglund, T. (July 1984). "Automatic Tuning of Simple Regulators". IFAC Proceedings Volumes. 17 (2): 1867–1872. doi:10.1016/S1474-6670(17)61248-5.
- ^ Hornsey, Stephen (29 October 2012). "A Review of Relay Auto-tuning Methods for the Tuning of PID-type Controllers". Reinvention. 5 (2).
- ^ Bequette, B. Wayne (2003). Process Control: Modeling, Design, and Simulation. Upper Saddle River, New Jersey: Prentice Hall. p. 129. ISBN 978-0-13-353640-9.
- ^ Heinänen, Eero (October 2018). A Method for automatic tuning of PID controller following Luus-Jaakola optimization (PDF) (Master's Thesis ed.). Tampere, Finland: Tampere University of Technology. Retrieved Feb 1, 2019.
- ^ Li, Yun; Ang, Kiam Heong; Chong, Gregory C.Y. (February 2006). "Patents, software, and hardware for PID control: An overview and analysis of the current art" (PDF). IEEE Control Systems Magazine. 26 (1): 42–54. Bibcode:2006ICSys..26a..42L. doi:10.1109/MCS.2006.1580153. S2CID 18461921.
- ^ Soltesz, Kristian (January 2012). On Automation of the PID Tuning Procedure (Licentiate theis). Lund university. 847ca38e-93e8-4188-b3d5-8ec6c23f2132.
- ^ Li, Y. and Ang, K.H. and Chong, G.C.Y. (2006) PID control system analysis and design - Problems, remedies, and future directions. IEEE Control Systems Magazine, 26 (1). pp. 32-41. ISSN 0272-1708
- ^ Cooper, Douglas. "Integral (Reset) Windup, Jacketing Logic and the Velocity PI Form". Retrieved 2014-02-18.
- ^ Cooper, Douglas. "PI Control of the Heat Exchanger". Practical Process Control by Control Guru. Retrieved 2014-02-27.
- ^ Yang, T. (June 2005). "Architectures of Computational Verb Controllers: Towards a New Paradigm of Intelligent Control". International Journal of Computational Cognition. 3 (2): 74–101. CiteSeerX 10.1.1.152.9564.
- ^ Liang, Yilong; Yang, Tao (2009). "Controlling fuel annealer using computational verb PID controllers". Proceedings of the 3rd International Conference on Anti-Counterfeiting, Security, and Identification in Communication. Asid'09: 417–420. ISBN 9781424438839.
- ^ Tenreiro Machado JA, et al. (2009). "Some Applications of Fractional Calculus in Engineering". Mathematical Problems in Engineering. 2010 639801: 1–34. doi:10.1155/2010/639801. hdl:10400.22/4306.
- ^ [1] Fundamentals of cascade control | Sometimes two controllers can do a better job of keeping one process variable where you want it. | By Vance VanDoren, PHD, PE | AUGUST 17, 2014
- ^ [2] | The Benefits of Cascade Control | September 22, 2020 | Watlow
- ^ King, Myke (2011). Process Control: A Practical Approach. Wiley. pp. 52–78. ISBN 978-0-470-97587-9.
- ^ "Discrete PI and PID Controller Design and Analysis for Digital Implementation". Scribd.com. Retrieved 2011-04-04.
- ^ Thakur, Bhushana. Hardware Implimentation [sic] of FPGA based PID Controller (PDF).
- ^ "PID process control, a "Cruise Control" example". CodeProject. 2009. Retrieved 4 November 2012.
- Bequette, B. Wayne (2006). Process Control: Modeling, Design, and Simulation. Prentice Hall PTR. ISBN 9789861544779.
Further reading
[edit]- Liptak, Bela (1995). Instrument Engineers' Handbook: Process Control. Radnor, Pennsylvania: Chilton Book Company. pp. 20–29. ISBN 978-0-8019-8242-2.
- Tan, Kok Kiong; Wang Qing-Guo; Hang Chang Chieh (1999). Advances in PID Control. London, UK: Springer-Verlag. ISBN 978-1-85233-138-2.
- King, Myke (2010). Process Control: A Practical Approach. Chichester, UK: John Wiley & Sons Ltd. ISBN 978-0-470-97587-9.
- Van Doren, Vance J. (July 1, 2003). "Loop Tuning Fundamentals". Control Engineering.
- Sellers, David. "An Overview of Proportional plus Integral plus Derivative Control and Suggestions for Its Successful Application and Implementation" (PDF). Archived from the original (PDF) on March 7, 2007. Retrieved 2007-05-05.
- Graham, Ron; Mike McHugh (2005-10-03). "FAQ on PID controller tuning". Mike McHugh. Archived from the original on February 6, 2005. Retrieved 2009-01-05.
- Aidan O'Dwyer (2009). Handbook of PI and PID Controller Tuning Rules (PDF) (3rd ed.). Imperial College Press. ISBN 978-1-84816-242-6.
External links
[edit]- PID tuning using Mathematica
- PID tuning using Python
- Principles of PID Control and Tuning
- Introduction to the key terms associated with PID Temperature Control
PID tutorials
[edit]- PID Control in MATLAB/Simulink and Python with TCLab
- What's All This P-I-D Stuff, Anyhow? Article in Electronic Design
- Shows how to build a PID controller with basic electronic components (pg. 22)
- PID Without a PhD
- PID Control with MATLAB and Simulink
- PID with single Operational Amplifier
- Proven Methods and Best Practices for PID Control
- Principles of PID Control and Tuning
- PID Tuning Guide: A Best-Practices Approach to Understanding and Tuning PID Controllers
- Michael Barr (2002-07-30), Introduction to Closed-Loop Control, Embedded Systems Programming, archived from the original on 2010-02-09
- Jinghua Zhong, Mechanical Engineering, Purdue University (Spring 2006). "PID Controller Tuning: A Short Tutorial" (PDF). Archived from the original (PDF) on 2015-04-21. Retrieved 2013-12-04.
{{cite web}}: CS1 maint: multiple names: authors list (link) - Introduction to P,PI,PD & PID Controller with MATLAB
- Improving The Beginners PID
Proportional–integral–derivative controller
View on GrokipediaFundamentals
Definition and Purpose
A proportional–integral–derivative (PID) controller is a control loop mechanism that uses feedback to continuously compute an error value as the difference between a desired setpoint and a measured process variable, then applies a correction based on proportional, integral, and derivative terms to adjust the system's output accordingly.[10] This approach enables precise regulation of dynamic processes by minimizing deviations and responding to changes in real time.[11] The primary purpose of a PID controller is to achieve stable and responsive system behavior, ensuring minimal steady-state error, quick recovery from disturbances, and avoidance of excessive oscillations in applications such as industrial temperature control or motor speed regulation.[11] For instance, in temperature control systems like water heaters, it maintains the process variable at the setpoint by compensating for external variations, while in speed regulation for motors, it adjusts power output to counteract load changes efficiently.[10] By integrating these three control actions, the PID controller provides a versatile solution for maintaining desired performance across diverse engineering contexts.[11] At its core, the PID controller operates within a feedback control framework, where the system's output is measured and fed back to compare against the setpoint, allowing the controller to generate corrective signals that enhance robustness against uncertainties and disturbances.[12] This closed-loop structure forms the prerequisite for PID implementation, as it relies on ongoing error assessment to drive the process toward equilibrium without external intervention.[10] Developed as a foundational algorithm in the mid-20th century, the PID controller has become one of the most widely adopted methods in industrial automation due to its simplicity and effectiveness in handling a broad range of control problems.[13]Mathematical Formulation
The error in a PID controller is defined as the difference between the reference setpoint and the measured process variable , such that .[14] The standard parallel (non-interacting) form of the PID controller in continuous time is expressed as where denotes the controller output applied to the process.[15] Here, is the proportional gain, is the integral gain, and is the derivative gain; these parameters are tuned to achieve desired control performance.[14] The tuning parameters can be normalized using time-based constants, where the integral gain relates to the proportional gain as (with the integral time) and the derivative gain as (with the derivative time).[16] This yields the ideal (non-interacting) form In the Laplace domain, this corresponds to the transfer function An alternative interacting (series) form, common in early pneumatic and electronic implementations, structures the terms multiplicatively in the Laplace domain as This form introduces dependencies among the terms, affecting tuning conversions between forms.[17] Assuming consistent units for the error and output , the proportional gain is dimensionless, the integral gain has units of inverse time (e.g., s), and the derivative gain has units of time (e.g., s); similarly, and carry units of time.[14] The original interacting form appeared in industrial contexts as early as 1942, influencing subsequent parameterizations.[13]Component Roles and Selection
The proportional term in a PID controller generates an output that is directly proportional to the current error between the setpoint and the process variable, enabling an immediate corrective response to deviations. This action reduces the rise time of the system by increasing its responsiveness to errors, thereby facilitating faster disturbance rejection in applications such as secondary control loops. However, it typically leaves a residual steady-state error and can induce oscillations or instability if the proportional gain is set too high, as it amplifies the error signal without addressing persistent offsets.[18] The integral term addresses limitations of the proportional action by accumulating the history of past errors over time, which drives the controller output to eliminate any steady-state offset and ensure the process variable aligns precisely with the setpoint. This makes it essential for applications requiring high accuracy, such as primary control loops where bias elimination is critical. Despite its benefits, an overly aggressive integral action can lead to overshoot, prolonged settling times, or even instability, and it is prone to integral windup when the actuator saturates, potentially degrading performance.[18] The derivative term enhances system stability by responding to the rate of change of the error, effectively predicting future error trends and providing a damping effect that counters oscillations. It improves settling time and reduces overshoot in dynamic systems, making it valuable for oscillatory processes or those needing enhanced stability without excessive lag. A key drawback is its sensitivity to measurement noise, which it amplifies, potentially introducing high-frequency disturbances that degrade control quality.[18] Selection of PID components depends on the system's dynamics, noise characteristics, and performance requirements, with guidelines favoring simpler configurations for straightforward processes. Proportional-only control suffices for basic systems like secondary loops where fast response is prioritized over precision, avoiding the complexities of integral or derivative actions. PI control is commonly selected for first-order systems or noisy environments to eliminate steady-state errors without the noise amplification from the derivative term, as seen in processes with dominant time delays. PD configurations are used sparingly for stability-focused applications where offset is tolerable and integral windup must be prevented, such as in certain oscillatory setups. Full PID is recommended for second-order or higher-order systems with complex dynamics, including nonlinear behaviors, to achieve balanced precision, stability, and transient response.[18]Historical Development
Early Origins
The origins of the proportional–integral–derivative (PID) controller trace back to early 20th-century efforts in industrial regulation and automatic control systems. In 1933, the Taylor Instrument Company introduced the Model 56R Fulscope, recognized as the first pneumatic controller featuring fully tunable proportional and integral control, which allowed for adjustable gain and reset to reduce offset in response to process deviations. This innovation built on earlier on-off controllers and addressed limitations in maintaining steady states without constant manual intervention, primarily for temperature and pressure regulation in manufacturing.[19] Theoretical foundations for integrating proportional, integral, and derivative actions emerged in the 1920s through naval engineering research. In 1922, Nicolas Minorsky published the seminal paper "Directional Stability of Automatically Steered Bodies," presenting the first mathematical analysis of a three-term controller for ship autopilots, where proportional action corrected immediate heading errors, integral action compensated for persistent deviations, and derivative action anticipated changes based on rate of error.[20] Minorsky's work, inspired by observations of human helmsmen, applied these principles to enhance steering stability on U.S. Navy vessels, marking the initial theoretical application of PID concepts to dynamic systems.[19] By the 1930s, practical implementations of integral and derivative terms appeared in pneumatic devices for process industries. The Foxboro Company developed early controllers like the Model 40 in the early 1930s, incorporating proportional plus integral (reset) action for flow and level control in chemical plants, followed by additions of derivative (rate) action in wide-band pneumatic units by 1936. These pneumatic systems, using flapper-nozzle mechanisms for high-gain amplification, enabled more robust regulation in harsh industrial environments, laying groundwork for broader adoption in continuous processes.[19]Industrial Evolution
During the 1930s, proportional-integral-derivative (PID) controllers began seeing widespread adoption in industrial processes, particularly through pneumatic and mechanical implementations that facilitated reliable automation in challenging environments. Companies like Taylor Instrument pioneered this shift, introducing proportional-integral devices such as the Model 56R in 1933, which featured adjustable proportional control for applications in chemical processing, oil refining, and manufacturing. These controllers were instrumental in regulating variables like temperature and flow in continuous operations, such as viscose rayon production in the chemical sector and tube stills in oil refineries, where they outperformed earlier on-off systems by minimizing oscillations and improving efficiency.[21] By integrating negative feedback via flapper-nozzle amplifiers, these pneumatic systems enabled precise setpoint maintenance without constant human oversight, marking a key evolution from manual valve adjustments.[22] The onset of World War II accelerated the standardization of PID control in process industries, driven by the urgent demands of wartime production for consistent regulation of critical parameters. In the United States, pneumatic PID controllers were deployed extensively for temperature and pressure control in synthetic rubber manufacturing and high-octane aviation fuel production, supporting outputs of up to 1 million tons of rubber annually and 580,000 barrels of fuel per day by 1945.[21] Taylor's Fulscope controllers, for instance, were supplied in large quantities—over 40,000 units—for the Manhattan Project's K-25 gaseous diffusion plant, where they managed uranium hexafluoride processes essential to atomic bomb development.[21] This era saw PID technology become a cornerstone of industrial standardization, as government and industry collaborations emphasized scalable, robust control to meet production quotas with minimal downtime.[22] By the early 1940s, full three-term PID controllers emerged as the standard, incorporating derivative action alongside proportional and integral terms to handle dynamic disturbances more effectively. Taylor's Fulscope Model 100, introduced in 1940, represented this advancement by combining all three modes in a single pneumatic unit with user-friendly tuning knobs, widely applied in dairy pasteurization and refinery operations. Concurrently, the Ziegler-Nichols tuning method, published in 1942, provided a systematic approach to optimizing these controllers by setting proportional gain to 0.6 times the ultimate gain, integral time to half the ultimate period, and derivative time to one-eighth of that period, based on empirical tests in industrial settings. This method, derived from analyses of pneumatic systems like the Fulscope, became a benchmark for achieving stable responses in processes prone to lag.[21] The industrial evolution of PID controllers profoundly impacted automation by drastically reducing manual interventions and enabling precise tracking in continuous processes, thereby boosting productivity across sectors. In chemical and oil industries, for example, these controllers minimized steady-state errors in exothermic reactions and distillation columns, allowing operators to focus on higher-level tasks rather than constant adjustments.[22] Overall, this period transformed PID from an experimental tool into an indispensable element of modern manufacturing, laying the groundwork for scalable industrial control systems.[21]Electronic and Digital Advances
The transition from pneumatic to electronic implementations of PID controllers began in the early 1950s, driven by advances in vacuum tube and transistor technology that enabled more reliable and compact analog circuitry. In 1951, the Swartwout Company introduced the first commercial electronic PID controller, utilizing vacuum tube amplifiers to perform proportional, integral, and derivative actions in industrial process control applications.[23] By the mid-1950s, high-gain operational amplifiers facilitated the design of electronic analog PID units, replacing mechanical components with solid-state equivalents for improved precision and reduced maintenance in chemical and manufacturing plants.[24] The 1960s marked the shift toward digital PID controllers, leveraging minicomputers and early programmable logic controllers (PLCs) to enable software-based tuning and reconfiguration without hardware changes. In 1964, Taylor Instruments demonstrated the first single-loop digital controller, which computed PID terms algorithmically using discrete-time approximations, allowing for easier integration with data logging systems.[19] This was followed in 1969 by Honeywell's Vutronik series, one of the earliest commercially available digital process controllers that incorporated derivative action calculated from process variable rates, enhancing responsiveness in petrochemical refineries.[25] By the 1970s, the first fully commercial digital PID controller appeared in 1970 from Honeywell, building on minicomputer architectures to support multiple loops and remote monitoring, which accelerated adoption in power generation and continuous processing industries.[25] The introduction of PLCs, such as Modicon's 084 in 1968, further embedded programmable PID functions, enabling ladder-logic implementations that standardized digital control in discrete manufacturing.[19] In the 1980s, microprocessor integration within distributed control systems (DCS) revolutionized PID deployment, allowing adaptive tuning algorithms to adjust parameters in real-time based on process variations. Systems like Honeywell's TDC 3000, launched in 1981, distributed PID computations across networked microprocessors, improving scalability and fault tolerance in large-scale facilities such as oil refineries.[26] This era's advances supported features like bumpless transfer between manual and automatic modes, reducing downtime during setpoint changes.[27] Entering the 2020s, Industry 4.0 has spurred hybrid PID controllers that incorporate artificial intelligence, particularly neural networks, to enhance performance in nonlinear and uncertain environments. For instance, neural-PID hybrids use machine learning to dynamically tune gains in robotic applications, as demonstrated in adaptive control for unmanned aerial vehicles.[28] These systems, often integrated with edge computing, enable predictive maintenance and self-optimization in smart factories.[29]Illustrative Examples
Proportional Control Behavior
Proportional control, the simplest form of feedback control, adjusts the control output based solely on the current error between the setpoint and the measured process variable. In a temperature control system for an electric heater, the controller computes the error as the difference between the desired temperature setpoint and the actual temperature sensed by a thermocouple. The control output , which determines the heater power, is then given by , where is the proportional gain. This direct proportionality ensures that larger errors produce stronger corrective actions, such as increasing heater power for a cold room.[30] A key benefit of proportional control is its ability to provide a rapid initial response to changes, significantly reducing the rise time—the duration to reach near the setpoint. For instance, in the heater example, a step increase in the setpoint temperature prompts an immediate surge in heater output proportional to the error, allowing the system temperature to climb quickly toward the target. However, this approach introduces limitations: the steady-state error, or offset, persists because the control action ceases only when the error is zero, which would require infinite gain. A typical quantitative illustration shows a 10% offset remaining after stabilization for a moderate , meaning the final temperature settles 10% below the setpoint despite the quick approach. Additionally, the offset becomes proportional to any load disturbance, such as an open window introducing cold air, as the controller cannot fully compensate without ongoing error. If is set too high, the system may exhibit oscillations or even instability, as aggressive corrections amplify small deviations.[1][30] The behavior is vividly illustrated through the step response of the system, where a sudden setpoint change causes the output to rise swiftly but asymptote to a value offset from the target. For low , the response is sluggish with a large offset and minimal overshoot; as increases, the curve steepens for faster settling, but the offset shrinks while overshoot and ringing grow, potentially leading to damped oscillations around the offset level. In the heater context, this manifests as the temperature approaching the setpoint exponentially but stabilizing short of it, with high causing the temperature to overshoot and fluctuate before settling.[1] The persistent offset in steady state can be quantified via the relation between error, load change, and system parameters. For a step load disturbance of magnitude , the steady-state error is given by where is the process gain (DC gain of the plant transfer function). This formula highlights how higher reduces the error but cannot eliminate it without additional control actions, underscoring the need for balance in gain selection to manage both transient speed and steady-state accuracy.[31]Integral Control Behavior
Building on the proportional control example, where a persistent offset remains between the setpoint and the system output in steady-state, the addition of integral action in a proportional-integrative (PI) controller addresses this limitation. The control signal is given by where is the proportional gain, is the integral gain, and is the error signal. This integral term accumulates the error over time, continuously adjusting the control output until the error reaches zero, thereby achieving zero steady-state error for step input changes.[32][1] The integral action typically results in a slower initial response compared to pure proportional control, as the accumulated error builds gradually, and it can introduce overshoot or oscillatory behavior due to the growing contribution from the integrator when errors persist. For instance, in a temperature control system such as a space heater, PI control ramps the output to precisely match the setpoint—say, 70°C—eliminating any residual offset after proportional action alone would leave the temperature at, for example, 68°C, though the approach to the exact value may involve temporary overshoots before settling.[1][33][30] In the presence of constant disturbances, such as a sudden change in ambient conditions, the integral term ensures full rejection over time by driving the accumulated error to zero, restoring the output to the setpoint without residual offset.[32][34] However, a key risk arises with large initial errors, where the integral term can saturate—accumulating excessively and leading to delayed recovery or instability once the error decreases, as the controller output remains biased by the prior buildup.[1]Derivative Control Behavior
The derivative term in a proportional-derivative (PD) controller extends the proportional action by incorporating the rate of change of the error, given by the control law where is the proportional gain and is the derivative gain.[14] This predictive component anticipates future error trends by responding to the error's slope, providing a stabilizing influence that opposes rapid changes in the process variable.[35] In a step response scenario, such as a sudden setpoint increase in a temperature control system, the derivative action dampens the system's response by counteracting the initial surge from proportional control alone, thereby reducing overshoot and oscillations.[36] For instance, with moderate , the response settles more quickly to the vicinity of the setpoint compared to pure proportional control, though a persistent steady-state offset remains due to the absence of integral action.[37] However, excessive can lead to instability if it overcompensates.[36] The derivative term's sensitivity to measurement noise poses a practical challenge, as high-frequency disturbances amplify into large control signal variations; for example, in a heater application, spurious spikes in temperature sensor readings can trigger abrupt and unnecessary actuator adjustments.[14] To address this, the derivative action is typically implemented with a low-pass filter to attenuate noise while preserving responsiveness.[14] In higher-order systems, such as those with significant inertia (e.g., mechanical loads) or transport delays, the derivative term plays a key role by providing phase advance, which helps counteract the system's tendency toward sluggish or oscillatory behavior.[14] This is particularly effective when delays are small relative to the system's time constants, enhancing overall transient stability without altering steady-state accuracy.[14]Full PID System Response
In a typical application such as temperature control in an industrial heater, the full PID controller integrates the proportional, integral, and derivative terms to achieve a balanced response when the process variable, such as the heater's temperature, deviates from the setpoint due to a step change in demand. For instance, if the setpoint is raised from 100°C to 120°C, the proportional term provides an immediate increase in heater power to initiate a quick rise toward the target, the integral term accumulates any persistent error to eliminate steady-state offset over time, and the derivative term anticipates the rate of change to dampen potential overshoot, resulting in minimal error, reduced overshoot, and a shortened settling time compared to individual components alone.[10] The step response of a full PID system exhibits characteristic behaviors contributed by each term: the proportional action ensures a rapid initial rise time by scaling the control output directly with the error magnitude, the integral action drives the response to zero steady-state error by addressing accumulated discrepancies, and the derivative action promotes damped settling by counteracting the error's rate of change, thereby minimizing oscillations and stabilizing the system efficiently.[10] This combined effect yields a smooth trajectory that approaches the setpoint without prolonged deviations, as demonstrated in simulations where tuned PID parameters balance responsiveness and stability.[38] Disturbance rejection in a full PID system is enhanced by the synergistic action of all three terms, allowing faster recovery from external perturbations; for example, in the heater scenario, if a sudden influx of cool air acts as a load disturbance lowering the temperature, the proportional term responds immediately to the error, the integral term corrects any residual offset from the prolonged effect, and the derivative term accelerates damping to restore the setpoint more quickly than with P or PI control alone.[10] This capability is quantified in process models such as the gravity drained tanks, where PID configurations demonstrate improved disturbance rejection compared to proportional-only systems.[39] Beyond thermal processes, full PID systems are applied in robotics for precise trajectory tracking amid varying loads, where the combined terms ensure robust disturbance rejection during joint movements, and in automotive cruise control to maintain vehicle speed against road inclines or wind, providing stable performance with quick setpoint adjustments and minimal deviation.[40][41]Theoretical Principles
Steady-State Error Analysis
Steady-state error refers to the difference between the desired input and the actual output of a feedback control system as time approaches infinity, assuming the system is stable. This error arises due to the inherent limitations of the controller and plant dynamics, and its analysis relies on the final value theorem applied to the error transfer function in the Laplace domain. For a unity feedback system with open-loop transfer function , where is the controller and is the plant, the steady-state error for a given input can be determined from the position, velocity, or acceleration error constants derived from .[42][5] In proportional (P) control, where , the steady-state error for a unit step input is , with representing the process (DC) gain. This finite offset persists because the proportional term provides no mechanism to eliminate residual error, and increasing reduces but does not zero the error. For a type 0 system (no integrators in the open loop), the error is nonzero for steps and infinite for ramp or parabolic inputs; in a type 1 system (one integrator), the step error is zero, but ramp error is finite as , where . Proportional-derivative (PD) control, , does not alter the system type since it adds no integrator, thus yielding the same steady-state errors as P control but improving transient response; for ramp inputs representing constant velocity tracking, PD maintains a finite velocity error constant , allowing bounded deviation in type 1 systems.[42][5] Integral control, as in proportional-integral (PI) or full PID, introduces an integrator ( term), increasing the system type by one and eliminating steady-state error for step inputs in type 0 plants, yielding since the loop gain at DC becomes infinite. For a type 1 system with integral action (e.g., PID), the overall type becomes 2, providing zero error for both step and ramp inputs, while a finite acceleration error (with ) remains for parabolic inputs modeling constant acceleration. The derivative term in PID does not affect steady-state error but enhances stability margins.[42][5] Qualitatively, root locus analysis predicts steady-state error through the gain at the origin, where higher crossover gains reduce position error but may destabilize the system, while frequency response methods via Bode plots emphasize low-frequency gain to quantify error constants like , , and for input-specific predictions. These analyses assume standard transfer function models of the plant, such as those with poles at the origin defining system type.[42]Stability Considerations
The stability of a closed-loop system employing a PID controller is fundamentally assessed through the placement of closed-loop poles in the left half of the complex plane, ensuring all roots of the characteristic equation have negative real parts. The Routh-Hurwitz criterion provides a practical algebraic method to evaluate this stability without solving for the roots explicitly; it constructs a Routh array from the coefficients of the characteristic polynomial and requires no sign changes in the first column for asymptotic stability. For a typical second-order plant augmented by a PID controller, the resulting third-order characteristic equation imposes constraints on the gains , , and to satisfy these conditions, such as , , and with additional inequalities like to prevent instability.[43][44] The proportional gain increases the system's bandwidth and speeds up the response but reduces stability margins by amplifying the loop gain, potentially driving poles toward the imaginary axis and inducing oscillations or instability if excessively high. The integral gain shifts dominant poles leftward to improve steady-state performance but can destabilize the system by introducing low-frequency phase lag, leading to encirclements of the critical point in the Nyquist plane. In contrast, the derivative gain enhances stability by adding phase lead and damping, effectively moving poles away from the imaginary axis, though excessive values may amplify noise without further benefit. These effects are interdependent, with optimal combinations derived from root locus analysis to balance speed and robustness.[18][45] In the frequency domain, Nyquist and Bode plots offer graphical insights into PID-induced stability via gain and phase margins. The Nyquist criterion assesses encirclements of the -1 point by the open-loop transfer function locus, where PID tuning shapes the curve to avoid such encirclements while achieving desired crossover frequencies; for instance, a phase margin of 45°–60° typically ensures robust stability. Bode plots complement this by quantifying the gain margin (decibels at 180° phase shift) and phase margin (phase at unity gain), with PID actions—proportional boosting low-frequency gain, integral adding -90° phase, and derivative providing up to +90° lead—directly influencing these margins to prevent conditional instability.[18] Processes with time delays or integrators exhibit conditional stability under PID control, where the system remains stable only within a finite range of gains due to additional phase lag from delays or right-half-plane poles from integrators. For integrating processes with delay, the Nyquist curve may loop back, creating multiple gain crossover points that render low gains unstable while high gains stabilize, necessitating careful margin analysis to avoid this fragility. Such scenarios underscore the need for delay-compensated designs or reduced integral action to maintain unconditional stability.[46][47]Performance Optimization
Performance optimization in proportional–integral–derivative (PID) controllers involves evaluating and balancing key response characteristics to achieve desired control objectives while maintaining system stability.[48] Common performance metrics include rise time, which measures the duration for the output to reach from 10% to 90% of the setpoint; settling time, the time required for the response to stay within a specified percentage (typically 2-5%) of the final value; and overshoot, the maximum peak exceeding the setpoint expressed as a percentage.[49] Additionally, error minimization is assessed using integral criteria such as the integral of squared error (ISE), which penalizes larger errors more heavily, and the integral of absolute error (IAE), which treats all errors equally in magnitude.[50] Optimal PID behavior often targets a quarter-decay ratio, where successive response oscillations decrease to one-quarter of their previous amplitude, providing a balance between rapid response and minimal oscillation.[51] Another prominent criterion is the integral of time-weighted absolute error (ITAE), which emphasizes long-term error reduction by weighting errors with elapsed time, favoring designs that settle quickly without excessive initial deviations.[52] These criteria guide tuning to optimize the trade-off between speed—reflected in shorter rise and settling times—and stability, avoiding instability from over-damped or under-damped responses.[53] Tuning trade-offs arise between aggressive settings, which prioritize fast response and low rise/settling times but risk higher overshoot and potential instability, and conservative approaches that enhance robustness to disturbances and model uncertainties at the cost of slower dynamics. Aggressive tuning may reduce ISE/IAE by quickly minimizing errors but can amplify noise sensitivity, whereas conservative tuning improves long-term reliability in varying conditions. Simulation tools are essential for evaluating these metrics and criteria, allowing iterative assessment of PID performance across various operating scenarios without physical implementation.[54]| Metric | Definition | Purpose |
|---|---|---|
| Rise Time | Time to go from 10% to 90% of setpoint | Measures response speed |
| Settling Time | Time to remain within ±2-5% of setpoint | Indicates convergence reliability |
| Overshoot | Peak exceedance of setpoint (%) | Assesses damping quality |
| ISE | ∫ e²(t) dt | Penalizes large errors for smooth control |
| IAE | ∫ |e(t)| dt | Balances overall error accumulation |
Tuning Methods
Manual and Heuristic Approaches
Manual tuning of proportional-integral-derivative (PID) controllers relies on iterative adjustments based on observed system responses, offering a practical approach for engineers without requiring mathematical modeling or specialized software. The process typically starts with the integral gain and derivative gain set to zero, allowing focus on the proportional gain . The is then incrementally increased while applying a setpoint change or disturbance until the closed-loop system begins to oscillate, indicating the onset of instability. At this point, is reduced to approximately half its value to achieve a stable response with quarter-amplitude damping, where successive oscillations decrease in amplitude by about 75%. Next, is introduced gradually to dampen overshoot and improve settling time, followed by small increments in to eliminate any remaining steady-state error, while monitoring for renewed oscillations or excessive overshoot. This sequential adjustment ensures each term's effect is isolated before combining them.[55][56] Heuristic rules of thumb guide initial gain selections based on qualitative process characteristics, such as response speed and time constants, to accelerate the trial-and-error phase. For instance, starting values for often fall between 1 and 100, adjusted in factors of 2 or 4 until a balance between responsiveness and stability is observed; a common approximation sets roughly proportional to the inverse of the oscillation amplitude observed at the instability threshold. The derivative gain is typically initialized at 0.1 to 1 times to provide damping without amplifying noise, while begins at 0.001 to 0.01 times to address offset without causing windup. These guidelines draw from empirical experience with processes exhibiting dominant time constants, where faster systems (shorter time constants) tolerate higher gains, and slower ones require conservative settings to avoid prolonged transients. Fine-tuning involves observing metrics like rise time and overshoot under load changes.[57][58] The primary advantage of manual and heuristic approaches is their simplicity, requiring no advanced mathematical analysis or process identification, making them accessible for field adjustments in real-time systems. They enable quick implementation using basic test signals like step changes, fostering an intuitive understanding of controller dynamics. However, the method's reliance on trial and error can be time-intensive, potentially leading to suboptimal performance if iterations are insufficient or if the operator lacks experience in interpreting responses. It is particularly well-suited to simple single-input single-output (SISO) systems with linear, stable dynamics, such as temperature control in ovens or basic motor speed regulation, where interactions are minimal and safety margins allow experimentation. For more complex or safety-critical applications, these methods serve best as a starting point before refinement.[55][56]Ziegler-Nichols Technique
The Ziegler-Nichols technique, introduced in 1942, provides empirical rules for tuning PID controllers based on simple experimental procedures, aiming to achieve a quarter-amplitude decay ratio in the closed-loop response.[13] This method encompasses two primary approaches: the closed-loop (or ultimate sensitivity) method and the open-loop (or reaction curve) method, both relying on process-specific measurements to determine the proportional gain , integral time , and derivative time .[13] In the closed-loop method, the proportional gain is incrementally increased while the integral and derivative terms are set to zero until the system reaches sustained oscillations at the ultimate gain and corresponding ultimate period .[13] The tuning rules are then applied as follows for a PID controller: These parameters target a balance between speed and stability, with the derivative term helping to dampen oscillations.[13] The open-loop method involves applying a step input to the process with the controller in manual mode to obtain an S-shaped response curve, from which the process gain , dead time , and lag time are identified.[13] For systems exhibiting this characteristic curve, indicative of many industrial processes, the PID tuning rules are: This approach approximates the process as a first-order plus dead-time model and emphasizes the influence of dead time on controller aggressiveness.[13] A notable variant, the Pessen Integral Rule, modifies the closed-loop rules to reduce overshoot while maintaining robustness, using , , and .[59] Developed as a refinement to the original method, it prioritizes setpoint tracking with less oscillatory behavior in certain applications.[59] Despite its enduring popularity, the Ziegler-Nichols technique assumes a linear, approximately second-order process model, which limits its applicability to nonlinear or higher-order systems where robustness margins are inadequate.[60] Recent analyses in the 2020s highlight its tendency to yield aggressive tuning with insufficient stability margins for modern processes, prompting calls for more robust alternatives in safety-critical applications.[61]Model-Based Methods
Model-based methods for tuning proportional-integral-derivative (PID) controllers rely on explicit mathematical models of the process dynamics to derive controller parameters, providing a more predictable and analytically grounded approach compared to purely empirical techniques. These methods are particularly effective for processes where a reliable model can be obtained through system identification, such as via step response tests, enabling the designer to account for key characteristics like gain, time constants, and dead times. By inverting the process model within a control framework, these techniques allow for direct specification of desired closed-loop performance, such as response speed and robustness to model uncertainty.[62] A foundational model-based tuning approach is the Cohen-Coon method, specifically tailored for self-regulating processes approximated by a first-order plus dead time (FOPDT) model of the form , where is the steady-state process gain, is the process time constant, and is the dead time. The FOPDT parameters are identified from an open-loop step response, where the gain is the ratio of output change to input change, the time constant is derived from the tangent at the inflection point reaching 63% of the final value, and the dead time is the intercept of that tangent with the initial output level.[63] The Cohen-Coon rules for a full PID controller, assuming a ratio , yield parameters that target a quarter-decay ratio for oscillatory response with minimal offset: These formulas were derived from frequency-domain analysis of the retarded control system to balance aggressiveness and stability for processes with significant dead time.[64][65] Building on FOPDT identification, lambda tuning extends model-based design for setpoint tracking by specifying a desired closed-loop time constant , often chosen as for robustness. For a PI controller under lambda tuning, the parameters are and , producing a first-order closed-loop response to setpoint changes while attenuating disturbances. For setpoint-focused applications, this method prioritizes smooth tracking over aggressive load rejection, with tuned smaller for faster response in stable systems.[66] Internal model control (IMC) provides another prominent model-based framework, explicitly incorporating the process model into the controller to achieve robust performance against uncertainties. For an FOPDT process, the IMC-derived PID tuning for setpoint response approximates , where is the desired closed-loop time constant, typically set greater than to ensure stability; the integral time is , and derivative time for PI-dominant cases or in full PID forms. This approach minimizes the effect of model mismatch by filtering the inverse model, yielding detuned but stable gains that improve upon classical rules for dead-time dominant processes.[62] These methods excel when process dynamics are well-characterized, as they allow precise prediction of closed-loop behavior and easier adjustment for performance trade-offs like speed versus robustness, outperforming oscillation-based empirics in non-oscillatory or integrating systems. In contrast to heuristic approaches, model-based tuning reduces trial-and-error but requires accurate identification to avoid detuning from modeling errors. Modern extensions incorporate state-space representations for higher-order or multivariable processes, where PID parameters are optimized via pole placement or linear quadratic regulator (LQR) techniques to place dominant poles at desired locations in the complex plane, enhancing applicability to complex dynamics beyond simple FOPDT approximations.Automated Software Tools
Automated software tools for PID controller tuning leverage computational algorithms to automate parameter adjustment, often extending model-based methods by incorporating empirical data and optimization techniques. One prominent approach is the relay feedback method developed by Åström and Hägglund, which induces sustained oscillations in the control loop by replacing the PID controller with a relay during the tuning phase. This auto-oscillation allows estimation of the ultimate gain (the gain at which the system oscillates with constant amplitude) and the ultimate period (the oscillation period), after which Ziegler-Nichols rules are applied to compute the PID gains.[67] The method's simplicity and robustness have made it a standard in industrial auto-tuners, applicable to a wide range of processes without requiring detailed plant models.[68] Simulation-based optimization tools further automate PID tuning by minimizing cost functions that quantify performance metrics such as integral absolute error (IAE) or overshoot. In MATLAB and Simulink, the PID Tuner app provides interactive and automated gain adjustment for SISO systems, using frequency-domain methods to balance response speed and stability, while the Simulink Design Optimization toolbox enables advanced tuning via algorithms like genetic optimization to handle constraints and nonlinearities.[69] Similarly, LabVIEW's PID Control Toolset includes the PID Autotuning VI, which employs a relay-based wizard to identify process dynamics and iteratively refine gains, supporting real-time implementation on hardware like NI controllers.[70] Commercial software suites integrate automated PID tuning within broader process simulation environments. Aspen HYSYS Dynamics facilitates PID parameter adjustment through built-in methods, including relay oscillation tests and optimization routines that simulate closed-loop responses to evaluate tuning against performance criteria like settling time.[71] Honeywell's Profit Controller, part of the Profit Suite, offers adaptive control capabilities that dynamically tune PID-like parameters in multivariable setups, using model predictive techniques to adapt to process variations and optimize economic objectives in real-time industrial applications.[72] In the 2020s, cloud-based machine learning approaches have emerged for real-time PID tuning, addressing limitations in traditional methods by learning from operational data. Reinforcement learning frameworks, for instance, train agents to adjust gains online by rewarding stable responses, as demonstrated in applications to nonlinear systems where parameters evolve with changing conditions.[73] These AI-driven tools, often deployed via cloud platforms, enable scalable, data-centric adaptation without manual intervention, enhancing performance in dynamic environments like manufacturing.[74]Limitations
Nonlinear and Symmetric Issues
The proportional–integral–derivative (PID) controller operates under the fundamental assumption of linearity, treating the process as symmetric around the setpoint where the control action responds proportionally to error magnitude regardless of direction.[75] This assumption holds for small deviations in linear systems but fails in nonlinear processes, where elements like valves exhibit backlash—dead zones due to mechanical play—or saturation, limiting actuator response at extremes.[76] For instance, backlash in control valves introduces hysteresis, causing the PID output to oscillate without effectively reducing the error, while saturation caps the control signal, leading to inadequate correction during large disturbances.[77] Symmetry issues arise when the PID applies identical gains to positive and negative errors, assuming bidirectional process responses are equivalent, which introduces bias in asymmetric systems such as heating and cooling processes.[78] In temperature control applications, heating often requires less energy than cooling due to differing thermal dynamics, resulting in overshoot during cooldown or sluggish response during warmup if gains remain fixed. This mismatch causes steady-state offsets or biased tracking, as the controller cannot adapt to the unequal process gains for error directions. These nonlinear and symmetric limitations manifest in poor setpoint tracking and potential instability, particularly in piecewise linear plants where the process model changes abruptly across operating regions.[79] In such systems, fixed PID gains tuned for one linear segment may drive oscillations or divergence in another, compromising overall stability and performance.[80]Noise and Windup Problems
In proportional-integral-derivative (PID) controllers, the derivative term amplifies high-frequency noise present in sensor measurements, resulting in erratic and unstable control outputs. This noise magnification occurs because the derivative action computes the rate of change of the error signal, which inherently boosts rapid fluctuations from sources such as electrical interference or sensor inaccuracies. For instance, in velocity control systems like those for DC motors, noisy velocity feedback can lead to excessive actuator commands, causing vibrations or jittery motion that degrades precision and reliability.[81][82] Integral windup arises when the actuator reaches its saturation limits, allowing the integral term to continue accumulating error without corresponding output adjustment, which prolongs the time to recover from setpoint changes or disturbances. This buildup happens because the integral component sums past errors to eliminate steady-state offset, but during saturation—such as a motor operating at its maximum speed—the controller ignores the limit, leading to an oversized internal state. A classic example is in motor drive applications, where the controller demands full throttle to correct a speed deficit, yet the integral keeps integrating the uncorrected error, delaying stabilization once the demand eases.[83][84] These issues collectively induce system oscillations, where amplified noise triggers corrective actions that overshoot, and windup exacerbates prolonged settling times, impairing disturbance rejection. The resulting instability can manifest as hunting behavior in closed-loop systems, while slow recovery from load changes—such as torque variations in motors—reduces overall responsiveness and may even destabilize the loop under severe conditions.[85] To mitigate derivative noise without fully eliminating the term's benefits, a basic low-pass filter is commonly applied to the derivative calculation, attenuating high-frequency components while preserving lower-frequency rate information. This filtering approach, often implemented as a first-order lag, limits bandwidth to match the system's dynamics, though it introduces a minor phase lag that must be tuned carefully.[86][83]Enhancements
Anti-Windup Strategies
Anti-windup strategies are essential techniques in proportional-integral-derivative (PID) controllers to mitigate integral windup, where the integral term accumulates excessively during actuator saturation, leading to overshoot and slow recovery.[14] These methods ensure the controller responds appropriately once the actuator returns to its linear range by preventing or reversing unwarranted integral buildup.[87] One common approach is conditional integration, which pauses the update of the integral term when the controller output would saturate the actuator. In this method, integration occurs only if the predicted output remains within the actuator's limits, defined by bounds such as and , where is the setpoint weighting, is the reference, is the integral state, and is the proportional gain.[87] This technique, equivalent to back-calculation in velocity-form PID implementations, requires no additional tuning parameters and is particularly simple for digital realizations.[14] Back-calculation, another widely adopted method, introduces a feedback loop that adjusts the integral term based on the difference between the unsaturated PID output and the saturated actuator signal . The adjustment is typically implemented as , where is a tracking time constant often set to (with and as integral and derivative times) to balance responsiveness.[14] This dynamic reset unwinds the integrator quickly, improving transient performance without needing actuator output measurement if a model is available.[14] Combined with conditional integration, it further enhances robustness for systems like first-order plus dead-time processes.[88] Clamping limits the integral term directly to prevent it from exceeding values that would cause saturation, such as bounding so the total output stays within actuator constraints. In incremental PID forms, this involves halting integral increments if the change violates limits like .[87] While straightforward, clamping can be conservative against disturbances but integrates well with other methods for overall saturation handling.[89] In practical applications, such as PI speed control for brushless DC motors, anti-windup prevents prolonged overshoot; for instance, under 100% load, a conventional PI exhibits 25 rpm overshoot with a settling time of 600 ms, whereas an anti-windup PI with integral clamping achieves zero overshoot and settles in 100 ms in simulations.[90] Hardware implementations on digital signal processors, like the TMS320F2808, validate these benefits but introduce minor delays (e.g., settling time of 80 ms experimentally at 30% load versus 100 ms in simulation), due to sampling and quantization effects, yet maintain superior overshoot elimination compared to software-only conventional PID.[90] Similarly, in DC motor speed control hardware tests, anti-windup variants reduce settling times to 0.41 s under load from 0.53 s for standard PI, with minimal oscillations.[91] Software implementations, often via tools like MATLAB/Simulink, allow flexible tuning and rapid prototyping of these strategies, enabling precise adjustments for optimal response.[14] In contrast, hardware realizations on microcontrollers or DSPs prioritize real-time execution and robustness to noise, though they may require careful scaling to match actuator limits exactly, as mismatches can degrade anti-windup efficacy.[90] Overall, both approaches yield comparable performance scales, with hardware excelling in embedded systems for its low-latency saturation detection.[91]Feedforward and Setpoint Adjustments
Feedforward control enhances the performance of a proportional–integral–derivative (PID) controller by proactively compensating for measurable disturbances, allowing the system to anticipate and counteract effects before they impact the process variable. In this approach, a feedforward term is added to the PID output, where represents the inverse of the disturbance dynamics and is the measured disturbance signal; this term is particularly useful when disturbances are known or estimable in advance, such as in processes with identifiable external inputs.[92] For instance, in a heat exchanger, feedforward can compensate for variations in inlet temperature by adjusting the heating medium flow rate based on a model of the disturbance-to-output relationship, thereby reducing the lag in the feedback loop and improving overall stability.[93] The combined PID with feedforward structure enables faster disturbance rejection compared to feedback-only control, as the feedforward action directly opposes the disturbance without waiting for an error to accumulate.[94] Setpoint weighting modifies the PID controller's response to reference changes by scaling the error term differently for proportional and derivative actions, typically using a factor where applied to the setpoint in those terms, such as for the proportional and derivative components while keeping the integral term unweighted. This technique dampens aggressive setpoint tracking to minimize overshoot and oscillations during reference shifts, without compromising disturbance rejection capabilities.[95] A more advanced implementation involves two-degree-of-freedom (2DOF) PID control, which separates tuning parameters for setpoint response and disturbance rejection, allowing independent optimization— for example, aggressive proportional gains for disturbances paired with conservative setpoint weights to achieve smooth transitions.[96] By reducing the effective setpoint step size in the proportional and derivative terms, setpoint weighting can reduce peak overshoot in systems prone to ringing, as demonstrated in analytical designs for first-order plus dead-time processes.[97] To prevent unnecessary actuator chatter from sensor noise or minor fluctuations, a deadband can be incorporated into the PID error calculation, ignoring errors below a small threshold such that the control action remains zero for . This nonlinear modification is especially beneficial in discrete or networked control systems, where it reduces communication overhead and wear on mechanical components without significantly degrading steady-state accuracy.[98] Overall, integrating feedforward and setpoint adjustments with PID control yields benefits such as accelerated disturbance rejection—often halving response times in measurable disturbance scenarios—and reduced overshoot during setpoint changes, leading to more robust operation in industrial applications like temperature regulation.[99]Bumpless Transfer Techniques
Bumpless transfer refers to methods that ensure smooth transitions in PID controller operation when switching between modes, such as from manual to automatic control, or when changing controller parameters, without causing abrupt changes or "bumps" in the control output that could disrupt the process.[100] These techniques are essential in industrial applications to maintain stability and avoid oscillations during mode changes.[14] One common approach to achieve bumpless transfer is by matching the internal states of the PID controller to the current process conditions at the moment of activation. For instance, when enabling the PID from manual mode, the integral term is reset such that the controller output equals the existing manual output minus the proportional and derivative contributions, ensuring continuity.[14] This state-matching prevents initial jumps in the output signal. In the conditioning technique introduced by Hanus et al., the controller is designed to automatically initialize its states during switches, providing a general framework for bumpless transfer applicable to both single-input-single-output and multiple-input-multiple-output systems.[101] Tracking mode is another widely used technique, where the PID controller operates in a "shadow" or parallel computation during manual operation, continuously updating its internal states based on the measured process variable and the manual output as if it were active. Upon switching to automatic mode, the pre-computed PID output seamlessly replaces the manual one, as the states have already been aligned.[102] This method, often combined with back-calculation for anti-windup, uses a tracking time constant to adjust the integrator, typically set as the square root of the product of integral and derivative times, to ensure smooth convergence without overshoot.[14] For scenarios involving parameter changes, such as in gain scheduling where PID gains vary with operating conditions, interpolation techniques provide bumpless transfer by linearly blending between sets of gains over a transition period, avoiding sudden shifts in controller behavior.[103] This is particularly useful in processes with varying dynamics, like aerospace or automotive systems, where abrupt gain changes could lead to instability. Additionally, the velocity (or incremental) form of the PID algorithm inherently supports bumpless transfer, as it computes changes in the output rather than absolute values, naturally accommodating mode switches when the initial error is zero or the setpoint tracks the process variable.[14][102] These techniques find primary applications in process control during startup, shutdown, or maintenance operations, where manual intervention is common, ensuring minimal disturbance to the system and reducing the risk of equipment stress or safety issues.[100] In the framework reviewed by Yong and Yam, bumpless transfer methods, including conditioned variants, outperform simple state resets by improving transient tracking during switches, as demonstrated in simulations of PID-controlled systems.[104]Advanced Variants
Cascade Control Systems
Cascade control systems extend the basic PID framework by nesting two or more control loops, where the output of an outer (primary) PID controller serves as the setpoint for an inner (secondary) PID controller.[105] This configuration is particularly suited for processes with secondary variables that influence the primary controlled variable, such as a flow rate affecting pressure.[106] For instance, in a liquid-gas separator, the inner loop might regulate flow rate while the outer loop maintains pressure, allowing the primary controller to adjust the secondary setpoint dynamically without directly manipulating the final control element, like a valve.[107] The primary benefit of cascade control lies in its enhanced disturbance rejection for nested process dynamics, as the inner loop responds rapidly to disturbances in the secondary variable before they propagate to the outer loop.[105] This setup improves overall stability by shielding the slower outer loop from high-frequency disturbances, resulting in quicker stabilization and reduced variability in the primary variable.[106] Unlike single-loop PID, cascade structures do not inherently improve setpoint tracking but excel in regulatory performance for multivariable systems.[107] Tuning cascade PID controllers begins with the inner loop, which is tuned first—often using a proportional-only controller to ensure fast response—while the outer loop remains in manual mode.[107] Once the inner loop is stable and settles significantly faster than the outer (typically 3-5 times quicker), the outer PID (usually PI or full PID) is tuned, approximating the closed inner loop as a first-order system to simplify the design.[105] This sequential approach ensures the inner loop's dynamics do not destabilize the overall system.[106] Cascade control is commonly applied in multivariable processes like distillation columns, where an inner flow loop regulates reflux or boil-up rates to support an outer temperature or composition loop, enhancing control over separation efficiency.[105] Another example is jacketed reactors, with the outer loop controlling reactor temperature and the inner loop managing coolant flow or jacket temperature for precise thermal regulation.[107] In heat exchangers, the structure often pairs an outer temperature control with an inner flow control to mitigate flow disturbances effectively.[108]Alternative Forms and Nomenclatures
PID controllers can be expressed in various mathematical forms, with the parallel (non-interacting or ideal) form and the series (interacting) form being the most common alternatives. In the parallel form, the controller output is the sum of independent proportional, integral, and derivative terms, each scaled by its own gain: , where , , and are the respective gains, and is the error signal.[15] This structure allows tuning adjustments to affect only the targeted action without influencing others. In contrast, the series form introduces interactions among the terms, where the integral and derivative actions are applied sequentially to the proportional output, resulting in dependent tuning parameters; for instance, changes to the integral time constant or derivative time constant alter the effective proportional gain, complicating independent tuning.[15][109] The series form originated from analog hardware implementations for simplicity but persists in some digital controllers to maintain legacy tuning compatibility.[109] Alternative nomenclatures for PID parameters appear across implementations, particularly in process control industries. The proportional band (PB), expressed as a percentage, is the inverse of the proportional gain: , representing the range of error (as a percentage of the full sensor span) required to drive the controller output from 0% to 100%.[110] A smaller PB corresponds to a higher , yielding a more aggressive response to errors. Another variation involves the derivative term, where some controllers compute the derivative based on the process variable (PV) rather than the error: instead of . This PV-based derivative equals the negative of the error derivative when the setpoint is constant but avoids amplifying setpoint discontinuities, reducing output spikes at setpoint changes; however, it can exacerbate sensitivity to measurement noise due to direct PV fluctuations.[111][112] In the Laplace domain, the standard ideal PID transfer function is , where and are the integral and derivative time constants, respectively.[6] This form encapsulates the parallel structure and facilitates frequency-domain analysis, such as stability assessments via Bode plots. To mitigate abrupt controller responses during setpoint adjustments—known as setpoint kick—some implementations base the proportional and derivative actions on the PV rather than the full error. For the derivative, using eliminates the kick from setpoint steps, as the term ignores setpoint derivatives. Similarly, applying the proportional term to a filtered error, such as where , or fully on PV for derivative and partial for proportional (Type C configuration), smooths transitions by decoupling setpoint changes from immediate output surges while preserving steady-state error elimination via the integral term.[112][111] These PV-oriented approaches are favored in industrial applications for enhanced stability during operator interventions.Discrete and Digital Implementations
In digital control systems, the continuous-time PID controller is approximated using discrete-time equivalents to enable implementation on microcomputers or microcontrollers. The most common discretization methods approximate the integral as a summation and the derivative as a finite difference, with the sampling period (or ) incorporated to maintain dimensional consistency. The positional form of the discrete PID controller computes the absolute control output at time step as: where is the error at step , , , and are the proportional, integral, and derivative gains, respectively. This form directly mirrors the continuous PID but requires careful initialization of the integral sum to avoid offsets. An alternative velocity (or incremental) form computes the change in output instead: with . The velocity form is preferred in practice for bumpless transfer during mode switches (e.g., from manual to automatic control) and setpoint changes, as it avoids abrupt jumps in by focusing on increments, and it inherently limits integral windup through output clamping.[112][14] Discretization introduces sampling-related challenges that can degrade performance if not addressed. The derivative term amplifies high-frequency noise, leading to aliasing where frequencies above the Nyquist limit () fold into lower frequencies, causing instability or oscillations. Integral drift occurs when the summation accumulates errors due to quantization or saturation, exacerbating windup. To mitigate aliasing, analog anti-aliasing filters—such as a second-order Butterworth low-pass filter with cutoff at (where )—are placed before the sampler to attenuate signals above half the sampling frequency, providing 16 dB or more suppression at the Nyquist point. For the derivative, a low-pass filter with time constant (typically ) is often added: where and is the process variable.[14][113][36] Discretization methods like the bilinear (Tustin) transform further improve accuracy by mapping the s-plane to the z-plane via , yielding a discrete PID transfer function: This preserves stability margins better than simple Euler approximations for moderate sampling rates ( much smaller than the closed-loop bandwidth).[14][113][36] Digital PID implementations typically run on microcontrollers like the Arduino or STM32, where the control loop executes at fixed intervals via timers or interrupts to ensure consistent . Anti-aliasing filters are implemented in hardware (e.g., RC circuits) before analog-to-digital conversion, while software handles the PID computation, including saturation limits (e.g., ) to prevent actuator overload. A simple pseudocode example in a velocity form loop, with saturation clamping, is as follows:initialize: u_prev = 0, e_prev = 0, e_prev2 = 0, integral_acc = 0
loop at each sample k:
read y(k) // process variable
e(k) = setpoint - y(k)
proportional = Kp * (e(k) - e_prev)
integral_increment = Ki * Δt * e(k)
derivative = Kd * (e(k) - 2*e_prev + e_prev2) / Δt
Δu(k) = proportional + integral_increment + derivative
u(k) = u_prev + Δu(k)
clamped = false
if u(k) > u_max: u(k) = u_max; clamped = true
if u(k) < u_min: u(k) = u_min; clamped = true
// Simple anti-windup: if clamped, do not accumulate integral_increment
if not clamped:
integral_acc += integral_increment
apply u(k) to [actuator](/page/Actuator)
update: e_prev2 = e_prev, e_prev = e(k), u_prev = u(k)
initialize: u_prev = 0, e_prev = 0, e_prev2 = 0, integral_acc = 0
loop at each sample k:
read y(k) // process variable
e(k) = setpoint - y(k)
proportional = Kp * (e(k) - e_prev)
integral_increment = Ki * Δt * e(k)
derivative = Kd * (e(k) - 2*e_prev + e_prev2) / Δt
Δu(k) = proportional + integral_increment + derivative
u(k) = u_prev + Δu(k)
clamped = false
if u(k) > u_max: u(k) = u_max; clamped = true
if u(k) < u_min: u(k) = u_min; clamped = true
// Simple anti-windup: if clamped, do not accumulate integral_increment
if not clamped:
integral_acc += integral_increment
apply u(k) to [actuator](/page/Actuator)
update: e_prev2 = e_prev, e_prev = e(k), u_prev = u(k)
