Frequency Response for PID Controller Design

Download Report

Transcript Frequency Response for PID Controller Design

A Few Points to Make
(Zeros/Poles, Root Locus,
Steady-state error)
Get roles of players right
I noticed the first day that some people had the
roles of the different loop components wrong—
the plant talking to the actuator or the controller
talking directly to the plant. These roles have to
be correct for the loop model to be correct.
System poles and zeros
The poles of a system are the values of s that
make its denominator 0.
The zeros of a system are the values of s that
make its numerator 0.
System poles and zeros
How a system responds dynamically depends
upon the location of its closed-loop poles,
primarily. These can be gotten from the
characteristic equation of the closed-loop system.
Often, however, it is useful to deal with a system’s
open-loop poles and zeros…
Poles and zeros – example
𝐺𝑂𝐿
𝐾𝑃 (7𝑠 + 1)
=
(5𝑠 + 1)(3𝑠 + 1)(0.25𝑠 + 1)
Open-loop poles at
s = -1/5, -1/3, -4
Open-loop zeros at
s = -1/7
Poles and zeros – example
𝐺𝐶𝐿
𝐺𝐶𝐿
𝑁𝐺 𝐷𝐻
=
𝐷𝐺 𝐷𝐻 + 𝑁𝐺 𝑁𝐻
𝐾𝑃 (7𝑠 + 1)(0.25𝑠 + 1)
=
5𝑠 + 1 3𝑠 + 1 (0.25𝑠 + 1) + 𝐾𝑃 (7𝑠 + 1)
Poles and zeros – example
𝐺𝐶𝐿
𝐾𝑃 (7𝑠 + 1)(0.25𝑠 + 1)
=
5𝑠 + 1 3𝑠 + 1 (0.25𝑠 + 1) + 𝐾𝑃 (7𝑠 + 1)
Closed-loop zeros:
s = -1/7, -4
Closed-loop poles depend on the value of KP.
If KP = 0, s = -1/5, -1/3, -4
If KP = ∞, s = -1/7
If KP = 1, s = -3.38, -1, -0.158 (from Matlab roots()
function)
CL-pole migration with changing KP
As KP changes, closed-loop
poles change their
location. Thus by changing
KP, you can change the way
the closed-loop system
responds.
Root locus
Actually this migration of poles is covered
in Chapter 7 of my book, which we are
going to skip. You can see how the poles
migrate quickly by using a Matlab tool
called rltool(). “rl” stands for “root
locus”. “locus” means “place” in Latin. So
the root locus is “where the roots are”. It’s
the path that they follow as you increase K.
rltool() example
To use rltool(), use the open-loop
transfer function. With the previous
example
𝐾𝑃 (7𝑠 + 1)
𝐺𝑂𝐿 =
(5𝑠 + 1)(3𝑠 + 1)(0.25𝑠 + 1)
You first create a system variable in
Matlab:
>> s = tf(‘s’)
rltool() example
Then
>> gol =
(7*s+1)/((3*s+1)*(5*s+1)
*(0.25*s+1))
Then
>> rltool(gol)
Try this and see what happens.
Root locus
Thus we can use the controller to drive the
roots where we want them for a particular
system response. A few tips:
1. The further to the left the closed-loop
poles are, the faster the system is.
2. If there are any roots in the right halfplane, the system is unstable and will
blow up.
Root locus
3. A system oscillates if it has complex
roots.
4. If it has no complex roots, it does not
oscillate.
5. A system is no faster than its slowest
pole(s). So the right-most pole(s)
generally govern the behavior of the
system.
Second-order, closed-loop
pole location
and system response
Steady-state error, ess
Sometimes you tell a plant where to go and it
doesn’t exactly go there. Why is this?
Give cruise-control example.
Table 6.1 (use GOL):
Input
Kx, Kv, Ka
Type 0
ess constant
ess
𝑅0
Type 1
ess constant
𝐾𝑥 = ∞
Step
𝐾𝑥 = lim 𝐺 ∙ 𝐻
𝐾𝑥 = 𝑐𝑜𝑛𝑠𝑡
Ramp
𝐾𝑣 = lim 𝑠 ∙ 𝐺 ∙ 𝐻
𝐾𝑣 = 0
∞
𝐾𝑣 = 𝑐𝑜𝑛𝑠𝑡
Parabola
𝐾𝑎 = lim 𝑠 2 ∙ 𝐺 ∙ 𝐻
𝐾𝑎 = 0
∞
𝐾𝑎 = 0
𝑠→0
𝑠→0
𝑠→0
1 + 𝐾𝑥
ess
Type 2
ess constant
ess
0
𝐾𝑥 = ∞
0
𝐾𝑣 = ∞
0
𝑅0
𝐾𝑣
∞
𝐾𝑎 = 𝑐𝑜𝑛𝑠𝑡
𝑅0
𝐾𝑎