当前位置:文档之家› 自动控制原理仿真实验

自动控制原理仿真实验

实验一一阶惯性系统特性仿真分析
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<zhita=0.3<1(欠阻尼)、zhita=0(无阻尼振荡)、-1<zhita=-0.25<0(发散振荡)、 -1<zhita=-1.5(单调发散),观察系统的单位阶跃响应曲线。

4 实验步骤:启动计算机,运行Matlab软件,启动Simulink程序,按照内容要求组装控制系统,做好实验准备。

5 实验结果分析及结论:
①zhita〉1,zhita=1,0<zhita<1,zhita=0,-1<zhita<0时,系统的闭环极点在S平面的位置如何?系统处于何种状态?
② 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);
q=1;m=q-1;
while m<3,
for a=(tm/100):0.01:tm
j=[0:a:tm];
for i=1:length(j);
if (y(i+1)-y(i))<0&(y(i)-y(i-1))>0, m=m+1;
pm(m)=y(i);
tp(m)=t(i);
end
end
end
end
yss=y(ct);%系统响应稳态值
ess=1-yss %阶跃响应余差
b1=pm(1)-yss %阶跃响应第一正向波峰值
b2=pm(2)-yss %阶跃响应第一二正向波峰值
Mp=100*b1/yss %阶跃响应的超调量
n=b1/b2 %阶跃响应的衰减比
pusi=(b1-b2)/b1 %阶跃响应的衰减比率
T=(tp(2)-tp(1)) %阶跃响应的衰减比周期
f=1/T %阶跃响应的震荡频率
自动控制原理仿真实验指导书
热工仪表实验室
2003年10月。

相关主题