机械工程控制基础实验指导书.docx
《机械工程控制基础实验指导书.docx》由会员分享,可在线阅读,更多相关《机械工程控制基础实验指导书.docx(11页珍藏版)》请在冰点文库上搜索。
机械工程控制基础实验指导书
机械工程控制基础
计算机辅助分析实验指导书
一、
实验目的
本实验教学是《机械工程控制基础》课程教学的重要组成部分,属课内实验,其目的是:
1)使学生理解掌握自动控制系统经典的分析、设计方法及基本理论,巩固课堂所学知识,为工程实践打好基础;
2)培养学生的培养学生的分析问题和解决问题的能力,使学生学会基本的matlab软件使用方法。
二、matlab简介
MATLAB是由MathWorks公司推出的用于数值计算和图形处理的科学计算系统环境。
MATLAB是英文MATrixLABoratory(矩阵实验室)的缩写。
它集中了日常数学处理的各种功能,包括高效的数值计算、矩阵计算、信号处理和图形生成等功能。
在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。
MATLAB提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成的矩阵对象时,不要求作明确的维数说明。
与利用C语言或FORTRAN语言作数值计算的程序设计相比,利用MATLAB可以节省大量的编程时间。
在一些大学里,MATLAB正成为对数值线性代数以及其他一些高等应用数学课程进行辅助教学的有益工具。
在工程界,MATLAB被用来解决一些实际课题和数学模型问题,进行对象系统仿真。
1.MATLAB系统的基本组成:
(1)MATLAB的语言体系
MATLAB是高层次的矩阵/数组语言,具有条件控制、函数调用、数据结构、输入输出、面向对象等程序语言特性。
MATLAB进行数值计算的基本处理单位是复数数组(或称阵列),并且数组维数是自动按照规则确定的,这使得MATLAB程序被高度向量化,易于用户读写。
(2)MATLAB工作环境
这是对MATLAB提供给用户使用的管理工具的总称,包括帮助系统、工作内存管理、指令和函数管理、搜索路径管理、操作系统、程序调试和性能剖析工具等。
(3)图形句柄系统
这是MATLAB图形系统的基础,包括完成2D和3D的数据图示、图象处理、动画生成、图形显示等功能的高层MATLAB命令,也包括用户对图形图象等对象进行特性控制的低层MATLAB命令,以及开发GUI应用程序的各种工具。
(4)MATLAB数学函数库
这是对MATLAB使用的各种数学算法的总称,包括各种初等函数的算法,也包括矩阵运算、矩阵分析等高成次数学算法。
MATLAB数值计算函数库的特点是其内容的基础和通用性,正是由于这一点,它才能适应了自动控制、信号处理、动力工程、电力系统等应用学科的需要,进而开发出一系列应用工具包。
(5)MATLAB应用程序接口
这是MATLAB为用户提供的一个函数库,使得用户能够在MATLAB环境中使用C程序或FORTRAN程序,包括从MATLAB中调用子程序(动态链接),读写MAT文件的功能。
2.动态系统仿真工具SIMULINK
SIMULINK是MathWorks公司开发的又一个产生重大影响的软件产品。
它的前生是SIMULIB问世于20世纪90年代初,以工具库的形式挂接在MATLAB3.5版上。
SIMULINK不能独立运行,只能在MATLAB环境中运行。
SIMULINK由模块库、模型构造及分析指令、演示程序等三部分组成。
在SIMULINK环境中,对于由微分方程或差分方程描写的动态系统,用户无须编写文本形式的程序,而只要通过一些简单的鼠标操作就可以形象地建立起被研究系统的数学模型,并可进行仿真和分析研究。
举例来说,面对一个由微分方程描写的动态系统,用户有如下三个研究途径:
①直接利用OLESolver数值解算指令编写表示该系统的M文件;②利用符号计算指令编写相应的程序;③在SIMULINK环境中建立了系统的方块图模型。
三者比较而言,SIMULINK是最合适、最方便、最直观的研究环境。
在SIMULINK中,那些以往不得不忽略的非线性、随机干扰等因素也十分容易研究。
3.MATLAB的使用方法
(1)MATLAB指令窗简介
MATLAB的工作环境由在Win98中启动MATLAB.exe创建,该程序驻留在文件夹MATLAB\bin\中。
它的图标是
只要双击该图标,就会自动创建如图3.1所示的MATLAB指令窗(CommandWindow)。
图3.1在中文Windows平台上的MATLAB指令窗
MATLAB指令窗是标准的Windows界面,因此,它的使用方法也是标准的,即可以通过工作菜单中的各种选项来实现对工作窗中内容的操作。
在配以工具条,用户可以方便的完成各种工作。
在指令窗中,用户可以按照MATLAB的规则和语法,完成各种数值计算功能。
(2)M文件的编辑、存储和建立
创建新M文件,启动MATLABEditor/Debugger的三种操作方法
●在MATLAB指令窗运行edit。
●点击MATLAB指令窗工具条上的NewFile图标。
●利用MATLAB指令窗的[File:
New]子菜单,在从右拉菜单中选择”M—file”项。
运用上述三种方法之一,即可以打开MATLABEditor/Debugger窗口,如图3.2所示
图3.2MATLABEditor/Debugger窗口
其窗口名为untitled1,用户可以在空白窗口中编写程序。
打开以有的M文件的三种操作方法
●在MATLAB指令窗运行editfilename.。
filename是待打开的文件名。
可以不带扩展名。
●点击MATLAB指令窗工具条上的open图标,在从弹出的对话框中点选所需打开的文件。
●选中MATLAB指令窗的[File:
利用MATLAB指令窗的[File:
Open]子菜单,在从弹出的对话框中点选所需打开的文件。
M文件的保存方法
点击编辑器工具条上的save图标,也可选取编辑器的[File:
Save]子菜单。
若是以有文件,则上诉操作便完成了保存工作;若是新文件,则会弹出“保存”文件对话框,经过存放目录和文件名的选择,才可完成保存。
(3)模型文件(Model)的操作
在MATLAB指令窗运行指令simulink,或点击指令窗工具栏上相应的图标,便打开如图3.3所示的SINULINK模块浏览器(SimulinkLibraryBrowser)。
图3.3SINULINK模块浏览器
在点击SINULINK库前的“+”(或双击库名),可看到SINULINK的各个子库(见图3.4)
图3.4SINULINK工具包的各个子库
采用相同的方法可看到各个子库下面所包含的各个模块。
点击“新建”图标,打开一个名为untitled的空白模型窗口,用鼠标指向所需的模块,按下鼠标左键,把它拖至untitled窗,就生成该模块的复制品。
采用类似方法,拷贝所需的模块到模型窗,在通过鼠标左键将各个模块之间用信号线连接,至此一个模型以建立完毕(如图3.5所示)。
图3.5模型窗口
点击模型窗中“仿真启动”图标,或选用菜单[Simulink:
Start],于是仿真开始。
双击scope模块,打开示波器可观察仿真结果(如图3.6所示)。
图3.6仿真结果波形
使用“存盘”图标、菜单[File:
Save]或[File:
SaveAs]可以实现对SIMULINK模型的存盘。
此外,SIMULINK模型还可以通过菜单[File:
Print]或者在MATLAB指令窗中利用print指令打印成文档。
Matlab的应用范围非常广泛,具体的使用方法,请参照《Matlab语言与控制系统仿真》和《《MATLAB程序设计教程》电子教案-2660》两本电子教案的内容进行学习。
三、实验内容
实验一、系统的时域特性分析
1、实验原理
由控制理论可知二阶系统的传递函数为:
在单位阶跃函数输入下,二阶系统的输出为
在单位脉冲函数输入下,二阶系统的输出为:
本实验的目的是用matlab.软件作出二阶系统的时域响应图,并分析系统特征参数的变化对系统动态特性的影响。
2、实验方法
传递函数的表示方法:
num=[b1,b2,…,bm,bm+1]
den=[a1,a2,…,an,an+1]
注意:
它们都是按s的降幂进行排列的
模型转换的函数包括:
residue:
传递函数模型与部分分式模型互换
ss2tf:
状态空间模型转换为传递函数模型
ss2zp:
状态空间模型转换为零极点增益模型
tf2ss:
传递函数模型转换为状态空间模型
tf2zp:
传递函数模型转换为零极点增益模型
zp2ss:
零极点增益模型转换为状态空间模型
zp2tf:
零极点增益模型转换为传递函数模型
求取系统单位阶跃响应:
step()
求取系统的冲激响应:
impulse()
具体用法请参照教科书或《Matlab语言与控制系统仿真》和《《MATLAB程序设计教程》电子教案-2660》两本电子教案的内容进行学习
3、练习
,令t=0,t=0.25,t=1,t=1.5,应用impulse函数,可以得到系统单位脉冲响应;应用step函数,得到系统单位阶跃响应。
并求取欠阻尼状态下系统的上升时间、峰值时间、最大超调量和调整时间。
实验二、系统的频域特性分析
1、实验原理
振荡环节的传递函数为
(4.22)
式中T为时间常数,
,为系统无阻尼自振频率。
振荡环节的频率特性为
实频特性为
(4.23)
虚频特性为
(4.24)
幅频特性为
(4.25)
相频特性为
(4.26)
本实验的目的是用matlab.软件作出二阶系统的频域响应图,并分析系统特征参数的变化对系统动态特性的影响。
2、实验方法
传递函数的表示方法:
num=[b1,b2,…,bm,bm+1]
den=[a1,a2,…,an,an+1]
注意:
它们都是按s的降幂进行排列的
模型转换的函数包括:
residue:
传递函数模型与部分分式模型互换
ss2tf:
状态空间模型转换为传递函数模型
ss2zp:
状态空间模型转换为零极点增益模型
tf2ss:
传递函数模型转换为状态空间模型
tf2zp:
传递函数模型转换为零极点增益模型
zp2ss:
零极点增益模型转换为状态空间模型
zp2tf:
零极点增益模型转换为传递函数模型
求取系统对数频率特性图(波特图):
bode()
求取系统奈奎斯特图(幅相曲线图或极坐标图):
nyquist()
具体用法请参照教科书或《Matlab语言与控制系统仿真》和《《MATLAB程序设计教程》电子教案-2660》两本电子教案的内容进行学习
3、练习
已知某系统的开环传递函数为:
要求:
绘制系统的BODE图和奈奎斯特曲线,判断闭环系统的稳定性。
实验一、系统的时域特性分析
Matlab源代码:
单位脉冲响应
单位阶跃响应
上升时间:
峰值时间:
最大超调量:
调整时间:
对系统响应的描述