实验8线性系统串联校正
发布时间:2020-06-22 00:07:17
发布时间:2020-06-22 00:07:17
一、 实验目的
1 •熟练掌握用MATLAB语句绘制频域曲线。
2 •掌握控制系统频域范围内的分析校正方法。
3 •掌握用频率特性法进行串联校正设计的思路和步骤。
二、 基础知识
控制系统设计的思路之一就是在原系统特性的基础上,对原特性加以校正, 使之达到要求的性能指标。最常用的经典校正方法有根轨迹法和频域法。而常用 的串联校正装置有超前校正、滞后校正和超前滞后校正装置。本实验主要讨论在 MATLAB^境下进行串联校正设计。
1.基于频率法的串联超前校正
超前校正装置的主要作用是通过其相位超前效应来改变频率响应曲线的形 状,产生足够大的相位超前角,以补偿原来系统中元件造成的过大的相位滞后。 因此校正时应使校正装置的最大超前相位角出现在校正后系统的开环截止频率
c处。
例5-1 :单位反馈系统的开环传递函数为 G(s) ,试确定串联校正装
S(s 1)
置的特性,使系统满足在斜坡函数作用下系统的稳态误差小于 0.1,相角裕度
r 450。
解:根据系统静态精度的要求,选择开环增益
ess Lim sE(s) Lim s ——s 0.1 K 10
s 0 s 0 k
1
s(s 1)
取K 12,求原系统的相角裕度。
>>nu m0=12; den 0=[2,1,0]; w=0.1:1000;
[gm1,pm1,wcg1,wcp1]=marg in(num 0,de n0);
[mag1,phase1]=bode( num O,de n0 ,w);
Bode 图
grid;
ans =
[il,ii] =min( abs(mag1-1/sqrt(alpha)));
wc=w( II); T=1/(wc*sqrt(alpha)); numc=[alpha*T,1]; de nc=[T,1];
[nu m,de n]=series( num O,de nO,nu mc,de nc); % 原系统与校正装
置串联
[gm,pm,wcg,wcp]=margi n(nu m,de n); %返回系统新的相角裕度和
幅值裕度
prin tsys( nu mc,de nc) %显示校正装置的传递函数
disp('校正之后的系统开环传递函数为 :'
prin tsys( nu m,de n) %显示系统新的传递函数
[mag2,phase2]=bode( numc,de nc,w)%计算指定频率内校正装置的相角范围和
幅值范围
[mag,phase]=bode( num,de n, w); %计算指定频率内系统新的相角范围和
幅 值 范 围
subplot(2,1,1);semilogx(w,20*log10(mag),w,20*log10(mag1),'-- ;w,20*log10(mag
2),'-.');
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;'相 位裕量 =',nu m2str(pm1),;';
nunydsn =
0.503SI2E+1
—三三———
0.11ED5 s+ 1
2 •基于频率法的串联滞后校正
滞后校正装置将给系统带来滞后相角。引入滞后装置的真正目的不是为了提
供一个滞后相角,而是要使系统增益适当衰减,以便提高系统的稳态精度。
[mag1,phase1]=bode( num 0,de n0,w);
[gm1,pm1,wcg1,wcp1]
margin(num 0,de n0)
grid;
ans =
0.5000 -17.2390 7.0711 9.7714
由结果可知,原系统不稳定,且截止频率远大于要求值。系统的 Bode图如
图5-3所示,考虑采用串联超前校正无法满足要求,故选用滞后校正装置。
根据对相位裕量的要求,选择相角为 1800 ( 50 ~ 100, 400)
处的频率作为校正后系统的截止频率 c。确定原系统在新 c处的幅值衰减到
e=10; r=40; r0=pm1;
phi=(-180+r+e);
[il,ii] =min( abs(phase1-phi));
wc=w( ii); beit=mag1(ii); T=10/wc;
numc=[ T,1]; den c=[ beit*T,1];
[nu m,de n]=series( num 0,de n0,nu mc,de nc); % 原系统与校正装
置串联
[gm,pm,wcg,wcp]=margi n(nu m,de n); %返回系统新的相角裕度和
幅值裕度
disp('校正之后的系统开环传递函数为 :';
prin tsys( num,de n) %显示系统新的传递函数
[mag2,phase2]=bode( numc,de nc,w)%计算指定频率内校正装置的相角范围和
幅值范围
[mag,phase]=bode( num,de n, 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,phase'- ',w,phase2' ;w,(w-180-w),)'
grid; ylabel()相位(0)' xlabel()频率(rad/sec)');
title(['校 正前: 幅 值裕量=',num2str(20*log10(gm1)), 'db)‘ 相 位裕量 =',nu m2str(pm1),')
'校正后:幅值裕量=;num2str(20*log10(gm)), 'db)‘相位裕量
图5-4 系统校正前后的传递函数及 Bode图
=;nu m2str(pm),'));
3 .基于频率法的串联滞后-超前校正
滞后-超前校正装置综合了超前校正和滞后校正的优点,从而改善了系统的
性能
角裕度r 450,幅值裕量大于10dB,心10(1/s),试确定串联校正装置的特性。
解:根据系统静态精度的要求,选择开环增益
Kv LimsG(s) K 10
s 0
利用MATLAB绘制原系统的bode图和相应的稳定裕度,如图5-5所示
>>nu m0=10; de n0=co nv([1,0],co nv([1,1],[0.4,1])); w=logspace(-1,1.2);
[mag1,phase1]=bode( num 0,de n0,w);
[gm1,pm1,wcg1,wcp1]
marg in(num 0,de n0)
图5-5 原系统的Bode图 grid;
ans =
0.3500 -24.1918 1.5811 2.5520
由结果可以看出,单级超前装置难以满足要求,故设计一个串联滞后 -超前
装置。
选择原系统180°的频率为新的截止频率 c,则可以确定滞后部分的T2和
。其中
9.12dB。
根据校正后系统在新的幅值交接频率处的幅值必须为 0dB,确定超前校正部
分的Ti。在原系统(c, 20lgG°(j J),即(1.58,-9.12)处画一条斜率为20dB/dec
的直线,此直线与OdB线及-20dB线的交点分别为超前校正部分的两个转折频率。
wc=1.58; beit=10; T2=10/wc; lw=20*log10(w/1.58)-9.12;
[il,ii] =mi n( abs(lw+20)); w1= w(ii);
numc1=[1/w1,1];denc1=[1/ (beit*w1),1];
numc2=[ T2,1];denc2=[ beit*T2,1];
[nu mc,de nc]=series( nu mc1,de nc1, num c2,de nc2);
[nu m,de n]=series( num 0,de n0,nu mc,de nc);
prin tsys( nu mc,de nc)
disp('校正之后的系统开环传递函数为 :');
prin tsys( nu m,de n)
[mag2,phase2]=bode( nu mc,de nc,w);
[mag,phase]=bode( nu m,de n, w);
[gm,pm,wcg,wcp]=margi n(nu m,de n); 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,phase)- ',w,phase2) ;w,(w-180-w),':);
grid; ylabel('相位(0)); xlabel ('频率(rad/sec)');
title(['校正后:幅值裕量=;num2str(20*log10(gm)),'db','相位裕量 =',nu m2str(pm),'0']);
num/den =
13 4237 ^2 + 8 4501 s+1
B.4237s^2 +615032
校正N后的慕统开环传谨函数为
134.2374 ^2+ 84.5006 s+ 10
、实验内容
校正装置,使校正后系统的静态速度误差系数 Kv 20s 1,相位裕量 500,增
益裕量 20 lg Kg 10dB。
Matlab 程序:
num 0=4;de n0=[1,1,0];w=0.1:1000; [gm1,pm1,wcg1,wcp1]=margi n(num 0,de n0); [mag1,phase1]=bode( num 0,de n0 ,w);
[gm1,pm1,wcg1,wcp1]
margi n(num 0,de n0)
ans =
由结果可知,原系统相角裕度 为28.02°, wc=1.879rad/s,不满足指标要求,系
统的Bode图如下所示。考虑采用串联超前校正装置,以增加系统的相角裕度。
校正后的传递函数及Bode图:
Matlab: e=5.5275; r=50; r0=pm1;
phic=(r-r0+e)*pi/180;
alpha=(1+s in( phic))/(1-s in( phic));
[il,ii] =min( abs(mag1-1/sqrt(alpha)));
wc=w( ii); T=1/(wc*sqrt(alpha));
nu mc=[alpha*T,1]; de nc=[T,1];
[nu m,de n]=series( num 0,de n0,nu mc,de nc);
[gm,pm,wcg,wcp]=margi n(nu m,de n); %返回系统新的相角裕度和幅值裕度
disp('校正之后的系统开环传递函数为:');
prin tsys( nu m,de n) %显示系统新的传递函数
[mag2,phase2]=bode( nu mc,de nc,w);%计算指定频率内校正装置的相角范围
和幅值范围
[mag,phase]=bode( num,de n, w); %计算指定频率内系统新的相角范围和
幅值范围
subplot(2,1,1);semilogx(w,20*log10(mag),w,20*log10(mag1),'--',w,20*log10(ma g2),'-.');
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','相位裕量 =',nu m2str(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 sA4 + 1.0182 sA3 + 3.0182 sA2 + 3.0061 s + 1
适的滞后校正网络,使系统阶跃响应的稳态误差约为 0.04,相角裕量约为45°
由稳态误差可求出,1/(k+1)=0.04得出k=24
Matlab 程序:
num0=24;de n0=co nv([1,1],co nv([1,1],[1,1]));w=logspace(-1,1.2);
[gm1,pm1,wcg1,wcp1]=margi n(num 0,de n0);
[mag1,phase1]=bode( num 0,de n0 ,w); [gm1,pm1,wcg1,wcp1] margi n(num 0,de n0) grid;
结果:
0.3334 Bode 图
校正Matlab程序:
e=10; r=45; r0=pm1;
phi=(-180+r+e);
[il,ii] =min( abs(phase1-phi));
wc=w( ii); beit=mag1(ii); T=10/wc;
numc=[ T,1]; den c=[ beit*T,1];
[nu m,de n]=series( num 0,de n0,nu mc,de nc); % 原系统与校正装置串联
[gm,pm,wcg,wcp]=margi n(nu m,de n); %返回系统新的相角裕度和幅值裕度
disp('校正之后的系统开环传递函数为:');
prin tsys( nu m,de n) %显示系统新的传递函数
[mag2,phase2]=bode( nu mc,de nc,w);%计算指定频率内校正装置的相角范围和幅 值范围
[mag,phase]=bode( num,de n,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','相位裕量 =',nu m2str(pm1),'0';
'校正后:幅值裕量=',num2str(20*log10(gm)),'db','相位裕量=',num2str(pm),'0']);
结果: | num/den = 11.4062 s + 1 |
116.386 s + 1
校正之后的系统开环传递函数为: num/den =
273.75 s + 24
116.386 sA4 + 350.1579 sA3 + 352.1579 sA2 + 119.386 s + 1
图如下:
500,增益裕量 20 lg Kg 10dB
由 Kv 10s 1 可知 k=20
Matlab 程序:
[gm1,pm1,wcg1,wcp1]=margi n(num 0,de n0);
[mag1,phase1]=bode( num 0,de n0 ,w);
[gm1,pm1,wcg1,wcp1] margi n(num 0,de n0) grid;
0.3000 -28.0814
Bode 图:
选择原系统1800的频率为新的截止频率 c,则可以确定滞后部分的T2和
。其中
c T2
T2 10 0.1
9.12dB。
根据校正后系统在新的幅值交接频率处的幅值必须为 0dB,确定超前校正部
分的「。在原系统(c, 20lgG°(j c)),即(1.58,-9.12)处画一条斜率为20dB/dec
的直线,此直线与OdB线及-20dB线的交点分别为超前校正部分的两个转折频率。
num0=20; den0=conv([1,0],conv([1,1],[1,2])); w=logspace(-1,1.2);
[gm1,pm1,wcg1,wcp1]=marg in(n um0,de n0);
[mag1,phase1]=bode( num0,de n0 ,w);
[gm1,pm1,wcg1,wcp1]
margin(n um0,de n0)
wc=1.58; beit=10; T2=10/wc;
lw=20*log10(w/1.58)-9.12;
[il,ii]=mi n(abs(lw+20));
w1=w(ii);
numc1=[1/w1,1];denc1=[1/ (beit*w1),1];
numc2=[ T2,1];de nc2=[ beit*T2,1];
[n umc,de nc]=series (n umc1,de ncl, numc2,de nc2);
[n um,de n]=series( numO,de nO,n umc,de nc);
pri ntsys( numc,de nc)
disp( 'D £ ?y??o 6^ ??卩丨 3?a? •' ?卩 Yo_e y?a:'
pri ntsys( num,de n)
[mag2,phase2]=bode( numc,de nc,w);
[mag,phase]=bode( num,de n, w);
[gm,pm,wcg,wcp]=margi n(n um,de n);
subplot(2,1,1);semilogx(w,20*log10(mag),w,20*log10(mag1),
g10(mag2), '-.');
grid; ylabel( ' •u ? (db)'); title( '--Go,-Gc,GoGc' );
subplot(2,1,2);
semilogx(w,phase,w,phase1, '--' ,w,phase2, '-' ,w,(w-180-w),
四、实验心得
通过本节课的实验,从直观上增加了对线性系统串联校正的理解,从而加深
了线性系统校正的理论知识,掌握了控制系统频域范围内的分析校正方法 ,学会
了用频率特性法进行串联校正设计的思路和步骤。