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!
==Control loop example== {{Further|Control system}} Consider a [[robotic arm]]<ref>{{cite web|url=http://www.ee.hacettepe.edu.tr/~solen/ELE356/exp1.pdf|title=Position control system|publisher=Hacettepe University Department of Electrical and Electronics Engineering|archive-url=https://web.archive.org/web/20140513162717/http://www.ee.hacettepe.edu.tr/~solen/ELE356/exp1.pdf |archive-date=2014-05-13 }}</ref> 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 [[Mass#Inertial mass|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=== 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=== 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 [[marginal stability|marginally stable]]. ===Derivative=== 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=== 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 [[programmable logic controller|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=== 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=== 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]],<ref name="Kebriaei et al. 2013">{{cite journal|last=Kebriaei|first=Reza|author2=Frischkorn, Jan |author3=Reese, Stefanie |author4=Husmann, Tobias |author5=Meier, Horst |author6=Moll, Heiko |author7= Theisen, Werner |title=Numerical modelling of powder metallurgical coatings on ring-shaped parts integrated with ring rolling|journal=Material Processing Technology|volume=213|issue=1|pages=2015–2032|doi=10.1016/j.jmatprotec.2013.05.023|year=2013}}</ref> [[Volumetric flow rate|flow rate]], chemical composition (component [[concentration]]s), [[weight]], [[position (vector)|position]], [[speed]], and practically every other variable for which a measurement exists.
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)