3 THREE TERM PID CONTROLLER
ELEC207 - Control Theory [Lecture 7: Simple Controller
Design]
Prof Simon Maskell, <s.maskell@liverpool.ac.uk>
February 16, 2024
1 Lecture Learning Objectives
Three term PID controller
Finding the open and closed loop poles and zeros
Pole and zero placement design for a PID controller
2 Open and Closed Loop Poles and Zeros
Assume the forward path has a transfer function, H(s) = PZ(s)
(s) . The open-loop zeros are the roots
of Z(s). The open-loop poles are the roots of P (s). The closed loop transfer function for negative
unity feedback is:
H(s) Z(s)
= (1)
1 + H(s) P (s) + Z(s)
So the closed-loop zeros are Z(s), ie the same as the open-loop zeros, while the closed loop poles
are P (s) + Z(s), ie different to the open-loop poles.
3 Three term PID controller
We’d like to design systems that have:
Stability
Fast transient response (ie short settling time and rising time)
Zero steady-state error
Small overshoot
ELEC207 Lecture Notes: Lecture 7 (Simple Controller Design), Page 1
3 THREE TERM PID CONTROLLER
Error Type
Component Stability Fast transient response Zero steady-state error Small overshoot
Proportional - + - -
Integral + -- + --
Differential -- -- - +
Table 1: Advantages and disadvantages of individual controller components.
There are three core controller components:
Z t
d
u(t) = Kp e(t) + Ki e(τ )dτ + Kd e(t) (2)
| {z } 0 | dt
{z }
(P)roportional control
| {z }
(I)ntegral control (D)ifferential control
Using these controller components in isolation has the following advantages and disadvantages:
Proportional control
– Stability: excessively large values of Kp cause instability
– Fast transient response: large values of Kp speed up the response
– Zero steady-state error: non-zero steady-state errors can result
– Small overshoot: large values of Kp will cause overshoot
Integral control
– Stability: integral control helps stability
– Fast transient response: the transient has to be compensated for with time-consuming
overshoot
– Zero steady-state error: integral control drives the steady-state error to zero
– Small overshoot: any negative error in the transient has to be compensated for with
overshoot
Differential control
– Stability: excessively large values of Kd amplify noise and cause instability
– Fast transient response: differential control slows down the transient response
– Zero steady-state error: non-zero steady-state errors can result
– Small overshoot: large values of Kd decrease overshoot
The advantages and disadvantages of each of these controller components are shown in table 1.
ELEC207 Lecture Notes: Lecture 7 (Simple Controller Design), Page 2
5 CONTROL OF SECOND-ORDER SYSTEMS
4 Control of First-Order Systems
Assume that the Plant has first-order Transfer function, P (s):
b
P (s) = (3)
s+a
We could choose to use a proportional controller with Transfer function, C(s):
C(s) = Kp (4)
Recall that the closed loop transfer function is:
Y (s) P (s)C(s)
= (5)
X(s) 1 + P (s)C(s)
b
Kp s+a
= b
(6)
1 + Kp s+a
Kp b
= (7)
s + a + Kp b
So, we can design Kp to put the pole where we want, at s = −a? :
a? =a + Kp b (8)
?
a −a
Kp = (9)
b
Note that the open-loop pole is at s = −a and the closed-loop pole is at s = −a? (i.e., in a
different place): in general, the closed-loop poles will move relative to the open-loop poles. So, by
designing the parameters of the controller, we can control the positions of the poles.
5 Control of Second-Order Systems
Assume that the Plant has second-order Transfer function, P (s):
b1 s + b2
P (s) = (10)
s2 + a1 s + a2
5.1 Proportional Control
We could choose to use a proportional controller again with Transfer function, C(s):
C(s) = Kp (11)
ELEC207 Lecture Notes: Lecture 7 (Simple Controller Design), Page 3
5.2 PI Control 5 CONTROL OF SECOND-ORDER SYSTEMS
Now the closed loop transfer function is:
Y (s) P (s)C(s)
= (12)
X(s) 1 + P (s)C(s)
b1 s+b2
Kp s2 +a 1 s+a2
= b1 s+b2
(13)
1 + Kp s2 +a 1 s+a2
Kp (b1 s + b2 )
= (14)
s2 + a1 s + a2 + Kp (b1 s + b2 )
Kp (b1 s + b2 )
= 2 (15)
s + (a1 + Kp b1 )s + a2 + Kp b2
We can move the poles relative to the Plant’s poles. However, we only have one parameter, Kp ,
so we don’t have complete ability to place the poles where we want.
5.2 PI Control
We could choose to use a PI controller, now with Transfer function, C(s):
Ki
C(s) = Kp + (16)
s
Now the closed loop transfer function is:
Y (s) P (s)C(s)
= (17)
X(s) 1 + P (s)C(s)
Kp + Ksi s2 +a
b1 s+b2
= b11s+a 2
(18)
1 + Kp + Ksi s2 +a s+b2
1 s+a 2
(Kp s + Ki ) (b1 s + b2 )
= (19)
s3 + a1 s2 + a2 s + (Kp s + Ki ) (b1 s + b2 )
This still doesn’t let us place the poles - there are now three poles and only two parameters.
5.3 PID Control
We now choose to use a PID controller, now with Transfer function, C(s):
Ki
C(s) = Kp + + Kd s (20)
s
Now the closed loop transfer function is:
Y (s) P (s)C(s)
= (21)
X(s) 1 + P (s)C(s)
Kp + Ksi + Kd s s2 +a
b s+b
1 2
= Ki
b11s+a
s+b2
2
(22)
1 + Kp + s + Kd s s2 +a1 s+a2
Kp s + Ki + Kd s2 (b1 s + b2 )
= 3 (23)
s + a1 s2 + a2 s + (Kp s + Ki + Kd s2 ) (b1 s + b2 )
ELEC207 Lecture Notes: Lecture 7 (Simple Controller Design), Page 4
5.3 PID Control 5 CONTROL OF SECOND-ORDER SYSTEMS
This gives us three poles and three parameters. We can therefore choose the parameters of a
PID controller to get the response we want from a second-order system. Note that the parameters
also define some zeros (all of them if b1 = 0) for the Transfer function (we’ll come back to why
that’s useful in future lectures).
ELEC207 Lecture Notes: Lecture 7 (Simple Controller Design), Page 5