资源描述:
《控制工程基础 实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、成绩:《控制工程基础》课程实验报告班级:学号:5姓名:南京理工大学2015年1月《控制工程基础》课程仿真实验一、已知某单位负反馈系统的开环传递函数如下(25分)借助MATLAB和Simulink完成以下要求:(1)把G(s)转换成零极点形式的传递函数,判断开环系统稳定性。MATLAB程序:clear;num=[10];den=[1525];sys=tf(num,den);[Z,P,K]=tf2zp(num,den)零极点形式的传递函数:由于极点均在左半平面,所以开环系统稳定。(2)计算闭环特征根并判别系统的
2、稳定性,并求出闭环系统在0~10秒内的脉冲响应和单位阶跃响应,分别绘出响应曲线。闭环传递函数特征方程特征根由于根在左半平面,所以系统稳定。用simulink仿真:脉冲响应:结果:阶跃响应:结果:(1)当系统输入时,运用Simulink搭建系统并仿真,用示波器观察系统的输出,绘出响应曲线。曲线:一、(25分)某单位负反馈系统的开环传递函数为:频率范围(1)绘制频率响应曲线,包括Bode图和幅相曲线(Nyquist图)。Matlab语句:clear;num=[626620];den=[13422];sys=tf
3、(num,den);bode(sys,{0.1,100})Bode图:Matlab语句:clear;num=[626620];den=[13422];sys=tf(num,den);[z,p,k]=tf2zp(num,den)nyquist(sys)Nyquist图:(1)根据Nyquist判据判定系统的稳定性。P=0N=0Z=P+N=0所以系统稳定(2)根据Bode图求出系统的截止频率以及幅值裕度与相位裕度。Matlab语句:clear;num=[626620];den=[13422];sys=tf(nu
4、m,den)margin(sys)图形:由图可得截止频率=6.87rad/s,幅值裕度无穷大,相位裕度为82.8deg一、(25分)某单位负反馈系统如下图所示,(1)当比例控制器增益K=1时,在Simulink中搭建系统,当输入为阶跃函数时,用示波器观察系统的输出,绘出响应曲线,并求出系统在阶跃输入下的超调量()和峰值时间()。Simulink仿真:结果:求超调量和峰值时间:程序如下:num=[10];den=[1510];[num2,den2]=cloop(num,den,-1)sys2=tf(num2,
5、den2);[y,t,x]=step(sys2)mp=max(y);tp=spline(y,t,mp)cs=length(t);yss=y(cs)ct=(mp-yss)/yss结果:系统阶跃响应的超调量为11.84%。系统的峰值时间tp为0.8393s(1)绘制当变化时,闭环系统的根轨迹。Matlab语句:clear;num=[10];den=[1510];sys=tf(num,den);[r,K]=rlocus(sys)rlocus(sys)根轨迹图:(2)根据以上根轨迹,为使闭环系统在阶跃输入下超调量且
6、稳态误差,确定控制器增益的范围。由稳态误差公式可知,要使ess<0.2,则K>4。而由下图可知,当K=3.92时,=30.2%>30%且随K增大而增大,所以不存在符合的K值。四、(25分)若某单位反馈控制系统的开环传递函数为(1)借助MATLAB和控制工具箱设计串联滞后校正网络,使校正后系统的静态速度误差系数,且相角裕度不低于。由题意得K=3,取相角裕度为50,利用matlab画出bode图Matlab程序:clear;num=[3];den=[0.51.510];sys=tf(num,den);margi
7、n(sys)Bode图:由上图得20log=14.5→=5.309,z=0.1*0.491=0.0491,p=z/=0.00924矫正后开环传递函数为验证此时的相位裕度和幅值裕度。Matlab程序如下:num=[3];den=[0.51.510];[num2,den2]=series(num,den,[20.3671],[108.2251]);G1=tf(num,den);G2=tf(num2,den2);figure(2);margin(G1);gridonholdonmargin(G2);gridonh
8、oldon[Gm1,Pm1,Wcg1,Wcp1]=margin(G1)[Gm2,Pm2,Wcg2,Wcp2]=margin(G2)结果如下:此时相角裕度为45度,符合要求。(2)绘制系统在校正前后的单位阶跃响应曲线,计算校正前后的时域性能指标(等)并进行对比分析。校正前的单位阶跃响应:Matlab程序如下:num=[3];den=[0.51.510];G1=tf(num,den);step(feedback(G1