You are on page 1of 42

1

PD, PI, PID Compensation


M. Sami Fadali
Professor of Electrical Engineering
University of Nevada
2
Outline
PD compensation.
PI compensation.
PID compensation.
3
PD Control
L= loop gain = N / D.
s
cl
= desired closed-loop pole location.
Find a controller C s.t. Z L C(s
cl
)

= 180 or
its odd multiple (angle condition).
Controller Angle for s
cl

( ) ( ) ( )
u
C cl cl cl
L s N s D s = Z = Z + Z 180 180

Zero location
( )
n
C
d
a ,e
u
e
+ =
tan
4
Remarks
Graphical procedures are no longer
needed.
CAD procedure to obtain the design
parameters for specified , & e
n
.
evalfr(l,scl) % Evaluate l at scl
polyval( num,scl) % Evaluate num at scl
The complex value and its angle can also
be evaluated using any hand calculator.
5
Procedure:MATLAB or Calculator
1. Calculate t Z L (s
cl
)


theta = pi angle(evalfr(l, scl) )
2. Calculate zero location using (5.14).
3. Calculate new loop gain (with zero)
lc = tf( [1, a],1)*l
4. Calculate gain (magnitude condition)
K = 1/abs( evalfr( lc, scl))
5. Check time response of PD-compensated
system. Modify the design to meet the desired
specifications if necessary (MATLAB).
6
Procedure 5.2: Given e() & ,
1. Obtain error constant K
e
from e() and
determine a system parameter K
f
that
remains free after K
e
is fixed for the
system with PD control.
2- Rewrite the closed-loop characteristic
equation of the PD controlled system as
1 0 + = K G s
f f
( )
7
Procedure 5.2 (Cont.)
3. Obtain K
f
corresponding to the desired closed-
loop pole location. As in Procedure 5.1, K
f
can
be obtained by clicking on the MATLAB root
locus plot or applying the magnitude condition
using MATLAB or a calculator.
4. Calculate the free parameter from the gain K
f
.
5. Check the time response of the PD
compensated system and modify the design to
meet the desired specifications if necessary.
8
Example 5.5
Use a CAD package to design a PD
controller for the type I system
G s
s s
( )
( )
=
+
1
4
to meet the following specifications
(a) , = 0.7 & e
n
= 10 rad/s.
(b) , = 0.7 & e()= 4% due to a unit ramp.
9
(a) , =0.7 & e
n
=10 rad/s
MATLAB: calculate pole location & corresponding gain
scl = 10*exp( j*( pi-acos(0.7) ) )
scl =
7.0000 + 7.1414I
g=zpk([ ],[0,-4],1); theta=pi( angle( evalfr( g, scl) ) )
theta =
1.1731
a = 10 * sqrt(1-0.7^2)/ tan(theta) + 7
a =
10.0000
k =1/abs(evalfr(tf( [1, a],1)*l,scl)) % Gain at scl
k =
10.0000
10
RL of Uncompensated System
-8 -7 -6 -5 -4 -3 -2 -1 0
0
1
2
3
4
5
6
7
8
0.7
Root Locus
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
11
RL of PD-compensated System
-20 -18 -16 -14 -12 -10 -8 -6 -4 -2 0
-8
-6
-4
-2
0
2
4
6
8
0.7
0.7
10
System: gcomp
Gain: 10
Pole: -7.01 + 7.13i
Damping: 0.701
Overshoot (%): 4.56
Frequency (rad/sec): 10
Root Locus
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
12
(b) , =0.7, e()=4% for unit ramp
K
a e i Ka
a K
K
v
100
. . 100
4
25 = = = =
Closed-loop characteristic equation with PD
0
) 4 (
1 =
+
+
+
s s
a s
K
Assume that K varies with K a fixed, then

1
4 100
0
2
+
+ +
= K
s
s s
RL= circle centered at the origin
13
RL of PD-compensated System
K a fixed
14
(b) Design Cont.
Desired location: intersection of root locus with
, = 0.7 radial line.
K = 10, a =10 (same values as in Example 5.3).
MATLAB command to obtain the gain
k = 1/abs( evalfr( tf([1,10],[ 1, 4, 0]), scl) )
k =
10.0000
Time responses of two designs are identical.
15
PI Control
Integral control to improve e(),
(increases type by one) worse
transient response or instability.
Add proportional control controller has
a pole and a zero.
Transfer function of proportional-plus-
integral (PI) controller
p i
p
i
p
K K a
s
a s
K
s
K
K s C
=
+
= + = ) (
16
PI Remarks
Used in cascade compensation (integral term in
the feedback path is equivalent to a differentiator
in the forward path)
PI design for a plant transfer function G(s) = PD
design of G(s)/ s.
A better design is often possible by "almost
canceling" the controller zero and the controller
pole (negligible effect on time response).
17
Procedure 5.3
1. Design a proportional controller for the system
to meet the transient response specifications,
i.e. place the dominant closed-loop system
poles at s
cl
= , e
n
j e
d
.
2. Add a PI controller with the zero location ( a)
| = small angle ( 3 5).
3. Tune the gain of the system to move the
closed-loop pole closer to s
cl
.
10
) tan( 1
2
n n
a or a
,e
| , ,
e
=
+
=
18
Comments
Use PI control only if P-control meets the
transient response but not the steady-state
error specifications. Otherwise, use
another control.
Use pole-zero diagram to prove zero
location formula.
19
Pole-zero Diagram of PI Controller
a

( ) a s
cl z
+ Z = u
u
p cl
s = Z
s
cl

n
,e
e
d

o
je


20
Proof
Controller angle at s
cl

( ) ( )
= = | u u u u
z p p z
180 180

From
Figure
( )
( )
n
n
d
z
n
d
p
a
x
x a
e
,
,
,e
e
u
,
,
,e
e
u
=

= =
2
2
1
180 tan
1
180 tan

21
Proof (Cont.)
( )
( ) ( )
( ) ( )
tan
tan tan
tan tan
A B
A B
A B
=

+ 1
( )
( )
tan |
,
,
,
,
,
, ,
,
,
=

1 1
1
1
1
1
2 2
2
2
x
x
x
x
Solve for x
( )
x =
+
1
1
2
, , | tan
x = ( a/ e
n
) Multiplying by e
n
gives a.
Trig. identity
22
Controller Angle at s
cl
| (< 3) vs. ,

3 about
10
1
tan
10
2
2
1
<
|
|
.
|

\
|

=
= =

,
, ,
|
, e
n
a x

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
0.5
1
1.5
2
2.5
3
3.5
|
,
23
Example 5.6
Design a controller for the position control
system to perfectly track a ramp input with
a dominant pair with , = 0.7 & e
n
=4 rad/s.
G s
s s
( )
( )
=
+
1
10
24
Solution
Procedure 5.1 with modified transfer function.
Unstable for all gains (see root locus plot).
Controller must provide an angle ~ 249 at the
desired closed-loop pole location.
Zero at 1.732.
Cursor at desired pole location on compensated
system RL gives a gain of about 40.6.
G s
s s
i
( )
( )
=
+
1
10
2
25
RL of System With Integrator
-10 -8 -6 -4 -2 0
0
1
2
3
4
5
6
0.7
4
Root Locus
Real Axis
I
m
a
g
i
n
a
r
y

A
x
i
s
26
RL of PI-compensated System
27
Analytical Design
Values obtained earlier, approximately.
| |
732 . 1
64 . 40
4 4 . 4
64 . 40 4 ) 4 . 4 )( 7 . 0 ( 2 4 ) 2 (
4 . 4 ) 4 )( 7 . 0 ( 2 10 2 10
2 2
=

= =
= + = + =
= = =
K
a
K
n
n n
n
oe
e ,o e
,e o

2 2 2 3
2 2 2 3
) 2 ( ) 2 (
) 2 )( ( 10
n n n n
n n
s s s
s s s Kz Ks s s
oe e o ,e ,e o
e ,e o
+ + + + + =
+ + + = + + +
Closed-loop characteristic polynomial
28
MATLAB
scl = 4*exp(j*(pi acos( 0.7)) )
scl =
-2.8000 + 2.8566i
theta = pi + angle( polyval( [ 1, 10, 0, 0], scl ) )
theta =
1.9285
a = 4*sqrt(1-.7^2)/tan(theta)+ 4*.7
a =
1.7323
k = abs(polyval( [ 1, 10, 0,0], scl )/ polyval([1,a], scl) )
k =
40.6400
29
Design I Results
Closed-loop transfer function for Design I
G s
s
s s s
s
s s s
cl
( )
. ( . )
. .
. ( . )
( . )( . )
=
+
+ + +
=
+
+ + +
40 64 1732
10 40 64 69 28
40 64 1732
4 4 56 16
3 2
2
Zero close to the closed-loop poles excessive PO
(see step response together with the response for a later
design: Design II).
30
Step Response of PI-compensated
System
Design I (dotted), Design II (solid).
31
Design II: Procedure 5.3
, = 0.7, K ~ 51.02 & e
n
= 7.143 rad/s. (acceptable design)
zero location
5 . 0
) 3 tan( 49 . 0 1 7 . 0
143 . 7
) tan( 1
2
~
+
=
+
=

| , ,
e
n
a
Closed-loop transfer function
G s
s
s s s
s
s s s
cl
( )
( . ) ( . )
( . )( . )
=
+
+ + +
=
+
+ + +
50 05
10 50 25
50 05
0559 9 441
3 2 2
44.7225
Gain slightly reduced to improve response.
Dominant poles ~0.7, e
n
= 6.6875 rad/s
Time response for Designs I and I I
PO for Design II (almost pole-zero cancellation) << Design I (II better)
32
PID (proportional-plus-integral-
plus-derivative) Control
Improves both transient & steady-state
response.
K
p
, K
i
, K
d
= proportional, integral,
derivative gain, resp.
Controller zeros: real or complex conjugate.
d
i
n
d
p
n
n n
d d
i
p
K
K
K
K
s
s s
K s K
s
K
K s C
= =
+ +
= + + =
2
2 2
, 2
2
) (
e e ,
e e ,
33
PID Design Procedures
1. Cancel real or complex conjugate LHP poles.
2. Cancel pole closest to (not on) the imaginary
axis then add a PD controller by applying
Procedures 5.1 or 5.2 to the reduced transfer
function with an added pole at the origin.
3. Follow Procedure 5.3 with the proportional
control design step modified to PD design. The
PD design meets the transient response
specifications and PI control is then added to
improve the steady-state response.
34
Example 5.7
Design a PID controller for the transfer
function to obtain zero e() due to ramp,
, = 0.7 and e
n
= 4 rad/s.
) 10 )( 1 (
1
) (
+ +
=
s s s
s G
35
Design I
Cancel pole at 1 with a zero & add an integrator
G s
s s
i
( )
( )
=
+
1
10
2
Same as transfer function of Example 5.6
Add PD control of 5.6
PID controller
C s
s s
s
( )
( )( . )
=
+ +
50
1 05
36
Design II
Design PD control to meet transient response specs.
Select e
n
= 5 rad/s (anticipating effect of adding PI control).
Design PD controller using MATLAB commands
[k,a,scl] = pdcon(0.7, 5, tf(1, [1,11,10,0]) )
k =
43.0000
a =
2.3256
scl =
-3.5000 + 3.5707i
b =5 /(0.7 + sqrt(1-.49)/tan(3*pi/ 180) ) % Obtain PI zero.
b =
0.3490
Transfer function for Design II (reduce gain to 40 to correct for PI)
C s
s s
s
( )
( . )( . )
=
+ +
40
0 349 2 326
37
Conclusions
Compare step responses for Designs I and II:
Design I is superior because the zeros in Design
II result in excessive overshoot.
Plant transfer function favors pole cancellation in
this case because the remaining real axis pole is
far in the LHP. If the remaining pole is at 3,
say, the second design procedure would give
better results.
MORAL: No easy solutions in design, only
recipes to experiment with until satisfactory
results are obtained.
38
Time response for Design I(dotted)
and Design II (solid)
39
Example 5.8
Design a PID controller for the transfer
function to obtain zero e() due to step,
, = 0.7 and e
n
> 4 rad/s
G s
s s s
( )
( )( )
=
+ + +
1
10 2 10
2
40
Solution
Complex conjugate pair slows down the
time response.
Third pole is far in the LHP.
Cancel the complex conjugate poles with
zeros and add an integrator
G s
s s
( )
( )
=
+
1
10
41
Solution (cont.)
Stable for all gains.
Closed-loop characteristic polynomial
2 2 2
2 10
n n
s s K s s e ,e + + = + +
Equate coefficients with , = 0.7
e
,
n
= = =
10
2
5
07
7143
.
.
(meets design specs.)
PID controller
C s
s s
s
( ) . =
+ +
5102
2 10
2
42
Step Response of PID-
compensated System
In practice, pole-zero cancellation may not occur but near
cancellation is sufficient to obtain a satisfactory time response

You might also like