1、昆明学院自动控制原理课程设计报告自动控制原理课程设计报告课程名称: 自 动 控 制 原 理 设计题目:自动控制原理MATLAB仿真院 系:自动控制与机械工程学院班 级:2013级电气工程及其自动化3班 姓 名:烤火卡 学 号:指导教师:李云娟 自动控制原理课程设计报告一 实验目的和意义:1. 了解matlab 软件的基本特点和功能,熟悉其界面,菜单和工具条;掌握线性系统模型的计算机表示方法,变换以及模型间的相互转换。了解控制系统工具箱的组成,特点及应用;掌握求线性定常连续系统输出响应的方法,运用连续系统时域响应函数(impulse,step,lsim),得到系统的时域响应曲线。2. 掌握使用M
2、ATLAB软件作出系统根轨迹;利用根轨迹图对控制系统进行分析;掌握使用MATLAB软件作出开环系统的波特图,奈奎斯图;观察控制系统的开环频率特性,对控制系统的开环频率特性进行分析。3. 掌握MATLAB软件中simulink工具箱的使用;熟悉simulink中的功能模块,学会使用simulink对系统进行建模;掌握simulink的方真方法。二 实验原理(1)MATLAB语言的特点及其主要功能:MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括M
3、ATLAB和Simulink两大部分它将数值分析,矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平 MATLAB和Mathematica、Maple并称为三大数学软它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、
4、控制设计、信号处理与通讯、图中处理、信号检测、金融建模设计与分析等领域。(2)控制系统仿真时常用的方法和指令1、控制系统仿真时常用的方法 a、数学仿真也称计算机仿真,就是在计算机上实现描写系统物理过程的数学模型,并在这个模型上对系统进行定量的研究和实验。这种仿真方法常用于系统的方案设计和某些不适合做实物仿真的场合(包括某些故障模式)。它的特点是重复性好、精度高、灵活性大、使用方便、成本较低、可以是实时的、也可以是非实时的。数学仿真的逼真度和精度取决于仿真计算机的精度和数学模型的正确性与精确性。学仿真可采用模拟计算机、数字计算机和数字-模拟混合计算机。b、半物理仿真 即采用部分物理模型和部分数学
5、模型的仿真。其中物理模型采用控制系统中的实物,系统本身的动态过程则采用数学模型。半物理仿真统常由满足实时性要求的仿真计算机、运动模拟器(一般采用三轴机械台)、目标模拟器、控制台和部分实物组成。c、全物理仿真 即全部采用物理模型的仿真,又称实物模拟。全物理仿真技术复杂,一般只在必要时才采用。、控制系统仿真时常用的指令1)、Bode图、绘制Bode图bode函数绘制控制系统幅频和相频图调用格式bode(sys)bode(sys,w)bode(sys1,sys2.sysn) bode(sys1,sys2.sysn,w)bode(sys1,plotstyle1,sys2,plotstyle2,.sys
6、n,plotstylen,)mag,phase,w=bode(sys)w频率区间矢量,控制频率起止范围mag,phase,w输出幅值矢量输出相角输出频率区间绘制系统幅频图调用格式bodemag(sys)bodemag(sys, w)bodemag(sys1,sys2.sysn)bodemag(sys1,sys2.sysn,w)bodemag(sys1,plotstyle1,sys2,plotstyle2,.sysn,plotstylen,)、系统的增益裕度和相角裕度增益裕度定义:正好使系统频率响应穿过临界点的增益与实际系统增益的值。相角裕度:为了使系统的频率响应通过临界点必须引入的纯相位滞后量
7、。gmpmwcgwcp=margin(mag,phase,w)Gm系统增益裕度pm系统相角裕度wcgwcp-表示交叉频率2)、Nichols图对数幅相特性图(Nichols图)是描述系统频率特性的图示方法。该图纵坐标表示频率特性的对数幅值,以分贝为单位;横坐标表示频率特性的相位角。调用格式nichols(sys)nichols(sys,w)nichols(sys1,sys2.sysn) nichols(sys1,sys2.sysn,w)nichols(sys1,plotstyle1,sys2,plotstyle2,.sysn,plotstylen,)mag,phase,w=nichols(sy
8、s)mag,phase=nichols(sys,w)3)、Nyquist图 系统频率特性的极坐标图Nyquist图调用格式nyquist(sys)nyquist(sys,w)nyquist(sys1,sys2.sysn) nyquist(sys1,sys2.sysn,nyquist(sys1,plotstyle1,sys2,plotstyle2,.sysn,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
9、(num,den,f)freqs(num,den)Num传递函数分子矢量den传递函数分母矢量W频率区间矢量 5)、频率响应的奇异值图调用格式sigma(sys)sigma(sys,w)sigma(sys,w,type)sigma(sys1,sys2.sysn)sigma(sys1,sys2.sysn,w) sigma(sys1,sys2.sysn,w,typesigma(sys1,plotstyle1,sys2,plotstyle2,.sysn,plotstylen,)sv,w=sigma(sys)sv=sigma(sys,w)Type绘制奇异值图的类型 Type=1控制系统的频率响应H的奇
10、异值图Type=2控制系统的频率响应I+H的奇异Type=3控制系统的频率响应I+H-1的奇异值图Sv频率的奇异值plotstyle绘制奇异值曲线的特性6)、绘制根轨迹 1 、求系统的零点、极点、增益调用格式p=pole(sys)计算控制系统的极点Z=zero(sys)计算控制系统的零点z,gain=zero(sys)计算控制系统的零点、增益。、绘制系统极点、零点图 调用格式pzmap(sys)pzmap(sys1,sys2,sysn)pz=pzmap(sys)、绘制根轨迹图 调用格式rlocus(sys)rlocus(sys,k)Rlocus(sys1,sys2,)rk=rlocus(sys
11、)r=rlocus(sys,k)k表示增益r系统的极点三 实训内容1.用matlab语言编制程序,实现以下系统:1) #程序如下:num=5,24,0,18; den=1,4,6,2,2; G=tf(num,den) Transfer function: 5 s3 + 24 s2 + 18 - s4 + 4 s3 + 6 s2 + 2 s + 22)#程序如下#:num=4*conv(1,2,conv(1,6,6,1,6,6); den=conv(1,0,conv(1,1,conv(1,1,conv(1,1,1,3,2,5); G=tf(num,den) Transfer function:
12、4s5 + 56 s4 + 288 s3 + 672 s2 + 720 s + 288 - s7 + 6 s6 + 14 s5 + 21 s4 + 24 s3 + 17 s2 + 5 s2.两环节G1、G2串联,求等效的整体传递函数G(s) 【实验原理】: 若假定两环节均为单输入单输出的系统SA和SB。 两个环节级联:sysseries(SA,SB)#程序如下#:G1=tf(2,1,3);G2=tf(7,1,2,1);sys=series(G1,G2) Transfer function: 14 - s3 + 5 s2 + 7 s + 33.两环节G1、G2并联,求等效的整体传递函数G(s)
13、【实验原理】: 若假定两环节均为单输入单输出的系统SA和SB。两个环节并联:sys=parallel(SA,SB)#程序如下#: 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 + 34.已知系统结构如图,求闭环传递函数。其中的两环节G1、G2分别为【实验原理】: 若假定两环节均为单输入单输出的系统SA和SB。 A环节前向,B环节反馈:S=feedback(SA,SB)#程序如下#: G1=tf(3,100,1,2,81); G2=tf
14、(2,2,5); G=feedback(G1,G2) Transfer function: 6 s2 + 215 s + 500 - 2 s3 + 9 s2 + 178 s + 605 G=feedback(G1,G2,1) Transfer function: 6 s2 + 215 s + 500 - 2 s3 + 9 s2 + 166 s + 2055.已知某闭环系统的传递函数为,求其单位阶跃响应曲线,单位脉冲响应曲线。#实验原理#: LTI模型的阶跃响应函数step( ) 格式:step(sys) 功能:绘制系统sys(sys由函数tf、zpk或ss产生)的阶跃响应,结果不返回数据,只返
15、回图形。对多输入多输出模型,将自动求每一输入的阶跃响应。 LTI模型的单位冲激响应函数impulse( ) 格式:impulse(sys) 功能:绘制系统sys(sys由函数tf、zpk或ss产生)的单位冲激响应,结果不返回数据,返回图形。#程序如下#:sys=tf(10,25,0.16,1.96,10,25);step(sys);title(阶越响应);grid图5.1单位阶跃响应曲线sys=tf(10,25,0.16,1.96,10,25);impulse(sys);title(脉冲响应);grid图5.2脉冲响应曲线6.典型二阶系统的传递函数为 , 为自然频率, 为阻尼比,试绘出当=0.
16、5,分别取-2、0、2、4、6、8、10时该系统的单位阶跃响应曲线;分析阻尼比分别为0.5、1时系统的稳定性。【实验原理】: =0.5时,利用阶跃响应函数step( )绘制分别取0、2、4、6、8、10时的阶跃响应曲线。解:(1), =0.5,分别取-2、0、2、4、6、8、10时该系统的单位阶跃响应曲线#程序如下#: G0=tf(0,4,1,-2,4); %=0.5 Wn=-2 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
17、); %=0.5 Wn=8 G5=tf(0,100,1,10,100); %=0.5 Wn=10 step(G0,G1,G2,G3,G4,G5); %计算并绘制系统的单位阶跃响应title(单位阶跃响应)grid图6.1单位阶跃响应曲线(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时的阶跃响应) 分析稳定性: 从=-0.5,=-1时的阶跃响应曲线图可以看出,
18、曲线不收敛,而是发散的,说明系统是不稳定的。7. 设有一高阶系统开环传递函数为,试绘制该系统的零极点图和闭环根轨迹图。#实验原理#: 1 求系统的零点、极点、增益 调用格式 p=pole(sys) 计算控制系统的极点 Z=zero(sys) 计算控制系统的零点 z, gain=zero(sys) 计算控制系统的零点、增益 2 绘制系统极点、零点图 调用格式 pzmap(sys) pzmap(sys1,sys2,sysn) p z=pzmap(sys) 3 绘制根轨迹图 调用格式 rlocus(sys) rlocus(sys ,k) Rlocus(sys1,sys2,) r k=rlocus(s
19、ys) r=rlocus(sys,k) k表示增益 r系统的极点#程序如下#: 1)系统的零极点 #输入如下指令#: num=0.016,0.218,1.436 ,9.359; den=0.06,0.268,0.635,6.271; z,p,k=tf2zp(num,den)Pzmap(num,den) 运行结果: z = -10.4027 -1.6111 + 7.3235i -1.6111 - 7.3235i p = -5.7710 0.6522 + 4.2054i 0.6522 - 4.2054i k =0.2667图7.1 系统的零极点图 2)系统的闭环根轨迹 #输入如下指令#: num=
20、0.016 0.218 1.436 9.359; den=0.06 0.268 0.635 6.271; rlocus(num,den) 图7.2 系统的闭环根轨迹图8.单位反馈系统前向通道的传递函数为: ,试绘制该系统的Bode图和Nyquist曲线,说明软件绘制曲线与手动绘制曲线的异同。#实验原理#: 1)、Bode图 调用格式 bode(sys) bode(sys, w) bode(sys1,sys2.sysn) bode(sys1,sys2.sysn,w) bode(sys1,plotstyle1,sys2,plotstyle2,.sysn,plotstylen,) mag, phas
21、e, w=bode(sys) w频率区间矢量,控制频率起止范围 mag, phase, w输出幅值矢量 输出相角 输出频率区间 增益裕度定义:正好使系统频率响应穿过临界点的增益与实际系统增益的比值。 相角裕度:为了使系统的频率响应通过临界点必须引入的纯相位滞后量。 调用格式 gm pm wcg wcp=margin(sys) gm pm wcg wcp =margin(mag, phase, w) Gm系统增益裕度 pm系统相角裕度 wcg wcp-表示交叉频率 2)、Nyquist图 调用格式 nyquist(sys) nyquist(sys, w) nyquist(sys1,sys2.sy
22、sn) nyquist(sys1,sys2.sysn,w)nyquist(sys1,plotstyle1,sys2,plotstyle2,.sysn,plotstylen,) mag, phase, w=nyquist(sys) mag, phase=nyquist(sys, w)#程序如下#num=2,8,12,8,2; den=1,5,10,10,5,1; Bode(num,den)grid图8.1Bode图num=2,8,12,8,2;den=1,5,10,10,5,1;nyquist(num,den)v=-2,2,-2,2;axis(v)gridtitle(Nyquist曲线)图8.2
23、Nyquist曲线软件绘制曲线与手动绘制曲线的异同: 软件绘制曲线能准确的显示函数的图像,有利于分析计算。手动绘制曲线是采用对数幅频渐进线的方法得到。这种方法省去了逐点连线的繁琐,有利于分析系统稳定性等方面的问题。 9已知某控制系统的开环传递函数,试绘制系统的开环频率特性曲线,并求出系统的幅值与相位裕量。【实验原理】: Nichols图 对数幅相特性图(Nichols图)是描述系统频率特性的图示方法。该图纵坐标表示频率特性的对数幅值,以分贝为单位;横坐标表示频率特性的相位角。 调用格式 nichols(sys) nichols(sys, w) nichols(sys1,sys2.sysn) n
24、ichols(sys1,sys2.sysn,w) nichols(sys1,plotstyle1,sys2,plotstyle2,.sysn,plotstylen,) mag, phase, w=nichols(sys) mag, phase=nichols(sys, w)#程序如下#: G=tf(1.5,conv(conv(1,0,1,1),1,2); bode(G) gridGm,Pm,Wcg,Wcp=margin(G)#输出结果#Gm = 4.0000Pm = 41.5340 相角裕度Wcg = 1.4142Wcp = 0.6118图9.1Bode图10.在SIMULINK中建立系统,该
25、系统阶跃输入时的连接示意图如下。k为学生学号后三位。绘制其单位阶跃响应曲线,分析其峰值时间tp、延迟时间td、上升时间tr、调节时间ts及超调量。 【实验原理】: y,t=step(G) 该函数还同时返回了自动生成的时间变量t,对返回的这一对变量y和t的值进行计算,可以得到时域性能指标。 峰值时间(timetopeak)可由以下命令获得: Y,k=max(y); timetopeak=t(k) 应用取最大值函数max()求出y的峰值及相应的时间,并存于变量Y和k中。然后在变量t中取出峰值时间,并将它赋给变量timetopeak。 最大(百分比)超调量(percentovershoot)可由以下
26、命令得到: C=dcgain(G); Y,k=max(y); percentovershoot=100*(Y-C)/C dcgain( )函数用于求取系统的终值,将终值赋给变量C,然后依据超调量的定义,由Y和C计算出百分比超调量。 上升时间(risetime)可利用MATLAB中控制语句编制M文件来获得。首先简单介绍一下循环语句while的使用。 C=dcgain(G); n=1; while y(n)0.98*C)&(y(i)1.02*C) i=i-1; end setllingtime=t(i) 用向量长度函数length( )可求得t序列的长度,将其设定为变量i的上限值。本人学号后三位为
27、231,所以K=231.图10.1连接示意图图10.2#程序如下#:num1=1;den1=1 0;sys1=tf(num1,den1);num2=231;den2=1 9;sys2=tf(num2,den2);sys12=sys1*sys2;G=feedback(sys12,1);step(G)grid图10.2单位阶跃响应曲线分析峰值时间:#程序: num=231; den=1 9 231; y,x,t=step(num,den); peak,k=max(y); overshoot=(peak-1)*100 16tp,延迟时间td,上升时间tr,调节时间ts及超调量: tp=t(k) n=1; while y(n)0.98)&(y(m)10分贝,相位裕度大
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1