已知单位负反馈系统的开环传递函数,试用频率法设计串联滞后—超前校正装置,使系统的相角裕量,静态速度误差系数。
4.1求开环系数
根据静态速度误差系数可求出K0=1600,并列写G(s)函数。
(1)
4.2利用MATLAB求出G(s)函数相角裕量
clc;clear;Kv=20;K0=Kv*2*40;% 建立数学模型num=K0;den=conv([1,0],conv([1 2],[1 40]));G=tf(num,den);%原开环传递函数[gm,pm,wcg,wcp]=margin(G) %求校正前的相位裕度pm
由运行结果可知原传递函数相角裕量为9.3528o,小于要求的大于40 o。系统虽然稳定,但稳定裕度较小。因此需要使用超前校正提高相角裕量。
4.3串联超前校正的原理及步骤
原理:串联超前校正就是将超前校正装置串联到被校正系统的前向通道中,如图所示。利用超前网络的相角超前特性,使最大超前角叠加在校正以后系统的截止频率处,以获得满意的穿越频率和相位裕度,从而改善系统的动态性能如图所示。串联校正结构简单,开环传递函数是对象传递函数Gp(s)和校正装置传递函数Gc(s)的乘积。在伯德图上,传递函 数的相乘运算或相除运算比较容易,所以串联校正的分析比较简单,参数选择比较容易, 因而也是工程校正中常用的控制系统结构
步骤:
1)根据系统误差要求确定其开环放大倍数K。
2)根据确定的开环放大倍数K,绘制待校正系统的对数频率特性L(ω)和φ(w)曲线并确定其穿越频率 ω。和相角稳定裕度 γ。
3)根据性能指标要求的相位裕度y'和实际系统的相位裕度γ,确定最大超前相角
4)根据所确定的 φm,计算出α值。
5)在待校正系统对数幅频曲线L(ω)上找到幅频值为-10lga 的点,并选定该点的频率作为超前校正装置的ωm,则在该点处L。(ω)与L(ω)的代数和为0dB,即该点频率也就是校正后系统的穿越频率
6)根据选定的ωm„确定校正装置的转折频率,并画出校正装置的对数频率特性Lc(ω)。
7)画出校正后系统的对数频率特性曲线L'(ω),并校验系统的相位裕度是否满足要求,如果不满足要求,则增大,从步骤3)开始重新计算。
4.4根据设计相角余量设计φm,以及参数a
phym=50-pm+20; %相角裕度期望值50,增加20的余量,根据指标求出φmphi=phym*pi/180; %转弧度 a=(1+sin(phi))/(1-sin(phi)) %利用φm=arcsin(a-1/a+1)求得a
a = 14.5785
4.5求超前校正函数
为了使校正后ωc=ωm,ωm 必须按照
mm=-10*log10(a); %计算-10 lga[mag,phase,w]=bode(num,den); %利用伯德图得到幅值向量magmag_db=20*log10(mag); %将幅值转换为分贝值wc=spline(mag_db,w,mm); %计算出当幅值为mm时的频率T=1/(wc*sqrt(a)); %利用T与a关系求出Tp=a*T;nk=[p,1];dk=[T,1]; %求出加入的校正装置Gc=tf(nk,dk)
串联校正函数为:
4.6求出校正后函数以及相角余量
串联校正后相角裕量为53.3868满足大于40的要求。截止角频率为12.0113rad/s。且对比校正前后稳定余量明显提高。
GGc=G*Gc; %校正后传递函数[gm1,pm1,wcg1,wcp1]=margin(GGc)%校正后相角余量
校正前margin数据 校正后margin数据
通过参数对比可知系统稳定性参数全部增强。串联校正后相角裕量为53.3868满足大于40的要求。
4.7系统稳定性分析4.7.1绘制校正前后开环系统Bode图
% 绘制校正前后开环系统Bode图figure(1);bode(G,'b');hold on;bode(GGc,'r');grid;legend('校正前开环系统Bode图','校正后开环系统Bode图');set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);title('校正前后系统Bode图','FontSize',15);
矫正前幅值裕度为2.1,相角裕度为9.3528;串联超前矫正后幅值裕度为6.383,相角裕度为53.3868。矫正前后系统都稳定,但矫正后系统稳定裕度增强。
4.7.2绘制校正前后系统根轨迹
% 绘制校正前后系统根轨迹figure(2);rlocus(G)title('校正前根轨迹','FontSize',15);figure(3);rlocus(GGc)title('校正后根轨迹','FontSize',15);
由根轨迹可以看出,矫正前系统稳定范围较小,Gain取值范围在(0~2.05);校正后系统稳定范围明显增强Gain取值范围在(0~6.36);
4.7.3绘制校正前后开环系统Nyquist图
% 绘制校正前后系统Nyquist图figure(4);nyquist(G);hold on;nyquist(GGc);grid;legend('校正前开环系统Nyquist图','校正后开环系统Nyquist图');set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);title('校正前后系统Nyquist','FontSize',15);
显然,系统开环传递函数的Nyquist图没有包围点(-1,j0),且其系统的开环传递函数极点全部位于s平面的左半部(即无不稳定极点),所以根据奈奎斯特稳定判据可知,闭环系统稳定。因此矫正前后系统都稳定。
4.7.4闭环系统特征根
%%求闭环传递函数及极点%%%%%%%%%%%%G_bf_close=feedback(G,1) % 校正前闭环传递函数G_af_close=feedback(GGc,1) % 校正后闭环传递函数G_bf_close_roots=roots([1,42,80,1600])% 校正前闭环传递函数极点G_af_close_roots=roots([0.0218036717402621,1.91575421309101,43.7442937392210,588.582553904930,1600])% 校正后闭环传递函数极点
校正前闭环传递函数有三个极点,都位于左半平面;校正后闭环传递函数有4个极点,都位于左半平面。矫正前后系统都稳定,但矫正后实部远离虚轴,稳定性增强。
4.7.5稳定性总结
从伯德图、根轨迹、奈奎斯特曲线以及闭环系统极点四个方面证明了矫正前后系统都是稳定的,但矫正后系统稳定性增加。
4.8时域动态分析4.8.1求闭环传递函数稳态误差
%时域特性分析err_bf=1-dcgain(G_bf_close)%求校正前闭环系统稳态误差err_af=1-dcgain(G_af_close)%求校正后闭环系统稳态误差
校正前稳态误差为0 校正后稳态误差为0
矫正前后稳态误差都为0,矫正后没有改变系统误差特性。
4.8.2画出对应的阶跃响应曲线
stepinfo_bf=stepinfo(G_bf_close)stepinfo_af=stepinfo(G_af_close)% 绘制单位阶跃响应figure(5);step(G_af_close,'b');hold on;step(G_bf_close,'r');grid;legend('校正后闭环系统阶跃响应','校正前闭环系统阶跃响应');set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);title('校正前后系统阶跃响应','FontSize',15);
结合阶跃信息和阶跃波形可知:1、矫正前系统阶跃上升时间为0.1802,矫正后为0.0949;矫正前调节时间为7.6661,矫正后调节时间为0.4540。证明矫正后动态特性明显增加。2、矫正前超调量为75.9477%,矫正后超调量为16.66%,系统的超调量明显降低,符合实际需求。3、由图和具体参数可知矫正后系统时域动态特性明显增强
4.9全部函数代码
clc;clear;Kv=20;K0=Kv*2*40;% 建立数学模型num=K0;den=conv([1,0],conv([1 2],[1 40]));G=tf(num,den)%原开环传递函数[gm,pm,wcg,wcp]=margin(G) %求校正前的相位裕度pmdpm=50-pm+20; %相角裕度期望值40,增加15的余量,根据性能指标求出φmphi=dpm*pi/180; a=(1+sin(phi))/(1-sin(phi))%利用φm=arcsin(a-1/a+1)求得a mm=-10*log10(a); %计算-10 lga[mag,phase,w]=bode(num,den); %利用伯德图得到幅值向量magmag_db=20*log10(mag); %将幅值转换为分贝值wc=spline(mag_db,w,mm) %计算出当幅值为mm时的频率T=1/(wc*sqrt(a)); %利用T与a关系求出Tp=a*T;nk=[p,1];dk=[T,1]; %求出加入的校正装置Gc=tf(nk,dk) GGc=G*Gc %校正后传递函数[gm1,pm1,wcg1,wcp1]=margin(GGc)%校正后相角余量% 绘制校正前后开环系统Bode图figure(1);bode(G,'b');hold on;bode(GGc,'r');grid;legend('矫正1','345');set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);title('校正前后系统Bode图','FontSize',15);% 绘制校正前后系统根轨迹figure(2);rlocus(G)title('校正前根轨迹','FontSize',15);figure(3);rlocus(GGc)title('校正后根轨迹','FontSize',15);% 绘制校正前后系统Nyquist图figure(4);nyquist(G);hold on;nyquist(GGc);grid;legend('校正前开环系统Nyquist图','校正后开环系统Nyquist图');set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);title('校正前后系统Nyquist','FontSize',15);%%求闭环传递函数及极点%%%%%%%%%%%%G_bf_close=feedback(G,1) % 校正前闭环传递函数G_af_close=feedback(GGc,1) % 校正后闭环传递函数G_bf_close_roots=roots([1,42,80,1600])% 校正前闭环传递函数极点G_af_close_roots=roots([0.0218036717402621,1.91575421309101,43.7442937392210,588.582553904930,1600])% 校正后闭环传递函数极点%时域特性分析stepinfo_bf=stepinfo(G_bf_close)stepinfo_af=stepinfo(G_af_close)err_bf=1-dcgain(G_bf_close)%求校正前闭环系统稳态误差err_af=1-dcgain(G_af_close)%求校正后闭环系统稳态误差% 绘制单位阶跃响应figure(5);step(G_af_close,'b');hold on;step(G_bf_close,'r');grid;legend('校正后闭环系统阶跃响应','校正前闭环系统阶跃响应','FontName', 'Microsoft YaHei');set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);title('校正前后系统阶跃响应','FontSize',15,'FontName', 'Microsoft YaHei');% 绘制校正前后系统Nyquist图
五、心得体会
4.1求开环系数
根据静态速度误差系数可求出K0=1600,并列写G(s)函数。
(1)
4.2利用MATLAB求出G(s)函数相角裕量
clc;clear;Kv=20;K0=Kv*2*40;% 建立数学模型num=K0;den=conv([1,0],conv([1 2],[1 40]));G=tf(num,den);%原开环传递函数[gm,pm,wcg,wcp]=margin(G) %求校正前的相位裕度pm
由运行结果可知原传递函数相角裕量为9.3528o,小于要求的大于40 o。系统虽然稳定,但稳定裕度较小。因此需要使用超前校正提高相角裕量。
4.3串联超前校正的原理及步骤
原理:串联超前校正就是将超前校正装置串联到被校正系统的前向通道中,如图所示。利用超前网络的相角超前特性,使最大超前角叠加在校正以后系统的截止频率处,以获得满意的穿越频率和相位裕度,从而改善系统的动态性能如图所示。串联校正结构简单,开环传递函数是对象传递函数Gp(s)和校正装置传递函数Gc(s)的乘积。在伯德图上,传递函 数的相乘运算或相除运算比较容易,所以串联校正的分析比较简单,参数选择比较容易, 因而也是工程校正中常用的控制系统结构
步骤:
1)根据系统误差要求确定其开环放大倍数K。
2)根据确定的开环放大倍数K,绘制待校正系统的对数频率特性L(ω)和φ(w)曲线并确定其穿越频率 ω。和相角稳定裕度 γ。
3)根据性能指标要求的相位裕度y'和实际系统的相位裕度γ,确定最大超前相角
4)根据所确定的 φm,计算出α值。
5)在待校正系统对数幅频曲线L(ω)上找到幅频值为-10lga 的点,并选定该点的频率作为超前校正装置的ωm,则在该点处L。(ω)与L(ω)的代数和为0dB,即该点频率也就是校正后系统的穿越频率
6)根据选定的ωm„确定校正装置的转折频率,并画出校正装置的对数频率特性Lc(ω)。
7)画出校正后系统的对数频率特性曲线L'(ω),并校验系统的相位裕度是否满足要求,如果不满足要求,则增大,从步骤3)开始重新计算。
4.4根据设计相角余量设计φm,以及参数a
phym=50-pm+20; %相角裕度期望值50,增加20的余量,根据指标求出φmphi=phym*pi/180; %转弧度 a=(1+sin(phi))/(1-sin(phi)) %利用φm=arcsin(a-1/a+1)求得a
a = 14.5785
4.5求超前校正函数
为了使校正后ωc=ωm,ωm 必须按照
mm=-10*log10(a); %计算-10 lga[mag,phase,w]=bode(num,den); %利用伯德图得到幅值向量magmag_db=20*log10(mag); %将幅值转换为分贝值wc=spline(mag_db,w,mm); %计算出当幅值为mm时的频率T=1/(wc*sqrt(a)); %利用T与a关系求出Tp=a*T;nk=[p,1];dk=[T,1]; %求出加入的校正装置Gc=tf(nk,dk)
串联校正函数为:
4.6求出校正后函数以及相角余量
串联校正后相角裕量为53.3868满足大于40的要求。截止角频率为12.0113rad/s。且对比校正前后稳定余量明显提高。
GGc=G*Gc; %校正后传递函数[gm1,pm1,wcg1,wcp1]=margin(GGc)%校正后相角余量
校正前margin数据 校正后margin数据
通过参数对比可知系统稳定性参数全部增强。串联校正后相角裕量为53.3868满足大于40的要求。
4.7系统稳定性分析4.7.1绘制校正前后开环系统Bode图
% 绘制校正前后开环系统Bode图figure(1);bode(G,'b');hold on;bode(GGc,'r');grid;legend('校正前开环系统Bode图','校正后开环系统Bode图');set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);title('校正前后系统Bode图','FontSize',15);
矫正前幅值裕度为2.1,相角裕度为9.3528;串联超前矫正后幅值裕度为6.383,相角裕度为53.3868。矫正前后系统都稳定,但矫正后系统稳定裕度增强。
4.7.2绘制校正前后系统根轨迹
% 绘制校正前后系统根轨迹figure(2);rlocus(G)title('校正前根轨迹','FontSize',15);figure(3);rlocus(GGc)title('校正后根轨迹','FontSize',15);
由根轨迹可以看出,矫正前系统稳定范围较小,Gain取值范围在(0~2.05);校正后系统稳定范围明显增强Gain取值范围在(0~6.36);
4.7.3绘制校正前后开环系统Nyquist图
% 绘制校正前后系统Nyquist图figure(4);nyquist(G);hold on;nyquist(GGc);grid;legend('校正前开环系统Nyquist图','校正后开环系统Nyquist图');set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);title('校正前后系统Nyquist','FontSize',15);
显然,系统开环传递函数的Nyquist图没有包围点(-1,j0),且其系统的开环传递函数极点全部位于s平面的左半部(即无不稳定极点),所以根据奈奎斯特稳定判据可知,闭环系统稳定。因此矫正前后系统都稳定。
4.7.4闭环系统特征根
%%求闭环传递函数及极点%%%%%%%%%%%%G_bf_close=feedback(G,1) % 校正前闭环传递函数G_af_close=feedback(GGc,1) % 校正后闭环传递函数G_bf_close_roots=roots([1,42,80,1600])% 校正前闭环传递函数极点G_af_close_roots=roots([0.0218036717402621,1.91575421309101,43.7442937392210,588.582553904930,1600])% 校正后闭环传递函数极点
校正前闭环传递函数有三个极点,都位于左半平面;校正后闭环传递函数有4个极点,都位于左半平面。矫正前后系统都稳定,但矫正后实部远离虚轴,稳定性增强。
4.7.5稳定性总结
从伯德图、根轨迹、奈奎斯特曲线以及闭环系统极点四个方面证明了矫正前后系统都是稳定的,但矫正后系统稳定性增加。
4.8时域动态分析4.8.1求闭环传递函数稳态误差
%时域特性分析err_bf=1-dcgain(G_bf_close)%求校正前闭环系统稳态误差err_af=1-dcgain(G_af_close)%求校正后闭环系统稳态误差
校正前稳态误差为0 校正后稳态误差为0
矫正前后稳态误差都为0,矫正后没有改变系统误差特性。
4.8.2画出对应的阶跃响应曲线
stepinfo_bf=stepinfo(G_bf_close)stepinfo_af=stepinfo(G_af_close)% 绘制单位阶跃响应figure(5);step(G_af_close,'b');hold on;step(G_bf_close,'r');grid;legend('校正后闭环系统阶跃响应','校正前闭环系统阶跃响应');set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);title('校正前后系统阶跃响应','FontSize',15);
结合阶跃信息和阶跃波形可知:1、矫正前系统阶跃上升时间为0.1802,矫正后为0.0949;矫正前调节时间为7.6661,矫正后调节时间为0.4540。证明矫正后动态特性明显增加。2、矫正前超调量为75.9477%,矫正后超调量为16.66%,系统的超调量明显降低,符合实际需求。3、由图和具体参数可知矫正后系统时域动态特性明显增强
4.9全部函数代码
clc;clear;Kv=20;K0=Kv*2*40;% 建立数学模型num=K0;den=conv([1,0],conv([1 2],[1 40]));G=tf(num,den)%原开环传递函数[gm,pm,wcg,wcp]=margin(G) %求校正前的相位裕度pmdpm=50-pm+20; %相角裕度期望值40,增加15的余量,根据性能指标求出φmphi=dpm*pi/180; a=(1+sin(phi))/(1-sin(phi))%利用φm=arcsin(a-1/a+1)求得a mm=-10*log10(a); %计算-10 lga[mag,phase,w]=bode(num,den); %利用伯德图得到幅值向量magmag_db=20*log10(mag); %将幅值转换为分贝值wc=spline(mag_db,w,mm) %计算出当幅值为mm时的频率T=1/(wc*sqrt(a)); %利用T与a关系求出Tp=a*T;nk=[p,1];dk=[T,1]; %求出加入的校正装置Gc=tf(nk,dk) GGc=G*Gc %校正后传递函数[gm1,pm1,wcg1,wcp1]=margin(GGc)%校正后相角余量% 绘制校正前后开环系统Bode图figure(1);bode(G,'b');hold on;bode(GGc,'r');grid;legend('矫正1','345');set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);title('校正前后系统Bode图','FontSize',15);% 绘制校正前后系统根轨迹figure(2);rlocus(G)title('校正前根轨迹','FontSize',15);figure(3);rlocus(GGc)title('校正后根轨迹','FontSize',15);% 绘制校正前后系统Nyquist图figure(4);nyquist(G);hold on;nyquist(GGc);grid;legend('校正前开环系统Nyquist图','校正后开环系统Nyquist图');set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);title('校正前后系统Nyquist','FontSize',15);%%求闭环传递函数及极点%%%%%%%%%%%%G_bf_close=feedback(G,1) % 校正前闭环传递函数G_af_close=feedback(GGc,1) % 校正后闭环传递函数G_bf_close_roots=roots([1,42,80,1600])% 校正前闭环传递函数极点G_af_close_roots=roots([0.0218036717402621,1.91575421309101,43.7442937392210,588.582553904930,1600])% 校正后闭环传递函数极点%时域特性分析stepinfo_bf=stepinfo(G_bf_close)stepinfo_af=stepinfo(G_af_close)err_bf=1-dcgain(G_bf_close)%求校正前闭环系统稳态误差err_af=1-dcgain(G_af_close)%求校正后闭环系统稳态误差% 绘制单位阶跃响应figure(5);step(G_af_close,'b');hold on;step(G_bf_close,'r');grid;legend('校正后闭环系统阶跃响应','校正前闭环系统阶跃响应','FontName', 'Microsoft YaHei');set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);title('校正前后系统阶跃响应','FontSize',15,'FontName', 'Microsoft YaHei');% 绘制校正前后系统Nyquist图
五、心得体会