北理工自动控制实验报告_第1页
北理工自动控制实验报告_第2页
北理工自动控制实验报告_第3页
北理工自动控制实验报告_第4页
北理工自动控制实验报告_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、北理工自动控制实验报告北京理工大学Beijing institute of Technology本科实验报告实验名称:控制理论基础实验课程名称:实验时间:任课教师:实验地点:实验教师:实验类型:原理验证综合设计自主创新学生姓名:学组 号:学 院:同组搭档:专 业:成 绩:信息与电子学院SCHOOL OF INFORMATION AND ELICTRONICS实验1控制系统的模型建立一、实验目的1.方法。2.掌握利用MATLAB建立控制系统模型的掌握系统的各种模型表述及相互之间的转换关系。3.学习和掌握系统模型连接的等效变换。二、实验原理1 .系统模型的MATLAB描述 系统的模型描述了系统的输

2、入、输出变量以及内部各变量之间的关系,表征一个系统的模型 有很多种,如微分方程、传递函数模型、状态空 间模型等。这里主要介绍系统传递函数(TF)模 型、零极点增益(ZPK)模型和状态空间(SS) 模型的MATLAB描述方法。1)传递函数(TF)模型 传递函数是描述线性定常系统输入-输出关系的一种最常用的数学模型,其表达式一般为bmsm + bm 1smt + + brsr + b。 c r 、 i/trri- 11uG (s)=:anSn + CLnSnl + + ClS1 + o在MATLAB中,直接使用分子分母多项式的 行向量表示系统,即num = bm, bm-1,bl, bden =a

3、n, an-1, al, aO 调用tf函数可以建立传递函数TF对象模型,调用格式如下:Gtf = tf(num, den) Tfdata函数可以从TF对象模型中提取分子分母多项式,调用格式如下:num, den = tfdata(Gtf)返回 cell 类型 的分子分母多项式系数num, den = tfdata (Gtf, v)返回向量形 式的分子分母多项式系数2)零极点增益(ZPK)模型 传递函数因式分解后可以写成G(s) = k(S-Zi)(S-Z2.(S-Zm) (S-p1)(S-p2)-(-Pn)式中,Zi,Z2.Zm称为传递函数的零点,PLP2Pn称为传递函的极点,k为传递系 数

4、(系统增益)。在MATLAB中,直接用z, p, k矢量组表示 系统,其中z, p, k分别表示系统的零极点及 其增益,即:Z- Z,Zm;P=P1,P2 PtJ;k= k;调用zpk函数可以创建ZPK对象模型,调用格式如下:G = zpk(z,p,k)同样,MATLAB提供了 zpkdata命令用来提取系统的零极点及其增益,调用格式如下:z, p, k = zpkdataGzpk) 返回 cell 类型的零极点及增益z, p, k = zpkdata (Gzpkju,)返回向量形式的零极点及增益函数pzmap可用于求取系统的零极点或绘制系统得零极点图,调用格式如下:pzmap(G)在复平面内

5、绘出系统模型的零 极点图。p, z = pzmap返回的系统零极点,不 作图。3)状态空间(SS)模型由状态变量描述的系统模型称为状态空间模型,由状态方程和输出方程组成:x = Ax + buy = Ax + Du其中:x为n维状态向u为r维输入向;M;1=Iy为m维输出向量;A为nXn方阵,称为系统矩阵;B为nXr矩阵,称为输入矩 阵或控制矩阵;C为mXn矩阵,称为输出矩阵;D为mXr矩阵,称为直接传输矩阵。在MATLAB中,直接用矩阵组A,B,C,D表 示系统,调用SS函数可以创建ZPK对象模型, 调用格式如下:Gss = ss (A, B, C, D)同样,MATLAB提供了 ssdat

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

7、)或 模型:ss(SYS)或 模型:tf (SYS)或 模型:zpk(SYS)或2 .系统模型的连接 在实际应用中,整个控制系统是由多个单一的模型组合而成,基本的组合方式有串联连接、 并联连接和反馈连接。图1-2分别为串联连接、 并联连接和反馈连接的结构框图和等效总传递 函数。在MATLAB中可以直接使用运算符实 现串联连接,使用“ + ”运算符实现并联连接。反馈系统传递函数求解可以通过命令feedback 实现,调用格式如下:T 二 feedback (G, H)T = feedback (G, H, sign)其中,G为前向传递函数,H为反馈传递函数;数;数;当sign=+1时,GH为正反

8、馈系统传递函当sign=-1时,GH为负反馈系统传递函默认值是负反馈系统。三、实验内容1.已知控制系统的传递函数如下G(s)=2s2 + 18s+40s3 + 5s2+8s+6试用MATLAB建立系统的传递函数模型、零极点增益模型及系统的状态空间方程模型,并绘 制系统零极点图。代码:num=2 18 40;den=l 5 8 6;Gtf=tf(num, den);Gzpk=zpk(Gtf);pzmap(Gzpk);grid on;Gss=ss(Gzpk);实验结果:G-ss =x2x310-1 2.5150-3b = ulxl 0x2 1. 778x3 1. 414x2x31.1250c 二

9、xlyl 3.374d =ulyl 0Co nt inuous-t im.e state-sp ace model.零极点图:Rte-Zero0.9450.890.810.680.5 0.30.976/o.-O.(SPUOES ) 城-5AJgDW0.9944.3.20.9g40.9760.9450.890310.680.5 0.3 r 一 r , r i / id i r t n3-2.5-2-1.5Reai Axis (seconds 1)0.52.已知控制系统的状态空间方程如下y = 10 2 0 0卜试用MATLAB建立系统的传递函数模型、 零极点增益模型及系统的状态空间方程模型,并

10、绘制系统零极点图。A=0 1 0 0;0 0 1 0;0 0 0 1;-1 -2 -3 -4;B=0;0;0;l;C=10 2 0 0;D=0;Gss=ss (A, B, C, D);Gtf=tf(Gss):Gzpk=zpk(Gss); pzmap(Gzpk); grid on;实验结果:Gss =b =ulxl 0x2 0x3 0x4 1c =xl k2 x3yl 10200d =Ulyl 0Continuous-time state-space model. GtfGtf =sA4 + 4 s3 + 3 s2 + 2 s + 1Cantinucus-tinie transfer funct

11、ion. GzpkGzpk =2 (s+5)(s+3.234) (s+0. 6724) (s 2 + 0.0936s + 0. 4599)Continuous-tim.e zero/pole./gain Kiodel.零极点图:0.80.740.45-0.6-0.2 F 0.9990 6 -0.9930.9640.935r .1rJ -2.5-2Real Axis (seconds0.984-0.8 L(5-4.5L.spuoas)XV0.9990.2 -3已知三个系统的传递函数分别为GQ)=产=6,”/+4s- + 5s+2、+ 4s+l2 5 =十9十8sG式,湍篝为试用MATLAB求上述

12、三个系统串联后的总传递函数。代码: numl=2 6 5;denl=l 4 5 2;Gl=tf (numl, deni);num2=l 4 1;den2=l 9 8 0;G2=tf (num2, den2);num3=conv(conv(1 3, 1 7),0 5); den3=conv(conv(1 1, 1 4), 1 6); G3=tf (num3, den3);G=G1*G2*G3;实验结果:G12 s2 十 6 s 十 5sA3 + 4 s2 + 5 s + 2Continuous-time transfer function. G2G2 =“2 + 4 s + 1sA3 + 9 s

13、2 + 8 sCont inuous-tim.e transfer function. G3G3 =5 sA2 + 50 s + 105sA3 + 11 sA2 + 34 s + 24Coutinuous-time transfer function. GG =10 sA6 + 170 sA5 + 1065 s + 3150 s”3 + 4580 s2 + 2980 s + 525sA9 + 24 sA8 + 226 s*7 十 1084 父6 + 2905 /5 十 4516 s3 + 4044 5A3 + 1936 /2 + 384 sCoutinuous-time transfer fu

14、nction.4.已知如图E2-1所示的系统框图试用MATLAB求该系统的闭环传递函数。numl=l;denl=Ll 1;Gl=tf(numl, deni);num2=l;den2=0. 5 1;G2=tf(num2, den2);num3=3;den3=l 0;G3=tf(num3, den3);G=(G1+G2)*G3;T=feedback(G, G2);U=G/(1+G2*G);实验结果:r =2.25 s2 + 7.5 s + 60.25 -4 + 1.25 sA3 + 2 sA2 + 5.5 s + 6Continuous-time transfer function. Uu =1.

15、 125 5 十 7.125 SA4 十 16.5 43 + 16.5 s2 + 6 s0. 125 sA7 + “6 + 3. 125 屋5 + 7 sA4 + 13. 25 (3 + 14.5 s2 + 6 sContinuous-time transfer function.5,已知如图E2-2所示的系统框图试用MATLAB求该系统的闭环传递函数。numl=10;denl=l 1;Gl=tf(numl, deni);num2=2;den2=conv(l 0, 1 1);G2=tf (num2, den2);num3=l 3;den3=1 2;Hl=tf (num3, den3);num4

16、=5 0;den4=1 6 8;H2=tf(num4, den4);Tl=feedback(G2, Hl, 1);G=G1*T1;T=feedback (G, H2);实验结果: TI =20 sA3 + 160 sA2 + 400 s + 320sA6 + 10 sA5 + 35 s3 + 44 /3 + 82 /2 + 116 s - 48Continuous-time transfer function.四.实验收获与心得经过上学期的MATLAB实验,对MATLAB软件 已经有一定的了解了。这次比较简单的几个实验 让我学到了怎么将传递函数通过MATLAB来表 达,怎么画传递函数的零极点,

17、怎么设置软件比 较容易看。倒腾了半天,最大的收获是知道了conv函数是怎么用的,以及有三个因式的该怎 样书写。实验2控制系统的暂态特性分析一、实验目的1 .学习和掌握利用MATLAB进行系统时域 响应求解和仿真的方法。2 .考察二阶系统的时间响应,研究二阶系 统参数对系统暂态特性的影响。二、实验原理1 .系统的暂态性能指标控制系统的暂态性能指标常以一组时域量值的形式给出,这些指标通常由系统的单位阶 跃响应定义出来,这些指标分别为:(1)延迟时间td :响应曲线首次到达稳 态值的50%所需的时间。(2)上升时间tr响应曲线从稳态值的10%上升到90%所需要的时间长,对于欠阻 尼系统,通常指响应曲

18、线首次到达稳态值所需的 时间。(3)峰值时间tp :响应曲线第一次到达 最大值的时间。(4)调整时间ts :响应曲线开始进入并 保持在允许的误差(2%或士5%)范围内所需要 的时间。(5)超调量。:响应曲线的最大值和稳态值之差,通常用百分比表示。=%)一丁(%100%其中y(t)为响应曲线。在MATLAB中求取单位阶跃响应的函数 为step,其使用方法如下tep (sys)在默认的时间范围内绘出系统响应的时域波形step(sys, T)绘出系统在0- T范围内响应的时域波形step (sys, ts:tp:te)绘出系统 ts - te 范目内,以tp为时间间隔取样的响应波形。y, t=ste

19、p()该调用格式不绘出响应波形,而是返回响应的数值向量及其对应的时间 向量。系统的暂态性能指标可以根据上述定义,在响应曲线上用鼠标读取关键点或通过搜索曲线 对应的数值向量中关键点来确定。2 . LTIViewer 工具在MATLAB中提供了线性是不变系统仿真的 工具LT Viewer,可以方便地观察系统的响应 曲线和性能指标。在命令窗口中键入litview即 可启动 LTIViewer。 这里简要介 绍 LTI Viewer 工具。1) File菜单Import 选项:可以从Workspace或文件 中导入系统模型。Export选项:将当前窗口中的对象模型保 存到Workspace或文件中。T

20、oolbox preferences选项:属性设置功能,可以设置控制系统中得各种属性值。Page Setup选项:页面设置功能,可以 对打印输出和显示页面进行设置。2) Edit菜单Plot Configuration 选项:对显示窗口 及显示内容进行配置。Line Style选项:线型设置功能,可以 对输出响应曲线的线型进行设置。Viewer Preferences选项:对当前窗口的坐标、颜色、字体、响应曲线的特性参数等属性 进行设置。3)右键菜单在运行界面上点击鼠标右键,将会弹出一个 弹出式菜单,菜单上个选项的功能分别为:Plot Types:选择绘制的系统曲线类型,可选的类型 有单位阶跃

21、响应、单位冲击响应、波特图、奈奎 斯特图、零极点图等。System:选择需要仿真的系统。Characteristic:系统的性能指标选项。Grid:显示和关闭网格。Normalize:正常显示模式。Full View:满界面显示模式。Properties:性能编辑器选项,可以设置画 面的标题、坐标标志、坐标范围、线型、颜色、 性能指标等。三、实验内容1.已知单位负反馈系统前向通道的传递 函数为80WE试用MATLAB绘制系统的单位阶跃响应曲线。代码:numl=SO; denl=l 2 0;Gl=tf(numl, deni);T二feedback (Gl, 1); step(T);实验结果:01

22、23456Trre(seconds)Slep Response1.81.61.41.2S 1 r g 0 80.60.40.2 02.已知二阶系统G6) =(1) =6.0, 3n=5,试用 MATLAB 绘制系统单位阶跃响应曲线,并求取系统的暂态性能指 标。代码:Wn=5;E=0. 6;numl=Wn2;denl=El 2*E*Wn numl;G=tf (numl, deni);step(G);Step Response0.80.60.41.60.60.81Time (seconds)由图中可以看到:上升时间tr:响应曲线上升到90%所需要的时 间为 0. 371SO峰值时间tp:响应曲线第

23、一次到达最大值的时间为 0. 787s o调整时间ts:响应曲线开始进入并保持在允许的误差范围内所需要的时间为L 19s。超调量。:响应曲线的最大值和稳态值只差的百分比为。=9%(2) 3n=l , C 从0变化到2,求 此系统的单位阶跃响应。代码:Wn= 1: for i=0:5E=0. 4*廿 nujnl=WnA2;denl=l 2*E*Wn numl;G=tf (nwnl? deni): step(G, 30): hold on;end.Legend E=CT J E=0. 4 E=0. 8 E= 1 , 2 J E=1 . 6 J E=2);实验结果:Step Response0.61

24、01520Time (seconds)2 6.6(3)C=5 . 0, on 从 0 变化到 1(sn WO),求此系统的单位阶跃响应。代码:E=0.5; for i=0:5Wn=0. 2*i: numl=Wn.A2;deni=l 2*E*Wn numl;G=tf (numU deni):step(fr, 30);hold on.;endLegendC Wn=0J/Wn=0. 25/Wn=0. 4/Wn=0. 6/Wn=0. 85/Wn=l5);实验结果:Step Rasponse0.80.60.40251015202530Tito (seconds)(4)观察上述实验结果,分析这两个特征参数

25、对系统暂态特性的影响。由上面的两个图可以看到,C参数主要影响系统的稳定性,超调量,上升时间。C越大,上 升时间,峰值时间变长,而超调量变小。3n参数主要影响时间,3n越大,上升时间,峰值时间越小,而对超调量等其他因素近似 没有影响。四、实验心得通过这个实验,对二阶系统的an, C对系 统的影响有更深的理解,也知道怎么系统更稳 定,达到稳定的时间更短,更快,更好,对以后 的实际电路有深远的影响。实验3根轨迹分析一、实验目的L学习和掌握利用MATLAB绘制根轨迹 图的方法。2.学习和掌握利用系统根轨迹图分析系 统的性能。二、实验原理1.根轨迹分析的MATLAB实现根轨迹是指系统某一参数变化时,闭环

26、特征 根在s平面上运动的轨迹。在MATLAB中,提供 了用于根轨迹分析的专门函数。1) rlocus 函数该函数的使用方法如下:rlocus (sys)绘制单输入单输出LTI系统 的根轨迹图。rlocus (sys, k)使用用户指定的根轨迹增益k来绘制系统的根轨迹图。r, k二rlocus(sys)返回根轨迹增益值和闭环极点值,不绘制根轨迹图。2) rlocfind 函数该函数的使用方法如下:k, poles =rlocf ind (sys)计算鼠标选取点处的根轨迹增益值和闭环极点值,可在图形窗 口根轨迹图中显示出十字光标,当用户选择其中 一点时,相应的增益值和极点值记录在k和 poles

27、中。k, poles =rlocf ind (sys, p)计算最靠近给定闭环极点P处的根轨迹增益。3) sgrid函数该函数的使用方法如下:Sgrid可在连续系统根轨迹或零极点图上绘制出栅格线,栅格线由等阻尼系数和等自然频 率线构成。sgrid( new)先清除当前的图形,然后绘制出栅格线,并将坐标轴属性设置 成 hold on。sgrid (z, Wn)指定阻尼系数z和自然频率Wnosgrid (z, Wn,new )指定阻尼系数Z和自然频率Wn,在绘制栅格线之前清 除当前的图形并将坐标轴属性设置 成 hold on.2. Rltool 工具MATLAB 提供了 一个根轨迹设计工具Rlto

28、ol,在命令窗口输入rltool命令即可启动该工具,也可输入rltool (sys)命令打开带系统模型sys的根轨迹设计器,运行界面 如图3 - 1所示。Rltool工具既可以分析 系统根轨迹也能对系统进行设计,具体使用方 法请参考MATLAB帮助或查阅相关资料。三、实验内容1 .已知系统开环传递函数为G(s) =(1)使用MATLAB绘制系统的根轨迹图。代码:k=l;nujR= 15;den=conv(conv( 1 1? 112):G=tf (n皿 den):zpkl=zpk(G);rlocus (zpkl):实验结果:Root Locus-14-12-10-8-6-4-202-30Fte

29、al Axis (seconds1)(2)求根轨迹的两条分支离开实轴时的K值,并确定该K值对应的所有闭环极 点。代码及结果: Ok? poles = rlocfind.(zpk 1)Select a point in the graphics window selected_point =0.00071k =3.3812poles =-11.7575-2. 1213 + 0.00071-2. 1213 - 0.00071#Root Locus-14-12-10-8-6-4-202Real Axe (seconds分析可得: k=3.3812;poles=-ll. 7575, -2. 1213-

30、0. 0007i,-2. 1213+0. 0007io 代12 -二s处的极点,重新绘制根轨迹图, 观察其对根轨迹图的影响。(3)以区间-40 ,-5之间的值替代码for i=5:5:40 num=1 5; den=conv(conv(1 1,1 3),1 i); G=tf(num,den);zpkl=zpk(G); rlocus(zpkl); hold on;end实验结果:Ftoo! Locus-40-35-30-25-20-15-10Rsai Axis (seconds10010-Tf 83- SOV AJBC6RU 一从图中可以看到,轨迹的分支数并没有增加或 减少,渐进线也并没变化,极

31、值越大,轨迹分离 之后趋近于无穷大的时间越快,分离点没有变 化。2 .已知系统开环传递函数为G0)K(s + 8)心十2)(十8$十32)(1)使用MATLAB绘制系统的根轨迹图。代码:k=l;nm=l 8:den=conv(conv( 1 2:, 1 0)1 S 32);G=tf (mmnden):zpkl=zpk(G): rlocus (zpkl);实验结果:25WXJt LOCUS201510-10-2051015-10-5 cAsai Ax.s (seconds !)-2S-2025(2)计算两条分支进入右半平面和两条分支复数极点出发在实轴相交处的KII代码及结果: k,poles=r

32、locfind(zpkl)Select a point in the graphics windowselected_point =-0.0237 +3.4938i54.7660poles =-5.0253 +3.3548i-5.0253 -3.354Si0.0253 +3.4641i0.0253 -25Root Locus代码及结果: Ic poles = rlocfind.(zpk 1)Select a point in the graphics window selected_point =-10.1659 - 0.077612.0693电+03poles =5.24145.2414-1

33、0.2414-10.2414+11.41751-11.4175l十 0.02571-0.0257iRoot LocusReal Axis (seconds )(3)以区间-20, - 1之间的值替代零点的位置,重新绘制根轨迹图,观察其对根轨迹图 的影响。代码: for i=0. 25:5z=-2*i:p= 0 -2 -4+4j ;zplcl=zpk(z, p,k);rlocusfzpkl);hold on;end结果:30Root Locus30-25-20-15-10-5051015Real Axis (seconds !)20100-10-20G.SPU8& xv AaueeuJ-30分析

34、:零点绝对值越大,左半支汇合点越靠近左边,绝对值越大。3 .已知单位负反馈系统的开环传递函数为G(s) =(1)使用MATLAB绘制系统的根轨迹图。代码:nuni=L:den=L 4 5 0;G=tf (num., den);zpkl=zpk(G): rlocus(zpkl);结果;Root Locus-3-2Real Axis (seconds。04 3 2 1 O-1-2-3 (spuoys)ttw(2)分析使系统稳定的K值范围和使系统无超调的K值范围,并通过观察系统的单位阶跃响应曲线加以验证o代码: for k=0:4:20:nuiuFk :den=1 450;G=t f (num, den);g=f eedback (Gj 1);step (g_, 30): hold on;endlegend ( k二0 Jk=8k=12 J k= 16 k二20):结果

温馨提示

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

评论

0/150

提交评论