Download presentation
Presentation is loading. Please wait.
1
Open vs Closed Loop Frequency Response
And Frequency Domain Specifications C(s) G(s) Goal: 1) Define typical “good” freq resp shape for closed-loop 2) Relate closed-loop freq response shape to step response shape 3) Relate closed-loop freq shape to open-loop freq resp shape 4) Design C(s) to make C(s)G(s) into “good” shape.
3
Prototype 2nd order system closed-loop frequency response
For small zeta, resonance freq is about wn BW ranges from 0.5wn to 1.5 wn For good z range, BW is 0.8 to 1.1 wn So take BW = wn z=0.1 0.2 0.3 No resonance for z <= 0.7 Mr=1dB for z=0.6 Mr=3dB for z=0.5 Mr=7dB for z=0.4 w/wn
4
0.2 z=0.1 0.3 0.4 wgc In the range of good zeta, wgc is about 0.65 times to 0.8 times wn w/wn
5
In the range of good zeta,
PM is about 100*z z=0.1 0.2 0.3 0.4 w/wn
6
Important relationships
Prototype wn, open-loop wgc, closed-loop BW are all very close to each other When there is visible resonance peak, it is located near or just below wn, This happens when z <= 0.6 When z >= 0.7, no resonance z determines phase margin and Mp: z PM deg ≈100z Mp %
7
Important relationships
wgc determines wn and bandwidth As wgc ↑, ts, td, tr, tp, etc ↓ Low frequency gain determines steady state tracking: L.F. magnitude plot slope/(-20dB/dec) = type L.F. asymptotic line evaluated at w = 1: the value gives Kp, Kv, or Ka, depending on type High frequency gain determines noise immunity
8
Desired Bode plot shape
9
Proportional controller design
Obtain open loop Bode plot Convert design specs into Bode plot req. Select KP based on requirements: For improving ess: KP = Kp,v,a,des / Kp,v,a,act For fixing Mp: select wgcd to be the freq at which PM is sufficient, and KP = 1/|G(jwgcd)| For fixing speed: from td, tr, tp, or ts requirement, find out wn, let wgcd = wn and choose KP as above
12
clear all; n=[0 0 40]; d=[1 2 0]; figure(1); clf; margin(n,d); %proportional control design: figure(1); hold on; grid; V=axis; Mp = 10/100; zeta = sqrt((log(Mp))^2/(pi^2+(log(Mp))^2)); PMd = zeta * ; semilogx(V(1:2), [PMd-180 PMd-180],':r'); %get desired w_gc x=ginput(1); w_gcd = x(1); KP = 1/abs(polyval(n,j*w_gcd)/polyval(d,j*w_gcd)); figure(2); margin(KP*n,d); figure(3); stepchar(KP*n, d+KP*n);
15
n=[1]; d=[1/5/50 1/5+1/50 1 0]; figure(1); clf; margin(n,d); %proportional control design: figure(1); hold on; grid; V=axis; Mp = 10/100; zeta = sqrt((log(Mp))^2/(pi^2+(log(Mp))^2)); PMd = zeta * ; semilogx(V(1:2), [PMd-180 PMd-180],':r'); %get desired w_gc x=ginput(1); w_gcd = x(1); Kp = 1/abs(polyval(n,j*w_gcd)/polyval(d,j*w_gcd)); Kv = Kp*n(1)/d(3); ess=0.01; Kvd=1/ess; z = w_gcd/5; p = z/(Kvd/Kv); ngc = conv(n, Kp*[1 z]); dgc = conv(d, [1 p]); figure(1); hold on; margin(ngc,dgc); [ncl,dcl]=feedback(ngc,dgc,1,1); figure(2); step(ncl,dcl); grid; figure(3); margin(ncl*1.414,dcl); grid;
23
KP/KD 20*log(KP) Place wgcd here
25
PD Control C(s)=KP + KDs = KP(1+TDs) For fixing wgcd and PMd
Compute wgcd from tr, td, etc Compute PMd from Mp Compute f = PMd – Compute TD = tan(f)/wgcd KP = 1/sqrt(1+Td2wgcd2)/abs(G(jwgcd)) KD=KPTD
26
Want: maximum overshoot <= 10% rise time <= 0.3 sec
Example C(s) G(s) Want: maximum overshoot <= 10% rise time <= 0.3 sec
29
figure(1); clf; margin(n,d); Mp = 10/100;
zeta = sqrt((log(Mp))^2/(pi^2+(log(Mp))^2)); PMd = zeta * ; tr = 0.3; w_n=1.8/tr; w_gcd = w_n; PM = angle(polyval(n,j*w_gcd)/polyval(d,j*w_gcd)); phi = PMd*pi/180-PM; Td = tan(phi)/w_gcd; KP = 1/abs(polyval(n,j*w_gcd)/polyval(d,j*w_gcd)); KP = KP/sqrt(1+Td^2*w_gcd^2); KD=KP*Td; ngc = conv(n, [KD KP]); figure(2); margin(ngc,d); figure(3); stepchar(ngc, d+ngc); Could be a little less
31
Less than spec
32
Variation Compute TD = tan(f)/wgcd KP = 1; KD=KPTD
Restricted to using KP = 1 Meet Mp requirement Find wgc and PM Find PMd Let f = PMd – PM + (a few degrees) Compute TD = tan(f)/wgcd KP = 1; KD=KPTD
35
n=[0 0 5]; d=[ ]; figure(1); clf; margin(n,d); Mp = 10/100; zeta = sqrt((log(Mp))^2/(pi^2+(log(Mp))^2)); PMd = zeta * ; [GM,PM,wgc,wpc]=margin(n,d); phi = (PMd-PM)*pi/180; Td = tan(phi)/wgc; KP=1; KD=KP*Td; ngc = conv(n, [KD KP]); figure(2); margin(ngc,d); figure(3); stepchar(ngc, d+ngc);
38
n=[0 0 5]; d=[ ]; figure(1); clf; margin(n,d); Mp = 10/100; zeta = sqrt((log(Mp))^2/(pi^2+(log(Mp))^2)); PMd = zeta * ; [GM,PM,wgc,wpc]=margin(n,d); phi = (PMd-PM)*pi/180; Td = tan(phi)/wgc; Kp=1; Kd=Kp*Td; ngc = conv(n, [Kd Kp]); figure(2); margin(ngc,d); figure(3); stepchar(ngc, d+ngc);
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.