’校正后:幅值裕量=’,num2str(20*log10(gm)),’db’,’相位裕量
图5-4 系统校正前后的传递函数及Bode图
=’,num2str(pm),’0’]);
3.基于频率法的串联滞后-超前校正
滞后-超前校正装置综合了超前校正和滞后校正的优点,从而改善了系统的性能。
例5-3:单位反馈系统的开环传递函数为G(s)?K,若要求相
s(s?1)(0.4s?1)角裕度r?450,幅值裕量大于10dB,Kv?10(1/s),试确定串联校正装置的特性。
解:根据系统静态精度的要求,选择开环增益
Kv?LimsG(s)?K?10
s?0利用MATLAB绘制原系统的bode图和相应的稳定裕度,如图5-5所示。 >>num0=10; den0=conv([1,0],conv([1,1],[0.4,1])); w=logspace(-1,1.2); [gm1,pm1,wcg1,wcp1]=margin(num0,den0); [mag1,phase1]=bode(num0,den0,w); [gm1,pm1,wcg1,wcp1]
margin(num0,den0)
grid;
ans =
0.3500 -24.1918 1.5811 2.5520
图5-5 原系统的Bode图
由结果可以看出,单级超前装置难以满足要求,故设计一个串联滞后-超前装置。
选择原系统?1800的频率为新的截止频率?c,则可以确定滞后部分的T2和
?。其中
111,??10。由原系统,?c?1.58rad/s,此时的幅值为??c?T2?T2100.1?c9.12dB。
根据校正后系统在新的幅值交接频率处的幅值必须为0dB,确定超前校正部分的T1。在原系统(?c,?20lgG0(j?c)),即(1.58,-9.12)处画一条斜率为20dB/dec的直线,此直线与0dB线及-20dB线的交点分别为超前校正部分的两个转折频率。
wc=1.58; beit=10; T2=10/wc; lw=20*log10(w/1.58)-9.12;
[il,ii]=min(abs(lw+20)); w1=w(ii);
numc1=[1/w1,1];denc1=[1/ (beit*w1),1];
numc2=[ T2,1];denc2=[ beit*T2,1]; [numc,denc]=series(numc1,denc1,numc2,denc2);
[num,den]=series(num0,den0,numc,denc); printsys(numc,denc)
disp(’校正之后的系统开环传递函数为:’); printsys(num,den)
[mag2,phase2]=bode(numc,denc,w);
[mag,phase]=bode(num,den,w);
[gm,pm,wcg,wcp]=margin(num,den);
subplot(2,1,1);semilogx(w,20*log10(mag),w,20*log10(mag1),’--’,w,20*log10(mag2),’-.’);
grid; ylabel(’幅值(db)’); title(’--Go,-Gc,GoGc’);
subplot(2,1,2); semilogx(w,phase,w,phase1,’--’,w,phase2,’-’,w,(w-180-w),’:’);
grid; ylabel(’相位(0)’); xlabel(’频率(rad/sec)’);
title([‘校正后:幅值裕量=’,num2str(20*log10(gm)),’db’,’相位裕量=’,num2str(pm),’0’]);
三、实验内容
1.某单位负反馈控制系统的开环传递函数为G(s)?4,试设计一超前
s(s?1)图5-6 系统校正前后的传递函数及Bode图
校正装置,使校正后系统的静态速度误差系数Kv?20s?1,相位裕量??500,增益裕量20lgKg?10dB。
Matlab程序:
num0=4;den0=[1,1,0];w=0.1:1000;
[gm1,pm1,wcg1,wcp1]=margin(num0,den0); [mag1,phase1]=bode(num0,den0,w);
[gm1,pm1,wcg1,wcp1] margin(num0,den0)
ans =
Inf 28.0202 Inf 1.8791
由结果可知,原系统相角裕度为28.02°,wc=1.879rad/s,不满足指标要求,系
统的Bode图如下所示。考虑采用串联超前校正装置,以增加系统的相角裕度。
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 28 deg (at 1.88 rad/sec)100Magnitude (dB)Phase (deg)0-100-90-135-180-21010-1100101102Frequency (rad/sec)
校正后的传递函数及Bode图: Matlab:e=5.5275; r=50; r0=pm1; phic=(r-r0+e)*pi/180;
alpha=(1+sin(phic))/(1-sin(phic)); [il,ii]=min(abs(mag1-1/sqrt(alpha))); wc=w( ii); T=1/(wc*sqrt(alpha)); numc=[alpha*T,1]; denc=[T,1];
[num,den]=series(num0,den0,numc,denc);
[gm,pm,wcg,wcp]=margin(num,den); %返回系统新的相角裕度和幅值裕度 printsys(numc,denc) %显示校正装置的传递函数 disp('校正之后的系统开环传递函数为:');
printsys(num,den) %显示系统新的传递函数
[mag2,phase2]=bode(numc,denc,w); %计算指定频率内校正装置的相角范围和幅值范围
[mag,phase]=bode(num,den,w); %计算指定频率内系统新的相角范围和幅值范围
subplot(2,1,1);semilogx(w,20*log10(mag),w,20*log10(mag1),'--',w,20*log10(mag2),'-.');
grid; ylabel('幅值(db)'); title('--Go,-Gc,GoGc');
subplot(2,1,2);semilogx(w,phase,w,phase1,'--',w,phase2,'-',w,(w-180-w),':');
grid;
ylabel('相位(0)'); xlabel('频率(rad/sec)');
title(['校正前:幅值裕量=',num2str(20*log10(gm1)),'db','相位裕量=',num2str(pm1),'0';
'校正后:幅值裕量=',num2str(20*log10(gm)),'db','相位裕量=',num2str(pm),'0']);
结果:num/den = 2.7973 s + 1 --------------- 0.0060511 s + 1 校正之后的系统开环传递函数为: num/den =
67.1354 s + 24
------------------------------------------------------
0.0060511 s^4 + 1.0182 s^3 + 3.0182 s^2 + 3.0061 s + 1 校正后的传递函数及Bode图:
--Go,-Gc,GoGc500-50-100-150-1100123幅值(db)10101010校正前:幅值裕量=Infdb相位裕量=28.02020校正后:幅值裕量=Infdb相位裕量=50.00010100相位(0)0-100-200-11001231010频率(rad/sec)1010
k,试设计一个合3(s?1)2.某单位负反馈控制系统的开环传递函数为G(s)?适的滞后校正网络,使系统阶跃响应的稳态误差约为0.04,相角裕量约为450。
由稳态误差可求出,1/(k+1)=0.04得出k=24