自动控制原理仿真实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一一阶惯性系统特性仿真分析
1 实验目的:熟悉仿真模块及参数设定方法,研究一阶惯性环节闭环传递函数参数T和K对系统单位阶跃响应性能的影响。
2 实验方法:利用SIMULINK建立系统结构图。见图1。
3 实验内容:按照仿真图要求,从SIMULINK库中取出相应的模块,并连接闭合的系统结构图。闭环传函G(s)=K/(Ts+1),K=1,T=0.2秒,观察阶跃相应曲线。重复改变T 分别为0.5秒、0.8秒观察阶跃相应曲线的变化。计算一阶系统的动态响应指标tr和ts。
4 实验步骤:启动计算机,运行Matlab软件,启动Simulink程序,按照内容要求组装控制系统,做好实验准备。
5 实验结果分析及结论:
①求出一界系统单位阶跃响应函数表达式,计算T=0.2,0.5,0.8时的响应指标tr和ts。
② T逐渐增大时,上升时间tr和调节时间ts怎样变化?
③ T逐渐减小时,系统的闭环极点怎样变化?
④ T一定K增大时,系统的tr和ts怎样变化?闭环极点怎样变化?
⑤一界系统一定稳定吗?为什么?
⑥结论。
图1 一阶系统仿真
实验二二阶系统单位阶跃响应仿真分析
1 实验目的:学习利用SIMULINK库中的模块构成二阶系统的方法。分析二界系统的阻尼系数zhita对系统稳定性的影响。
2 实验方法:利用SIMULINK建立系统结构图。见图2。
3 实验内容:选择适当的仿真模块构成上述系统。令Wn=1。别选取zhita=1.5>1(过阻尼)、zhita=1(临界阻尼)、0 4 实验步骤:启动计算机,运行Matlab软件,启动Simulink程序,按照内容要求组装控制系统,做好实验准备。 5 实验结果分析及结论: ①zhita〉1,zhita=1,0 ② zhita=-1时,系统的单位阶跃响应曲线的走向如何? ③结论。 +++ 实验三二阶欠阻尼系统单位阶跃响应的仿真分析 1 实验目的:学习利用SIMULINK库中的模块构成二阶系统的方法,分析二界系统的阻尼系数zhita和自然频率Wn对过渡过程品质的影响。 2 实验方法:利用SIMULINK建立系统结构图。见图3。 3 实验内容:选择适当的模拟部件构成上述系统。令Wn=1、zhita=0.2、0.5、0.7观察系统的单位阶跃响应曲线,计算系统的动态响应指标tp、ts、Mp、ess(可使用程序验证)。 4 实验步骤:启动计算机,运行Matlab软件,启动Simulink程序,按照内容要求组装控制系统,做好实验准备。 5 实验结果分析及结论: ①求出系统的单位阶跃响应函数表达式。 ② Wn=1,zhita逐渐增大时,观察变化怎样变化? ③ Wn=1时,计算zhita=0.2,0.5,0.7时的动、稳态指标tp、ts、Mp、ess。 ④ Wn=1,zhita逐渐增大时,系统闭环极点怎样变化? ⑤试分析zhita一定,Wn逐渐增大或减少时,系统的单位阶跃响应曲线怎样变化?若对Wn变化不加限制,Wn的变化对系统的稳定性是否有影响? ⑥结论。 图3 二阶欠阻尼系统0<ζ<1仿真 附:二阶系统性能指标计算程序 二阶系统指标计算可按照下列计算程序计算,该程序在Matlab的M-files窗口编写,存盘后可在Command 窗口运行。运行时在Command窗口输入文件名后回车即可。 %******************Instance1求系统响应指标 ************************************** sys=zpk([],[0 -1 -5],10);%建立零极点增益型开环传递函数模型 sys=feedback(sys,1);%求闭环传递函数 step(sys);%传递函数sys的单位阶跃相应响应曲线 [num,den]=tfdata(sys,'v'); finalvalue=polyval(num,0)/polyval(den,0) [y,x,t]=step(num,den); [ymax,k]=max(y);%计算超调量 ymax=ymax %显示峰值 timetopeak=t(k);%计算峰值时间 percentovershoot=100*(ymax-finalvalue)/finalvalue;%显示超调量 %compute rise time n=1; while y(n)<0.1*finalvalue,n=n+1;end m=1; while y(m)<0.9*finalvalue,m=m+1;end q=1; while y(q)<0.5*finalvalue,q=q+1;end td=t(q) risetime=t(m)-t(n);%显示上升时间 tr=risetime tp=timetopeak %compute settling time l=length(t); while(y(l)>0.95*finalvalue&(y(l)<1.05*finalvalue)),l=l-1;end settling=t(l);%显示调节时间 ts=settling Mp=percentovershoot %******************Instance2传递函数多项式形式 ***************************************** clear num=18*[1,2];%传递函数分子 den=[1 40.4 391 150];%传递函数分母 printsys(num,den,'s');%求传递函数 mod=tf(num,den);%求传递函数 %SYS=([Z],[P],[K]) sys=zpk(-2,[-15,-25,-0.4],18); %由分子向量和分母向量求零点和极点 z=roots(num);p=roots(den); %******************Instance3求系统响应指标 ***************************************** clear global y t sys=tf(1.25,[1 1 0]); Gc=feedback(sys,1); step(Gc) [y,t]=step(Gc); [mp,tf]=max(y); ct=length(t); tm=max(t); yss=y(ct);