《自动控制原理课程设计MATLAB仿真.docx》由会员分享,可在线阅读,更多相关《自动控制原理课程设计MATLAB仿真.docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、自动控制原理课程设计MATLAB仿真 目录 概述 (1) 一、实验目的 (1) 二、简述MATLAB语言的特点及其主要功能 (1) 三、控制系统仿真时常用的方法和指令 (2) 1、控制系统仿真时常用的方法 (2) a、数学仿真 (2) b、半物理仿真 (2) c、全物理仿真 (2) 2、控制系统仿真时常用的指令 (2) 1)、Bode图 (2) 、绘制Bode图 (2) 、系统的增益裕度和相角裕度 (2) 2)、Nichols图 (3) 3)、Nyquist图 (3) 4)、一般频率响应图 (3) 5)、频率响应的奇异值图 (3) 6)、绘制根轨迹 (4) 四、实验内容 (4) 五、心得体会
2、(22) 六、参考文献 (22) 概述 MATLAB 是一种直观、高效的计算机语言,同时也是一个科学计算平台。 它的伴随工具Simulink 是用来对真实世界的动力学系统建模、模拟仿真和分析的软件。我们可将综合性和设计性实验项目通过MATLAB 在计算机上仿真,使系统的观察实验的动态过程。目前,MATLAB 已经成为我们当代大学生必须掌握的基本技能,在设计研究单位和工业部门,MATLAB 已经成为研究和解决各种具体工程问题的一种标准软件。在完成了验证性、综合性和设计性实验后,课程设计必不可少。课程设计是工科实践教学的一个重要的环节,目的是培养我们综合运用理论知识分析和解决实际问题的方法和能力,
3、实现由知识向技能的初步化。所以课程设计是培养我们思维创造能力最有效的途径。 一、实验目的 1、培养理论联系实际的科学态度,训练综合运用经典控制理论和相关课程知识 的能力。 2、掌握自动控制原理的时域分析法,根轨迹法,频域分析法,以及各种(矫正) 装置的作用及用法,能够利用不同的分析方法对给定系统进行性能分析,能根据不同的系统性能指标要求进行合理的系统设计,并调试满足系统的指标。 3、学会使用MATLAB语言及Simulink动态仿真工具进行系统的仿真与调试。 4、锻炼独立思考和动手解决控制系统实际问题的能力。 二、简述MATLAB语言的特点及其主要功能 MATLAB是矩阵实验室(Matrix
4、Laboratory)的简称,是美国MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学
5、类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连 matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 三、控制系统仿真时常用的方法和指令 1、控制系统仿真时常用的方法 a、数学仿真 也称计算机仿真,就是在计算机上实现描写系统物理过程的数学模型,并在这个模型上对系统进行定量的研究和实验。这种仿真方法常用于系统的方案设计阶段和某些不适合做实物仿真的场合(包括某些故障模式)。它的特点是重复性好、精度高、灵活性大、使用方便、成本较低、可以是实时的、也
6、可以是非实时的。数学仿真的逼真度和精度取决于仿真计算机的精度和数学模型的正确性与精确性。数学仿真可采用模拟计算机、数字计算机和数字-模拟混合计算机。 b、半物理仿真 即采用部分物理模型和部分数学模型的仿真。其中物理模型采用控制系统中的实物,系统本身的动态过程则采用数学模型。半物理仿真系统通常由满足实时性要求的仿真计算机、运动模拟器(一般采用三轴机械转台)、目标模拟器、控制台和部分实物组成。 c、全物理仿真 即全部采用物理模型的仿真,又称实物模拟。全物理仿真技术复杂,一般只在必要时才采用。 2、控制系统仿真时常用的指令 1)、Bode图 、绘制Bode图 bode函数绘制控制系统幅频和相频图 调
7、用格式 bode(sys) bode(sys, w) bode(sys1,sys2.sysn) bode(sys1,sys2.sysn,w) bode(sys1,plotstyle1,sys2,plotstyle2,.sysn,p lotstylen,) mag, phase, w=bode(sys) w频率区间矢量,控制频率起止范围 mag, phase, w输出幅值矢量输出相角输出频率区间 绘制系统幅频图 调用格式 bodemag(sys) bodemag(sys, w) bodemag(sys1,sys2.sysn) bodemag(sys1,sys2.sysn,w) bode mag(
8、sys1,plotsty le1,sys2,plotstyle2,.sysn,plotstylen,) 、系统的增益裕度和相角裕度 增益裕度定义:正好使系统频率响应穿过临界点的增益与实际系统增益的比值。 相角裕度:为了使系统的频率响应通过临界点必须引入的纯相位滞后量。 调用格式 gm pm wcg wcp=margin(sys) gm pm wcg wcp =margin(mag, phase, w) Gm系统增益裕度 pm系统相角裕度 wcg wcp-表示交叉频率 2)、Nichols图 对数幅相特性图(Nichols图)是描述系统频率特性的图示方法。该图纵坐标表示频率特性的对数幅值,以分贝
9、为单位;横坐标表示频率特性的相位角。 调用格式 nichols(sys) nichols(sys, w) nichols(sys1,sys2.sysn) nichols(sys1,sys2.sysn,w) nichols(sys1,plotstyle1,sys2,plotstyle2,.sys n,plotstylen,) mag, phase, w=nichols(sys) mag, phase=nichols(sys, w) 3)、Nyquist图 系统频率特性的极坐标图Nyquist图 调用格式 nyquist(sys) nyquist(sys, w) nyquist(sys1,sys2
10、.sysn) nyquist(sys1,sys2.sysn,w) nyquist(sys1,plotstyle1,sys2,plotstyle2,.sy s n,plotstylen,) mag, phase, w=nyquist(sys) mag, phase=nyquist(sys, w) 4)、一般频率响应图 调用格式 h=freqs(num , den, w) h ,w=freqs(num, den) h ,w=freqs(num ,den, f) freqs(num ,den) Num传递函数分子矢量 den传递函数分母矢量 W频率区间矢量 5)、频率响应的奇异值图 调用格式 sig
11、ma(sys) sigma(sys, w) sigma(sys ,w, type) sigma(sys1,sys2.sysn) sigma(sys1,sys2.sysn,w) sigma(sys1,sys2.sysn,w, type) sigma(sys1,plotstyle1,sys2,plotstyle2,.sysn,plotstylen,) sv, w=sigma(sys) sv=sigma(sys, w) Type绘制奇异值图的类型 Type=1 控制系统的频率响应H的奇异值图 Type=2 控制系统的频率响应I+H的奇异值图 Type=3 控制系统的频率响应I+H-1的奇异值图 Sv
12、频率的奇异值 plotstyle绘制奇异值曲线的特性 6)、绘制根轨迹 、求系统的零点、极点、增益 调用格式 p=pole(sys) 计算控制系统的极点 Z=zero(sys) 计算控制系统的零点 z, gain=zero(sys) 计算控制系统的零点、增益 、绘制系统极点、零点图 调用格式 pzmap(sys) pzmap(sys1,sys2,sysn) p z=pzmap(sys) 、绘制根轨迹图 调用格式 rlocus(sys) rlocus(sys ,k) Rlocus(sys1,sys2,) r k=rlocus(sys) r=rlocus(sys,k) k表示增益 r系统的极点 四
13、、实验内容 1.用matlab语言编制程序,实现以下系统: : 线性系统的传递函数模型可一般地表示为: m n a s a s a s b s b s b s b s G n n n n m m m m +?+?+=-+- )(1111121 将系统的分子和分母多项式的系数按降幂的方式以向量的形式输入给两个变量num 和den ,就可以轻易地将传递函数模型输入到MATLAB 环境中。命令格式为: ,121+?=m m b b b b num ; ,1121n n a a a a den -?=; 在MATLAB 控制系统工具箱中,定义了tf() 函数,它可由传递函数分子分母给出的变量构造出单个
14、的传递函数对象。从而使得系统模型的输入和处理更加方便。 该函数的调用格式为: G tf(num ,den); 将系统增益、零点和极点以向量的形式输入给三个变量KGain 、Z 和P ,就可以将系统的零极点模型输入到MATLAB 工作空间中,命令格式为: ;K KGain = ;21m z z z Z -?-= ; ;21n p p p P -?-= 在MATLAB 控制工具箱中,定义了zpk()函数,由它可通过以上三个MATLAB 变量构造出零极点对象,用于简单地表述零极点模型。该函数的调用格式为: G=zpk(Z,P,KGain) 1)2 26418245)(23423+=s s s s s
15、 s s G num=5,24,0,18;den=1,4,6,2,2;sys=tf(num,den) Transfer function: 5 s3 + 24 s2 + 18 - s4 + 4 s3 + 6 s2 + 2 s + 2 2)) 523()1()66)(2(4)(23322+=s s s s s s s s s G A=1,6,6;roots(A) 注释:求解662+s s 的根 ans = -4.7321 -1.2679 B=1,3,2,5;roots(B) 注释:求解52323+s s s 的根 ans = -2.9042 -0.0479 + 1.3112i -0.0479 -
16、 1.3112i z=-2,-4.7321,-4.7321,-1.2679,-1.2679;p=0,-1,-1,-1,-2.904 2,-0.0479+ 1.3112i,-0.0479 - 1.3112i;k=4;sys=zpk(z,p,k) Zero/pole/gain: 4 (s+2) (s+1.268)2 (s+4.732)2 - s (s+1)3 (s+2.904) (s2 + 0.0958s + 1.722) 2.两环节G1、G2串联,求等效的整体传递函数G(s) : 若假定两环节均为单输入单输出的系统SA 和SB 。 两个环节级联:sys series(SA ,SB) 32 )(1
17、+=s s G 127 )(22+=s s s G 方法一: G1=tf(2,1,3);G2=tf(7,1,2,1);sys=G1*G2 Transfer function: 14 - s3 + 5 s2 + 7 s + 3 方法二: G1=tf(2,1,3);G2=tf(7,1,2,1);sys=series(G1,G2) Transfer function: 14 - s3 + 5 s2 + 7 s + 3 3.两环节G1、G2并联,求等效的整体传递函数G(s) : 若假定两环节均为单输入单输出的系统SA 和SB 两个环节并联:sys=parallel(SA ,SB) 32 )(1+=s
18、s G 127 )(22+=s s s G 方法一: G1=tf(2,1,3);G2=tf(7,1,2,1);sys=G1+G2 nsfer function: 2 s2 + 11 s + 23 - s3 + 5 s2 + 7 s + 3 方法二: G1=tf(2,1,3);G2=tf(7,1,2,1);sys=parallel(G1,G2) Transfer function: 2 s2 + 11 s + 23 - s3 + 5 s2 + 7 s + 3 4.已知系统结构如图,求闭环传递函数。其中的 两 环节G1、G2分别为 : 若假定两环节均为单输入单输出的系统SA 和SB 。 A 环节前
19、向, B 环节反馈:S=feedback(SA,SB) 负反馈 G1=tf(3,100,1,2,81);G2=tf(2,2,5);sys=feedback(G1,G2,-1) Transfer function: 6 s2 + 215 s + 500 - 2 s 3 + 9 s2 + 178 s + 605 正反馈 G1=tf(3,100,1,2,81);G2=tf(2,2,5);sys=feedback(G1,G2,+1) Transfer function: 6 s2 + 215 s + 500 - 2 s 3 + 9 s2 + 166 s + 205 5.已知某闭环系统的传递函数为25
20、1096.116.02510)(23+= s s s s s G ,求其单位阶跃响应曲线,单位脉冲响应曲线。 : LTI 模型的阶跃响应函数step( ) 格式:step(sys) 功能:绘制系统sys(sys 由函数tf 、zpk 或ss 产生)的阶跃响应,结果不返回数据,只返回 图形。对多输入多输出模型,将自动求每一输入的阶跃响应。 LTI 模型的单位冲激响应函数impulse( ) 格式:impulse(sys) 功能:绘制系统sys (sys 由函数tf 、zpk 或ss 产生)的单位冲激响应,结果不返回数据, 只返回图形。 522 )(2+=s s G 8121003)(21+=s
21、s s s G (1)、单位阶跃响应 G=tf(10,25,0.16,1.96,10,25) Transfer function: 10 s + 25 - 0.16 s3 + 1.96 s2 + 10 s + 25 step(G); %计算并绘制系统的单位阶跃响应 title(单位阶跃响应) (2)、单位脉冲响应 impulse(G); %计算并绘制系统的单位脉冲响应title(单位脉冲响应) 6.典型二阶系统的传递函数为 , 为自然频率, 为阻尼比,试绘出当=0.5,n 分别取0、2、4、6、8、10时该系统的单位阶跃响 应曲线;分析阻尼比分别为0.5、1时系统的稳定性。 : =0.5时,利
22、用阶跃响应函数step( )绘制n 分别取0、2、4、6、8、10时的阶跃响应曲线。 (1)、=0.5,n 分别取0、2、4、6、8、10时该系统的单位阶跃响应曲线 G1=tf(0,4,1,2,4); %=0.5 Wn=2 G2=tf(0,16,1,4,16); %=0.5 Wn=4 G3=tf(0,36,1,6,36); %=0.5 Wn=6 G4=tf(0,64,1,8,64); %=0.5 Wn=8 G5=tf(0,100,1,10,100); %=0.5 Wn=10 n 2222)(n n n s s s G += step(G1,G2,G3,G4,G5); %计算并绘制系统的单位阶跃响应 title(单位阶跃响应) (2)、=-0.5,=-1时的阶跃响应曲线 G6=tf(0,100,1,-10,100);%=-0.5,Wn=10时的单位阶跃响应 G7=tf(0,100,1,-20,100);%=-1,Wn=10时的单位阶跃响应 step(G6,G7);title(=-0.5,=-1时的阶跃响应)