




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
系统建模与仿真项目驱动设计报告 学 院:电气工程与自动化学院专业班级:自动化143班 学 号:2420142928学生姓名:李荣指导老师:杨国亮时 间:2016年6月10号34 / 36摘 要仿真技术是一门利用物理模型或数学模型模拟实际环境进行科学实验的技术,具有经济、可靠、实用、安全、灵活和可多次重复使用的优点。本文中将使用Matlab软件实现一个简单的控制系统仿真演示,可实现对一些连续系统的数字仿真、连续系统按环节离散化的数字仿真、采样控制系统的数字仿真以及系统的根轨迹、伯德图、尼克尔斯图和奈氏图绘制。本设计完成基本功能的实现,基于Matlab的虚拟实验仿真的建立和应用,培养了我们的兴趣,提高了我们的实践能力。关键字:Matlab;系统数字仿真;根轨迹;伯德图。目 录第一章 概述4 1.1 设计目的41.2 设计要求4 1.3 设计内容4第二章 Matlab简介6 2.1 Matlab的功能特点62.2 Matlab的基本操作6第三章 控制系统仿真设计83.1 控制系统的界面设计83.2 控制系统的输入模型设计93.3 欧拉法的Matlab实现123.4 梯形法的Matlab实现143.5 龙格-库塔法的Matlab实现153.6 双线性变换法的Matlab实现163.7 零阶保持器法的Matlab实现173.8 一阶保持器法的Matlab实现183.9 系统PID控制的Matlab实现193.10 系统根轨迹的绘制213.11系统伯德图的绘制223.12系统尼克尔斯图的绘制233.13系统奈氏图的绘制24第四章 附加功能的设计264.1 音乐播放器的设计264.2 实时时钟的设计26致谢28参考文献29第一章 概述1.1 设计目的(1) 熟悉MATLAB的常用交互界面与常用指令及其调用格式。(2) 掌握MATLAB的基本语法以及M文件的建立与基本操作。(3) 掌握MATLAB建立自动控制系统数学模型的方法。(4) 掌握实现连续系统数字仿真的方法。(5) 掌握实现连续系统离散化数字仿真的方法。(6) 掌握实现采样系统数字仿真的方法。(7) 掌握由根轨迹,伯德图,奈氏图等分析系统的稳定性的方法。1.2 设计要求控制系统的仿真演示具有以下几点要求:(1) 具有状态空间表达式、零极点形式、传递函数的三种数学模型,通过这三种模型输入系统的参数。(2) 能够用欧拉法、梯形法、龙格-库塔法绘制连续系统的输出响应曲线,同时能用PID控制器改善系统的性能。(3) 能够用双线性变换法、零阶保持器法、一阶保持器法绘制连续系统离散化的输出响应曲线,同时能用PID控制器改善系统的性能。(4) 能够绘制控制系统的根轨迹、伯德图、尼克尔斯图、奈氏图。便于分析系统的稳定性,频域。(5) 完成基本要求可增加附加功能,例如音乐播放器。(6) 整个仿真演示系统各功能互不干扰,正常运行。1.3 设计内容在进行Matlab GUI的设计时,考虑到各版本的兼容问题,本文未采用使用Guide建立GUI的方法,而是直接建立M文件,在文件中使用代码建立仿真系统所需的窗口和各控件。设计思路如下:(1) 在M文件中先建立界面窗口,再建立各控件,在建立这些控件时,首先将窗口和所有控件的可视性都关闭,当界面设计完毕时打开主界面的可视性,这样就不会出现一打开就出现画面卡顿的现象。(2) 调整所用控件的位置,使界面看起来美观。(3) 界面完成好之后,就是编写各控件的回调函数。(4) 在完成所有基本功能后,设计一些附加的功能。第二章 Matlab简介2.1 Matlab的功能特点MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中。为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。2.2 Matlab的基本操作Matlab的操作界面由工作窗口、开始按钮、功能菜单和工具栏等组成。(1) Matlab的工作窗口在默认状态下是由命令窗口、历史命令窗口、当前工作目录窗口、工作空间浏览器窗口等构成。(2) Matlab的开始按钮位于Matlab操作界面的左下角,单击这个按钮后,会出现Matlab的操作菜单。这个菜单上半部分的选项包含Matlab的各种交互界面,下半部分的选项的主要功能是窗口设置、访问Matlab公司的网页和查看帮助文件等。(3) 功能菜单包括File-文件操作菜单、Edit-编辑菜单、Debug-调试菜单、Desktop-桌面菜单、Window-窗口菜单。(4) 工具栏可快速进入Guide模板窗口、建立M文件等。第3章 控制系统仿真设计3.1 控制系统的界面设计在本次设计中,不采用guide建立GUI,单纯的由M文件来实现控制的界面的设计,在该系统中,设计了一个主窗口,9个坐标,但只有一个坐标系是用来显示输出响应的,两个显示背景图片,其他坐标用来显示文字,就能实现在图片上显示文字并且和背景色保持一致;设计了19个普通按键,各有各自的功能,能实现进入系统,退出系统等功能;另外还有两个选择框和一个静态文本框,两个选择框分别用来选择输入模型和选择歌曲播放,静态文本框用来显示实时时钟。系统界面如下:图3-1 控制系统未进入系统界面图3-2 控制系统进入系统界面在进入系统之后,如果需要绘图,那么首先必须先输入参数,当为输入参数而绘图时,会弹出错误对话框errordlg(未选择系统数学模型!),其他的情况也会出现别的提示框。这里还设置了一个输入的按键,因为输入的不一定是阶跃响应,所以在这里加了一个输入按键,在界面上看起来好像只有暂停播放而没有继续播放,但是当你按下暂停播放后,转而出现的就是继续播放,这里运用的就是按键的可视性,这样就能节省出一小块地方,也更加美观。3.2 控制系统的输入模型设计在设计系统的输入模型时,我们已经打算设计三种输入的模型,分别是多项式传递函数、空间状态表达式、零极点形式。在这里,我采用选择框来选择想要输入的模型,另外还设计了一个输入按键,可以设置输入信号,仿真时间,步长等值。具体选择操作如图:图3-3 输入信号的设置图3-4 输入模型的选择图3-5 多项式传递函数的输入图3-6 空间状态表达式的输入图3-7 零极点形式的输入在设置输入的时候只需要设置一次,在选择输入模型时也只要选择一种输入模型,然后按输入的提示进行输入。3.3 欧拉法的Matlab实现在数学和计算机科学中,欧拉法是一种一阶数值方法,用以对给定初值的常微分方程(即初值问题)求解。它是一种解决常微分方程数值积分的最基本的一类显型方法。欧拉法又称折线法或矩形法,是最简单也是最早的一种数值方法。基本思想是迭代。将 (3-1) (3-2)微分方程两边进行积分,得: (3-3)即 (3-4)通常假设离散点t1,t2,.,tn是等距离的,即tk+1 - tk= h,称h为计算步长或步距。当t t0时,x(t)是未知的,因此式子(3-4)右端的积分是求不出来的。为了解决这个问题,把积分间隔取得足够小,使得在tk与tk+1之间的f(t,x(t)可以近似看做常数f(tk,x(tk)。这样便得到用矩阵公式积分的近似公式 (3-5)或简化为 (3-6)这就是欧拉公式。以x(t0) = x0作为初始值,应用欧拉公式就可求出解x(t)。欧拉法虽然比较简单,但精度较低。这里的欧拉法针对连续系统,当输入信号经过系统,利用欧拉法处理后,输出信号将会发生变化,然后在坐标上画出时间与输出的对应关系,进而形成数字仿真曲线。运行结果:图3-8 欧拉法仿真曲线说明:输入是以零极点形式输入,其中Z=-2;P=0,-1,-3;K=2;r=1;Tf=5;h=0.01。3.4 梯形法的Matlab实现欧拉公式中的积分是用矩形面积f(tk,xk)h来近似的,用矩形面积代替积分误差较大,为了提高精度,先用梯形面积来代替积分,即 (3-7)于是可得梯形法的计算公式为 (3-8)由于上式右边包含未知量xk+1,所以每一步都必须通过迭代法来求解。每一步迭代的初始值通常采用欧拉公式来计算。因此梯形法的每一步迭代公式为 (3-9)式中,迭代次数R=0,1,2,.梯形法比欧拉法更加精确,当输入经过梯形法处理后,且计算步长比较小,得出的图形与欧拉法处理后的图形相差不大,但是实际上梯形法处理的更加精确。在输入信号的基本参数运行结果:图3-9 梯形法仿真曲线说明:输入是以零极点形式输入,其中Z=-2;P=0,-1,-3;K=2;r=1;Tf=5;h=0.01。3.5 龙格-库塔法的Matlab实现龙格-库塔方法是一种在工程上应用广泛的高精度单步算法。由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。该算法是构建在数学支持的基础之上的。在这里介绍介绍四阶龙格-库塔公式: (3-10)欧拉法、梯形法都是基于在初值附近展开成泰勒级数的原理,所不同的是取泰勒级数的项数。欧拉公式取到h项,梯形法与二阶龙格-库塔法相同,均取到h2项;四阶龙格-库塔法取到h4项。从理论上讲,取的项数越多,计算精度越高,但计算量越大,越复杂,计算误差也将增加,因此要适当的选择。目前在数字仿真中,最常用的是四阶龙格-库塔法,能够满足仿真精度的要求。现在一般情况下处理简单的连续系统的输出动态响应一般选择采用这种方法,因为相比较欧拉法,梯形法的话,龙格-库塔法更加能够满足仿真精度的要求,当系统还没达到四阶时,我们也可以构造成四阶,所以这种方法还是比较实用的。运行结果:图3-10 龙格-库塔法仿真曲线说明:输入是以零极点形式输入,其中Z=-2;P=0,-1,-3;K=2;r=1;Tf=5;h=0.01。3.6 双线性变换法的Matlab实现双线性变换法又称突斯(Tustin)法,是一种基于梯形积分规则的数字积分变换方法。双线性替换公式,它可以从梯形积分公式中直接推导出来。按这种替换公式进行替换,可以保证G(z)的稳定性,而且,具有一定的仿真精度。已知梯形积分公式为: (3-11)即: (3-12)则有: (3-13) (3-14)上式称为线性替换公式也可写为: (3-15)双线性变换将连续系统离散化,进而实现输出数字仿真曲线。运行结果:图3-11 双线性法仿真曲线说明:输入是以零极点形式输入,其中Z=-2;P=0,-1,-3;K=2;r=1;Tf=5;T=0.01。3.7 零阶保持器法的Matlab实现零阶保持器:zero-order holder(ZOH)。实现采样点之间插值的元件,基于时域外推原理,把采样信号转换成连续信号。零阶保持器的作用是在信号传递过程中,把第nT时刻的采样信号值一直保持到第(n+1)T时刻的前一瞬时,把第(n+1)T时刻的采样值一直保持到(n+2)T时刻,依次类推,从而把一个脉冲序列变成一个连续的阶梯信号。因为在每一个采样区间内连续的阶梯信号的值均为常值,亦即其一阶导数为零,故称为零阶保持器。零阶保持器的传递函数为: (3-16)运行结果:图3-12 零阶保持器法仿真曲线说明:输入是以零极点形式输入,其中Z=-2;P=0,-1,-3;K=2;r=1;Tf=5;T=0.01。3.8 一阶保持器法的Matlab实现一阶保持器的近似公式为:,离散化之后 (3-17)式中 (3-18)输出变量的差分方程,当系数矩阵G,H,C,D及已知时,利用迭代法便可很容易求得系统输出响应.一阶保持器的传递函数为: (3-19)一阶保持器,零阶保持器,双线性变换虽然原理不一样,但是都是将连续系统离散化,在Matlab实现这种这种离散还是非常简单的,因为Matlab中有一个c2dm()的函数,可以把连续的线性时不变系统转换成离散的时不变系统,函数中的参数method当分别为zohfohtustin时表示零阶保持器、一阶保持器、双线性变换三种转换方法。运行结果:图3-13 一阶保持器法仿真曲线说明:输入是以零极点形式输入,其中Z=-2;P=0,-1,-3;K=2;r=1;Tf=5;T=0.01。3.9 系统PID控制的Matlab实现当今的闭环自动控制技术都是基于反馈的概念以减少不确定性。反馈理论的要素包括三个部分:测量、比较和执行。测量关心的是被控变量的实际值,与期望值相比较,用这个偏差来纠正系统的响应,执行调节控制。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。比例控制(P)是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差。在积分控制(I)中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的 或简称有差系统。为了消除稳态误差,在控制器中必须引入积分项。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积 分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到接近于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后几乎无稳态误差。在微分控制(D)中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后组件,具有抑制误差的作用, 其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化超前,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入 比例项往往是不够的,比例项的作用仅是放大误差的幅值,而需要增加的是微分项,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能 够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。在设计PID控制时,特别设置在当按下PID按键时,需要输入kp,ki,kd三个参数,通过调整参数得出较为理想的输出波形。运行结果:图3-14 PID控制法仿真曲线说明:输入是以零极点形式输入,其中Z=-2;P=0,-1,-3;K=2;r=1;Tf=5;T=0.01;kp=5;ki=0.01;kd=1。3.10 系统根轨迹的绘制根轨迹是开环系统某一参数从零变化到无穷大时,闭环系统特征根在s平面上变化的轨迹。可分成常义根轨迹和广义根轨迹。根轨迹有180度、零度根轨迹和参量根轨迹。在Matlab中画根轨迹直接调用函数rlous(num,den);当输入的数学模型为零极点形式时,可以直接观察图上画的图形是否符合要求,很容易辨认。在画系统根轨迹时,我们只需知道系统的开环传递函数即可。运行结果:图3-15 根轨迹曲线说明:输入是以零极点形式输入,其中Z=-2;P=0,-1,-3;K=2。如图,零极点与图上画出的一致。3.11系统伯德图的绘制伯德图是线性非时变系统的传递函数对频率的半对数坐标图,其横轴频率以对数尺度(log scale)表示,纵坐标幅值或相角采用线性分度,利用伯德图可以看出系统的频率响应。伯德图一般是由二张图组合而成, 伯德图由两张图组成:G(j)的幅值(以分贝,dB表示)-频率(以对数标度)对数坐标图,其上画有对数幅频曲线;G(j)的相角-频率(以对数标度)对数坐标图,其上画有相频曲线。在Matlab中画伯德图直接调用函数Bode(num,den);在调试伯德图时,花了一点时间,当时,画伯德图总是会出现图形不能和背景共存,有时候出现一半全白,一半透明,我想原因应该就是伯德图得画两个原因,导致去掉坐标背景时出现了问题,不过在后来的尝试中,我解决了这个问题,就是设置一下坐标的属性color为none,再设置窗口gca的color为none。如:set(gca,color,none); set(ha3,color,none);运行结果:图3-16 伯德图曲线说明:输入是以零极点形式输入,其中Z=-2;P=0,-1,-3;K=2。3.12系统尼柯尔斯图的绘制尼柯尔斯图是将线性非时变系统在不同频率下的增益分贝值及相位绘在一直角坐标系的图上,尼柯尔斯图将二种波德图(波德增益图及波德相位图)结合成一张图,而频率只是曲线中的参数,不直接在图中显示。尼柯尔斯图常应用在闭环控制系统的稳定性分析中,这时会将开环系统的频率响应绘在尼柯尔斯图上,而尼柯尔斯图上会有其他曲线,标示对应闭环系统的增益分贝值及相位。因此只要知道开环系统的频率响应,即可找到单位回授系统的频率响应。在Matlab中画尼柯尔斯图直接调用函数nichols(num,den);运行结果:图3-16 尼克尔斯图曲线说明:输入是以零极点形式输入,其中Z=-2;P=0,-1,-3;K=2。3.13系统奈氏图的绘制奈氏图上每一点都是对应一特定频率下的频率响应,该点相对于原点的角度表示相位,而和原点之间的距离表示增益,因此奈氏图将振幅及相位的波德图综合在一张图中。闭环负反馈系统的稳定性评估可以由开环系统的奈氏图,配合奈氏稳定判据判断其稳定性。在Matlab中画奈氏图直接调用函数nyquist(num,den);运行结果:图3-17 奈氏图曲线说明:输入是以零极点形式输入,其中Z=-2;P=0,-1,-3;K=2。第四章 附加功能的设计4.1 音乐播放器的设计在音乐播放的设计中,仅仅是实现简单的功能,能够实现播放音乐、暂停音乐、继续音乐、停止音乐等功能。另外还设计了一个选择框选择想要播放的音乐,实现的音乐都是循环播放的。在实现音乐播放时,采用audioplayer播放器对象实现循环播放,直接调用函数audioplayer(data,Fs,nBits);在实现停止播放的功能时,直接调用函数stop();在实现暂停播放的功能时,调用函数pause()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于手术室火灾应急预案(3篇)
- 火灾事故应急预案-原则(3篇)
- 行政法学职业道路试题与答案指导
- 动车火灾应急预案范文(3篇)
- 地震火灾应急处置预案(3篇)
- 计算机技术员考试全景备考试题及答案
- 2025年软考知识点与试题及答案解析
- 网络管理员考试前的试题及答案回顾
- 2025年软考考生智慧分享及试题及答案
- 法学概论考试的教学模式分析与试题及答案
- 2024年沈阳市三支一扶考试真题
- 《绝经后出血》课件
- 食品合作商合同协议
- 中药人员考试试题及答案
- 2025年吉林省四平市梨树县中考二模历史试题(含答案)
- 脑梗死的介入治疗
- 生物柴油项目申报材料范文模板 (一)
- 私人店铺用工合同协议
- 猪保价合同协议
- (二模)2025年汕头市高三普通高考第二次模拟考试英语试卷(含答案)
- 2025年金融科技创新解读试题及答案
评论
0/150
提交评论