北理工自动控制实验报告.pdf

上传人:赵** 文档编号:66753110 上传时间:2022-12-20 格式:PDF 页数:28 大小:1.24MB
返回 下载 相关 举报
北理工自动控制实验报告.pdf_第1页
第1页 / 共28页
北理工自动控制实验报告.pdf_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《北理工自动控制实验报告.pdf》由会员分享,可在线阅读,更多相关《北理工自动控制实验报告.pdf(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、本科实验报告本科实验报告实验名称:实验名称:控制理论基础实验控制理论基础实验课程名称:任课教师:实验教师:学生姓名:学号/班级:学院:专业:实验类型:实验时间:实验地点:原理验证 综合设计 自主创新组号:同组搭档:成绩:实验实验 1 1 控制系统的模型建立控制系统的模型建立一、实验目的一、实验目的1.掌握利用 MATLAB 建立控制系统模型的方法。2.掌握系统的各种模型表述及相互之间的转换关系。3.学习和掌握系统模型连接的等效变换。二、实验原理二、实验原理1.1.系统模型的系统模型的 MATLABMATLAB描述描述系统的模型描述了系统的输入、输出变量以及内部各变量之间的关系,表征一个系统的模

2、型有很多种,如微分方程、传递函数模型、状态空间模型等。这里主要介绍系统传递函数(TF)模型、零极点增益(ZPK)模型和状态空间(SS)模型的 MATLAB 描述方法。1 1)传递函数()传递函数(TFTF)模型)模型传递函数是描述线性定常系统输入-输出关系的一种最常用的数学模型,其表达式一般为在 MATLAB 中,直接使用分子分母多项式的行向量表示系统,即num=bm,bm-1,b1,bden=an,an-1,a1,a0调用 tf 函数可以建立传递函数TF 对象模型,调用格式如下:Gtf=tf(num,den)Tfdata函数可以从 TF 对象模型中提取分子分母多项式,调用格式如下:num,d

3、en=tfdata(Gtf)返回 cell 类型的分子分母多项式系数num,den=tfdata(Gtf,v)返回向量形式的分子分母多项式系数2 2)零极点增益()零极点增益(ZPKZPK)模型)模型传递函数因式分解后可以写成式中,称为传递函数的零点,称为传递函的极点,k 为传递系数(系统增益)。在 MATLAB 中,直接用z,p,k矢量组表示系统,其中z,p,k 分别表示系统的零极点及其增益,即:z=p=;k=k;调用 zpk 函数可以创建 ZPK 对象模型,调用格式如下:同样,MATLAB 提供了 zpkdata 命令用来提取系统的零极点及其增益,调用格式如下:返回 cell 类型的零极点

4、及增益返回向量形式的零极点及增益函数 pzmap 可用于求取系统的零极点或绘制系统得零极点图,调用格式如下:在复平面内绘出系统模型的零极点图。返回的系统零极点,不作图。3 3)状态空间()状态空间(SSSS)模型)模型由状态变量描述的系统模型称为状态空间模型,由状态方程和输出方程组成:其中:x 为 n 维状态向量;u 为 r 维输入向量;y 为 m 维输出向量;A 为 nn 方阵,称为系统矩阵;B 为 nr 矩阵,称为输入矩阵或控制矩阵;C 为 mn 矩阵,称为输出矩阵;D 为 mr 矩阵,称为直接传输矩阵。在 MATLAB 中,直接用矩阵组A,B,C,D表示系统,调用 ss 函数可以创建 Z

5、PK 对象模型,调用格式如下:Gss=ss(A,B,C,D)同样,MATLAB 提供了 ssdata 命令用来提取系统的 A、B、C、D 矩阵,调用格式如下:A,B,C,D=ssdata(Gss)。它返回系统模型的 A、B、C、D 矩阵。4 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(

6、z,p,k)SS 模型TF 模型:tf(SYS)或 ss2tf(A,B,C,D)SS 模型ZPK 模型:zpk(SYS)或 ss2zp(A,B,C,D)2.2.系统模型的连接系统模型的连接在实际应用中,整个控制系统是由多个单一的模型组合而成,基本的组合方式有串联连接、并联连接和反馈连接。图 1-2 分别为串联连接、并联连接和反馈连接的结构框图和等效总传递函数。在 MATLAB 中可以直接使用“*”运算符实现串联连接,使用“”运算符实现并联连接。反馈系统传递函数求解可以通过命令feedback 实现,调用格式如下:T=feedback(G,H)T=feedback(G,H,sign)其中,G 为

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

8、1ImaginaryAxis(seconds-1)0.50.994504321-0.50.994-10.9760.9450.89-3.5-3-2.50.81-2-10.68-1.5-10.50.3-0.50-1.5-5-4.5-4Real Axis(seconds)2.已知控制系统的状态空间方程如下试用 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);Gtf=tf(Gss);Gzpk=zpk

9、(Gss);pzmap(Gzpk);grid on;实验结果:零极点图:Pole-Zero Map0.80.9840.9640.9350.870.740.450.60.9930.4ImaginaryAxis(seconds-1)0.9990.2504321-0.20.999-0.4-0.60.9930.984-0.8-5-4.5-4-3.50.964-3-2.50.935-20.87-1.50.74-10.45-0.50Real Axis(seconds-1)3 已知三个系统的传递函数分别为试用 MATLAB 求上述三个系统串联后的总传递函数。代码:num1=2 6 5;den1=1 4 5

10、2;G1=tf(num1,den1);num2=1 4 1;den2=1 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;实验结果:4.已知如图 E2-1 所示的系统框图试用 MATLAB 求该系统的闭环传递函数。代码:num1=1;den1=1 1;G1=tf(num1,den1);num2=1;den2=1;G2=tf(num2,den2);num3=3;den3=1 0;G3=tf(num3,den3);G=(G1+G2

11、)*G3;T=feedback(G,G2);U=G/(1+G2*G);实验结果:5已知如图 E2-2 所示的系统框图试用 MATLAB 求该系统的闭环传递函数。代码:num1=10;den1=1 1;G1=tf(num1,den1);num2=2;den2=conv(1 0,1 1);G2=tf(num2,den2);num3=1 3;den3=1 2;H1=tf(num3,den3);num4=5 0;den4=1 6 8;H2=tf(num4,den4);T1=feedback(G2,H1,1);G=G1*T1;T=feedback(G,H2);实验结果:四实验收获与心得四实验收获与心得经

12、过上学期的 MATLAB实验,对 MATLAB软件已经有一定的了解了。这次比较简单的几个实验让我学到了怎么将传递函数通过MATLAB来表达,怎么画传递函数的零极点,怎么设置软件比较容易看。倒腾了半天,最大的收获是知道了 conv 函数是怎么用的,以及有三个因式的该怎样书写。实验实验 2 2 控制系统的暂态特性分析控制系统的暂态特性分析一、实验目的一、实验目的 1.学习和掌握利用 MATLAB进行系统时域响应求解和仿真的方法。2.考察二阶系统的时间响应,研究二阶系统参数对系统暂态特性的影响。二、实验原理二、实验原理1.1.系统的暂态性能指标系统的暂态性能指标控制系统的暂态性能指标常以一组时域量值

13、的形式给出,这些指标通常由系统的单位阶跃响应定义出来,这些指标分别为:(1)延迟时间 td:响应曲线首次到达稳态值的 50%所需的时间。(2)上升时间 tr:响应曲线从稳态值的 10%上升到 90%所需要的时间长,对于欠阻尼系统,通常指响应曲线首次到达稳态值所需的时间。(3)峰值时间 tp:响应曲线第一次到达最大值的时间。(4)调整时间 ts:响应曲线开始进入并保持在允许的误差(2%或5%)范围内所需要的时间。(5)超调量:响应曲线的最大值和稳态值之差,通常用百分比表示其中 y(t)为响应曲线。在 MATLAB中求取单位阶跃响应的函数为 step,其使用方法如下step(sys)在默认的时间范

14、围内绘出系统响应的时域波形step(sys,T)绘出系统在 0 T 范围内响应的时域波形step(sys,ts:tp:te)绘出系统 tste 范围内,以 tp 为时间间隔取样的响应波形。y,t=step()该调用格式不绘出响应波形,而是返回响应的数值向量及其对应的时间向量。系统的暂态性能指标可以根据上述定义,在响应曲线上用鼠标读取关键点或通过搜索曲线对应的数值向量中关键点来确定。工具工具在 MATLAB 中提供了线性是不变系统仿真的工具 LT Viewer,可以方便地观察系统的响应曲线和性能指标。在命令窗口中键入 litview 即可启动 LTIViewer。这里简要介绍 LTI Viewe

15、r工具。1)【File】菜单 Import 选项:可以从 Workspace或文件中导入系统模型。Export 选项:将当前窗口中的对象模型保存到Workspace或文件中。Toolbox preferences选项:属性设置功能,可以设置控制系统中得各种属性值。Page Setup 选项:页面设置功能,可以对打印输出和显示页面进行设置。2)【Edit】菜单 Plot Configuration选项:对显示窗口及显示内容进行配置。Line Style 选项:线型设置功能,可以对输出响应曲线的线型进行设置。Viewer Preferences 选项:对当前窗口的坐标、颜色、字体、响应曲线的特性参

16、数等属性进行设置。3)右键菜单在运行界面上点击鼠标右键,将会弹出一个弹出式菜单,菜单上个选项的功能分别为:Plot Types:选择绘制的系统曲线类型,可选的类型有单位阶跃响应、单位冲击响应、波特图、奈奎斯特图、零极点图等。System:选择需要仿真的系统。Characteristic:系统的性能指标选项。Grid:显示和关闭网格。Normalize:正常显示模式。Full View:满界面显示模式。Properties:性能编辑器选项,可以设置画面的标题、坐标标志、坐标范围、线型、颜色、性能指标等。三、实验内容三、实验内容 1.已知单位负反馈系统前向通道的传递函数为试用 MATLAB绘制系统

17、的单位阶跃响应曲线。代码:num1=80;den1=1 2 0;G1=tf(num1,den1);T=feedback(G1,1);step(T);实验结果:Step Response1.81.61.41.2Amplitude10.80.60.40.2001234567Time(seconds)2.已知二阶系统(1)=,n=5,试用 MATLAB 绘制系统单位阶跃响应曲线,并求取系统的暂态性能指标。代码:Wn=5;E=;num1=Wn2;den1=1 2*E*Wn num1;G=tf(num1,den1);step(G);Step Response1.4System:GPeak amplitu

18、de:1.09Overshoot(%):9.48At time(seconds):0.783System:GRise time(seconds):0.371System:GFinal value:11.2System:GSettling time(seconds):1.191Amplitude0.80.60.40.2000.20.40.60.8Time(seconds)11.21.41.6由图中可以看到:上升时间 tr:响应曲线上升到 90%所需要的时间为。峰值时间 tp:响应曲线第一次到达最大值的时间为。调整时间 ts:响应曲线开始进入并保持在允许的误差范围内所需要的时间为。超调量:响应曲线

19、的最大值和稳态值只差的百分比为=9%(2)n=1,从 0 变化到 2,求此系统的单位阶跃响应。代码:实验结果:Step Response21.81.61.41.2E=0E=0.4E=0.8E=1.2E=1.6E=2Amplitude10.80.60.40.20051015Time(seconds)202530(3)=5.0,n 从 0 变化到 1(n 0),求此系统的单位阶跃响应。代码:实验结果:Step Response1.41.21Amplitude0.80.60.4Wn=0Wn=0.2Wn=0.4Wn=0.6Wn=0.8Wn=151015Time(seconds)2025300.200(

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

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

22、口根轨迹图中显示出十字光标,当用户选择其中一点时,相应的增益值和极点值记录在 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,在绘制栅格线之前清除当前的图形并将坐标轴属性设置成 hol

23、d on.工具工具MATLAB提供了一个根轨迹设计工具 Rltool,在命令窗口输入 rltool 命令即可启动该工具,也可输入rltool(sys)命令打开带系统模型 sys的根轨迹设计器,运行界面如图 31 所示。Rltool 工具既可以分析系统根轨迹也能对系统进行设计,具体使用方法请参考 MATLAB帮助或查阅相关资料。三、实验内容三、实验内容 1.已知系统开环传递函数为(1)使用 MATLAB绘制系统的根轨迹图。代码:实验结果:Root Locus3020ImaginaryAxis(seconds-1)100-10-20-30-14-12-10-8-6-4-202Real Axis(s

24、econds-1)(2)求根轨迹的两条分支离开实轴时的 K 值,并确定该 K 值对应的所有闭环极点。代码及结果:Root Locus3020ImaginaryAxis(seconds-1)100-10-20-30-14-12-10-8-6-4-1-202Real Axis(seconds)分析可得:k=;poles=,。(3)以区间40,5之间的值替代 12 =s 处的极点,重新绘制根轨迹图,观察其对根轨迹图的影响。代码:for i=5:5:40num=1 5;den=conv(conv(1 1,1 3),1 i);G=tf(num,den);zpk1=zpk(G);rlocus(zpk1);

25、hold on;end实验结果:Root Locus403020ImaginaryAxis(seconds-1)100-10-20-30-40-45-40-35-30-25-20-15-1-10-505Real Axis(seconds)从图中可以看到,轨迹的分支数并没有增加或减少,渐进线也并没变化,极值越大,轨迹分离之后趋近于无穷大的时间越快,分离点没有变化。2.已知系统开环传递函数为(1)使用 MATLAB绘制系统的根轨迹图。代码:实验结果:Root Locus2520151050-5-10-15-20-25-25ImaginaryAxis(seconds-1)-20-15-10-5-10

26、51015Real Axis(seconds)(2)计算两条分支进入右半平面和两条分支复数极点出发在实轴相交处的 K 值。代码及结果:Root Locus2520151050-5-10-15-20-25-25ImaginaryAxis(seconds-1)-20-15-10-5-1051015Real Axis(seconds)代码及结果:Root Locus2520151050-5-10-15-20-25-25ImaginaryAxis(seconds-1)-20-15-10-5-1051015Real Axis(seconds)(3)以区间20,1之间的值替代零点的位置,重新绘制根轨迹图,

27、观察其对根轨迹图的影响。代码:结果:Root Locus3020ImaginaryAxis(seconds-1)100-10-20-30-30-25-20-15-10-5051015Real Axis(seconds-1)分析:零点绝对值越大,左半支汇合点越靠近左边,绝对值越大。3.已知单位负反馈系统的开环传递函数为(1)使用 MATLAB 绘制系统的根轨迹图。代码:结果;Root Locus432ImaginaryAxis(seconds-1)10-1-2-3-4-6-5-4-3-2-101Real Axis(seconds-1)(2)分析使系统稳定的 K 值范围和使系统无超调的 K 值范围

28、,并通过观察系统的单位阶跃响应曲线加以验证。代码:结果:Step Response2k=0k=41.5k=8k=12k=161k=20Amplitude0.50051015Time(seconds)202530分析:由上图可以看出,使得系统稳定的K 值范围为:0k20代码:结果:Step Response1.41.210.8Amplitude0.6k=0k=2k=4k=10k=140.4k=6k=8k=12k=16k=18k=200.20051015Time(seconds)202530分析:由上图可以看出,使得系统无超调的K 值范围为:0k=2四、实验心得四、实验心得刚刚学的自控的根轨迹画法

29、,由于用手画,开始觉得根轨迹其实不是那么的好用,但是通过这次试验,通过用 MATLAB试验快速准确的画出根轨迹之后,发现可以很直观的看出使系统具有各种各样的性质需要的K 值范围,从而可以很快的找到符合要求的值。实验实验 4 4 系统的频率特性分析系统的频率特性分析一、实验目的一、实验目的1.学习和掌握利用 MATLAB 绘制系统 Nyquist 图和 Bode 图的方法。2.学习和掌握利用系统的频率特性分析系统的性能。二、实验原理二、实验原理系统的频率特性是一种图解方法,分析运用系统的开环频率特性曲线,分析闭环系统的性能,如系统的稳态性能、暂态性能常用的频率特性曲线有Nyquist 图和Bod

30、e 图。在MATLAB中,提供了绘制 Nyquist 图和 Bode 图的专门函数。图图nyquist 函数可以用于计算或绘制连续时间 LTI 系统的 Nyquist 频率曲线,其使用方法如 下:nyquist(sys)绘制系统的 Nyquist 曲线。nyquist(sys,w)利用给定的频率向量w 来绘制系统的 Nyquist 曲线。re,im=nyquist(sys,w)返回 Nyquist 曲线的实部 re 和虚部 im,不绘图。图图bode 函数可以用于计算或绘制连续时间LTI 系统的 Bode 图,其使用方法如下:bode(sys)绘制系统的 Bode 图。bode(sys,w)利

31、用给定的频率向量w 来绘制系统的 Bode 图。mag,phase=bode(sys,w)返回 Bode 图数据的幅度 mag 和相位 phase,不绘图。3.3.幅度和相位裕度计算幅度和相位裕度计算margin 函数可以用于从频率响应数据中计算出幅度裕度、相位裕度及其对应的角频率,其使用方法如下:margin(sys)margin(sys)margin(mag,phase,w)Gm,Pm,Wcg,Wcp=margin(sys)Gm,Pm,Wcg,Wcp=margin(mag,phase,w)其中不带输出参数时,可绘制出标有幅度裕度和相位裕度值的Bode 图,带输出参数时,返回幅度裕度 Gm、

32、相位裕度 Pm 及其对应的角频率Wcg 和 Wcp。三、实验内容三、实验内容1.已知系统开环传递函数为绘制系统的 Nyquist 图,并讨论其稳定性。代码:num=1000;den=conv(1 3 2,1 5);G=tf(num,den);nyquist(G);结果:Nyquist Diagram806040ImaginaryAxis200-20-40-60-80-2002040Real Axis6080100分析:系统没有开环正实部极点,但是上图在(-1,j0)左边有负穿越,所以系统不稳定。2.已知系统的开环传递函数为(1)绘制系统的零极点图,根据零极点分布判断系统的稳定性。代码:num=

33、conv(1,0 10);den=conv(conv(conv(2 0 0,10/3 1),3 1),1/40 1);G=tf(num,den);G1=zpk(G);pzmap(G1);margin(G);结果:Pole-Zero Map0.80.60.4ImaginaryAxis(seconds-1)0.20-0.2-0.4-0.6-0.8-40-35-30-25-20-15-10-50Real Axis(seconds-1)分析:从上图可以看出,系统在虚轴上有极点,属于临界稳定,但是实际中这样的稳定状态很难达到,所以视为不稳定。(2)绘制系统 Bode 图,求出幅度裕度和相位裕度,判断闭环

34、系统的稳定性。结果:Bode DiagramGm=-10.3 dB(at 0.747 rad/s),P m=52.2 deg(at 1.71 rad/s)10050Magnitude(dB)Phase(deg)0-50-100-150-90-135-180-225-27010-210-1100101102103分析:由图可知,系统的相位裕度是,幅度裕度是。因为系统的幅值裕度小于0,所以闭环系统不稳定。3.已知系统的开环传递函数为Frequency (rad/s)分别判断当开环放大系数K=5 和 K=20 时闭环系统的稳定性,并求出幅度裕度和相位裕度。代码:K=input();num=K;den

35、=conv(conv(1 0,1 1),1);G=tf(num,den);margin(G);当 K=5 时:Bode DiagramGm=6.85 dB(at 3.16 rad/s),P m=13.6 deg(at 2.1 rad/s)10050Magnitude(dB)Phase(deg)0-50-100-150-90-135-180-225-27010-210-1100101102103分析:从上图可知:幅值裕度:,相位裕度:。因为系统的相位裕度和幅值裕度都大于 0,所以闭环系统稳定。当 K=20 时:Bode DiagramGm=-5.19 dB(at 3.16 rad/s),P m=-9.66 deg(at 4.23 rad/s)10050Frequency (rad/s)Magnitude(dB)Phase(deg)0-50-100-150-90-135-180-225-27010-210-1100101102103分析:从上图可知:幅值裕度:,相位裕度:。因为系统的相位裕度和幅值裕度都小于 0,所以闭环系统不稳定。Frequency (rad/s)四、实验心得四、实验心得掌握一门新技能,可以通过 Nyquist 图和波特图来看系统的稳定性。今天刚学的 Nyquist图,通过实验非常直观的看出图形和稳定性的关系。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁