Presentation is loading. Please wait.

Presentation is loading. Please wait.

Open vs Closed Loop Frequency Response

Similar presentations


Presentation on theme: "Open vs Closed Loop Frequency Response"— Presentation transcript:

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.

2

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

10

11

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);

13

14

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;

16

17

18

19

20

21

22

23 KP/KD 20*log(KP) Place wgcd here

24

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

27

28

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

30

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

33

34

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);

36

37

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);

39

40

41

42

43

44

45


Download ppt "Open vs Closed Loop Frequency Response"

Similar presentations


Ads by Google