控制理论基础实验报告_第1页
控制理论基础实验报告_第2页
控制理论基础实验报告_第3页
控制理论基础实验报告_第4页
控制理论基础实验报告_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、控制理论基础实验报告 班 26/26实验1 控制系统的模型建立一、实验目的1. 掌握利用MATLAB 建立控制系统模型的方法。2. 掌握系统的各种模型表述及相互之间的转换关系。3. 学习和掌握系统模型连接的等效变换。二、实验原理1. 系统模型的 MATLAB描述系统的模型描述了系统的输入、输出变量以及内部各变量之间的关系,表征一个系统的模型有很多种,如微分方程、传递函数模型、状态空间模型等。这里主要介绍系统传递函数(TF)模型、零极点增益(ZPK)模型和状态空间(SS)模型的MATLAB 描述方法。1)传递函数(TF)模型传递函数是描述线性定常系统输入-输出关系的一种最常用的数学模型,其表达式

2、一般为 在MATLAB 中,直接使用分子分母多项式的行向量表示系统,即num = bm, bm-1, b1, b0den = an, an-1, a1, a0调用tf 函数可以建立传递函数TF 对象模型,调用格式如下:Gtf = tf(num,den)tfdata 函数可以从TF 对象模型中提取分子分母多项式,调用格式如下:num,den = tfdata(Gtf) 返回cell 类型的分子分母多项式系数num,den = tfdata(Gtf,v) 返回向量形式的分子分母多项式系数2)零极点增益(ZPK)模型传递函数因式分解后可以写成 式中z1,z2,zm称为传递函数的零点;P1,P2,Pn

3、称为传递函数的极点;k 为传递系数(系统增益)。在MATLAB 中,直接用z,p,k矢量组表示系统,其中z,p,k 分别表示系统的零极点及其增益,即:z=z1,z2,zm;p=p1,p2,pn;k=k;调用zpk 函数可以创建ZPK 对象模型,调用格式如下:Gzpk = zpk(z,p,k)同样,MATLAB 提供了zpkdata 命令用来提取系统的零极点及其增益,调用格式如下:z,p,k = zpkdata(Gzpk) 返回cell 类型的零极点及增益z,p,k = zpkdata (Gzpk,v) 返回向量形式的零极点及增益函数pzmap 用来求取系统的零极点或绘制系统得零极点图,调用格式

4、如下:pzmap(G) 在复平面内绘出系统模型的零极点图。p,z = pzmap(G) 返回的系统零极点,不作图。3)状态空间(SS)模型由状态变量描述的系统模型称为状态空间模型,由状态方程和输出方程组成:其中:x 为n 维状态向量;u 为r 维输入向量; y 为m 维输出向量; A 为nn 方阵,称为系统矩阵; B 为nr 矩阵,称为输入矩阵或控制矩阵;C 为mn 矩阵,称为输出矩阵; D为mr 矩阵,称为直接传输矩阵。在MATLAB 中,直接用矩阵组A,B,C,D表示系统,调用ss 函数可以创建ZPK 对象模型,调用格式如下:Gss = ss(A,B,C,D)同样,MATLAB 提供了ss

5、data 命令用来提取系统的A、B、C、D 矩阵,调用格式如下:A,B,C,D = ssdata (Gss) 返回系统模型的A、B、C、D 矩阵4)三种模型之间的转换上述三种模型之间可以互相转换,MATLAB 实现方法如下:TF 模型ZPK 模型:zpk(SYS)或tf2zp(num,den)TF 模型SS 模型:ss(SYS)或tf2ss(num,den)ZPK 模型TF 模型:tf(SYS)或zp2tf(z,p,k)ZPK 模型SS 模型:ss(SYS)或zp2ss(z,p,k)SS 模型TF 模型:tf(SYS)或ss2tf(A,B,C,D)SS 模型ZPK 模型:zpk(SYS)或ss

6、2zp(A,B,C,D)2. 系统模型的连接G1(s)G2G1(s)G2(s)Y(s) U(s)U(s)U(s)G1(s)G2(s)Y(s)G(s)=G1(s)G2(s) G(s)=G1(s)+G2(s) U(s) + U(s) +G(s)Y(s)H(s) (c)反馈连接在MATLAB 中可以直接使用“*”运算符实现串联连接,使用“”运算符实现并联连接。反馈系统传递函数求解可以通过命令feedback 实现,调用格式如下:T = feedback(G,H),T = feedback(G,H,sign)其中,G 为前向传递函数,H 为反馈传递函数;当sign = +1 时,GH 为正反馈系统传递

7、函数;当sign = -1 时,GH 为负反馈系统传递函数;默认值是负反馈系统。三、实验内容1. 已知控制系统的传递函数如下试用MATLAB 建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并绘制系统零极点图。实验代码及结果:num=2,18,40;den=1,5,8,6;gtf=tf(num,den)gtf =2 s2 + 18 s + 40s3 + 5 s2 + 8 s + 6Gzpk=zpk(gtf)Gzpk =2 (s+5) (s+4)(s+3) (s2 + 2s + 2)pzmap(Gzpk);grid onGss=ss(gtf)Gss =a =x1 x2 x3x1

8、-5 -2 -1.5x2 4 0 0 x3 0 1 0b =u1x1 4x2 0 x3 0c =x1 x2 x3y1 0.5 1.125 2.5d =u1y1 02. 已知控制系统的状态空间方程如下试用MATLAB 建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并绘制系统零极点图。实验代码及结果:A=0 1 0 0;0 0 1 0;0 0 0 1;-1 -2 -3 -4;B=0;0;0;1;C=10 2 0 0;D=0;Gss=ss(A,B,C,D)Gss = a = x1 x2 x3 x4 x1 0 1 0 0 x2 0 0 1 0 x3 0 0 0 1 x4 -1 -2

9、-3 -4 b = u1 x1 0 x2 0 x3 0 x4 1 c = x1 x2 x3 x4 y1 10 2 0 0 d = u1 y1 0Gtf=tf(Gss)Gtf = 2 s + 10 s4 + 4 s3 + 3 s2 + 2 s + 1Gzpk=zpk(Gss) Gzpk =2(s+5) (s+3.234) (s+0.6724) (s2 + 0.0936s + 0.4599)pzmap(Gzpk);grid on3. 已知三个系统的传递函数分别为试用MATLAB 求上述三个系统串联后的总传递函数。实验代码及结果:a1=2 6 5;b1=1 4 5 2;a2=1 4 1;b2=1 9

10、 8 0;z=-3 -7;p=-1 -4 -6;k=5;g1=tf(a1,b1)g1 = 2 s2 + 6 s + 5 s3 + 4 s2 + 5 s + 2g2=tf(a2,b2)g2 = s2 + 4 s + 1 s3 + 9 s2 + 8 s g3=zpk(z,p,k)g3 = 5 (s+3) (s+7) (s+1) (s+4) (s+6)G=g1*g2*g3G = 10 (s+3.732) (s+3) (s+7) (s+0.2679) (s2 + 3s + 2.5) s (s+8) (s+6) (s+4) (s+2) (s+1)44. 已知如图E2-1 所示的系统框图,试用MATLAB

11、 求该系统的闭环传递函数。Y(s)Y(s) U(s) + 实验代码: a1=1;b1=1 1;a2=1;b2=0.5 1;a3=3;b3=1 0;g1=tf(a1,b1)g1 =1s + 1g2=tf(a2,b2)g2 = 1 0.5 s + 1g3=tf(a3,b3)g3 = 3sa4=1;b4=0.5 1;g4=tf(a4,b4)g4 = 1 0.5 s + 1G=(g1+g2)*g3G = 4.5 s + 6 0.5 s3 + 1.5 s2 + sT=feedback(G,g4)T = 2.25 s2 + 7.5 s + 60.25 s4 + 1.25 s3 + 2 s2 + 5.5 s

12、 + 65. 已知如图E2-2 所示的系统框图,试用MATLAB 求该系统的闭环传递函数。U(s) +U(s) + Y(s) + +实验代码:a1=10;b1=1 1;a2=2;b2=1 1 0;a3=1 3;b3=1 2;a4=5 0;b4=1 6 8;g1=tf(a1,b1)g1 = 10 s + 1 g2=tf(a2,b2)g2 = 2 s2 + sg3=tf(a3,b3)g3 = s + 3 s + 2g4=tf(a4,b4)g4 =5 s s2 + 6 s + 8G1=feedback(g2,g3,1)G1 = 2 s + 4 s3 + 3 s2 6G=g1*G1G=20 s + 4

13、0s4 + 4 s3 + 3 s2 - 6 s - 6T=feedback(G,g4) T =20 s3 + 160 s2 + 400 s + 320s6 + 10 s5 + 35 s4 + 44 s3 + 82s2+ 116 s - 48四、实验心得对于第一节的自动控制理论的实验,主要是使我们能够清晰的认识到描述一个一个系统的传递函数的不同描述方式。通过对于模型的建立让我们能够很容易的掌握传递函数的描述方式。如多项式描述,零极点描述以及状态空间描述。这一节的实验内容较简单,所以基本没有遇到什么问题就解决了。并且掌握了系统的并联和级联以及掌握了系统的反馈的matlab实现。实验2 控制系统的暂

14、态特性分析一、实验目的1. 学习和掌握利用 MATLAB 进行系统时域响应求解和仿真的方法。2. 考察二阶系统的时间响应,研究二阶系统参数对系统暂态特性的影响。二、实验原理1. 系统的暂态性能指标控制系统的暂态性能指标常以一组时域量值的形式给出,这些指标通常由系统的单位阶跃响应定义出来,这些指标分别为:(1)延迟时间td:响应曲线首次到达稳态值的 50%(2)上升时间tr:响应曲线从稳态值的 10%上升到 90%所需要的时间长,(3)峰值时间tp:(4)调整时间ts:响应曲线开始进入并保持在允许的误差(2%或5%(5)超调量p其中y(t)为响应曲线。在 MATLAB 中求取单位阶跃响应的函数为

15、 step,其使用方法如下:step(sys) 在默认的时间范围内绘出系统响应的时域波形step(sys,T) 绘出系统在0T范围内响应的时域波形step(sys,ts:tp:te) 绘出系统在tste范围内,以tp为时间间隔取样的响应波形y,t = step() 该调用格式不绘出响应波形,而是返回响应的数值向量及其对应的时间向量。系统的暂态性能指标可以根据上述定义, 在响应曲线上用鼠标读取关键点或通过搜索曲线对应的数值向量中关键点来确定。三、实验内容1. 已知单位负反馈系统前向通道的传递函数为 试用MATLAB 绘制系统的单位阶跃响应曲线。实验代码:num=80;den=1 2 0;G=tf

16、(num,den)T=feedback(G,1);Step(T)实验结果:2. 已知二阶系统(1) = 0.6,n=5,试用MATLAB 绘制系统单位阶跃响应曲线,并求取系统的暂态性能指标。(2)n=1,从0变化到2,求此系统的单位阶跃响应。(3) = 0.5,n从0变化到1(n0),求此系统的单位阶跃响应。(4)观察上述实验结果,分析这两个特征参数对系统暂态特性的影响。(1)实验代码:wn=input(wn=);a=input(w=);num=wn2;den=1 2*wn*a wn2;G=tf(num,den);Ltiviem;tttt系统的单位阶跃响应曲线:(2)实验代码:for a=0:

17、0.5:2num=1;den=1 2*1*a 1;G=tf(num,den);step(G,20)hold onendlegend(=0,=0.5,=1,=1.5,=2);系统的单位阶跃响应曲线:(3)实验代码:for a=0.2:0.2:1num=a2;den=1 2*0.5*a a2;G=tf(num,den);step(G,20)hold onendlegend(n=0.2,n=0.4,n=0.6,n=0.8,此系统的单位阶跃响应曲线:(4)观察上述实验结果可得分析:1.由(2)中实验结果可知,在频率n不变的情况下,阻尼比越大, 上升时间和峰值时间就越长;超调量越小,响应的振荡倾向越弱,

18、平衡性越好;2.由(3)中实验结果可知,在阻尼比不变的情况下,n越大,延迟时间、上升时间和峰值时间就越短;调节时间越短,快速性越好。四、实验心得体会对于这个实验,首先有了第一次实验的基础,所以对于系统函数的建立有了一定的基础,所以对于系统模型的建立基本没有问题,只是对于LTI Viewer工具的使用上有了一定的问题。但是通过对于实验讲义的反复学习,最后自己还是知道了怎么使用这一工具。对于工具掌握了之后,马上面临一个问题就是传递函数中有2个变量,并且需要逐一的进行实验和分析,这就使得对于matlab编程有了一定的要求。通过自己的反复尝试后最后还是成功的将程序编写出来完成了实验。在这个实验中,我们

19、对于一个系统的动态性能有了一个较好的认识和理解。并且通过实验中自己的对于频率和阻尼比的改变,观察到这两个参数对于系统的影响,并且清楚的知道,这个参数会影响哪些动态指标,而且是知道怎么影响的。通过matlab实验使得自己在学习完自动控制理论之后能够将课堂上学习到的东西在实验中得到验证。这样先理论后实验的做法使得自己对于自动控制理论中的动态性能指标有了更深的认识并且将这部分的知识牢牢的掌握好。并且学习了怎么使用matlab来分析系统的动态性能指标后,可以使用这些手段在自己的以后的学习和使用中去分析一个系统后的验证方法。实验3 根轨迹分析一、实验目的1. 学习和掌握利用MATLAB 绘制根轨迹图的方

20、法。2. 学习和掌握利用系统根轨迹图分析系统的性能。二、实验原理1. 根轨迹分析的 MATLAB实现根轨迹是指系统某一参数变化时,闭环特征根在s 平面上运动的轨迹。在MATLAB 中,提供了用于根轨迹分析的专门函数。1)rlocus函数该函数的使用方法如下:rlocus(sys) 绘制单输入单输出LTI 系统的根轨迹图。rlocus(sys,k) 使用用户指定的根轨迹增益k 来绘制系统的根轨迹图。r,k = rlocus(sys) 返回根轨迹增益值和闭环极点值,不绘制根轨迹图2)rlocfind函数该函数的使用方法如下:k,poles=rlocfind(sys) 计算鼠标选取点处的根轨迹增益值

21、和闭环极点值,可在图形窗口根轨迹图中显示出十字光标,当用户选择其中一点时,相应的增益值和极点值记录在k和poles 中。k,poles=rlocfind(sys,p) 计算最靠近给定闭环极点p处的根轨迹增益。3)sgrid函数该函数的使用方法如下:sgrid可在连续系统根轨迹或零极点图上绘制出栅格线,栅格线由等阻尼系数和等自然频率线构成。sgrid(new) 先清除当前的图形,然后绘制出栅格线,并将坐标轴属性设置成hold on。sgrid(z,Wn) 指定阻尼系数z 和自然频率Wn。sgrid(z,Wn,new) 指定阻尼系数z 和自然频率Wn,在绘制栅格线之前清除当前的图形并将坐标轴属性设

22、置成hold on。三、实验内容1. 已知系统开环传递函数为 (1)使用MATLAB 绘制系统的根轨迹图。(2)求根轨迹的两条分支离开实轴时的K 值,并确定该K 值对应的所有闭环极点。(3)以区间-40,-5之间的值替代s = 12处的极点,重新绘制根轨迹图,观察其对根轨迹图的影响。(1)实验代码:z=-5;p=-1 -3 -12;k=1;G=zpk(z,p,k);rlocus(G);k,poles=rlocfind(G);实验结果:(2)根轨迹的两条分支离开实轴时的K 值为:K=3.388241319316290k值所对应的极点为:P1=-11.7569571575599 + 0.00000

23、000000000iP2=-2.12152142122007 + 0.0459919814849216iP3=-2.12152142122007 - 0.0459919814849216i(3)实验代码:z=-5;k=1;for a=-40:5:-5;p=-1 -3 a;G=zpk(z,p,k);hold onrlocus(G);endgtext(s=-40);gtext(s=-35);gtext(s=-30);gtext(s=-35);gtext(s=-20);gtext(s=-15);gtext(s=-10);gtext(s=-5);实验结果:随着s的变大,根轨迹中分离点逐渐靠近s=-1,

24、并且对于s=-5会有包围逐渐的变成不包围。会使的根轨迹中的汇合点逐渐靠近s=-5,最后会消失,消失的同时会使对于s=-5变成不包围。2. 已知系统开环传递函数为(1)使用MATLAB 绘制系统的根轨迹图。(2)计算两条分支进入右半平面和两条分支复数极点出发在实轴相交处的K 值。(3)以区间-20,-1之间的值替代零点的位置,重新绘制根轨迹图,观察其对根轨迹图的影响。(1)与(2)实验代码:z1=-8;k1=1;p1=0 -2;G1=zpk(z1,p1,k1);num=1;den=1 8 32;G2=tf(num,den);G=G1*G2rlocus(G);k,poles=rlocfind(G)

25、;实验结果:两条分支复数极点出发在实轴相交处K值为 K=2067.179319108023进入右半平面的K值为K=51.617730669157230(3)实验代码:k1=1;p1=0 -2;num=1;den=1 8 32;G2=tf(num,den);for z=-20:5:-1G1=zpk(z,p1,k1); G=G1*G2 hold on rlocus(G);end实验结果:随着零点的变大,使得根轨迹的汇合点逐渐的向原点靠近。3. 已知单位负反馈系统的开环传递函数为(1)使用MATLAB 绘制系统的根轨迹图。(2)分析使系统稳定的K 值范围和使系统无超调的K 值范围,并通过观察系统的单

26、位阶跃响应曲线加以验证。(1)实验代码:num=1;den=1 4 5 0;G=tf(num,den);rlocus(G);实验结果:根轨迹进入右半平面的时候与虚轴的交点对应的K值为K=20,所以当K=20的时候,系统是临界稳定的。所以当0k20的时候系统是稳定的。根轨迹在实轴上的分离点所对应的K值是K=2。所以当K=2的时候,系统是有两个重实根,所以阻尼比 ,当0k=2阻尼比是大于等于1的,所以是过阻尼振荡,不会产生超调。验证实验代码:k=input(K=)num=1;den=1 4 5 0;G=tf(num,den); rlocus(G);G=feedback(G,k);step(G);验

27、证结果:当k=2时,系统的单位阶跃响应曲线应是无超调且稳定从图上可以看出,K=2时,系统的单位阶跃响应曲线无超调且稳定,符合实验初的估计结果。当k=3时,系统的单位阶跃响应曲线应是有超调但稳定从图上可以看出,K=3时,系统的单位阶跃响应曲线有超调但稳定,符合实验初的估计结果。当k=10时,系统的单位阶跃响应曲线应是有超调但稳定从图上可以看出,K=10时,系统的单位阶跃响应曲线有超调但稳定,符合实验初的估计结果。当k=20时,系统的单位阶跃响应曲线应是有超调且不稳定,是一个等幅振荡。从图上可以看出,系统的单位阶跃响应曲线应是有超调且不稳定,是一个等幅振荡,符合实验初的估计结果。当K=25时,系统

28、的单位阶跃响应曲线应是无有超调且不稳定从图上可以看出,系统的单位阶跃响应曲线应是有超调且不稳定,符合实验初的估计结果。四、实验心得在这次实验中,实验的是开环系统的特征方程的特征根随开环放大系数的变化而变化。针对不同的开环放大系数对于系统的性能的影响。在实验的时候对于自动控制原理这门理论课上的一些系统的知识不是很熟悉和理解,所以在做实验的时候就有一些犯糊涂。尤其是对于根的理解。对于出现共轭复根的时候是对应的什么阻尼比,这样的阻尼比会使系统的的根是怎样的。对于分离点和汇合点,我们是可以从根轨迹上直接的找出来。分离点和汇合点是系统的阻尼比为1,也就是系统产生震荡,处于临界稳定的状态。所以我们在根轨迹

29、上找出无超调的最大的开环放大系数的点。对于系统稳定性的判断,则是需要理论上的临界稳定的知识储备。系统的极点全部在频域的左半平面,那么系统就是稳定,那么特征方程的特征根在虚轴上,那么此时的开环放大系数就是使系统处于系统临界稳定的K值。所以在根轨迹与虚轴的交点就是我们需要的临界状态。并且通过对于零点和极点的位置改变来观察对于系统的根轨迹的影响。通过图像生动形象的展示出极点和零点的影响。通过实验,自己更好的掌握了根轨迹的画法,并且能够很好的利用根轨迹去分析系统的动态性能指标和稳定指标。通过根轨迹去很好的理解系统,分析系统和掌握系统的特点。实验4 系统的频率特性分析一、实验目的1. 学习和掌握利用MA

30、TLAB 绘制系统Nyquist 图和Bode 图的方法。2. 学习和掌握利用系统的频率特性分析系统的性能。二、实验原理系统的频率特性是一种图解方法,分析运用系统的开环频率特性曲线,分析闭环系统的性能,如系统的稳态性能、暂态性能常用的频率特性曲线有Nyquist 图和Bode 图。在MATLAB中,提供了绘制Nyquist 图和Bode 图的专门函数。1. Nyquist图nyquist 函数可以用于计算或绘制连续时间LTI系统的Nyquist 频率曲线,其使用方法如下:nyquist(sys) 绘制系统的Nyquist 曲线。nyquist(sys,w) 利用给定的频率向量w 来绘制系统的Nyquist 曲线。re,im=nyquist(sys,w) 返回Nyquist 曲线的实部re 和虚部im,不绘图。2. Bode图bode函数可以用于计算或绘制连续时间LTI系统的Bode图,其方法如下:bode(sys) 绘制系统的Bode图。bode(sys,w)利用给定的频率向量w 来绘制系统的Bode 图。mag,phase=bode(sys,w)返回Bode图数据的幅度mag 和相位phase,不

温馨提示

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

评论

0/150

提交评论