Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Proportional–integral–derivative controller
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Controller theory== :''This section describes the parallel or non-interacting form of the PID controller. For other forms please see {{slink||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 <math>u(t)</math> as the controller output, the final form of the PID algorithm is :<math>u(t) = \mathrm{MV}(t) = K_\text{p} e(t) + K_\text{i} \int_0^t e(\tau) \,d\tau + K_\text{d} \frac{de(t)}{dt},</math> where : <math>K_\text{p}</math> is the proportional gain, a tuning parameter, : <math>K_\text{i}</math> is the integral gain, a tuning parameter, : <math>K_\text{d}</math> is the derivative gain, a tuning parameter, : <math>e(t) = \mathrm{SP} - \mathrm{PV}(t)</math> is the error (SP is the setpoint, and PV(''t'') is the process variable), : <math>t</math> is the time or instantaneous time (the present), : <math>\tau</math> is the variable of integration (takes on values from time 0 to the present <math>t</math>). Equivalently, the [[transfer function]] in the [[Laplace domain]] of the PID controller is :<math>L(s) = K_\text{p} + K_\text{i}/s + K_\text{d} s</math> :::<math> = { K_\text{d} s^2 + K_\text{p} s + K_\text{i} \over s }</math> where <math>s</math> is the complex angular frequency. ===Proportional term=== [[File:PID varyingP.jpg|right|thumb|320px|Response of PV to step change of SP vs time, for three values of ''K''<sub>p</sub> (''K''<sub>i</sub> and ''K''<sub>d</sub> held constant)]] 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 ''K''<sub>p</sub>, called the proportional gain constant. The proportional term is given by :<math>P_\text{out} = K_\text{p} e(t).</math> 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 [[#Loop tuning|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|date=March 2011}} ====Steady-state error==== The '''steady-state error''' is the difference between the desired final output and the actual one.<ref>{{Cite book| title = Instrument Engineers' Handbook: Process control and optimization | first = Béla G. | last = Lipták | edition = 4th | publisher = CRC Press | year = 2003 | isbn = 0-8493-1081-4 | page = 108}}</ref> Because a non-zero error is required to drive it, a proportional controller generally operates with a steady-state error.{{efn|The only exception is where the target value is the same as the value obtained when the controller output is zero.}} Steady-state error (SSE) is proportional to the process gain and inversely proportional to proportional gain. SSE may be mitigated by adding a compensating [[biasing|bias term]] to the setpoint AND output or corrected dynamically by adding an integral term. ===Integral term=== [[File:Change with Ki.png|right|thumb|320px|Response of PV to step change of SP vs time, for three values of ''K''<sub>i</sub> (''K''<sub>p</sub> and ''K''<sub>d</sub> held constant)]] 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 (''K''<sub>i</sub>) and added to the controller output. The integral term is given by :<math>I_\text{out} = K_\text{i} \int_0^t e(\tau) \,d\tau.</math> 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 (signal)|overshoot]] the setpoint value (see [[#Loop tuning|the section on loop tuning]]). ===Derivative term=== [[File:Change with Kd.png|right|thumb|320px|Response of PV to step change of SP vs time, for three values of ''K''<sub>d</sub> (''K''<sub>p</sub> and ''K''<sub>i</sub> held constant)]] 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 ''K''<sub>d</sub>. The magnitude of the contribution of the derivative term to the overall control action is termed the derivative gain, ''K''<sub>d</sub>. The derivative term is given by :<math>D_\text{out} = K_\text{d} \frac{de(t)}{dt}.</math> Derivative action predicts system behavior and thus improves settling time and stability of the system.<ref>{{cite web |url=http://ctms.engin.umich.edu/CTMS/index.php?example=Introduction§ion=ControlPID |title=Introduction: PID Controller Design |publisher=University of Michigan}}</ref><ref>{{cite journal |title=PID without a PhD |url=http://igor.chudov.com/manuals/Servo-Tuning/PID-without-a-PhD.pdf |publisher=EE Times-India |date=October 2000 |author=Tim Wescott}}</ref> An ideal derivative is not [[causal system|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|date=November 2017}} – because of its variable impact on system stability in real-world applications.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)