59
Desired Bode plot shape 0 -90 -180 0dB gc High low freq gain for steady state tracki Low high freq gain for noise attenuation Sufficient PM near gc for stability Low freq ess, type High freq Noise immu Want high gain Want low gain Mid freq Speed, BW Want sufficient Phase margin Use low pass filters Use PI or lag control Use lead or PD control PM+Mp=70 Mr, Mp

Desired Bode plot shape

  • Upload
    ronnie

  • View
    34

  • Download
    2

Embed Size (px)

DESCRIPTION

Desired Bode plot shape. High low freq gain for steady state tracking Low high freq gain for noise attenuation Sufficient PM near w gc for stability. Want high gain. Use PI or lag control. w gc. High freq Noise immu. w. Mid freq Speed, BW. 0dB. Low freq ess , type. - PowerPoint PPT Presentation

Citation preview

Page 1: Desired Bode plot shape

Desired Bode plot shape

0

-90

-180

0dB

gc

High low freq gain for steady state trackingLow high freq gain for noise attenuationSufficient PM near gc for stability

Low freqess, type

High freqNoise immu

Want high gain

Want low gain

Mid freqSpeed, BW

Want sufficientPhase margin

Use low pass filters

Use PI or lag control

Use lead or PD control

PM+Mp=70

Mr, Mp

Page 2: Desired Bode plot shape

Overall Loop shaping strategy• Determine mid freq requirements

– Speed/bandwidth gc

– Overshoot/resonance PMd

• Use PD or lead to achieve PMd@ gc

• Use overall gain K to enforce gc

• PI or lag to improve steady state tracking– Use PI if type increase neede – Use lag if ess needs to be reduced

• Use low pass filter to reduce high freq gain

Page 3: Desired Bode plot shape

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 gcd to be the freq at which PM is sufficient, and KP = 1/|G(jgcd)|

– For fixing speed: from td, tr, tp, or ts requirement, find out n, let gcd = (0.65~0.8)*n and KP = 1/|G(jgcd)|

Page 4: Desired Bode plot shape

gcd

gcd

gcd

gcd

gcd

gcd

From specs, find and

( )

a few degrees

tan( ) /

1/ (1 ) ( )

; ( )

( ) ( ) ( ) / 1 ( ) ( )

Perform c.l. step response, tune C

d

D

P D s j

D D P P D

cl

PM

PM angle G j

PM PMd PM

T PM

K T s G s

K T K C s K K s

G s C s G s C s G s

(s) as needed

PD control design

Page 5: Desired Bode plot shape

PD control design Variation

• Restricted to using KP = 1

• Meet Mp requirement

• Find gc and PM

• Find PMd

• Let = PMd – PM + (a few degrees)

• Compute TD = tan()/wgcd

• KP = 1; KD=KPTD

Page 6: Desired Bode plot shape

Lead Design • From specs => PMd and gcd

• From plant, draw Bode plot

• Find PMhave = 180 + angle(G(jgcd)

• PM = PMd - PMhave + a few degrees

• Choose =plead/zlead so that max =PM and it happens at gcd

1

gcdgcdgcd

gcdgcd

max

max

)/()()(

*,/

sin1

sin1

leadlead

leadlead

pjjGzjK

pz

Page 7: Desired Bode plot shape

Alternative use of lead1.Select K so that KG(s) meet ess req.

2.Find wgc and PM, also find PMd

3.Determine phi_max, and alpha

4.Place phi_max a little higher than wgc

maxgc gc

max

1 sin/ , *

1 sin

( )

lead lead

lead lead lead

lead lead lead

z p

p s z s zC s K K

z s p s p

0.25 0.75gc gc/ ,Or: *lead leadz p

Page 8: Desired Bode plot shape

Lag Controller Design

lag

lag

ps

zsKsC

)(

00 Kpz laglag

Kp

zK

pj

zjKjC

lag

lag

lag

lag

0)(

1 1( ) tan ( ) tan ( ) 0,lag lag

destabilizin

C jz p

g

Page 9: Desired Bode plot shape

Lag and lead-lag Design Steps• From plant, draw Bode plot

• From specs => PMd and gcd

– If there is speed or BW req, gcd, • In this case, if PM not enough, design PD or lead

– Otherwise, choose gcd to have PM>PMd

• Find K to enforce gcd:

• Find Kp,v,a-have with K and C above

• Find Kp,v,a-des from ess specs

• zlag/plag = Kp,v,a-des/Kp,v,a-have

• Let zlag= gcd/5~20, depending on PM room

• Compute plag

lead

lead

s zC

s p

1C

1

gcd )(

jCGK

Page 10: Desired Bode plot shape

2

1

( ) ; /

( )

Gain: 20log(| ( ) |) 20log( )

20log 1

Phase: ( ) ( ) tan ( )2 2

IP P I P

P

P

K s zC s K K z K K

s sj z

C j Kj

C j K

z

C j z jz

PI Controller

Page 11: Desired Bode plot shape

s

KKsC IP )(

PI Controller Design

00 PI KK

0),/log(20

),log(20)(

asKI

asK

j

KKjC PIP

10,

( ) tan ( )90, 0

I

P

asKC j

asK

Use PI only when you have to increase system type, i.e., when you have to make a nonzero ess to zero!

Page 12: Desired Bode plot shape

0

5

10

15

20

25

30

35

40

45

50M

agn

itu

de

(dB

)

10-2

10-1

100

101

102

-90

-60

-30

0

Ph

ase

(deg

)Bode Diagram

Frequency (rad/sec)

/z

Gain/KpIn dB =zType ↑

LF gain ↑ ess ↓

Big phase ↓Detabilizing

Let wgc/zbig

Page 13: Desired Bode plot shape

PI controller design• Choice 1: first multiply G by 1/s, then do PD

• Choice 2: KP+KI/s=KP (s+z)/s

– Do proportional controller design for wgc, PM Kp

– Place zero of PI controller at 10 to 20 times smaller than wgc z=wgc/(10~20)

– KIK=KP z

Page 14: Desired Bode plot shape

0

20

40

60M

agn

itu

de

(dB

)

10-3

10-2

10-1

100

101

-90

-60

-30

0

Ph

ase

(deg

)Bode Diagram

Frequency (rad/sec)

gcd

Kill PM significantly

KI/KP=gcd/2

KI/KP=gcd/40

KI/KP=gcd/5KI/KP=gcd/10

KI/KP=gcd/20

-11.3

-26. 6

-5.7-2.8-1.4

Don’t want these:PM reduction!

Want these:DC gain boosting

Page 15: Desired Bode plot shape

Basic PI Design Steps• From plant, draw Bode plot

• From specs => PMd and gcd

– If there is speed or BW req, gcd, • In this case, if PM not enough, design PD or lead

– Otherwise, choose gcd to have PM>PMd

• Find K to enforce gcd:

• Let KP = K

• And KI = Kgcd/10~20, depending on extra PM room to spare

1

gcd( )K CG j

Need to increase type to make a nonzero ess to be zero. But no requirement on ess after type increase.

Page 16: Desired Bode plot shape

56

500)(

2

sssG

Want Mp <= 16%Steady state error = 0 when input is constant.

Analysis: steady state error = 0 when input is constant means that ess to step must be 0; or the system type must be 1 or higher.

Original system is type 0, so need PI control to increase the system type to 1.

Example

Page 17: Desired Bode plot shape

%PI control examplen=[500]; d=[1 6 5];figure(1); clf; margin(n,d); hold on; grid; V=axis;Mp = 16; PMd = 70 - Mp +10; %put in a large extra PM, because PI kills PMsemilogx(V(1:2),[PMd-180 PMd-180],':r'); %draw PMd linex=ginput(1); w_gcd = x(1); %get desired w_gcKP = 1/abs(polyval(n,j*w_gcd)/polyval(d,j*w_gcd));z = w_gcd/10; KI = z*KP;ngc = conv(n, [KP KI]); dgc = conv(d, [1 0]);figure(1); margin(ngc,dgc); grid; [ncl,dcl]=feedback(ngc,dgc,1,1);figure(2);step(ncl,dcl); grid;figure(3); margin(ncl*1.414,dcl); grid;

Page 18: Desired Bode plot shape

-20

0

20

40M

agn

itu

de

(dB

)

10-2

10-1

100

101

102

-180

-135

-90

-45

0

Ph

ase

(deg

)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 15.4 deg (at 22.1 rad/sec)

Frequency (rad/sec)

Page 19: Desired Bode plot shape

-60

-40

-20

0

20

40

60M

agn

itu

de

(dB

)

10-2

10-1

100

101

102

-180

-135

-90

-45

0

Ph

ase

(deg

)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 58.6 deg (at 4.1 rad/sec)

Frequency (rad/sec)

Page 20: Desired Bode plot shape

0 2 4 6 8 10 12 140

0.2

0.4

0.6

0.8

1

1.2

1.4

Step Response

Time (sec)

Am

plit

ud

e

Ess is 0

Can afford more overshoot!

Page 21: Desired Bode plot shape

Sluggish settling is typical of PI or lag controlled systems.

Can reduce it by moving the p and z of lag or PI controller to higher frequency.

Page 22: Desired Bode plot shape

-40

-20

0

Mag

nit

ud

e (d

B)

10-2

10-1

100

101

102

-180

-135

-90

-45

0

Ph

ase

(deg

)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 74.8 deg (at 6.13 rad/sec)

Frequency (rad/sec)

Page 23: Desired Bode plot shape

%PI control examplen=[500]; d=[1 6 5];figure(1); clf; margin(n,d); hold on; grid; V=axis;Mp = 16; PMd = 70 - Mp +10; %put in a large extra PM, because PI kills PMsemilogx(V(1:2),[PMd-180 PMd-180],':r'); %draw PMd linex=ginput(1); w_gcd = x(1); %get desired w_gcKP = 1/abs(polyval(n,j*w_gcd)/polyval(d,j*w_gcd));z = w_gcd/5; KI = z*KP;ngc = conv(n, [KP KI]); dgc = conv(d, [1 0]);figure(1); margin(ngc,dgc); grid; [ncl,dcl]=feedback(ngc,dgc,1,1);figure(2);step(ncl,dcl); grid;figure(3); margin(ncl*1.414,dcl); grid;

Page 24: Desired Bode plot shape

-100

-50

0

50

100M

agn

itu

de

(dB

)

10-2

10-1

100

101

102

-180

-135

-90

-45

0

Ph

ase

(deg

)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 52.8 deg (at 4.14 rad/sec)

Frequency (rad/sec)

Page 25: Desired Bode plot shape

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

1.2

1.4

Step Response

Time (sec)

Am

plit

ud

e

Page 26: Desired Bode plot shape

PI Design with ess specs• From plant, draw Bode plot

• From specs => Kv,a-des, PMd and gcd

– For required ess, Kv,a-des =1/ess

– With C(s)=1/s, compute Kv,a-have

– If there is speed or BW req, gcd, • In this case, if PM not enough, design PD or lead

– Otherwise, choose gcd to have PM>PMd

• Find K to enforce gcd:

• Let KP = K, KIdes= Kv,a-des/Kv,a-have

– If KIdes <= Kgcd/5~20, done, let KI = KIdes

– Else, increase gcd and go back to previous step

1

gcd )(

jCGK

Need to increase type by 1 to make a nonzero ess to be zero, and after type increase, there is further requirement on ess.

Page 27: Desired Bode plot shape

56

500)(

2

sssG

Want Mp <= 16%Steady state error <= 0.1 for ramp input.

Analysis: steady state error <= 0.1 for ramp implies that the system type must be 1 or higher.

Original system is type 0, so need PI control.

Ess to ramp <= 0.1 requires Kvd >= 10.

Previous design leaves Kv = KI*500/5 = 100KI = 4.44

Example

KI=0.0444

Page 28: Desired Bode plot shape

0 500 1000 15000

500

1000

1500Step Response

Time (sec)

Am

plit

ud

e

This is actually the ramp response, generated with the step command but the closed-loop TF is multiplied by 1/s.

Page 29: Desired Bode plot shape

499.8 500 500.2 500.4 500.6

499.5

500

500.5

Step Response

Time (sec)

Am

plit

ud

e

ess>0.1

Page 30: Desired Bode plot shape

In the previous design, KI=0.0444 is already at the maximum of the range Kgcd/5~20,

But KIdes = 0.1, which is a factor of 10/4.44 larger.

So need to increase KP.

Hence, try letting KI = KIdes = 0.1, and make KP larger by 10/4.44.

Page 31: Desired Bode plot shape

KP = KP*0.1/KI; KI =0.1;

ngc = conv(n, [KP KI]); dgc = conv(d, [1 0]);figure(1); margin(ngc,dgc); grid;[ncl,dcl]=feedback(ngc,dgc,1,1);figure(2);step(ncl,dcl); grid;figure(3); step(ncl,[dcl 0]); grid;

Ramp response

Old KI, new KI

Page 32: Desired Bode plot shape

0 500 1000 15000

500

1000

1500 Step Response

Time (sec)

Am

plit

ud

e

Page 33: Desired Bode plot shape

499.85 499.9 499.95 500 500.05 500.1 500.15 500.2

499.7

499.8

499.9

500

500.1

500.2

Step Response

Time (sec)

Am

plit

ud

e

ess = 0.1

Page 34: Desired Bode plot shape

0 0.5 1 1.5 2 2.50

0.2

0.4

0.6

0.8

1

1.2

1.4Step Response

Time (sec)

Am

plit

ud

e

Can play with KP, but difficult to achieve the best KP

Page 35: Desired Bode plot shape

PI Design with PD Design Steps• From required ess, Kv,a-des =1/ess

• With C(s)=1/s, compute Kv,a-have

• Let KI = Kv,a-des/Kv,a-have

• Multiply G(s) by KI/s

• Do a PD design for KIG(s)/s, with DC gain=1:– Find gc and PM

– Find PMd

– Let = PMd – PM + (a few degrees)

– Compute TD = tan()/wgcd

• KP = KI*TD

Page 36: Desired Bode plot shape

%Alternative PI control by PD designclear all; n=[0 0 500]; d=[1 6 5];ess2ramp = 0.1; Kvd = 1/ess2ramp;Kva = n(end)/d(end); %after introducing 1/sKI = Kvd/Kva;%multiplying G(s) by KI/s and get new Bodeni=KI*n; di=[d 0];figure(1); clf; margin(ni,di); hold on; grid;[GM,PM,wpc,wgc]=margin(ni,di);PMd=54+6; phi = (PMd-PM)*pi/180;Td = tan(phi)/wgc; KP=KI*Td;ngc = conv(n, [KP KI]); dgc=di;figure(1); margin(n,d); margin(ngc,dgc);[ncl,dcl]=feedback(ngc,dgc,1,1);figure(3);step(ncl,dcl); grid;

Page 37: Desired Bode plot shape

-100

-50

0

50

100M

agn

itu

de

(dB

)

10-2

10-1

100

101

102

-270

-180

-90

0

Ph

ase

(deg

)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 38.8 deg (at 6.2 rad/sec)

Frequency (rad/sec)

Page 38: Desired Bode plot shape

0 0.5 1 1.5 2 2.50

0.2

0.4

0.6

0.8

1

1.2

1.4Step Response

Time (sec)

Am

plit

ud

e

Page 39: Desired Bode plot shape

clear all; n=[0 0 500]; d=[1 6 5];ess2ramp = 0.1; Kvd = 1/ess2ramp;Kva = n(end)/d(end); %after introducing 1/sKI = Kvd/Kva;%multiplying G(s) by KI/s and get new Bodeni=KI*n; di=[d 0];figure(1); clf; margin(ni,di); hold on; grid;[GM,PM,wpc,wgc]=margin(ni,di);PMd=50+3; phi = (PMd-PM)*pi/180;Td = tan(phi)/wgc; KP=KI*Td;ngc = conv(n, [KP KI]); dgc=di;figure(1); margin(n,d); margin(ngc,dgc);[ncl,dcl]=feedback(ngc,dgc,1,1);figure(3);step(ncl,dcl); grid;

Page 40: Desired Bode plot shape

-100

-50

0

50

100M

agn

itu

de

(dB

)

10-2

10-1

100

101

102

-270

-180

-90

0

Ph

ase

(deg

)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 40.2 deg (at 5.04 rad/sec)

Frequency (rad/sec)

Page 41: Desired Bode plot shape

0 0.5 1 1.5 2 2.50

0.2

0.4

0.6

0.8

1

1.2

1.4Step Response

Time (sec)

Am

plit

ud

e

Page 42: Desired Bode plot shape

Alternative PI Design Steps• For required ess, Kv,a-des =1/ess

• With C(s)=1/s, compute Kv,a-have

• Let KI = Kv,a-des/Kv,a-have

• Rewrite char eq: (KP + KI/s)G(s) + 1=0• KP*n/d + KI*n/d/s +1 = 0• KP *n*s + KI*n+d*s =0, KP*n*s/(KI*n+d*s) + 1 =0• So do a KP design for n*s/(KI*n+d*s), with KI above

– Draw Bode plot for n*s/(KI*n+d*s)– Select max PM frequency– Compute KP to make that frequency wgc

Page 43: Desired Bode plot shape

%Alternative PI control exampleclear all; n=[0 0 500]; d=[1 6 5]; %note same lengthess2ramp = 0.1; Kvd = 1/ess2ramp;Kva = n(end)/d(end); %after introducing 1/sKI = Kvd/Kva;%get TF after closing the G(s) and KI/s loopni=[n 0]; di=[d 0]+KI*[0 n];figure(1); clf; margin(ni,di); grid;x=ginput(1); w_gcd = x(1); %get desired w_gcKP = 1/abs(polyval(ni,j*w_gcd)/polyval(di,j*w_gcd));ngc = conv(n, [KP KI]); dgc = conv(d, [1 0]);figure(2); margin(n,d); hold on; margin(ngc,dgc);[ncl,dcl]=feedback(ngc,dgc,1,1);figure(3);step(ncl,dcl); grid;

Page 44: Desired Bode plot shape

-40

-20

0

20

40

60M

agn

itu

de

(dB

)

10-1

100

101

102

-315

-270

-225

-180

-135

-90

Ph

ase

(deg

)

Bode DiagramGm = -43.5 dB (at 2.89 rad/sec) , Pm = 15.1 deg (at 22.1 rad/sec)

Frequency (rad/sec)

Pick wgc here

Page 45: Desired Bode plot shape

-100

-50

0

50

100M

agn

itu

de

(dB

)

10-2

10-1

100

101

102

-180

-135

-90

-45

0

Ph

ase

(deg

)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 29.5 deg (at 3.43 rad/sec)

Frequency (rad/sec)

Page 46: Desired Bode plot shape

0 1 2 3 4 50

0.5

1

1.5Step Response

Time (sec)

Am

plit

ud

e

Page 47: Desired Bode plot shape

-40

-20

0

20

40

60M

agn

itu

de

(dB

)

10-1

100

101

102

-315

-270

-225

-180

-135

-90

Ph

ase

(deg

)

Bode DiagramGm = -43.5 dB (at 2.89 rad/sec) , Pm = 15.1 deg (at 22.1 rad/sec)

Frequency (rad/sec)

Pick wgc here

Page 48: Desired Bode plot shape

-100

-50

0

50

100M

agn

itu

de

(dB

)

10-2

10-1

100

101

102

-180

-135

-90

-45

0

Ph

ase

(deg

)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 36.2 deg (at 3.89 rad/sec)

Frequency (rad/sec)

Page 49: Desired Bode plot shape

0 0.5 1 1.5 2 2.5 3 3.5 40

0.2

0.4

0.6

0.8

1

1.2

1.4Step Response

Time (sec)

Am

plit

ud

e

Page 50: Desired Bode plot shape

-40

-20

0

20

40

60M

agn

itu

de

(dB

)

10-1

100

101

102

-315

-270

-225

-180

-135

-90

Ph

ase

(deg

)

Bode DiagramGm = -43.5 dB (at 2.89 rad/sec) , Pm = 15.1 deg (at 22.1 rad/sec)

Frequency (rad/sec)

Pick wgc here

Page 51: Desired Bode plot shape

0 0.5 1 1.5 2 2.50

0.2

0.4

0.6

0.8

1

1.2

1.4 Step Response

Time (sec)

Am

plit

ud

e

Page 52: Desired Bode plot shape

Numerical sweep of KP indicates that ~30% Mp is about the best one can achieve.

We conclude that it is impossible to meet the specifications with a PI controller.

Both of our design procedures came very close to the best achievable.

Of course, we can fix the excessive overshoot with an additional lead design.

Page 53: Desired Bode plot shape

56

500)(

2

sssG

Want Mp <= 16%Steady state error <= 0.1 for ramp input.

Overall design:1.Ess2ramp <=0.1, PI with KI=1/0.1*5/500=0.12.Close the I-loop and select KP for best PM shape, KP = 0.0843.Use a lead controller with DC gain = 1 to reduce Mp from 30% to <= 16%

Page 54: Desired Bode plot shape

clear all; n=[0 0 500]; d=[1 6 5];ess2ramp = 0.1; Kvd = 1/ess2ramp;Kva = n(end)/d(end); %after introducing 1/sKI = Kvd/Kva;%get TF after closing the G(s) and KI/s loopni=[n 0]; di=[d 0]+KI*[0 n];figure(1); clf; margin(ni,di); grid;x=ginput(1); w_gcd = x(1); %get desired w_gcKP = 1/abs(polyval(ni,j*w_gcd)/polyval(di,j*w_gcd));ngc = conv(n, [KP KI]); dgc = conv(d, [1 0]);figure(2); margin(n,d); hold on; margin(ngc,dgc);[ncl,dcl]=feedback(ngc,dgc,1,1);figure(3);step(ncl,dcl); grid;

Page 55: Desired Bode plot shape

%follow with a lead controller with DC gain =1 %to make Mp=30% ==> Mp<=16%[GM,PM,wpc,wgc]=margin(ngc,dgc);w_gcd=wgc; PMd=54+6; phimax = (PMd-PM)*pi/180;alpha=(1+sin(phimax))/(1-sin(phimax));zlead=w_gcd/alpha^.25; plead=w_gcd*alpha^.75;ngcc = conv(ngc, alpha*[1 zlead]);dgcc = conv(dgc, [1 plead]);figure(2); margin(ngcc,dgcc); grid;[ncl,dcl]=feedback(ngcc,dgcc,1,1);figure(5);step(ncl,dcl); grid;figure(6);step(ncl,[dcl 0]); grid; %ramp response

Page 56: Desired Bode plot shape

-100

-50

0

50

100M

agn

itu

de

(dB

)

10-2

10-1

100

101

102

103

-180

-135

-90

-45

0

Ph

ase

(deg

)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 53.9 deg (at 7.1 rad/sec)

Frequency (rad/sec)

Original system

After PI alone

With PI and lead

Page 57: Desired Bode plot shape

0 0.5 1 1.5 20

0.2

0.4

0.6

0.8

1

1.2

1.4Step Response

Time (sec)

Am

plit

ud

e

Mp <= 16% is met.

Page 58: Desired Bode plot shape

0 500 1000 15000

500

1000

1500Step Response

Time (sec)

Am

plit

ud

e

Page 59: Desired Bode plot shape

499.6 499.7 499.8 499.9 500 500.1 500.2 500.3499.5

499.6

499.7

499.8

499.9

500

500.1

500.2

500.3Step Response

Time (sec)

Am

plit

ud

e Ess=0.1

y=t