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!
==Modifications to the algorithm== The basic PID algorithm presents some challenges in control applications that have been addressed by minor modifications to the PID form. ===Integral windup=== {{Further|Integral windup}} 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.<ref>{{cite web|url=http://www.controlguru.com/2008/021008.html|last=Cooper|first=Douglas|title=Integral (Reset) Windup, Jacketing Logic and the Velocity PI Form|access-date=2014-02-18}}</ref> ===Overshooting from known disturbances=== 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=== [[File:PI controller.svg|thumb|300x300px|Basic block of a PI controller]]<!--redirects link here--> 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 :<math>K_P \Delta + K_I \int \Delta\,dt</math> where <math>\Delta</math> is the error or deviation of actual measured value ('''''PV''''') from the setpoint ('''''SP'''''). :<math>\Delta = SP - PV.</math> A PI controller can be modelled easily in software such as [[Simulink]] or [[Xcos]] using a "flow chart" box involving [[Laplace transform|Laplace]] operators: :<math>C=\frac{G(1+\tau s)}{\tau s}</math> where :<math>G = K_P</math> = proportional gain :<math>\frac G \tau = K_I</math> = integral gain Setting a value for <math>G</math> 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=== 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 (engineering)|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=== 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 (mathematics)|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=== The control system performance can be improved by combining the [[feedback]] (or closed-loop) control of a PID controller with [[feed forward (control)|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=== 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.<ref>{{cite web|url=http://www.controlguru.com/wp/p71.html|last=Cooper|first=Douglas|title=PI Control of the Heat Exchanger|work=Practical Process Control by Control Guru|access-date=2014-02-27}}</ref> 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=== 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.<ref>{{cite journal | last= Yang | first= T.|title= Architectures of Computational Verb Controllers: Towards a New Paradigm of Intelligent Control | journal= International Journal of Computational Cognition | volume= 3 | issue= 2 | pages= 74–101 |date= June 2005 | citeseerx= 10.1.1.152.9564}}</ref><ref>{{cite journal | last1= Liang | first1= Yilong | last2= Yang | first2= Tao |title= Controlling fuel annealer using computational verb PID controllers | journal= Proceedings of the 3rd International Conference on Anti-Counterfeiting, Security, and Identification in Communication | series= Asid'09 |pages= 417–420 | year= 2009 | isbn= 9781424438839 | url= http://dl.acm.org/citation.cfm?id=1719210&preflayout=tabs }}</ref> 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 calculus#PID controllers|fractional order]]. The order of the integrator and differentiator add increased flexibility to the controller.<ref>{{cite journal | vauthors = Tenreiro Machado JA, et al | title = Some Applications of Fractional Calculus in Engineering | journal = Mathematical Problems in Engineering | volume = 2010 | pages = 1–34 | date = 2009 | doi = 10.1155/2010/639801 | hdl = 10400.22/4306 | doi-access = free | hdl-access = free }}</ref>
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)