内容发布更新时间 : 2024/11/5 19:39:50星期一 下面是文章的全部内容请认真阅读。
中北大学
机械工程与自动化学院
实验指导书
课程名称:《机械工程控制基础》 课程代号:02020102
适用专业:机械设计制造及其自动化 实验时数:4学时 实 验 室:数字化实验室 实验内容:1.系统时间响应分析
2.系统频率特性分析
机械工程系
2013.11
实验一 系统时间响应分析
实验课时数:2学时 实验性质:设计性实验 实验室名称:数字化实验室
一、实验项目设计内容及要求
1.试验目的
本实验的内容牵涉到教材的第3、4、5章的内容。本实验的主要目的是通过试验,能够使学生进一步理解和掌握系统时间响应分析的相关知识,同时也了解频率响应的特点及系统稳定性的充要条件。
2.试验内容
完成一阶、二阶和三阶系统在单位脉冲和单位阶跃输入信号以及正弦信号作用下的响应,求取二阶系统的性能指标,记录试验结果并对此进行分析。
3.试验要求
学习教材《机械工程控制基础(第5版)》第2、3章有关MATLAB的相关内容,要求学生用MATLAB软件的相应功能,编程实现一阶、二阶和三阶系统在几种典型输入信号(包括单位脉冲信号、单位阶跃信号、单位斜坡信号和正弦信号)作用下的响应,记录结果并进行分析处理:对一阶和二阶系统,要求用试验结果来分析系统特征参数对系统时间响应的影响;对二阶系统和三阶系统的相同输入信号对应的响应进行比较,得出结论。
4.试验条件
利用机械工程与自动化学院数字化试验室的计算机,根据MATLAB软件的功能进行简单的编程来进行试验。
二、具体要求及实验过程
1.系统的传递函数及其MATLAB表达 (1)一阶系统 传递函数为:G(s)?K Ts?1传递函数的MATLAB表达: num=[k];den=[T,1];G(s)=tf(num,den) (2)二阶系统 传递函数为:G(s)?wn2s?2?wns?wn22
传递函数的MATLAB表达: num=[wn2];den=[1,2?wn,wn^2];G(s)=tf(num,den) (3)任意的高阶系统 传递函数为:G(s)?b0sm?b1sm?1???bm?1s?bma0s?a1snn?1???an?1s?an
传递函数的MATLAB表达:
num=[b0,b1,?bm?1,bm];den=[a0,a1,?an?1,an];G(s)=tf(num,den)
若传递函数表示为:G(s)?K(s?z0)(s?z1)?(s?zm)
(s?p0)(s?p1)?(s?pn)则传递函数的MATLAB表达:
z=[z0,z1,?,zm];p=[p0,p1,?,pn];K=[K];G(s)=zpk(z,p,k) 2.各种时间输入信号响应的表达
(1)单位脉冲信号响应:[y,x]=impulse[sys,t] (2)单位阶跃信号响应:[y,x]=step[sys,t] (3)任意输入信号响应:[y,x]=lsim[sys,u,t]
其中,y为输出响应,x为状态响应(可选);sys为建立的模型;t为仿真时间区段(可选) 试验方案设计可参考教材相关内容,相应的M程序可参考(杨叔子主编的《机械工程控制基础》第五版)提供的程序,在试验指导教师的辅导下掌握M程序的内容和格式要求,并了解M程序在MATLAB软件中的加载和执行过程。
3.实验的具体内容
(1)完成一阶(选用不同的时间常数T)、二阶系统(选择不同的阻尼比?和无阻尼固有频率wn,而且阻尼比?要有欠阻、临界阻尼和过阻尼三种情况)在典型输入信号(单位脉冲、单位阶跃、正弦信号)作用下所对应的时间响应实验;
(2)完成二阶系统性能指标的求取(设计的二阶系统必须是欠阻尼的二阶系统)。 (3)完成一稳定三阶系统的单位阶跃响应的实验;(选作)
(4)完成一个稳定的三阶系统和一个不稳定的三阶系统的单位脉冲响应,比较两响应曲线的差别并说明原因。(选作)
4.实验分析内容
(1)分析时间常数对一阶系统时间响应的影响; (2)分析参数对二阶系统的时间响应的性能指标的影响; (3)分析系统稳定性与系统特征值的关系; (4)了解系统频率响应的特点。
三、实验参考程序
程序1: 求取一阶系统单位脉冲和单位阶跃响应的响应曲线
clear all;
t=[0:0.001:0.2]; %
nG=[1];
tao=0.0125;dG=[tao 1];G1=tf(nG,dG); tao=0.025;dG=[tao 1];G2=tf(nG,dG); tao=0.05;dG=[tao 1];G3=tf(nG,dG) %
[y1,T]=impulse(G1,t);[y1a,T]=step(G1,t); [y2,T]=impulse(G2,t);[y2a,T]=step(G2,t); [y3,T]=impulse(G3,t);[y3a,T]=step(G3,t); %
subplot(121),plot(T,y1,'--',T,y2,'-.',T,y3,'-') legend('tao=00125','tao=0.025','tao=0.05') xlabel('t(sec)'),ylabel('x(t)');grid on;