资源描述:
《自动控制原理线性系统串联校正实验报告五..》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、武汉工程大学实验报告专业电气自动化班号指导教师姓名同组者无实验名称线性系统串联校正实验日期20140426第五次实验一、实验目的1.熟练掌握用MATLAB语句绘制频域曲线。2.掌握控制系统频域范围内的分析校正方法。3.掌握用频率特性法进行串联校正设计的思路和步骤。二、实验内容1.某单位负反馈控制系统的开环传递函数为,试设计一超前校正装置,使校正后系统的静态速度误差系数,相位裕量,增益裕量。解:取,求原系统的相角裕度。num0=20;den0=[1,1,0];w=0.1:1000;[gm1,pm1,wcg1,wcp1]=margin(num0,den0);[mag1,phase1]=bo
2、de(num0,den0,w);[gm1,pm1,wcg1,wcp1]margin(num0,den0)grid;ans=Inf12.7580Inf4.4165由结果可知,原系统相角裕度,,不满足指标要求,系统的Bode图如图5-1所示。考虑采用串联超前校正装置,以增加系统的相角裕度。图5-1原系统的Bode图由,可知:e=3;r=50;r0=pm1;phic=(r-r0+e)*pi/180;alpha=(1+sin(phic))/(1-sin(phic))得:alpha=4.6500[il,ii]=min(abs(mag1-1/sqrt(alpha)));wc=w(ii);T=1/(
3、wc*sqrt(alpha));num0=20;den0=[1,1,0];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
4、,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';'校正后:幅值裕量=',num2
5、str(20*log10(gm)),'db','相位裕量=',num2str(pm),'0'])图5-2系统校正前后的传递函数及Bode图num/den=0.35351s+1--------------0.076023s+1校正之后的系统开环传递函数为:num/den=7.0701s+20-----------------------------0.076023s^3+1.076s^2+s系统的SIMULINK仿真:校正前SIMULINK仿真模型:单位阶跃响应波形:校正后SIMULINK仿真模型:单位阶跃响应波形:分析:由以上阶跃响应波形可知,校正后,系统的超调量减小,调节时间变短,稳
6、定性增强。2、某单位负反馈控制系统的开环传递函数为,试设计一个合适的滞后校正网络,使系统阶跃响应的稳态误差约为0.04,相角裕量约为。解:根据系统静态精度的要求,选择开环增益K=1/0.04=25利用MATLAB绘制原系统的bode图和相应的稳定裕度。num0=25;den0=[1331];w=0.1:1000;[gm1,pm1,wcg1,wcp1]=margin(num0,den0);[mag1,phase1]=bode(num0,den0,w);[gm1,pm1,wcg1,wcp1]margin(num0,den0)grid;ans=0.3200-30.00451.73222.74
7、77由结果可知,原系统不稳定。系统的Bode图如图5-3所示,考虑采用串联超前校正无法满足要求,故选用滞后校正装置。图5-3原系统的Bode图num0=25;den0=[1331];w=0.1:1000;e=5;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