s K K s C I P ) ( PI Controller Design 0 0 P I K K 0 ), / log( 20 ), log( 20 ) ( as KI as K j K K j C P I P 0 , 90 , 0 ) ( tan ) ( 1 as as K K j C P I Use PI only when you have to increase system type, i.e., when you have to make a nonzero ess to zero!
PI Controller Design. Use PI only when you have to increase system type, i.e., when you have to make a nonzero ess to zero!. KI/KP=1/2. KI/KP=1/5. KI/KP=1/10. Want these: DC gain boosting. KI/KP=1/20. w gcd. KI/KP=1/40. -5.7. -1.4. -2.8. -11.3. -26. 6. Don’t want these: - PowerPoint PPT Presentation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
s
KKsC IP )(
PI Controller Design
00 PI KK
0),/log(20
),log(20)(
asKI
asK
j
KKjC PIP
0,90
,0)(tan)( 1
as
as
K
KjC
P
I
Use PI only when you have to increase system type, i.e., when you have to make a nonzero ess to zero!
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=1/2
KI/KP=1/40
KI/KP=1/5KI/KP=1/10
KI/KP=1/20
-11.3
-26. 6
-5.7-2.8-1.4
Don’t want these:PM reduction!
Want these:DC gain boosting
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
1gcd )(
jCGK
Need to increase type to make a nonzero ess to be zero. But no requirement on ess after type increase.
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
%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;
We conclude that it is impossible to meet the specifications with a PI controller.
But we can fix the excessive overshoot with a lead.
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%
%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=50+10; 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