题目 032
已知受控对象模型为,设计一个超前滞后校正器,使得校正后系统期望的剪切频率=50rad/s和相位裕量γ≥45°.修正期望的指标来改进闭环系统的动态性能,并由闭环系统的阶跃响应来验证控制器。
用MATLAB模拟校正前系统
1单位阶跃响应
num=16;%降幂排列分子多项式系数
den=[1,11,26,16,16]; %降幂排列分母多项式系数
t=0::30;
G3=tf(num,den);
Step(G3,t) %阶跃响应
图1校正前单位阶跃响应
由上图可知上升时间=,峰值时间,调节时间=20s,超调量=%,Ⅰ型系统单位阶跃输入下稳态误差ess=0
2开环伯德图
应用Matlab绘制出开环系统Bode图,程序如下:
clear
num=16;
den1=conv([1 0],[1 1]);
den2=conv([1 2],[1 8]);
den=conv(den1,den2);
sys=tf(num,den); %建立原系统的开环传递函数模型
margin(sys)
[Gm,Pm,Wcg,Wcp]=margin(sys)
hold
运行结果如下:
Gm =
Pm =
Wcg =
Wcp =
图2 校正前系统的开环伯德图
由Bode图可知,增益裕量=>1,相角裕量=>0,原系统稳定。幅值剪切频率Wcg=,相位剪切频率Wcp=。
由Bode图确定原系统谐振峰值、带宽
clear
num=16;
den1=conv([1 0],[1 1]);
den2=conv([1 2],[1 8]);
den=conv(den1,den2);
sys=tf(num,den);%建立原系统的开环传递函数模型
bode(sys);
[m,p,w]=bode(sys);
mr=max(m)
wr=spline(m,w,mr)
(2)运行结果如下:
mr =
wr =
3应用Matlab绘制出闭环系统Bode图,程序如下:
clear
num=16;
den1=conv([1 0],[1 1]);
den2=conv([1 2],[1 8]);
den=conv(den1,den2);
sys=tf(num,den); %建立原系统的开环传递函数模型
sys=feedback(sys,1); %建立原系统的闭环传递函数模型
margin(sys)
[Gm,Pm,Wcg,Wcp]=margin(sys)
hold on
运行结果如下:
Gm =
Pm =
Wcg =
Wcp =
2)原系统闭环Bode图如图3:
图3 校正前系统的闭环伯德图
4开环根轨迹
num=16;
den=[1,11,26,16];
图5 校正前系统的开环根轨迹
应用Matlab绘制出开环系统的奈氏图,程序如下:
clear
num=16;
den1=conv([1 0],[1 1]);
den2=conv([1 2],[1 8]);
den=conv(den1,den2);
sys=tf(num,den)
nyquist(sys)
乃氏图如下(图5)
校正前系统的乃氏图
由nyquist图知道N=0,系统稳定
由图5-1可得原系统频域性能指标:由Bode图可知,增益裕量=>1,相角裕量=>0,原系统稳定。幅值剪切频率Wcg=,相位剪切频率Wcp=。
幅值稳定裕度:h=dB -π穿越频率:= rad/s,
相角裕量=° 剪切频率:=
可知系统校正前,相角稳定裕度:γ=°<45°,剪切频率:=<50 rad/s,都未满足要求,原系统需要校正。
2)求超前校正装置的传递函数
由于相角稳定裕度:γ=<45°,剪切频率:=<50rad/s,故要进行超前校正,设超前校正传函为
Gc(s)=
取c=50rad/s,则求Gc(s)及其参数的MATLAB程序为:
) 法1
用程序取c=50rad/s时对应的幅值稳定裕度
%
wc=50;
L=bode(s1,wc);
Lwc=20*log10(L);
a=10^(-*Lwc);
T=1/(wc*sqrt(a));
Gc=tf([a*T 1],[T 1
自控课程设计 来自淘豆网m.daumloan.com转载请标明出处.