线性系统串联校正

更新时间:2024-07-02 05:35:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验八 线性系统串联校正

一、实验目的

1.熟练掌握用MATLAB语句绘制频域曲线。 2.掌握控制系统频域范围内的分析校正方法。 3.掌握用频率特性法进行串联校正设计的思路和步骤。 二、基础知识

控制系统设计的思路之一就是在原系统特性的基础上,对原特性加以校正,使之达到要求的性能指标。最常用的经典校正方法有根轨迹法和频域法。而常用的串联校正装置有超前校正、滞后校正和超前滞后校正装置。本实验主要讨论在MATLAB环境下进行串联校正设计。

1.基于频率法的串联超前校正

超前校正装置的主要作用是通过其相位超前效应来改变频率响应曲线的形状,产生足够大的相位超前角,以补偿原来系统中元件造成的过大的相位滞后。因此校正时应使校正装置的最大超前相位角出现在校正后系统的开环截止频率

?c处。

例5-1:单位反馈系统的开环传递函数为G(s)?K,试确定串联校正装

s(s?1)置的特性,使系统满足在斜坡函数作用下系统的稳态误差小于0.1,相角裕度

r?450。

解:根据系统静态精度的要求,选择开环增益

1s2k1?s(s?1)ess?LimsE(s)?Lims?s?0s?0?0.1?K?10

取K?12,求原系统的相角裕度。 >>num0=12; den0=[2,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) %计算系统的相角裕度和幅值裕度,并绘制出

Bode图

grid; ans =

Inf 11.6548 Inf 2.4240

由结果可知,原系统相角裕度r?11.6,?c?2.4rad/s,不满足指标要求,系

0统的Bode图如图5-1所示。考虑采用串联超前校正装置,以增加系统的相角裕度。

确定串联装置所需要增加的超前相位角及求得的校正装置参数。

?c????0??(??450,?0为原系统的相角裕度,?取50,令?m??c)

??1?sin?m

1?sin?me=5; r=45; r0=pm1; phic=(r-r0+e)*pi/180; alpha=(1+sin(phic))/(1-sin(phic));

将校正装置的最大超前角处的频率?m作为校正后系统的剪切频率?c。则有:

20lgGc(j?c)G0(j?c)?0?G0(j?c)?图5-1 原系统的Bode图

1?

即原系统幅频特性幅值等于?20lg?时的频率,选为?c。

根据?m=?c,求出校正装置的参数T。即T?1?c?。

[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’]);

图5-2 系统校正前后的传递函数及Bode图

2.基于频率法的串联滞后校正

滞后校正装置将给系统带来滞后相角。引入滞后装置的真正目的不是为了提供一个滞后相角,而是要使系统增益适当衰减,以便提高系统的稳态精度。

滞后校正的设计主要是利用它的高频衰减作用,降低系统的截止频率,以便能使得系统获得充分的相位裕量。

例5-2:单位反馈系统的开环传递函数为G(s)?K,试确定

s(0.1s?1)(0.2s?1)串联校正装置的特性,使校正后系统的静态速度误差系数等于30/s,相角裕度

r?400,幅值裕量不小于10dB,截止频率不小于2.3rad/s。

解:根据系统静态精度的要求,选择开环增益

Kv?LimsG(s)?Lims?s?0s?0K?30?K?30

s(0.1s?1)(0.2s?1)利用MATLAB绘制原系统的bode图和相应的稳定裕度。

>>num0=30; den0=conv([1,0],conv([0.1,1],[0.2,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.5000 -17.2390 7.0711 9.7714

由结果可知,原系统不稳定,且截止频率远大于要求值。系统的Bode图如图5-3

所示,考虑采用串联超前校正无法满足要求,故选用滞后校正装置。

根据对相位裕量的要求,选择相角为???1800????(??50~100,??400)处的频率作为校正后系统的截止频率?c。确定原系统在新?c处的幅值衰减到0dB时所需的衰减量为?20lg?。一般取校正装置的转折频率分别为

图5-3 原系统的Bode图

1111?(~)?c和。 T510?Te=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]; denc=[ beit*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’,’相位裕量

图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

Matlab程序:

num0=24;den0=conv([1,1],conv([1,1],[1,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.3334 -29.1467 1.7322 2.7056 Bode图

--Go,-Gc,GoGc50幅值(db)0-50-110100101102)agnitude (dB)Phase (degMBode DiagramGm = -9.54 dB (at 1.73 rad/sec) , Pm = -29.1 deg (at 2.71 rad/sec)1000-1000-180-360-21010-1100101102Frequency (rad/sec)校正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]; denc=[ beit*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 =

11.4062 s + 1 ------------- 116.386 s + 1

校正之后的系统开环传递函数为: num/den =

273.75 s + 24

---------------------------------------------------------

116.386 s^4 + 350.1579 s^3 + 352.1579 s^2 + 119.386 s + 1 图如下:

--Go,-Gc,GoGc50幅值(db)0-50-100-1100100101102相位(0)-100-200-300-1100121010频率(rad/sec)10

K,试设计

s(s?1)(s?2)3.某单位负反馈控制系统的开环传递函数为G(s)?一滞后-超前校正装置,使校正后系统的静态速度误差系数Kv?10s?1,相位裕量

??500,增益裕量20lgKg?10dB。

由Kv?10s?1可知k=20

Matlab程序:

num0=20; den0=conv([1,0],conv([1,1],[1,2])); 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.3000 -28.0814 1.4142 2.4253 Bode图:

Bode DiagramGm = -10.5 dB (at 1.41 rad/sec) , Pm = -28.1 deg (at 2.43 rad/sec)100Magnitude (dB)Phase (deg)0-100-90-135-180-225-270-21010-1100101102Frequency (rad/sec)

选择原系统?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线的交点分别为超前校正部分的两个转折频率。 num0=20; den0=conv([1,0],conv([1,1],[1,2])); 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)

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('D£?y??oóμ??μí3?a?·′?μYoˉêy?a:'); 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(['D£?yoó£o·ù?μ?£á?=',num2str(20*log10(gm)),'db','?à???£á?=',num2str(pm),'0']);

--Go,-Gc,GoGc50幅值(db)0-50-110100101102校正后:幅值裕量=12.3215db相位裕量=48.518901000相位(0)-100-200-300-1100121010频率(rad/sec)10

四、实验心得

通过本节课的实验,从直观上增加了对线性系统串联校正的理解,从而加深了线性系统校正的理论知识,掌握了控制系统频域范围内的分析校正方法,学会了用频率特性法进行串联校正设计的思路和步骤。

本文来源:https://www.bwwdw.com/article/xzz.html

Top