串联滞后校正的一般步骤:
1、根据稳态误差要求求出 值
2、设滞后校正传递函数 , ,并设校正后的截止频率下 的相角 ,一般取 ;
3、根据要求确定校正后的相角裕度,通过 确定校正后的截止频率 。
4、 ,求得 。
5、 ,求得 。
6、系统校验
Matlab代码部分
可能使用到的命令见如下文章
Example 6
系统的开环传递函数 ,若要求校正后系统的静态误差系数 ,相对裕度 ,开环系统的截止频率 ,试设计校正装置。
解:首先根据静态误差系数求出
clear all
syms b_1
Z=[];
P=[0,-10,-5];
K=1500;
G_0=zpk(Z,P,K); %G_0为校正前系统开环传递函数
[num,den]=tfdata(G_0);
%% 求解b,T
[Gm,Pm,wg_0,wc_0]=margin(G_0); %Pm为校正前的幅值裕度,
gamma=40; %确定校正后的相角裕度
Phi_c=-6; %校正后的截止频率下Gc(s)的相角,一般取-6°
temp=gamma-Phi_c-180;
[mag,phase,w]=bode(num,den);
wc=spline(phase,w,temp); %求解校正后的截止频率
mag_1=spline(w,mag,wc);
mag_db1=20*log10(mag_1); %单位不统一,做代换
solve(-20*log10(b_1)==mag_db1,b_1);
b=double(ans); %利用double将原本ans为syms类型转化为数值型
%b=10^(-1/20*mag_db1);
T=1/(0.1*wc*b);
%% 验证
num_1=[b*T,1];
den_1=[T,1];
G_c=tf(num_1,den_1);
printsys(num_1,den_1,'s');
G=G_0*G_c;
[Gm1,Pm1,wg1,wc1]=margin(G)
bode(G_0);
hold on;
bode(G);
legend('G_0(s)','G(s)');
hold off;
GG=feedback(G,1);
运行程序得到,校正后系统幅值裕度 ,开环系统截止频率 ,且闭环系统稳定,设计成功。附上校正前后开环系统的bode图对比。
评论(0)
您还未登录,请登录后发表或查看评论