A proportionalintegralderivative controller (PID controller) is a control loop feedback mechanism (controller) widely used in industrial control systems. A PID controller calculates an error value as the difference between a measured process variable and a desired setpoint. The controller attempts to minimize the error by adjusting the process through use of a manipulated variable.
The PID controller algorithm involves three separate constant parameters, and is accordingly sometimes called threeterm control: the proportional, the integral and derivative values, denoted P, I, and D. Simply put, these values can be interpreted in terms of time: P depends on the present error, I on the accumulation of past errors, and D is a prediction of future errors, based on current rate of change. The weighted sum of these three actions is used to adjust the process via a control element such as the position of a control valve or a damper.
Some applications may require using only one or two actions to provide the appropriate system control. This is achieved by setting the other parameters to zero. A PID controller will be called a PI, PD, P or I controller in the absence of the respective control actions. PI controllers are fairly common, since derivative action is sensitive to measurement noise.
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:
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 ( ) 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 steadystate error that occurs with a pure proportional controller . Derivative term The job of derivative control is to react to changes in the system. A constant error will be dealt with by proportional and integral control 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. " id="pdfobj26" src="pdfobj26.jpg">
A high proportional gain results in a large change in the output for a given change in the error & can cause unstable system. A small gain results in a small output response to a large input error, and less sensitive controller. Tuning theory and industrial practice indicate that the proportional term should contribute the bulk of the output change.
Integral term
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 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 ( ) 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 steadystate error that occurs with a pure proportional controller . Derivative term The job of derivative control is to react to changes in the system. A constant error will be dealt with by proportional and integral control 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. " id="pdfobj216" src="pdfobj216.jpg">
integral gain ( ) and added to the controller output.
The integral term is given by:
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 ( ) 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 steadystate error that occurs with a pure proportional controller . Derivative term The job of derivative control is to react to changes in the system. A constant error will be dealt with by proportional and integral control 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. " id="pdfobj222" src="pdfobj222.jpg">
The integral term accelerates the movement of the process towards setpoint and eliminates the residual steadystate error that occurs with a pure proportional controller.
Derivative term
The job of derivative control is to react to changes in the system. A constant error
will be dealt with by proportional and integral control
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:
diverges, with or without
oscillation, and is limited only by saturation. Instability is caused by excess gain. 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. Tuning method: Method Advantages Disadvantages Requires Manual No math required; online. experienced tuning personnel Process upset, some Ziegler – Proven method; online. Nichols trialanderror, very aggressive tuning. Consistent tuning; online or offline  can Software employ computerautomated control system Some cost or tools design
(CAutoD) techniques; may include valve and sensor analysis; allows simulation before training involved downloading; can support nonsteadystate " id="pdfobj34" src="pdfobj34.jpg">
Derivative action predicts system behavior and thus improves settling time and stability of the system. Derivative action is seldom used in practice.
Stability
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. Instability is caused by excess gain.
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.






Requires

Manual

No math required; online.

experienced

tuning

personnel






Process upset, some

Ziegler–

Proven method; online.

Nichols

trialanderror, very aggressive tuning.





Consistent tuning; online or offline  can


Software

employ computerautomated control system

Some cost or

tools

design (CAutoD) techniques; may include valve and sensor analysis; allows simulation before

training involved


downloading; can support nonsteadystate






Minor



No effect in

Improve



Decrease

Decrease


change

theory

if


small





Ziegler–Nichols method Another heuristic or experiencebased tuning method is formally known as
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. and the oscillation period are used to set the gains as shown: Ziegler – Nichols method Control Type P   PI  PID These gains apply to the ideal, parallel form of the PID controller. When applied to the standard PID form, the integral and derivative time parameters and are only dependent on the oscillation period . " id="pdfobj558" src="pdfobj558.jpg">
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. and the oscillation period are used to set the gains as shown: Ziegler – Nichols method Control Type P   PI  PID These gains apply to the ideal, parallel form of the PID controller. When applied to the standard PID form, the integral and derivative time parameters and are only dependent on the oscillation period . " id="pdfobj560" src="pdfobj560.jpg">
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.


and

the
oscillation

period
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. and the oscillation period are used to set the gains as shown: Ziegler – Nichols method Control Type P   PI  PID These gains apply to the ideal, parallel form of the PID controller. When applied to the standard PID form, the integral and derivative time parameters and are only dependent on the oscillation period . " id="pdfobj5108" src="pdfobj5108.jpg">
are used to set the gains as shown:
Ziegler–Nichols method


Control Type




P






PI





PID








These gains apply to the ideal, parallel form of the PID controller. When applied
to

the

standard

PID

form,

the

integral

and
derivative

time

parameters


and

are only dependent on the oscillation period


PID tuning software
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 will
gather the data, develop process models, and suggest optimal tuning. Some
software packages can even develop tuning by gathering data from reference
changes.
Now we consider the following unity feedback system:
The output of a PID controller, equal to the control input to the plant, in the time
domain is as follows:
1)
The error signal ( ) will be sent to the PID controller, and the controller computes
both the derivative and the integral of this error signal.
The control signal ( ) is sent to the plant, and the new output ( ) is obtained. The
new output ( ) is then fed back and compared to the reference to find the new
error signal ( ). The controller takes this new error signal and computes its
derivative and its integral again, ad infinitum.
The transfer function of a PID controller is found by taking the Laplace transform
of Eq. (1).
= Proportional gain
= Integral gain
= Derivative gain
2)
We can define a PID controller in MATLAB using the transfer function directly, for
example:
Kp = 1;
Ki = 1;
Kd = 1;
s = tf('s');
s^2 + s + 1

s Continuoustime transfer function of controller.
The Characteristics of P, I, and D Controllers
A proportional controller ( ) will have the effect of reducing the rise time and
will reduce but never eliminate the steadystate error. An integral control ( ) will
have the effect of eliminating the steadystate error for a constant or step input,
but it may make the transient response slower. A derivative control ( ) will have
the effect of increasing the stability of the system, reducing the overshoot, and
improving the transient response.
The effects of each of controller parameters , and on a closedloop system
are summarized in the table below.
CL RESPONSE
RISE TIME
OVERSHOOT
SETTLING TIME
SS ERROR
Kp
Decrease
Increase
Small Change
Decrease
Ki
Decrease
Increase
Increase
Eliminate
Kd
Small Change
Decrease
Decrease
No Change
Note that these correlations may not be exactly accurate, because
and
are dependent on each other. In fact, changing one of these variables can
change the effect of the other two. For this reason, the table should only be used
as a reference when you are determining the values for
and
Steps for Designing a PID Controller
When you are designing a PID controller for a given system, follow the steps
shown below to obtain a desired response.

1. Obtain an openloop response and determine what needs to be improved

2. Add a proportional control to improve the rise time

3. Add a derivative control to improve the overshoot

4. Add an integral control to eliminate the steadystate error

5. Adjust each of Kp, Ki, and Kd until you obtain a desired overall response.
example, if a PI controller gives a good enough response, then you don't need to implement a derivative controller on the system. Keep the controller as simple as possible.
Example Problem
The modeling equation of this system is
Taking the Laplace transform of the modeling equation, we get
The transfer function between the displacement
and the input
then
becomes
Let M = 1 kg b = 10 N s/m
k = 20 N/m F = 1 N Plug these values into the above transfer function
The goal of this problem is to show you how each of obtain Fast rise time Minimum overshoot No steadystate error
and
contributes to
OpenLoop Step Response
Let's first view the openloop step response. Create a new mfile and run the
following code:
s = tf('s'); P = 1/(s^2 + 10*s + 20); step(P)
The DC gain of the plant transfer function is 1/20, so 0.05 is the final value of the
output to an unit step input. This corresponds to the steadystate error of 0.95,
quite large indeed. Furthermore, the rise time is about one second, and the
settling time is about 1.5 seconds. Let's design a controller that will reduce the
rise time, reduce the settling time, and eliminate the steadystate error.
In the figure, steady state error can be seen at allowable tolerance
Proportional Control
From the table shown above, we see that the proportional controller (Kp) reduces
the rise time, increases the overshoot, and reduces the steadystate error.
The closedloop transfer function of the above system with a proportional
controller is:
Let the proportional gain (
) equal 300 and change the mfile to the following:
Kp = 300;

C

= pid(Kp)

T = feedback(C*P,1) t = 0:0.01:2; step(T,t)

C
= Kp = 300

Ponly controller. T =
300

s^2 + 10 s + 320
Continuoustime transfer function.
The above plot shows that the proportional controller reduced both the rise time
and the steadystate error, increased the overshoot, and decreased the settling
time by small amount.
ProportionalDerivative Control
Now, let's take a look at a PD control. From the table shown above, we see that
the derivative controller (Kd) reduces both the overshoot and the settling time.
The closedloop transfer function of the given system with a PD controller is:
Let


equal 300 as

before and let


equal 10. Enter the following commands

into an mfile and run it in the MATLAB command window.

Kp = 300; Kd = 10;


C
= pid(Kp,0,Kd)


T = feedback(C*P,1) t = 0:0.01:2;

step(T,t)


C
= Kp + Kd * s with Kp = 300, Kd = 10 Continuoustime PD controller in parallel form.


T =
10 s + 300

s^2 + 20 s + 320
Continuoustime transfer function.
This plot shows that the derivative controller reduced both the overshoot and the settling time, and had a small effect on the rise time and the steadystate error.
ProportionalIntegral Control
Before going into a PID control, let's take a look at a PI control. From the table, we see that an integral controller (Ki) decreases the rise time, increases both the overshoot and the settling time, and eliminates the steadystate error. For the given system, the closedloop transfer function with a PI control is:
X(s)/F(s) = (K _{p} +K _{i} /s)/ (s ^{2} +10s+20+K _{p} +K _{i} /s)
Let's reduce the
to 30, and let
equal 70. Create an new mfile and enter the
following commands. Kp = 30; Ki = 70; C = pid(Kp,Ki) T = feedback(C*P,1)
t = 0:0.01:2; step(T,t) C =
1
Kp + Ki *  s with Kp = 30, Ki = 70 Continuoustime PI controller in parallel form T =
30 s + 70

s^3 + 10 s^2 + 50 s + 70 Continuoustime transfer function.
Run this mfile in the MATLAB command window, and you should get the following plot. We have reduced the proportional gain (Kp) because the integral controller also reduces the rise time and increases the overshoot as the proportional controller does (double effect). The above response shows that the integral controller eliminated the steadystate error.
ProportionalIntegralDerivative Control
After several trial and error runs, the gains
= 350,
= 300, and
= 50
provided the desired response. To confirm, enter the following commands to an mfile and run it in the command window. You should get the following step response. Kp = 350; Ki = 300; Kd = 50;
T = feedback(C*P,1); t = 0:0.01:2; step(T,t)
1
Kp + Ki *  + Kd * s s with Kp = 350, Ki = 300, Kd = 50 Continuoustime PID controller in parallel form.
Now, we have obtained a closedloop system with no overshoot, fast rise time, and no steadystate error.
Electronic Controllers: