基于MATLAB GUI 的多功能控制系统仿真仪的设计_第1页
基于MATLAB GUI 的多功能控制系统仿真仪的设计_第2页
基于MATLAB GUI 的多功能控制系统仿真仪的设计_第3页
基于MATLAB GUI 的多功能控制系统仿真仪的设计_第4页
基于MATLAB GUI 的多功能控制系统仿真仪的设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要摘 要本文研究了基于MATLAB GUI的多功能控制系统仿真仪的设计,文中介绍了MATLAB软件的组成部分、MATLAB的特点及其语言特点、MATLAB GUI的相关知识、开环和闭环控制系统以及闭环控制系统的组成结构等;重点阐述了控制系统的经典控制理论,如:传递函数及典型环节的传递函数;还介绍了研究控制系统所常用的Bode图、Nyquist图、根轨迹图和单位阶跃响应曲线,给出了画这些图形所用到的MATLAB语言,并对这四种图形一一进行了仿真;最后说明了多功能控制系统仿真仪的设计方法和操作步骤。多功能控制系统仿真仪是一种采用图形曲线研究控制系统的有效方法,为了方便对比,把研究控制系统常用的Bode图、Nyquist图、根轨迹图和单位阶跃响应曲线放在了同一个面板上,输入不同的参数会显示不同的图形曲线。关键词:MATLAB,控制系统,仿真仪- 30 -英文摘要AbstractThis paper studies design based on MATLAB GUI multi-function control system simulation apparatus. The paper introduces the component parts of MATLAB, the features of MATLAB and its language, the related knowledge of it and the open loop and closed loop control system and the composition of the closed-loop control system structure, etc. This paper focuses on the control system of the classic control theory, for example: the transfer function and the typical link transfer function and transfer function of zero poles model. The paper also describes the research control system of the commonly used Bode figure, Nyquist figure, root locus diagram and the unit step response curve, giving these graphics used the language of MATLAB. Then make simulation for these graphics. The paper gives the design method and procedures of multi-function control system simulation instrument.The multi-function control system simulation instrument is an available method which using a graphic curve to study the control system .In order to facilitate the contrast, we put the control system Bode diagram, Nyquist diagram, root locus diagram and the unit step response curve on the same panel, and enter different parameters w showing different graphs.Keywords: MATLAB, control system, simulation instrument目 录目 录摘 要IAbstract(英文摘要)II目 录III第一章 引言11.1 课题的背景和意义11.2 本课题的研究对象、目标和方法21.3 论文各部分的主要内容2第二章 MATLAB GUI32.1 MATLAB32.1.1 MATLAB的重要组成部分32.1.2 MATLAB的主要特点42.1.3 MATLAB的语言特点42.2 MATLAB GUI52.2.1 GUIDE简介52.2.2 创建GUI6第三章 控制系统概述83.1 开环、闭环控制系统83.2 闭环控制系统的组成结构93.3 反馈控制系统的品质要求113.4 经典控制理论123.4.1 传递函数的定义123.4.2 单位阶跃响应133.4.3 Bode(波特)图143.4.4 Nyquist(奈奎斯特)曲线163.4.5 根轨迹17第四章 仿真仪的设计与操作194.1 仿真仪的控制面板194.2仿真仪的设计204.2.1 GUI对象布局204.2.2编写Callback函数224.3仿真仪的操作244.3.1 传递函数为零极点模型244.3.2 传递函数为一般形式26结论28参考文献29致谢30第一章 引 言第一章 引 言1.1 课题的背景和意义自动控制原理是研究自动控制技术的基础理论课,是自动控制专业的主要课程之一。在自动控制原理这门课中,要学习控制系统的基本理论、基本概念以及分析和设计方法。在控制系统设计与仿真软件中,具有强大的计算功能、丰富方便的图形功能和动态系统仿真工具的MATLAB脱颖而出。但是MATLAB也存在一些缺点:一、MATLAB的解释方式使得其执行效率很低,主要体现在处理图像中;二、MATLAB不能被用于开发商用软件,因为其程序不能脱离运行环境;三、MATLAB的程序可以进行任意修改,所以安全性低;四、MATLAB不能满足高级用户的需求,因为其编写功能过于简单。在自动控制原理的教学试验中,可以运用MATLAB对软件进行简单的设计开发,并不需要对图像进行复杂处理,对代码的完整性及安全性要求也不苛刻。1.2 本课题的研究对象、目标和方法本课题所做的研究主要是基于MATLAB GUI平台,结合控制系统基础理论和MATLAB控制系统工具箱,设计出一个控制系统分析与设计的仿真软件,这个软件可以根据给出的传递函数绘制出bode图、阶跃响应曲线、Nyquist图和根轨迹图。其不足之处在于,如果给出的传递函数不是零极点形式,要先通过MATLAB语言转换成零极点形式,并且零极点的形式也比较局限。在自动控制原理课程的教学中,实验是一种用来帮助学生理解和掌握课堂中所学内容的重要教学手段。在传统的硬件实验平台上,如果要频繁的改变系统的参数和结构,必须在实验台上大量的更换或调整相应元器件,有时候由于各方面的原因实现起来很困难。近几年来随着MATLAB的广泛应用,在自动控制原理的教学过程中出现了使用MATLAB来辅助教学,起到了较好的作用。但是单纯的使用MATLAB来仿真需要有一定的编程基础。随着虚拟仪器技术的出现和计算机技术的发展,采用MATLAB GUI开发的虚拟实验系统,既可以进行虚拟的实验,也可以使用数据采集卡与硬件设备相结合完成。本文利用MATLAB中的图形用户界面(GUI)和MATLAB编程, 设计了自动控制原理课程中的根据传递函数绘制bode图、阶跃响应曲线、Nyquist图和根轨迹图。1.3 论文各部分的主要内容本论文共分为四章。第一章说明了选择这个课题的背景和意义,以及该课题的研究对象、方法和目标,使读者对本课题有一个整体上的认识。第二章介绍了MATLAB软件和MATLAB的一些特点,重点介绍了控制系统的传递函数、零极点模型、单位阶跃响应、Bode图、Nyquist曲线和根轨迹图,并且给出了绘制这些图形的MATLAB语言。第三章是MATLAB GUI 的相关知识,如何用GUIDE建立GUI,以及GUI面板中各个部分的介绍。第四章先阐述了仿真仪的设计,详细的写出了设计步骤,包括面板的制作和MATLAB编程,然后又通过具体的实例说明了多功能控制系统仿真仪的操作步骤。最后得出结论。第二章 MATLAB GUI第二章 MATLAB GUI2.1 MATLABMATLAB是MATrix LABoratory(矩阵实验室)的缩写,是由美国Math Works公司开发的,它把数值计算、符号计算和图形可视化三大基本功能集中于一体。MATLAB把不同数学分支的算法用函数的形式分成很多个库,用的时候可以直接调用,速度快而且准确率也高。整个MATLAB系统是由两部分组成,即MATLAB内核与辅助工具箱。2.1.1 MATLAB的重要组成部分MATLAB主要由下面5个部分组成。(1)MATLAB的开发环境开发环境是一组很实用的工具,利用这组工具,用户可以方便的使用MATLAB函数和软件。这其中的很多工具都是图形用户接口,它包括MATLAB桌面和commend window、commend history、工作空间、file和搜索路,还有浏览器用来帮助查看信息。(2)MATLAB的数字函数库这个函数库是一个相当大的计算算法库,包括基本的函数(如sum、sine、cosine)、复杂的算法和更复杂的函数运算,例如矩阵求逆、矩阵的特征值、Bessel函数和快速Fourier变换等。(3)MATLAB的语言MATLAB语言是一个级别较高的矩阵和数组编程语言,这种语言的特点是具有流程控制语句、函数、数据结构、输入/输出和面向对象编辑等。它既能编写执行比较快速的小型程序,也可以编写庞大的算法比较复杂的应用程序。(4)MATLAB的图形处理系统MATLAB的图象处理库,既能生成平面和立体图形的可视化、图像处理、平面动画和演示的高级命令,也能生成完全由用户自己定制的图形,在MATLAB应用程序中所创建的完整的图形用户接口的低级命令。(5)MATLAB的应用程序接口API这个函数库为用户提供了编写与MATLAB接口的C和Fortran的程序,其中包括从MATLAB的动态链接中调用指令和读写MATLAB文件中的程序。2.1.2 MATLAB的主要特点MATLAB语言的基本数据单位是数组,它包括控制流语句、函数、数据结构、输入/输出以及面向对象的高级语言,具有以下主要的特点: 该语言具有丰富的运算符和强大的库函数,语言简洁,编程效率比较高。MATLAB语言不仅能提供运算符号,还能提供实用的矩阵和向量运算符。 MATLAB既可以给面向对象编程,还具有结构化的控制语句(比如while循环、for循环、break语句、switch语句以及if语句)。 具有强大的图形功能。MATLAB不仅可以对二维、三维数据进行可视化、图像处理和动画制作,还能修改图形和编制完整图形用户界面。 具有功能强大的工具箱。MATLAB包括功能性工具箱和学科性工具箱两类工具箱。功能性工具箱主要用来扩充MATLAB的对符号的计算、对图形的仿真和对文字的处理,还可以与硬件进行连接。学科性工具箱专业性比较强,它可以对对象进行优化、统计和处理。 容易扩充。MATLAB除了内部函数外,其余的主要文件盒工具箱文件都是可读可改的源文件,用户可以修改源文件并加入自己的文件,它们与库函数一样可以被调用。2.1.3 MATLAB的语言特点MATLAB语言数值计算功能强大、图像处理能力强,有其他语言比不上的优点,如它的工具箱就应用于很多领域。此外,MATLAB能和其他语言很好的结合使用,使计算机的软件开发上了一个层次。目前,MATLAB不仅能在台式机上进行运行,也能在PC、Sun Space工作站、Silicon Graphics工作站和惠普工作站等地方运行。如果单纯的使用MATLAB语言进行编程,则编写的程序可以直接复制到其他机型上使用。可以说,MATLAB是和及其类型及操作系统基本上无关的软件。MATLAB语言的运算精度比较高。一般情况下,矩阵类运算可以达到的数量级精度,它符合一般科学与工程运算要求。这种条件数很大,当矩阵中某个参变量有微笑的变化时,就可能导致最终变化很大的现象在数学上被称为坏条件现象。对于这类问题,要采用合适的算法,最后可能才会得出正确的结论。但是使用MATLAB就会很少出现这样的问题。 2.2 MATLAB GUI人与机器(或程序)之间交互作用的工具和方法称为用户界面,如人们日常所用的键盘、鼠标、话筒等。MATLAB GUI是MATLAB的人机交互界面。图形用户界面(Graphical User Interface,GUI)则是由窗口、光标、按钮、文字说明、菜单等对象组成的一个用户界面。用户通过鼠标或键盘选择、激活这些图形对象,使计算机实现计算、绘图等。创建MATLAB图形用户界面的组件分为三类:一、图形化控件,如按钮、标签、编辑框等;二、静态元素,有窗口和文本字符串;三、菜单和坐标系。GUI的每一个组件都必须安排在图像窗口中。2.2.1 GUIDE简介GUIDE来源于Graphical User Interface Development Environment,是MATLAB图形用户界面开发环境的简称,它能为GUI的建立提供一系列工具,这些工具极大地简化了设计和建立GUI的过程。使用GUIDE编辑器编辑GUI,要分别编辑两个文件:一个是FIG文件(.fig),包含了GUI对象的属性设置及其布局信息;另一个是M文件(.m),包含了控制GUI对象执行的回调函数。使用GUIDE可完成两项工作:GUI图形界面布局; GUI编程。2.2.2 创建GUI创建新的GUI时,样板可以选择以下4种:Blank GUI一个空的样板,打开后编辑区不会有任何figure子对象存在,必须由用户加入对象;GUI with Uicontrlos打开包含一些uicontrol对象的GUI编辑器,这些GUI对象具有单位换算功能;GUI with axes and Menu打开包含菜单栏和一些坐标轴图形对象的GUI编辑器,这些GUI对象具有数据描绘功能;Modal Question Dialog打开一个模态对话框的编辑器,默认为一个问题对话框。单击MATLAB菜单栏中的File、New、GUI,生成的GUIDE快速启动对话框如图2-1所示。图2-1 GUIDE快速启动对话框一般采用默认的Blank GUI样板。单击【OK】按钮后,进入GUI编辑界面,如图2-2所示。图2-2 GUI编辑界面图2-2左面是GUI对象选择区,其中可供使用的GUI对象有选择对象、触控按钮、滑动条、单选按钮、复选框、可编辑文本、静态文本标签、弹出式菜单、列表框、切换按钮、表格、坐标轴、面板、按钮组以及Active控件。鼠标左击某个按钮,就可以拖动鼠标在右面的图形编辑去画出这个图形;双击这个控件时就可以打开它的属性编辑界面修改该对象的属性。设计GUI的菜单式通常使用该菜单编辑器。刚开始保存或运行GUI时,GUI在GUIDE中保存两个文件,即fig文件和m文件。GUI图形布局的完整描述包含在fig文件和GUI的所有组件中,例如按钮、菜单、轴对象等;GUI的代码包含在m文件中,可以在此文件中编辑窗口及控件的回调函数。上面是GUI工具栏,各按钮的功能依次为对齐对象、菜单编辑器、Tab顺序编辑器、工具栏编辑器、M文件编辑器、属性查看器、对象浏览器、运行界面。中间是GUI布局区,用于布局GUI对象。GUI布局区的右键菜单有如下作用:Snap to Grid是对象放置时紧靠网格,Run是运行GUI,GUI Option是GUI选项,Property Inspector是属性查看器,Object Browser是对象浏览器,M-file Editor是M文件编辑器,View Callback是查看callback函数。第三章 控制系统概述第三章 控制系统概述在现代工业生产过程中,为了提高产品质量和生产效率,需要对生产设备和工艺过程进行控制,使被控的物理量按照期望的规律变化。这些被控制的设备或过程称为控制对象或对象,被控制的物理量称为被控制量或输出量。在实际的条件下,生产设备或工艺过程有许多外部作用,一般只考虑对输出量量影响最大的量,这些量称为输入量。从对被控对象和输出量的影响来看,输入量可分为两种类型。一种输入量的输入作用是为了保证对象的行为达到所要求的目标,这一类输入量称为控制量或给定量。另一种输入量的输入作用则相反,它妨碍对象的行为达到目标,这类作用称为扰动作用,这一类输入量称为扰动量。控制的任务实际上就是形成控制作用的变化规律,使得不管是否存在扰动对象都能得到所期望的行为。3.1 开环、闭环控制系统如果控制系统的输出量对系统没有控制作用,则这种系统称为开环控制系统。图3-1表示了开环控制系统输入量与输出量之间的关系。图3-1 开环控制系统示意图这里,给定量直接经过控制器作用于控制对象,不需要将输出量反馈到输入端与给定量进行比较,所以只有给定量影响输出量。当出现外部扰动或内部扰动时,若没有人的干预,输出量将不能按照给定量所希望的状态去工作。闭环控制系统是把输出量检测出来,经过物理的转换,再反馈到输入端与给定量进行比较(相减),并利用比较后的偏差信号,经过控制器或调节器对控制对象进行控制,抑制内部或外部扰动对输出量的影响,从而减小输出量的误差。图3-2表示了闭环控制系统输入量、输出量和反馈量之间的关系。图3-2 闭环控制系统示意图这种系统把输出量直接或间接的反馈到输入端形成闭环,参与系统的控制,所以称为闭环控制系统。由于系统是根据负反馈原理按偏差进行控制的,所以也称为反馈系统或偏差控制系统。3.2 闭环控制系统的组成结构闭环控制系统有各种不同的形式,但是概括起来一般均由以下基本环节组成,如图3-3所示。图3-3 闭环控制系统结构图(1)给定环节在一个系统中,给被控制量设定给定值得装置就是给定环节,如电位器等。给定环节的精度对控制量的控制精度有较大的影响。现代的控制系统一般采用控制精度高的数字给装置。(2)比较环节定比较环节将所有检测的被控制量和给定量进行比较,确定两者之间的偏差量。该偏差量由于功率较小或者物理性质不同,还不能直接作用于执行机构,所以在执行环节与比较环节之间还有中间环节。(3)中间环节放大元件是中间环节的主要组成部分,把偏差信号变成能适应于控制执行机构工作的信号。按照控制系统的要求,中间环节可以是一个简单的功率放大环节,也可以是把偏差信号转换为适于执行机构工作的物理量,如液压伺服放大器。一般除了要求偏差信号被中间环节放大,还希望它能按用户的规律对偏差信号进行一定的运算,执行机构被运算结构所控制,来改变被控制量的稳态和暂态性能,具有这种功能的中间环节叫做校正环节。(4)执行机构传动装置和调节机构是执行机构的主要组成,为了使被控制量达到用户的要求,执行机构会直接作用在控制对象上。(5)控制/调节对象在进行控制的过程中,某个被控物理量就是该控制系统的输出量。为了满足生产工艺的要求来控制这写系统输出量是闭环控制系统的主要任务。(6)检测装置或传感器这个装置是用来检测被控制量的,还能把被控制量转换成和给定量相统一的一个物理量。控制系统的品质是由这个装置的精度和特性来决定的,它是西东控制系统的重要零件,因此一般都要求检测装置的精度比较高、反应很灵敏、性能也相对稳定。在一般的控制系统中,控制装置由比较环节、校正环节和放大环节共同组成。3.3 反馈控制系统的品质要求在反馈控制系统中,当已知量的变化规律发生变化时,被控量远离了已知量的变化规律产生了误差,通过反馈的作用,经过一定的时间,被控量又回到了原来的数值,或者和新的给定量的变化一样是,系统就从一个平衡达到了另一个平衡。我们一般把被控制量在变化时的状态叫做动态(或暂态),把控制量在相对稳定时的状态称为静态(或稳态)。反馈控制系统的品质要求可以归结为稳定性(长期稳定性)、快速性(相对稳定性)和准确性(精度)。1、稳定性不同的系统对稳定性有不一样的要求。对于恒值系统来说,当系统受到外界干扰时经过较短的时间能够回到原来的值,这样就满足了系统的要求;对于随动系统来说,如果被控制量能一直跟随变化量的变化,就能满足系统的要求。稳定性是控制系统最起码的要求,不稳定的系统是不能投入生产需要的。稳定性一般是由系统的基本结构所决定的,与其他控制因素无关。2、快速性快速性是指在系统在受到扰动外界扰动时,通过调节能够能快的回到原来的状态或很快达到一个新的稳定状态。在正常情况下,如果系统的结构合理、参数合适的话,一个系统的暂态过程大多都是衰减振荡的,也就是被控制量的变化会比较快的同时会产生超调,反复几次之后达到另一个稳定状态。3、准确性一般用稳态误差来描述系统的准确性,而稳态误差是指当系统达到稳定时,输出的实际值和期望值之间的误差。这个性能能表达系统稳定时的控制精度,如果一个自动控制系统设计的合理的话,它的稳态性能应该是符合要求的。3.4 经典控制理论系统的传递函数是经典控制理论的基础,用频域法主要研究线性定常系统的单输入-单输出的分析设计问题。在恒值系统和随动系统中,这种理论已经应运的比较广泛了,为现代控制理论和智能控制理论的进一步研究奠定了基础。3.4.1 传递函数的定义传递函数是经典控制理论中最基本和最重要的概念,也是经典控制理论中两大分支根轨迹法和频率法的基础。传递函数不仅可以表征系统的动态性能,而且可以用来研究系统的结构或参数变化对系统性能的影响。它分为连续和离散两种模型。传递函数是描述线性系统动态特性的一种数学模型,但是只适用于线性定常系统且初始条件为零的情况。设线性定常系统由下述n阶线性常微分方程描述。 (3-1)式中,是系统的输出量;是系统的输入量;和是与系统结构和参数有关的常系数。设和及各阶导数在时的值均为零,即零初始条件,则对上式中各项分别求拉普拉斯变换,并令,可得代数方程为 (3-2)于是,由定义得系统传递环数为 (3-3)式中:和可以唯一的确定一个系统。因此,在MATLAB中可以用分子、分母系数向量num、den来表示传递函数,实现函数为tf(),其调用格式如下:num=, den=,sys=tf(num,den)3.4.2 单位阶跃响应对于单位阶跃输入r(t)=1(t),R(s)=,于是 (3-4)因此 (3-5)式中:为稳态分量,;为暂态分量,。MATLAB中求单位阶跃响应的函数为step(),其调用格式如下: step(sys) step(sys,tfinal) step(sys,t) step(sys1,sys2,t) n,d=step(sys) n,d,x=step(sys)其中:输入量中tfinal为响应终止时间变量;t为给定的时间变量,如:t=0:0.01:10;返回变量中,y为响应向量,t为时间向量,x为状态向量。例1:开环传递函数为的单位负反馈系统的单位阶跃响应曲线如图3-4所示。图3-4 例1的单位阶跃响应曲线从这幅图中可以知道该系统在某一时刻的超调量、峰值时间,还能通过其他已知量计算出该系统此刻的峰值、误差等。3.4.3 Bode(波特)图控制系统的性能用时域特性度量最为直观,但一个高阶控制系统的时域特性是很难用解析法确定的,我们一般用频域特性法来解决。频域特性法是一种图解方法,主要包括三种方法:Bode图(幅频/相频特征曲线)、Nyquist曲线和Nichole图。Bode图即对数频率特性曲线。设已知系统的传递函数模型为 (3-6)则系统的频率响应可直接求出,得 (3-7)系统的Bode图就是H()的幅值与相位对进行绘制,因此也称为幅频和相频特性曲线。横坐标都是角频率w,是按常用的对数刻度即,单位是rad/s。对数相频特性的纵坐标是,其单位为角度;对数幅频特性的纵坐标是,其单位为分贝(dB)。MATLAB中Bode图绘制函数为bode(),其调用格式为 bode(sys) bode(sys,w) mag,phase,w=bode(sys)其中:输入向量为人工给定的频率向量;mag为返回的幅值向量;phase为返回的相角向量。另外,MATLAB提供了非常方便计算系统相角裕度和幅值裕度的函数margin(),其调用格式为 margin(sys) gm,pm,wg,wp=margin(sys) gm,pm,wg,wp=margin(mag,phase,w)其中:返回向量gm为幅值裕度;pm为相角裕度;wg为相位穿越频率;wp为截止频率。如果幅值裕度用分贝(dB)表示,则取Gm_dB=20lg(gm)。例2:开环传递函数为的单位反馈系统的Bode图如图3-5所示。图3-5 例2的Bode图从图上可以看出,这个系统的幅值裕度和相角裕度都小于零,所以这个闭环系统不稳定。为使系统稳定,需要对该系统进行校正。3.4.4 Nyquist(奈奎斯特)曲线Nyquist曲线是根据开环频率特性在复平面上绘出的幅相轨迹。根据开环的Nyquist曲线,可判定闭环系统的稳定性。反馈控制系统稳定的充要条件是,Nyquist曲线按逆时针包围临界点(-1,j0)的圈数p等于开环传递函数位于右半s平面的极点书,否则闭环系统不稳定。当开环传递函数包含虚轴上的极点时,闭合曲线应以的半圆从右侧绕过该极点。这就是著名的奈氏判据。MATLAB中奈奎斯特频率曲线绘制函数为nyquist(),其调用格式如下: nyquist(sys) nyquist(sys,w) re,im,w=nyquist(sys)其中:w的定义与bode一样;re为频率特性G()的实部向量;im为G()的虚部向量。利用Nyquist曲线,可以分析包括增益裕度、相角裕度及稳定性等系统特性。例3:某系统的开环传递函数为,其Nyquist曲线如图3-6所示。图3-6 例3的Nyquist图从系统的开环传递函数我们知道,系统的开环极点都在的左半平面,。从奈奎斯特曲线可以看出,开环幅相曲线逆时针包围(-1,0)点的圈数。根据奈氏判据,所以这个闭环系统是稳定的。3.4.5 根轨迹闭环系统瞬态响应的基本性能是由闭环极点在根平面上的分布多确定的。闭环极点就是特征方程的根。所谓根轨迹就是指当系统的某一个可变参数由时,系统闭环极点在S平面上所描绘出来的轨迹。设控制系统的典型结构图如图3-7所示。其开环传递函数可表示为 (3-8)式中,为开环系统的根轨迹增益;为系统的开环零点(j=1,2,m);为系统的开环极点(i=1,2,n)。图3-7 控制系统的典型结构图由图3-7所示,可得系统的闭环特征方程为 (3-9)或 (3-10)即 (3-11)上式称为根轨迹方程。根据上式,可以绘制出当K由零变化至无穷大时,系统的连续根轨迹。使用MATLAB提供的根轨迹函数可以方便、准确的绘制控制系统的根轨迹图,并可以利用根轨迹图对控制系统进行分析。用于绘制系统的根轨迹图,其调用格式如下: rlocus(sys) rlocus(sys,k) r=rlocus(sys,k) r,k=rlocus(sys)例4:系统的开环传递函数为,其根轨迹图如图3-8所示。图3-8 例4的根轨迹图适当的给控制系统增加一些开环零、极点可以改变根轨迹的形状,也就是说能改变系统的稳态性能,所以很好的利用根轨迹图能为系统的稳定性研究做出一定的贡献。第四章 仿真仪的设计与操作第四章 仿真仪的设计与操作所研究的仿真仪的特点是:为了对比方便,将控制系统的Bode图、Nyquist图、根轨迹图和单位阶跃响应曲线放在同一个面板上。输入不同的参数,会显示出不同的图形曲线。4.1 仿真仪的控制面板仿真仪的控制面板如图4-1所示。主要部分包括开始、退出按钮,参数输入和图形显示三部分。其中用到了GUI选择区中的静态文本、可编辑文本、触控按钮和坐标轴。所设计的仿真仪只适用于系统的传递函数为零极点模型,即 (4-1)图4-1 仿真仪的控制面板图4-1所示的是开环增益为2、零点为-0.5、极点分别为0、-2、-0.5的一个系统的仿真,在仿真仪面板上同时出现了这个系统的bode图、阶跃响应曲线、奈奎斯特图和根轨迹图,为系统的研究带来了很大的方便。4.2 仿真仪的设计仿真仪的设计分为控制面板的设计和软件编程。首先根据思路在GUI界面中对控制面板进行排版,修改每个文本框或按钮的属性,然后在callback函数中编写该多功能控制系统仿真仪的程序,反复进行调试和修改,直到达到预期的目标。4.2.1 GUI对象布局根据自己对多功能控制系统仿真仪的整体构想,清楚地知道该仿真仪面板由三部分组成。第一部分是参数输入,在左边的对象选择区中选择Static Text(静态文本),它通常用于显示其他对象的数值、状态等。在GUI布局区中拖动鼠标确定该文本框的大小,双击该文本框弹出Static Text的属性对话框,在String中修改该文本框静态时所显示的文字,其界面如图4-2所示。图4-2 Static Text的编辑要想在对应的参数文本框中输入相应的数字,就需要选择对象选择区中的Edit Text(可编辑文本),它允许用户修改文本内容,用于数据的输入与显示。拖动鼠标确定该文本框的大小,然后双击该文本框修改其属性。将String所对应的内容删除,颜色改为白色,其界面如图4-3所示。图4-3 Edit Text的编辑第二部分是开始、退出按钮,在左边的对象选择区中选择Push Button(触控按钮),在GUI布局区中拖动鼠标确定该按钮的大小,双击该按钮弹出Push Button的属性对话框,将String中的内容改为开始或退出。其界面如图4-4所示。图4-4 Push Button的编辑第三部分是图形显示,在左边的对象选择区中选择axes(坐标轴),拖动鼠标确定坐标轴的大小,双击坐标轴修改其属性。可以运用GUI菜单栏中的工具将这些坐标轴对其,界面如图4-5所示。图4-5 坐标轴的编辑4.2.2 编写Callback函数右击图4-5所示界面中的开始按钮,选择View Callbacks中的callback,在弹出的程序编辑页面中的function pushbutton1_Callback(hObject, eventdata, handles)下输入以下程序:K =str2double(get(handles.edit1,String);z1=str2double(get(handles.edit2,String);p1=str2double(get(handles.edit3,String);p2=str2double(get(handles.edit4,String);p3=str2double(get(handles.edit5,String);k=k;z=z1;p=p1,p2,p3;y=zpk(z,p,k);axes(handles.axes1);bode(y)grid onaxes(handles.axes2);y1=feedback(y,1)step(y1)grid onaxes(handles.axes3);nyquist(y)grid onaxes(handles.axes4);rlocus(y)grid on右击图4-5所示界面中的退出按钮,选择View Callbacks中的callback,在弹出的程序编辑页面中的function pushbutton2_Callback(hObject, eventdata, handles)下输入close,点保存。单击工具栏中的Run Figure,运行该程序,得到多功能控制系统仿真仪的控制面板。其中, axes(handles.axes1);bode(y)这两句表示在第一个坐标轴上画该控制系统开环传递函数的bode图;axes(handles.axes2);y1=feedback(y,1)step(y1)这三句表示在第二个坐标轴上画该控制系统开环传递函数的单位阶跃响应曲线;axes(handles.axes3);nyquist(y)这两句表示在第三个坐标轴上画该控制系统开环传递函数的奈奎斯特曲线;axes(handles.axes4);rlocus(y)这两句表示在第四个坐标轴上画该控制系统开环传递函数的根轨迹图。4.3 仿真仪的操作系统的模型建立好以后,就可以开始进行仿真了。在仿真之前,首先应当设置仿真参数。本文所设计的仿真仪是以系统的零极点为模型设计的,所以在仿真之前应该求出该系统的零极点。4.3.1 传递函数为零极点模型设被控对象的传递函数为,则用该仿真仪绘制bode图、单位阶跃响应曲线、奈奎斯特图和根轨迹图的操作步骤为:1、启动MATLAB,点击file菜单下的New,找到GUI并打开;2、找到Open Existing GUI下的untitled文件点击Open,出现如图5-1所示界面;图4-6 GUIDE Queck Start界面3、出现如图4-7所示界面后点击运行()便可得到仿真仪的控制面板,如图4-8所示。图4-7 仿真仪运行前的控制面板图4-7是仿真仪运行前的面板,在这个面板上还可以对仿真仪进行布局和函数的编写等操作。图4-8 仿真仪运行后的控制面板图4-8所示为仿真仪运行后的控制面板,在这个面板上不能改变仿真仪的布局和函数编写。在仿真仪控制面板上左侧的参数输入框中输入传递函数的零极点参数,便可得到相应控制系统开环传递函数的bode图、Nyquist图、根轨迹图和单位阶跃响应曲线。对系统进行分析之后按退出按钮结束。4.3.2 传递函数为一般形式例5:已知一单位负反馈系统的开环传递函数为,试绘制系统的单位阶跃响应曲线、bode图、Nyquist曲线及根轨迹图。步骤:1、启动MATLAB,在MATLAB的command window窗口中输入以下序程序num=100,300; den=1,11,10,0; z,p,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论