Professional Documents
Culture Documents
27 Root Locus in The Z Domain
27 Root Locus in The Z Domain
ECE 461
Discussion:
Relative to the microcontroller, a feedback system looks like it's a discrete-time system. It looks like is's in the
z-domain. The goal is to find the compensator, K(z), which gives a 'good' response.
E
_
Sample
& Hold
K(z)
G(s)
Y = H(z)G(z)K(z)E
where H(z) is the transfer function of the sample and hold. This is approximately a 1/2 sample delay which is
ofen ignored or lumped into G():
H() = e sT/2
If you ignore H, the closed-loop transfer function is
GK
Y = 1+GK
R
GK = k pz
the closed-loop transfer function becomes
kz
Y = p+kz
E
The roots of the closed-loop system are then just as they were in the s-plane:
p(z) + kz(z) = 0
Mathematically, the roots to this polynomial don't care if the variable is 's', 'z', or anything else. The roots (and
hence root locus plot) behave just the same in the s-plans as they do in the z-plane.
The only difference in the z-plans is how you interprit the meaning of the pole locations.
Recall the relationship between the s-pland and the z-plane is
JSG
NDSU
ECE 461
z = e sT
This causes the damping lines in the s-plane to spiral in the z-plane as follows:
90
Unstable
Stable
0.8
75
0.6
60
0.4
45
30
0.2
15
-1
-0.8
-0.6
-0.4
-0.2
0.2
0.4
0.6
0.8
The point you want to pick in the z-plane for a good response is then:
The dominant pole is the pole closest to s=0. In the z-plane, it's the pole closest to z=1.
Pick 'k' so that you are stable. All poles are inside the unit circle.
Better yet, pick 'k' so that the dominant pole has a desired damping ratio.
Example: A microcontroller is used to control a system with the following dynamics
100
U
Y = (s+10)(s+20)
Assume a sampling rate of 10ms. Find the maximum 'k' for stability and 'k' for a damping ratio of 0.5.
Solution: First, convert G(s) to G(z).
s = 10 z = e sT = 0.9048
s = 20 z = e sT = 0.8187
Define G(z) to have poles at {0.9048, 0.8187}. Add a gain to make the DC gain match G(s)
0.0173z
G(z) = (z0.9048)(z0.8187)
Next, sketch the root locus. Include in the root-locus plot the 60 degree damping ratio line
JSG
NDSU
ECE 461
90
Unstable
Stable
0.8
75
0.6
60
0.4
45
30
0.2
z=0.8183+j0.2212
15
-1
-0.8
-0.6
-0.4
-0.2
0.2
0.4
0.6
0.8
s = 120 0
z = e sT
until the angles add up to 180 degrees:
z = 0.8318 + j0.2212
G(z) = 0.2886 \
Pick k to make the gain equal to -1 at this point on the z-plane
k = 3.46
Verifying that this does result in a damping ratio of 0.5 (meaning you should have 16.3% overshoot), simulate
this in VisSim. The plant is in the s-domain (it's a continuous time system.) The contrller sees the error, sampled
every 10ms:
JSG
NDSU
ECE 461
Note that the overshoot is a little off due to ignoring the 1/2 sample delay from the sample and hold.
As a sidelight, VisSim is a pretty friendly package. To include the 10ms sampling rate,
Right click on the gain block, K(z) (the 3.46 block above)
Click on Discrete (this tells VisSim that this block is in the z-domain)
Set the sampling rate to 0.01 (10ms)
VisSim allows you to mix analog (s-domain) and discrete (z-domain) systems. You can see this with the red line
above being continuous while the blue line has a sampling rate of 10ms. If you mix systems like this, you have a
more accurate model for how the actual system will behave:
The controller, K, is implemented with a microcontroller and hence has a discrete sampling rate
The plant, G, is probably an analog system, such as a mass spring system, room temerature, etc.
JSG
NDSU
ECE 461
z = e sT = e 10 0
If you sample too fast, you get numerical problems. If you sample at 1us, for example,
s = -10
z = e sT = 0.99999
In one sample, the output changes by 0.001%. Noise in the system will probably be more than the signal.
Furthermore, you're asking the controller to make 300,000 adjustments before you reach steady-state.
A 'good' sampling rate places the dominant pole in the z-plane around 0.7 to 0.95.
A dominant pole at z = 0.7 results in a 2% settling time of 10 samples. The controller adjusts the input 10
times before reaching steady-state, which is pretty reasonable.
If you're going to add a gain compensator, picking the sampling rate so that the dominant pole is around 0.7
to 0.8.
If you're going to add a lead compensator to speed up the system, the open-loop poles will be slower (since
you're going to speed up the system), meaning you want them to be around 0.9 to 0.95.
Pick T so that
e sT 0.7 to 0.95
For this system, you could have used a sampling rate of 35ms (resulting in the dominant pole being at z = 0.7)
rather than 10ms. That wouldn't change the resulting systems performance very much - but would allow the
microcontroller to run 3.5x slower.
JSG