# Controller design by R.L

Document Sample

```					         Controller design by R.L.
Typical setup:
C(s)              G(s)

Controller Design Goal:
•Select poles and zero of C(s) so that R.L. pass through desired region
•Select K corresponding to a good choice of dominant pole pair
Types of classical controllers
•   Proportional control
– Needed to make a specific point on RL to be closed-loop system
dominant pole
•   Proportional plus derivative control (PD control)
– Needed to “bend” R.L. into the desired region
– Similar to PD, but without the high frequency noise problem; max angle
contribution limited to < 75 deg
•   Proportional plus Integral Control (PI control)
– Needed to “eliminate” a non-zero steady state tracking error
•   Lag control
– Needed to reduce a non-zero steady state error, no type increase
•   PID control
– When both PD and PI are needed, PID = PD * PI
Proportional control design
1. Draw R.L. for given plant
nump=…; denp= …; sysp=tf(nump, denp); rlocus(sysp);
2. Draw desired region for poles from specs
3. Pick a point on R.L. and in desired region
•    Use ginput to get point and convert to complex #
[x,y]=ginput(1); pd=x+j*y;
4. Compute                                     Gpd=evalfr(sysp,pd);
K=1/abs(Gpd);
sysc = K;
5. Obtain closed-loop TF
syscl = feedback(sysc*sysp,1);
6. Obtain step response and compute specs
use your program from several weeks ago to do all these
7. Decide if modification is needed
Example code for Matlab

rlocus([9], [1 8 12 0]);
grid;
yl=ylim;                                               Draws circle with r=5

omega_n=5; %this may be from tr or td requirement
rectangle('Position',[-omega_n,-
omega_n,2*omega_n,2*omega_n],'Curvature',[1,1]);

sigma = 4; %this may be from ts requirement
line([-sigma -sigma],yl);
Draws line at -4
zeta=0.7; %this may be from Mp requiremet

line([0 yl(1)*zeta/sqrt(1-zeta^2)],[0 yl(1)]);
line([0 -yl(2)*zeta/sqrt(1-zeta^2)],[0 yl(2)]);

xl=xlim;
xl(2)=0;                                          Draws 2 rays for zeta=0.7
xlim(xl);
Can use mouse to zoom in
PD controller design
•

• This is introducing an additional zero to
the R.L. for G(s)
• Use this if the dominant pole pair
branches of G(s) do not pass through
the desired region
• Place additional zero to “bend” the RL
into the desired region
Design steps:
1. From specs, draw desired region for pole.
Pick                        from region, not on RL
[x,y]=ginput(1); pd=x+j*y;
2. Compute                          Gpd=evalfr(sys_p,pd)
phi=pi - angle(Gpd)

3. Select

z=abs(real(pd))+abs(imag(pd)/tan(pi-phi))

4. Select:

Kd=1/abs(pd+z)/abs(Gpd)
Example:              C(s)

Want:
Sol:

(pd not on R.L.)
(Need a zero to attract R.L. to pd)
2.

3.

4.
ts is OK

But Mp too large

To redesign:
Reduce wd

pd=-2+j1.5
Gpd = evalfr(sys_p, pd)
Gpd = - 0.1600 + 0.2133i

phi = pi - angle(Gpd)
phi = 0.9273

z = abs(real(pd)) + abs(imag(pd)/tan(pi - phi))
z = 3.1250

Kd = 1/abs(pd+z)/abs(Gpd)
Kd = 2

Kp = z*Kd
Kp = 6.2500

sys_c=tf([Kd Kp], 1);
sys_cl=feedback(sys_c*sys_p, 1)
Transfer function:
2 s + 6.25
----------------
s^2 + 4 s + 6.25

step(sys_cl); ylim([0 yss*(1+2*Mp)])
Drawbacks of PD
• Not proper : deg of num > deg of den
• High frequency gain → ∞:

• High gain for noise
Saturates circuits
Cannot be implemented physically

• Approximation to PD
• Same usefulness as PD
•
• It contributes a lead angle:
• Approximation to PD
Lead Control:                       • Same usefulness as PD

•   Draw R.L. for G
•   From specs draw region for desired c.l. poles
•   Select pd from region                             [x,y]=ginput(1); pd=x+j*y;

Gpd=evalfr(sysp,pd)
•   Let                  phi=pi - angle(Gpd)
Pick –z somewhere below pd on –Re axis
[x,y]=ginput(1); z=abs(x);
Let                                      phi1=angle(pd+z); phi2=phi1-phi;
Select
p=abs(real(pd))+abs(imag(pd)/tan(phi2));

K=abs((pd+p)/(pd+z)/Gpd);

sysc=tf(K*[1 z],[1 p]);
Hold on;
rlocus(sysc*sysp);
MP is fine,            C(s)
but too slow.
Want: Don’t increase MP
but double the resp. speed
Sol: Original system: C(s) = 1

Since MP is a function of ζ, speed is
proportional to ωn
Draw R.L. & desired
region
Pick pd right at the
vertex:

(Could pick pd a little
inside the region
to allow “flex”)
Clearly, R.L. does not pass through pd,
nor the desired region.
need PD or Lead to “bend” the R.L.
into region.
(Note our choice may be the easiest to
achieve)
Pick –z to the left of pd
Speed is doubled, but over shoot is too much.
Change controller from                  to

To reduce the gain a bit, and make it a little closer to PD
Particular choice of z : angle bisector
•   Draw R.L. for G
•   From specs draw region for desired c.l. poles
•   Select pd from region
•   Let
phipd=angle(pd);
phi1=(phipd+phi)/2; phi2=phi1-phi;

Select

```
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
 views: 0 posted: 9/25/2013 language: English pages: 29