MATLAB在自动控制理论实验中的应用毕业设计_第1页
MATLAB在自动控制理论实验中的应用毕业设计_第2页
MATLAB在自动控制理论实验中的应用毕业设计_第3页
MATLAB在自动控制理论实验中的应用毕业设计_第4页
MATLAB在自动控制理论实验中的应用毕业设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、pingdingshan university毕业设计 matlab在自动控制理论题 目: 实验中的应用 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)

2、的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 原 创 性 声 明本人郑重声明:本人所呈交的毕业设计,是在指导老师的指导下独立进行研究所取得的成果。毕业设计中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明

3、的法律责任由本人承担。论文作者签名: 日 期: 关于毕业设计使用授权的声明本人在指导老师指导下所完成的论文及相关的资料(包括图纸、试验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属平顶山学院。本人完全了解平顶山学院有关保存、使用毕业设计的规定,同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权平顶山学院可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为平顶山学院。本人离校后使用毕业设计或与该设计直接相关的学术论文或成果时,第一署名单

4、位仍然为平顶山学院。论文作者签名: 日 期: 指导老师签名: 日 期: 平顶山学院2012届本科毕业设计 matlab在自动控制理论实验中的应用 matlab在自动控制理论实验中的应用摘 要针对传统在模拟机上进行的自动控制理论实验的缺点,提出了将matlab尤其是simulink与模拟实验互相结合起来的方法。详细介绍了电气类专业自动控制理论实验所涉及的主要内容。实际应用结果表明,通过仿真与模拟实验结果的对比分析,不仅可以让学生发现模拟实验中存在的错误,锻炼学生分析、解决问题的能力,而且增强了学生的学习兴趣,并为以后从事相关研究工作打下了基础。关键词:matlab;自动控制理论;电气;实验app

5、lication of matlab in automatic control theory experimentabstractfor the drawbacks of traditional automatic control theory experiment conducted in analog devices,the method which matlab,especially simulink should be combined with analog experiment mutually,is proposed in this paper,the main contents

6、 involved in automatic control theory experiment of electric engineering major are introduced in details.actual application results demonstrate that existing mistakes in analog experiment can not only be found by students,and the ability to analyze and solve problems is developed,but also learning i

7、nterests are enhanced,and the foundations after relevant research works are laid also by means of the contrast analysis of simulation and analog experiment results. key words: tlab;automatic control theory;electric engineering;experiments目录1绪论11.1 本课题的研究背景、目的11.2 本课题的国内外研究现状11.3 本课题的研究意义22 matlab在自动

8、控制实验中的应用举例22.1 matlab中传递函数的表示与计算22.1.1传递函数的多项式表示32.1.2传递函数的零、极点表示42.1.3结构图的化简52.2控制系统时域分析应用举例62.2.1绘制响应曲线62.2.2用simulink进行时域响应分析82.3控制系统根轨迹分析应用举例112.3.1利用根轨迹法确定多项式的根112.3.2利用matlab绘制根轨迹图142.4控制系统频域分析应用举例192.4.1 matlab中bode图的绘制192.4.2matlab中nyquist曲线的绘制212.4.3 matlab频域特性分析223 结 论24参考文献25致 谢26iii平顶山学院

9、2012届本科毕业设计 matlab在自动控制理论实验中的应用 1绪论1.1 本课题的研究背景、目的matlab是美国mathworks公司开发的科学与工程计算软件。在欧美大学里,诸如自动控制、数字信号处理、模拟与数字通信、动态系统仿真等实验都应用到matlab。matlab是攻读学位的大学生、硕士生、博土生必须掌握的基本工具。在设计研究单位和工业部门,matlab被认作进行高效研究和开发的首选软件工具1。尤为重要的是,matlab中提供了可视化动态仿真环境simulink,可实现动态系统的直观建模、仿真与分析,并支持连续、离散及两者混合的线性和非线性系统,因此使一个复杂系统的输入和仿真变得相

10、当简单。电气工程自动化专业的学生虽然学习过matlab语言,但不等于就掌握了matlab工具对控制系统进行分析的方法,而且这门课未曾涉及simulink的内容讲述。对此,我们尝试在自动控制理论实验中引入matlab,尤其是simulink,从而将软件仿真与模拟实验有机地结合起来,这样可以优势互补,通过理论仿真与模拟实验的结果进行对比分析,不仅能让学生发现模拟实验中的问题,而且可以锻炼学生的动手能力,也能让学生掌握matlab在控制系统仿真中的运用,增强学生的学习兴趣,并为以后从事相关研究工作打下基础。1.2 本课题的国内外研究现状目前,matlab已经成为国际上最流行的科学与工程计算的软件工具

11、,代表了当今国际科学计算软件的先进水平。国内外很重视利用matlab研究和开发自动控制类课程的实验教学软件。国际控制界的许多专家已经开发了大量基于matlab的控制软件,我国很多高校和研究部门也正在研制此软件,但是国内尚未见有关产品的报道。本课题的研究将对各高校自动控制理论实的改进起到积极的促进作用2。1.3 本课题的研究意义自动控制理论实验主要特点是理论性强,计算量大和图形多而复杂。传统的自动控制原理实验在某些教学仪器厂生产的控制实验装置上完成。其内部用运算放大器、电阻、电容等模拟器件构成了比例、积分、一阶惯性等典型环节。实验时把系统分解成各典型环节的串联形式,然后在模拟装置上把表示相应典型

12、环节的模块连接起来,通过示波器观察系统的响应和各项动态指标。这样的实验方式,虽然在培养学生动手能力、加深对课堂学习内容的印象等方面有一定的作用但存在两个局限:( 1 ) 实验设备高度集成,扩展性能差由于实验装置的各典型环节已经集成,可改参数有限,使得实验以验证性为主,而且操作复杂。比如观察一个二阶系统在不同阻尼系数下的阶跃响应和动态指标,首先要把系统分解成典型环节的串联形式,然后加上阶跃输入信号后在示波器上观察响应和各项指标,操作起来十分不便。( 2 ) 绘图、计算复杂,自动控制原理是自动控制专业的一门比较抽象的理论课程。由于控制系统分析往往涉及到各种分析方法的绘图和复杂的计算,自动控制理论实

13、验中的部分实验在模拟机上难以开展,如涉及线性系统根轨迹的绘制、奈氏图和波特图的绘制等需要学生花很多的时间和精力在绘图和计算上,影响到对控制系统分析原理的掌握。这种实验方式不仅未能发挥实验在教学环节中的作用,而且成了制约“自动控制理论”教学的瓶颈。本文针对这种情况,以前我们用turboc自己开发的一个软件来完成相关实验,但存在交互性差、功能固定、使用不便等缺点。因此,如果能够在matlab中的simulink环境下对控制系统进行仿真并对结果进行图形化分析,将会极大地方便有关实验内容的完成3 4 5。2 matlab在自动控制实验中的应用举例2.1 matlab中传递函数的表示与计算分析和设计任何

14、一个控制系统,首要任务是建立系统的数学模型。传递函数是控制系统的一种数学模型,它是在用拉普拉斯变换法求解微分方程的过程中引出来的,不但能反映系统的输入输出动态特性,还能间接地反映结构、参数变化对系统的影响。采用传统手段,比如等效变换结构图,mason公式法等求系统传递函数,分析过程复杂,容易出错,而运用matlab语言编制程序,可以很方便地求出系统的传递函数。传递函数是线性控制系统中最常用的数学模型,matlab提供了传递函数的多项式表示方式和零极点表示方式,他们之间的表示方法,他们之间的转换方法以及串联并联及反馈连接的系统传递函数计算方法6。2.1.1传递函数的多项式表示单输入单输出线性连续

15、系统的传递函数有三种表示方式:多项式表示,零、极点表示形式和时间常数表示形式,后两种都可以看做是多项式乘积的形式,下面我们来举例说明matlab的处理方法。1 多项式的向量表示matlab中多项式用行向量表示,行向量元素依次为降幂排列的多项式各项的系数。例2-1:多项式p= 表示为 p=1 ,3 ,0 ,2 ,52 多项式乘法matlab中多项式乘法处理函数调用格式为 c=conv(a,b)例2-2:给定两个多项式a(s)=s+3和b(s)=10s+20s+3,求c(s)=a(s)b(s),则应先构造多项式a(s)和b(s),然后再调用conv()函数来求c(s)。 a=1,3 b=10,20

16、,3; c=conv(a,b)conv()函数的调用又允许多级嵌套。例2-3:g(s)=4(s+2)(s+3)(s+4)可由下面语句来表示: g=4*conv(1,2,conv(1,3,1,4))3 建立连续系统的多项式传递函数 sys=tf(num,den)例2-4:num=3 ,2 ,8 den=1 ,3 ,8 ,4 ,2 ; g=tf(num,den)运行结果:2.1.2传递函数的零、极点表示1 传递函数的零、极点表示 matlab中用行向量z表示传递函数的零点,用行向量p表示传递函数的极点,用标量k表示传递函数的增益,z、p和k唯一的决定了传递函数。例2-5:z=-1; p=0 ,-1

17、0,-100; k=10;表示传递函数:2 建立连续系统的零、极点传递函数sys=zpk(z,p,k)例2-6:z=-1 ,-2; p=0 ,-5 ,-10; k=10; gz=zpk(z,p,k)运行结果:2.1.3结构图的化简matlab还提供了方框图串联、并联和反馈连接的计算函数,有助于方框图的化简7。例2-7:系统结构图如图2-1所示,求闭环系统的传递函数。0.5/(s+1)1/(s+1)(s+2)/(+5)2/(s+3)图2-1 控制系统结构图运用matlab语言编程如下:numl=0.5;denl=1 2;num2=1;den2=1 1;num3=1 2;den3=1 0 5;nu

18、m4=2;den4=1 3;nump,denp=parallel(num2,den2,num3,den3);nums,dens=series(numl,denl,nump,denp);num,den=feedback(nums,dens,num4,den4,-1);printsys(num,den)运行程序后结果为:2.2控制系统时域分析应用举例对线性控制系统的分析,常常采用三种方法,即:时域分析法、根轨迹分析法和频域分析法,其中时域分析中的数学模型是微分方程,复域分析中的数学模型是传递函数,频域分析中的数学模型是频率特性8 9。系统三种描述方法的关系如图2-2所示: 微 分 方 程传递函数

19、系 统 频 率 特 性图2-2 三种系统描述之间的关系2.2.1绘制响应曲线自动控制系统时域分析法就是首先求出系统的响应表达式,然后利用响应表达式来求取系统的性能指标。我们利用matlab来辅助实验,就可以准确绘制系统的响应曲线,不仅可以直观、定性地观察系统的稳定性、暂态性能和稳态性能,而且也可以定量地求取其性能指标。在matlab中实现这一功能有3种方法:直接编程法;在simulink模块中利用方框图的绘制和参数的设置来代替编程,直接建立系统的数学模型,然后对系统进行仿真;使用ltiviewer 工具箱(只适用于线性时不变系统)来观察系统的响应曲线。在这里我们先利用直接编程法。例2-8 某垂

20、直起飞飞机高度控制系统的开环传递函数为: 试确定使系统稳定的的取值范围。本问题主要研究系统参数与系统稳定性的关系,首先利用劳斯稳定判据确定,当0.5362< <0.9327时,闭环系统稳定,再利用matlab进行相应的验证,只需输入如下命令:%k= 0. 7时系统单位阶跃响应k= 0.7;t= 0:0.2:120;figurenum= 4* k 2* k k ;den= 1 1 4 4* k 2* k k;step(num,den,t);grid;仿真曲线如图2-3所示:图2-3 系统的单位阶跃响应()%k= 0. 5时系统单位阶跃响应k= 0.5;t= 0: 0.1: 70;fi

21、gurenum= 4* k 2* k k;den= 1 1 4 4* k 2* k k;step(num,den,t);grid;仿真曲线如图2-4所示:图2-4 系统的单位阶跃响应()运行后得到系统的仿真曲线如图2-3、2-4,由图2-3、2-4知:当=0.7时,闭环系统稳定;当=0.5,闭环系统不稳定,图中还可以显示上升时间、峰值时间、超调量等性能指标,也可以点击曲线上任一点来求出该点的响应参数。2.2.2用simulink进行时域响应分析先介绍一个比较复杂的水位自动保持恒定的供水控制系统的例子。例2-9 如图2-5所示10:图2-5 水位自动控制系统其所对应的结构图2-6所示:-1/s1

22、/i图2-6 水位自动控制系统结构图对上面这个系统,我们可以利用simulink仿真工具对其进行仿真。我们用simulink仿真工具分别画出其在无校正装置和加入比例微分校正之后的结构图及响应曲线,并对之进行比较。在未加校正前,放大器只是作为一个比例环节,具有放大系数k,系统的特征方程为,由于有缺项,属结构不稳定系统;运行后点击示波器,我们可以看到它的响应曲线为发散的,如图2-7所示。当我们在系统中加入比例微分控制之后,部分变为 ( * s + 1);当>。且保证特征方程不缺项时(即保证a1*a2>a3*ao)例如取 =5,=0.1 (这只需改变该图标的系数就行),系统变为结构稳定系

23、统,再次运行后可很快看到响应曲线变成了一条最后稳定下来的曲线,如图2-8所示响应过程非常快,超调量也非常小。图2-7 无校正装置结构图及响应曲线图2-8 有校正装置结构图及响应曲线在自动控制原理的教学过程中,对于这样一些比较复杂的系统,组成系统的大部分环节通常是不变的,经常需要修改的只是控制器的结构和参数;而每一次修改,如果靠手工重新求取系统的数学模型,显然既费时又易出错。利用matlab中simulink的建模和仿真功能,可更形象直观快捷地对复杂的控制系统进行分析,有效解决了这类问题。2.3控制系统根轨迹分析应用举例自动控制系统的根轨迹分析法就是开环系统某一参数从零变到无穷时,闭环系统特征方

24、程的根在s平面上变化的轨迹,然后根据特征根在s平面上的分布,定性分析系统性能,定量计算当系统稳定时的开环增益。利用根轨迹的绘制步骤采用传统方法分析根轨迹需要进行分析、计算、描点,只能概略的绘制系统的根轨迹,进行定量计算相当困难,现利用matlab来辅助实验,只需简单编程即可取代上述人力工作,不仅可以准确绘制系统的根轨迹曲线,而且也可以定量地求取其性能指标11。2.3.1利用根轨迹法确定多项式的根例2-10 利用根轨迹法确定下列多项式的根:(1)(2)解:(1)多项式的等效开环传递函数为其中k=4.4。系统的开环极点为,设闭环根为s,根据根轨迹的幅值条件应用matlab方法可解得,(2)应用ma

25、tlab方法可得多项式的等效开环传递函数为其中k=1,系统的开环极点为,设闭环根为s,根据根轨迹的幅值条件应用matlab方法可解得,实际上,应用matlab求根命令roots,可直接求出本题要求的结果。matlab程序如下:num1=1;den1=1 2.1 6.2 0; k1=4.4;p1,z1=pzmap(num1,den1);figure, rlocus(num1,den1); hold on; rlocus(num1,den1,k1); num2=1;den2=1 4 4 1 2 0; k2=1;p2,z2=pzmap(num2,den2);figure, rlocus(num2,d

26、en2); hold on; rlocus(num2,den2,k2); 仿真曲线如图2-9、图2-10所示。图2-9 根轨迹图及k=4.4时的闭环根信息图2-10 根轨迹图及k=1时的闭环根信息2.3.2利用matlab绘制根轨迹图例2-11 设系统如图2-11所示。试作闭环系统根轨迹图,并分析k值变化对系统在阶跃扰动作用下响应的影响。+-图2-11 控制系统解 由题意可知,在扰动作用下,系统的闭环传递函数为,系统的闭环特张方程系统的等效开环传递函数为 实轴上的根轨迹:0,-。 根轨迹与虚轴的交点:令,并将其代入闭环特征方程可得即因,故可解得交点坐标为,k=1根据以上分析可知:当0k1时,系

27、统不稳定,发散;而当k1时,系统稳定,收敛;当k值在k1的基础上继续增大时,系统的稳定性变好,收敛加快;当k时,系统的阻尼比趋近于0.707,响应的振荡性减弱,系统的调节时间减小,快速性得到改善。matlab程序如下:g=zpk(-1-i -1+i, 0 0 0, 1); figure(1), rlocus(g); numg=2; deng=1 0 0 0; numf=1 2 2; denf=0 0 1;num1, den1=feedback(numg, deng, numf, denf); sys1=tf(num1, den1); t=0:0.01:20;figure(2), step(sy

28、s1,t); gridnumg=20; deng=1 0 0 0; numf=1 2 2; denf=0 0 1;num2, den2=feedback(numg, deng, numf, denf); sys2=tf(num2, den2); t=0:0.01:20;figure(3), step(sys2,t); grid仿真曲线如图2-12所示:设k值分别为k=2和k=20,应用matlab软件包可得系统单位阶跃扰动响应曲线如图2-13和图2-14所示,其动态性能如下:k=2时,;k=20时,;图2-12 =0参数根轨迹图图2-13 k=2时的单位阶跃扰动响应 图2-14 k=20时的单

29、位阶跃扰动响应例2-12 某系统的开环传递函数为:,试绘制系统的常规根轨迹,并对系统的性能进行分析。在matlab中输入如下命令:g= tf( 1,conv(1 0, 1 5 12 ) ); z,p,k = zpkdata( g,'v');rlocus(g);axisequal;axis( -8 4 -8 8 );set( findobj( 'marker','x') ,'markersize',12);set( findobj( 'marker','o') ,'markersize'

30、;,12);图2-15 系统的根轨迹图运行后得到系统的根轨迹仿真曲线如图2-15。根据时域分析中系统稳定的条件,在根轨迹图中确定关键点,由其参数知:当0<k<60.6时,系统稳定;而当k=60.6时,系统处于临界稳定状态;k>60.6时,系统不稳定。而对系统的稳态精度分析,总希望k值大一些,这样系统的稳态误差就越小。如何在系统稳定的前提下,提高开环增益k,以减小系统的稳态误差,于是就引入了开环零点对系统性能的影响。因此在原始系统中增加一个开环零点(s+ 6= 0),则系统的开环传递函数为:,仍采用直接编程方法绘制根轨迹,在matlab中输入如下命令:g= tf( 1 6 ,c

31、onv( 1 0 , 1 5 12 ) ); z,p,k = zpkdata( g,'v');rlocus( g);axis equal;axis( -8 4 -8 8 );set( findobj( 'marker','x') ,'markersize',12);set( findobj( 'marker','o') ,'markersize',12);图2-16 增加开环零点(s=-6)系统的根轨迹图运行结果如图2-16,从图2-16可以看出,无论k取何值闭环系统稳定。因此,增加

32、开环零点除了可改善系统稳定性外,还可以使系统的动态性能得到改善。在此基础上,很容易观察零点的位置与系统性能的关系,因此可以得出:只要附加零点的位置选取得当,可以使系统的稳态性能和动态性能同时得到显著改善。2.4控制系统频域分析应用举例系统的频域分析,重点是绘制准确的bode图和奈氏图,难点是系统性能指标的计算,将matlab引入系统分析只需编写相应的程序即可完成实验内容,不仅可以节省时间还能大幅提高其精确度。2.4.1 matlab中bode图的绘制matlab中绘制bode图的函数是bode( ),调用格式为bode (num,den)bode (num,den,w )mag,phase,w

33、=bode(num,den) mag,phase =bode (num,den,w)bode(num,den)可以绘制传递函数为时系统的bode图。带左端变量的bode函数运行后,屏幕上将不显示bode图,而是在用户指定的频率点向量上把系统的频率特性表示成幅值和相角,并分别由mag矩阵和phase矩阵来表示。bode函数具有自动频率选择功能,函数的输入变量部分未给出频率的范围,则该函数能根据系统模型的特性自地选择频率的变化范围。若需要人为地指定频率范围或频率点,可以在函数的输入变量部分包含所定义。的定义可以采用logspace函数,其格式为w=logspace(a,b,n) 其中,a表示最小频

34、率10a;b表示最大频率10b;n表示10a10b之间的频率点数。例2-13 绘制 的bode图,如果指定频率范围: 则matlab命令可写为:num=100*1 2;den=1 21 20 0;w=logspace(-1,2,200);bode(num,den,w);grid;仿真曲线如图2-17所示:图2-17 函数的bode图2.4.2matlab中nyquist曲线的绘制matlab中绘制nyquist图的函数是nyquist(),调用格式为:nyquist(num,den);nyquist(num,den,w);re,im= nyquist(num,den);re,im= nyqui

35、st(num,den,w);nyquist(num,den)可以绘制传递函数为时系统的nyquist图。带左端变量的nyquist函数运行后,屏幕上将不显示nyquist图,而是在指定的频率点向量上把系统的频率特性表示成re和im矩阵,分别对应系统频率特性的实部和虚部。例2-14 绘制的nyquist曲线,则matlab命令可表述为:num=1;den=1 1 2;nyquist(num,den);grid;仿真曲线如图2-18所示:图2-18 函数的nyquist曲线此时可以放大镜工具或轴函数axis( )命令进行局部放大,进行稳定性分析。2.4.3 matlab频域特性分析 例2-15 对

36、于典型二阶系统,已知%= 15%, = 3s (= 2%),试计算相角余度。本例主要考察如何根据典型二阶系统的时域指标来求取其频域指标,但首先要根据已知条件确定典型二阶系统的开环传递函数。可在matlab中输入如下命令:clcdeta= 0.15;ts= 3;keth= sin( atan( - log( deta) / pi) );wn=4.4/ ( ts* keth);g= tf ( wn 2,conv( 1,0, 1,2* keth* wn ) );figure( 1);margin( g);gridg1= feedback( g,1);figure( 2);step(g1);grid图2-19 对数频率特性 图2-20 单位阶跃响应程序运行后可得到对数频率特性曲线和单位阶跃响应曲线,如图2-19、2-20所示。从图2-19、2-20可以直观地看出时域指标

温馨提示

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

评论

0/150

提交评论