自动控制原理MATLAB仿真实验指导书_第1页
自动控制原理MATLAB仿真实验指导书_第2页
自动控制原理MATLAB仿真实验指导书_第3页
自动控制原理MATLAB仿真实验指导书_第4页
自动控制原理MATLAB仿真实验指导书_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、自动控制原理自动控制原理 MATLAB 仿真实验仿真实验 实实 验验 指指 导导 书书 电气电子信息工程系自动化教研室 实验一实验一 典型环节的典型环节的 MATLAB 仿真仿真 一、实验目的一、实验目的 1熟悉 MATLAB 桌面和命令窗口,初步了解 SIMULINK 功能模块的使用方法。 2通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3定性了解各参数变化对典型环节动态特性的影响。 二、二、SIMULINKSIMULINK 的使用的使用 MATLAB 中 SIMULINK 是一个用来对动态系统进行建模、仿真和分析的软件包。利用 SIMULINK 功能模块

2、可以快速的建立控制系统的模型,进行仿真和调试。 1运行 MATLAB 软件,在命令窗口栏“”提示符下键入 simulink 命令,按 Enter 键或在工 具栏单击按钮,即可进入如图 1-1 所示的 SIMULINK 仿真环境下。 2选择 File 菜单下 New 下的 Model 命令,新建一个 simulink 仿真环境常规模板。 图 1-1 SIMULINK 仿真界面图 1-2 系统方框图 3在 simulink 仿真环境下,创建所需要的系统。 以图 1-2 所示的系统为例,说明基本设计步骤如下: 1)进入线性系统模块库,构建传递函数。点击 simulink 下的“Continuous”

3、 ,再将右边窗口中 “Transfer Fen”的图标用左键拖至新建的“untitled”窗口。 2)改变模块参数。在 simulink 仿真环境“untitled”窗口中双击该图标,即可改变传递函数。 其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开; 设置完成后,选择 OK,即完成该模块的设置。 3)建立其它传递函数模块。按照上述方法,在不同的 simulink 的模块库中,建立系统所需的 传递函数模块。例:比例环节用“Math”右边窗口“Gain”的图标。 4)选取阶跃信号输入函数。用鼠标点击 simulink 下的“Source” ,将右边窗口中“S

4、tep”图标 用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。 5)选择输出方式。用鼠标点击 simulink 下的“Sinks” ,就进入输出方式模块库,通常选用 “Scope”的示波器图标,将其用左键拖至新建的“untitled”窗口。 6)选择反馈形式。为了形成闭环反馈系统,需选择“Math” 模块库右边窗口“Sum”图标, 并用鼠标双击,将其设置为需要的反馈形式(改变正负号) 。 7)连接各元件,用鼠标划线,构成闭环传递函数。 8)运行并观察响应曲线。用鼠标单击工具栏中的“”按钮,便能自动运行仿真环境下的系 统框图模型。运行完之后用鼠标双击“Scope”元件,即可看

5、到响应曲线。 三、实验原理三、实验原理 1比例环节的传递函数为 22 12 11 ( )2100,200 ZR G sRK RK ZR 其对应的模拟电路及 SIMULINK 图形如图 1-3 所示。 2惯性环节的传递函数为 2 21 121 121 2 ( )100,200,1 10.21 R ZR G sRK RK Cuf ZR Cs 其对应的模拟电路及 SIMULINK 图形如图 1-4 所示。 3积分环节(I)的传递函数为 ufCKR ssCRZ Z sG1,100 1 . 0 11 )( 11 111 2 其对应的模拟电路及 SIMULINK 图形如图 1-5 所示。 图 1-3 比例

6、环节的模拟电路及 SIMULINK 图形 图 1-4 惯性环节的模拟电路及 SIMULINK 图 形 图 1-5 积分环节的模拟电路及及 SIMULINK 图 形 4微分环节(D)的传递函数为 ufCKRssCR Z Z sG10,100)( 1111 1 2 ufCC01 . 0 12 其对应的模拟电路及 SIMULINK 图形如图 1-6 所示。 5比例+微分环节(PD)的传递函数为 ) 11 . 0() 1()( 11 1 2 1 2 ssCR R R Z Z sG ufCCufCKRR01 . 0 10,100 12121 其对应的模拟电路及 SIMULINK 图形如图 1-7 所示。

7、 6比例+积分环节(PI)的传递函数为 ) 1 1 ( 1 )( 1 1 2 1 2 sR sC R Z Z sG ufCKRR10,100 121 其对应的模拟电路及 SIMULINK 图形如图 1-8 所示。 图 1-6 微分环节的模拟电路及及 SIMULINK 图 形 图 1-7 比例+微分环节的模拟电路及 SIMULINK 图形 曲线 图 1-8 比例+积分环节的模拟电路及 SIMULINK 图 形曲线 四、实验内容四、实验内容 按下列各典型环节的传递函数,建立相应的 SIMULINK 仿真模型,观察并记录其单位阶跃响 应波形。 比例环节和; 1)( 1 sG2)( 1 sG 惯性环节

8、和 1 1 )( 1 s sG 15 . 0 1 )( 2 s sG 积分环节 s sG 1 )( 1 微分环节ssG)( 1 比例+微分环节(PD)和2)( 1 ssG1)( 2 ssG 比例+积分环节(PI)和 s sG 1 1)( 1 s sG 2 1 1)( 2 五、实验报告五、实验报告 1画出各典型环节的 SIMULINK 仿真模型。 2. 记录各环节的单位阶跃响应波形,并分析参数对响应曲线的影响。 3. 写出实验的心得与体会。 六、预习要求六、预习要求 1熟悉各种控制器的原理和结构,画好将创建的 SIMULINK 图形。 2预习 MATLAB 中 SIMULINK 的基本使用方法。

9、 实验二实验二 线性系统时域响应分析线性系统时域响应分析 一、实验目的一、实验目的 1熟练掌握 step( )函数和 impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉 冲及单位斜坡函数作用下的响应。 2通过响应曲线观测特征参量和对二阶系统性能的影响。 n 3熟练掌握系统的稳定性的判断方法。 二、基础知识及二、基础知识及 MATLABMATLAB 函数函数 1. 基础知识 时域分析法直接在时间域中对系统进行分析,可以提供系统时间响应的全部信息,具有直观、 准确的特点。为了研究控制系统的时域特性,经常采用瞬态响应(如阶跃响应、脉冲响应和斜坡响 应) 。本次实验从分析系统的性能指标

10、出发,给出了在 MATLAB 环境下获取系统时域响应和分析系统 的动态性能和稳态性能的方法。 用 MATLAB 求系统的瞬态响应时,将传递函数的分子、分母多项式的系数分别以 s 的降幂排列 写为两个数组 num、den。由于控制系统分子的阶次 m 一般小于其分母的阶次 n,所以 num 中的数组 元素与分子多项式系数之间自右向左逐次对齐,不足部分用零补齐,缺项系数也用零补上。 用 MATLAB 求控制系统的瞬态响应 阶跃响应 求系统阶跃响应的指令有: step(num,den) 时间向量 t 的范围由软件自动设定,阶跃响应曲线随即绘出 step(num,den,t) 时间向量 t 的范围可以由

11、人工给定(例如 t=0:0.1:10) y,x=step(num,den) 返回变量 y 为输出向量,x 为状态向量 在 MATLAB 程序中,先定义 num,den 数组,并调用上述指令,即可生成单位阶跃输入信号下的 阶跃响应曲线图。 考虑下列系统: 2 ( )25 ( )425 C s R sss 该系统可以表示为两个数组,每一个数组由相应的多项式系数组成,并且以 s 的降幂排列。则 matlab 的调用语句: num=0 0 25; %定义分子多项式 den=1 4 25; %定义分母多项式 step(num,den) %调用阶跃响应函数求取单位阶跃响应曲线 grid %画网格标度线 x

12、label(t/s),ylabel(c(t) %给坐标轴加上说明 title(Unit-step Respinse of G(s)=25/(s2+4s+25) %给图形加上标题名 则该单位阶跃响应曲线如图 2-1 所示: 为了在图形屏幕上书写文本,可以用 text 命令在图上的任何位置加标注。例如: text(3.4,-0.06,Y1) 和 text(3.4,1.4,Y2) 第一个语句告诉计算机,在坐标点 x=3.4,y=-0.06 上书写出Y1 。类似地,第二个语句告诉 计算机,在坐标点 x=3.4,y=1.4 上书写出Y2 。 若要绘制系统 t 在指定时间(0-10s)内的响应曲线,则用以

13、下语句: num=0 0 25; den=1 4 25; t=0:0.1:10; step(num,den,t) 即可得到系统的单位阶跃响应曲线在 0-10s 间的部分,如图 2-2 所示。 脉冲响应 求系统脉冲响应的指令有: impulse (num,den) 时间向量 t 的范围由软件自动设定,阶跃响应曲线随即绘出 impulse (num,den,t) 时间向量 t 的范围可以由人工给定(例如 t=0:0.1:10) y,x=impulse(num,den) 返回变量 y 为输出向量,x 为状态向量 y,x,t=impulse(num,den,t) 向量 t 表示脉冲响应进行计算的时间

14、例:试求下列系统的单位脉冲响应: 2 ( )1 ( ) ( )0.21 C s G s R sss 在 matlab 中可表示为 num=0 0 1; den=1 0.2 1; impulse(num,den) grid title(Unit-impulse Response of G(s)=1/(s2+0.2s+1) 由此得到的单位脉冲响应曲线如图 2-3 所示。 求脉冲响应的另一种方法 应当指出,当初始条件为零时,G (s)的单位脉冲响应与 sG(s)的单位阶跃响应相同。考虑在 上例题中求系统的单位脉冲响应,因为对于单位脉冲输入量,R(s)=1 所以 22 ( )11 ( )( ) ( )

15、0.210.21 C ss C sG s R ssssss 因此,可以将 G(s)的单位脉冲响应变换成 sG(s)的单位阶跃响应。 向 MATLAB 输入下列 num 和 den,给出阶跃响应命令,可以得到系统的单位脉冲响应曲线如 图 2-4 所示。 num=0 1 0; den=1 0.2 1; 图 2-1 二阶系统的单位阶跃响应 图 2-2 定义时间范围的单位阶跃响应 step(num,den) grid title(Unit-step Response of sG(s)=s/(s2+0.2s+1) 图 2-3 二阶系统的单位脉冲响应图 2-4 单位脉冲响应的另一种表示法 斜坡响应 MAT

16、LAB 没有直接调用求系统斜坡响应的功能指令。在求取斜坡响应时,通常利用阶跃响应的 指令。基于单位阶跃信号的拉氏变换为 1/s,而单位斜坡信号的拉氏变换为 1/s2。因此,当求系统 G(s)的单位斜坡响应时,可以先用 s 除 G(s),再利用阶跃响应命令,就能求出系统的斜坡响应。 例如,试求下列闭环系统的单位斜坡响应。 1 1 )( )( 2 sssR sC 对于单位斜坡输入量,R(s)=1/s2 ,因此 sssssss sC 1 ) 1( 11 1 1 )( 222 在 MATLAB 中输入以下命令,得到如图 2-5 所示的响应曲线: num=0 0 0 1; den=1 1 1 0; st

17、ep(num,den) title(Unit-Ramp Response Cuve for System G(s)=1/(s2+s+1) 图 2-5 单位斜坡响应 2. 特征参量和对二阶系统性能的影响 n 标准二阶系统的闭环传递函数为: 2 22 ( ) ( )2 n nn C s R sss 二阶系统的单位阶跃响应在不同的特征参量下有不同的响应曲线。 对二阶系统性能的影响 设定无阻尼自然振荡频率,考虑 5 种不同的值:=0,0.25,0.5,1.0 和 2.0,1(/ ) n rad s 利用 MATLAB 对每一种求取单位阶跃响应曲线,分析参数对系统的影响。 为便于观测和比较,在一幅图上绘

18、出 5 条响应曲线(采用“hold”命令实现) 。 num=0 0 1; den1=1 0 1; den2=1 0.5 1; den3=1 1 1; den4=1 2 1; den5=1 4 1; t=0:0.1:10; step(num,den1,t) grid text(4,1.7,Zeta=0); hold step(num,den2,t) text(3.3,1.5,0.25) step(num,den3,t) text(3.5,1.2,0.5) step(num,den4,t) text(3.3,0.9,1.0) step(num,den5,t) text(3.3,0.6,2.0) t

19、itle(Step-Response Curves for G(s)=1/s2+2(zeta)s+1) 由此得到的响应曲线如图 2-6 所示。 图 2-6 不同时系统的响应曲线图 2-7 不同时系统的响应曲线 n 对二阶系统性能的影响 n 同理,设定阻尼比时,当分别取 1,2,3 时,利用 MATLAB 求取单位阶跃响应曲线,0.25 n 分析参数对系统的影响。 n num1=0 0 1; den1=1 0.5 1; t=0:0.1:10; step(num1,den1,t); grid; hold on text(3.1,1.4,wn=1) num2=0 0 4; den2=1 1 4; s

20、tep(num2,den2,t); hold on text(1.7,1.4,wn=2) num3=0 0 9; den3=1 1.5 9; step(num3,den3,t); hold on text(0.5,1.4,wn=3) 由此得到的响应曲线如图 2-7 所示。 3. 系统稳定性判断 1)直接求根判稳 roots() 控制系统稳定的充要条件是其特征方程的根均具有负实部。因此,为了判别系统的稳定性,就 要求出系统特征方程的根,并检验它们是否都具有负实部。MATLAB 中对多项式求根的函数为 roots()函数。 若求以下多项式的根,则所用的 MATLAB 指令为: 432 103550

21、24ssss roots(1,10,35,50,24) ans = -4.0000 -3.0000 -2.0000 -1.0000 特征方程的根都具有负实部,因而系统为稳定的。 2)劳斯稳定判据 routh() 劳斯判据的调用格式为:r, info=routh(den) 该函数的功能是构造系统的劳斯表。其中,den 为系统的分母多项式系数向量,r 为返回的 routh 表矩阵,info 为返回的 routh 表的附加信息。 以上述多项式为例,由 routh 判据判定系统的稳定性。 den=1,10,35,50,24; r,info=routh(den) r= 1 35 24 10 50 0 3

22、0 24 0 42 0 0 24 0 0 info= 由系统返回的 routh 表可以看出,其第一列没有符号的变化,系统是稳定的。 3)赫尔维茨判据 hurwitz() 赫尔维茨的调用格式为:H=hurwitz(den) 。该函数的功能是构造 hurwitz 矩阵。其中,den 为系统的分母多项式系数向量。 以上述多项式为例,由 hurwitz 判据判定系统的稳定性。 den=1,10,35,50,24; H=hurwitz(den) H= 10 50 0 0 1 35 24 0 0 10 50 0 0 1 35 24 由系统返回的 hurwitz 矩阵可以看出,系统是稳定的。与前面的分析结果

23、完全一致。 注意:routh()和 hurwitz()不是 MATLAB 中自带的功能函数,须加载 ctrllab3.1 文件夹 (自编)才能运行。 三、实验内容三、实验内容 1观察函数 step( )的调用格式,假设系统的传递函数模型为 2 432 37 ( ) 4641 ss G s ssss 绘制出系统的阶跃响应曲线? 2对典型二阶系统 2 22 ( ) 2 n nn G s ss 1)分别绘出,分别取 0,0.25,0.5,1.0 和 2.0 时的单位阶跃响应曲线,分析参数2(/ ) n rad s 对系统的影响,并计算=0.25 时的时域性能指标。, , , prpsss t tt

24、e 2)绘制出当=0.25, 分别取 1,2,4,6 时单位阶跃响应曲线,分析参数对系统的影响。 n n 3系统的特征方程式为,试判别该系统的稳定性。 432 235100ssss 四、实验报告四、实验报告 1根据内容要求,写出调试好的 MATLAB 语言程序,及对应的 MATLAB 运算结果。 2. 记录各种输出波形,根据实验结果分析参数变化对系统的影响。 3总结判断闭环系统稳定的方法,说明增益 K 对系统稳定性的影响。 4写出实验的心得与体会。 五、预习要求五、预习要求 1. 预习实验中基础知识,运行编制好的 MATLAB 语句,熟悉 MATLAB 指令及 step( )和 impulse

25、( )函数。 2. 结合实验内容,提前编制相应的程序。 3思考特征参量和对二阶系统性能的影响。 n 4熟悉闭环系统稳定的充要条件及学过的稳定判据。 实验三实验三 线性系统的根轨迹线性系统的根轨迹 一、实验目的一、实验目的 1. 熟悉 MATLAB 用于控制系统中的一些基本编程语句和格式。 2. 利用 MATLAB 语句绘制系统的根轨迹。 3. 掌握用根轨迹分析系统性能的图解方法。 4. 掌握系统参数变化对特征根位置的影响。 二、基础知识及二、基础知识及 MATLABMATLAB 函数函数 根轨迹是指系统的某一参数从零变到无穷大时,特征方程的根在 s 平面上的变化轨迹。这个参 数一般选为开环系统

26、的增益 K。课本中介绍的手工绘制根轨迹的方法,只能绘制根轨迹草图。而用 MATLAB 可以方便地绘制精确的根轨迹图,并可观测参数变化对特征根位置的影响。 假设系统的对象模型可以表示为 1 121 0 1 11 ( )( ) mm mm nn nn b sb sb sb G sKG sK sa sbsa 系统的闭环特征方程可以写成 0 1( )0KG s 对每一个 K 的取值,我们可以得到一组系统的闭环极点。如果我们改变 K 的数值,则可以得到 一系列这样的极点集合。若将这些 K 的取值下得出的极点位置按照各个分支连接起来,则可以得到 一些描述系统闭环位置的曲线,这些曲线又称为系统的根轨迹。 绘

27、制系统的根轨迹 rlocus() MATLAB 中绘制根轨迹的函数调用格式为: rlocus(num,den) 开环增益 k 的范围自动设定。 rlocus(num,den,k) 开环增益 k 的范围人工设定。 rlocus(p,z) 依据开环零极点绘制根轨迹。 r=rlocus(num,den) 不作图,返回闭环根矩阵。 r,k=rlocus(num,den) 不作图,返回闭环根矩阵 r 和对应的开环增益向量 k。 其中,num,den 分别为系统开环传递函数的分子、分母多项式系数,按 s 的降幂排列。K 为根 轨迹增益,可设定增益范围。 例 3-1:已知系统的开环传递函数,绘制系统的根轨迹

28、的 matlab 的调 32 (1) ( ) 429 s G sK sss 用语句如下: num=1 1; %定义分子多项式 den=1 4 2 9; %定义分母多项式 rlocus (num,den) %绘制系统的根轨迹 grid %画网格标度线 xlabel(Real Axis),ylabel(Imaginary Axis) %给坐标轴加上说明 title(Root Locus) %给图形加上标题名 则该系统的根轨迹如图 3-1(a)所示。 若上例要绘制 K 在(1,10)的根轨迹图,则此时的 matlab 的调用格式如下,对应的根轨迹如 图 3-1(b)所示。 num=1 1; den=

29、1 4 2 9; k=1:0.5:10; rlocus (num,den,k) 1)确定闭环根位置对应增益值 K 的函数 rlocfind() 在 MATLAB 中,提供了 rlocfind 函数获取与特定的复根对应的增益 K 的值。在求出的根轨迹 图上,可确定选定点的增益值 K 和闭环根 r(向量)的值。该函数的调用格式为: k,r=rlocfind(num,den) 执行前,先执行绘制根轨迹命令 rlocus(num,den) ,作出根轨迹图。执行 rlocfind 命令时,出 现提示语句“Select a point in the graphics window” ,即要求在根轨迹图上选

30、定闭环极点。将鼠标移 至根轨迹图选定的位置,单击左键确定,根轨迹图上出现“+”标记,即得到了该点的增益 K 和闭 环根 r 的返回变量值。 例 3-2:系统的开环传递函数为,试求:(1)系统的根轨迹;(2) 2 32 56 ( ) 8325 ss G sK sss 系统稳定的 K 的范围;(3)K=1 时闭环系统阶跃响应曲线。则此时的 matlab 的调用格式为: G=tf(1,5,6,1,8,3,25); rlocus (G); %绘制系统的根轨迹 k,r=rlocfind(G) %确定临界稳定时的增益值 k 和对应的极点 r G_c=feedback(G,1); %形成单位负反馈闭环系统

31、step(G_c) %绘制闭环系统的阶跃响应曲线 则系统的根轨迹图和闭环系统阶跃响应曲线如图 3-2 所示。 其中,调用 rlocfind()函数,求出系统与虚轴交点的 K 值,可得与虚轴交点的 K 值为 0.0264,故系统稳定的 K 的范围为。(0.0264,)K 2)绘制阻尼比和无阻尼自然频率的栅格线 sgrid( ) n 当对系统的阻尼比和无阻尼自然频率有要求时,就希望在根轨迹图上作等或等线。 n n matlab 中实现这一要求的函数为 sgrid( ),该函数的调用格式为: sgrid(,) 已知和的数值,作出等于已知参数的等值线。 n n sgrid(new) 作出等间隔分布的等

32、和网格线。 n 例 3-3:系统的开环传递函数为,由 rlocfind 函数找出能产生主导极点阻 1 ( ) (1)(2) G s s ss (a) 完整根轨迹图形 (b)特定增益范围内的根轨迹图形 图 3-1 系统的根轨迹图形 尼 =0.707 的合适增益,如图 3-3(a)所示。 G=tf(1,conv(1,1,1,2),0); zet=0.1:0.2:1;wn=1:10; sgrid(zet,wn);hold on;rlocus(G) k,r=rlocfind(G) Select a point in the graphics window selected_point = -0.379

33、1 + 0.3602i k = 0.6233 r = -2.2279 -0.3861 + 0.3616i -0.3861 - 0.3616i 同时我们还可以绘制出该增益下闭环系统的阶跃响应,如图 3-3(b)所示。事实上,等或等 线在设计系补偿器中是相当实用的,这样设计出的增益 K=0.6233 将使得整个系统的阻尼比接近 n 0.707。由下面的 MATLAB 语句可以求出主导极点,即 r(2.3)点的阻尼比和自然频率为 (a)根轨迹图形 (b)K=1 时的阶跃响应曲线 图 3-2 系统的根轨迹和阶跃响应曲线 (a)根轨迹上点的选择 (b)闭环系统阶跃响应 图 3-3 由根轨迹技术设计闭环系

34、统 G_c=feedback(G,1); step(G_c) dd0=poly(r(2:3,:); wn=sqrt(dd0(3);zet=dd0(2)/(2*wn);zet,wn ans = 0.7299 0.5290 我们可以由图 3-3(a)中看出,主导极点的结果与实际系统的闭环响应非常接近,设计的效果 是令人满意的。 3)基于根轨迹的系统设计及校正工具 rltool matlab 中提供了一个系统根轨迹分析的图形界面,在此界面可以可视地在整个前向通路中添加 零极点(亦即设计控制器) ,从而使得系统的性能得到改善。实现这一要求的工具为 rltool,其调用 格式为: rltool 或 rl

35、tool(G) 例 3-4:单位负反馈系统的开环传递函数 2 0.125 ( ) (5)(20)(50) s G s ssss 输入系统的数学模型,并对此对象进行设计。 den=conv(1,5,conv(1,20,1,50),0,0; num=1,0.125; G=tf(num,den); rltool(G) 该命令将打开 rltool 工具的界面,显示原开环模型的根轨迹图,如图 3-4(a)所示。单击该图 形菜单命令 Analysis 中的 Response to Step Command 复选框,则将打开一个新的窗口,绘制系统的 闭环阶跃响应曲线,如图 3-4(b)所示。可见这样直接得出

36、的系统有很强的振荡,就需要给这个对 象模型设计一个控制器来改善系统的闭环性能。 单击界面上的零点和极点添加的按钮,可以给系统添加一对共轭复极点,两个稳定零点,调整 它们的位置,并调整增益的值,通过观察系统的闭环阶跃响应效果,则可以试凑地设计出一个控制 器: a)原对象模型的根轨迹 (b)闭环系统阶跃响应 图 3-4 根轨迹设计工具界面及阶跃响应分析 (38.31)(10.26) ( )181307.29 (61.30.84)(61.30.84) C ss Gs sjsj 在此控制器下分别观察系统的根轨迹和闭环系统阶跃响应曲线。可见,rltool 可以作为系统综 合的实用工具,在系统设计中发挥作

37、用。 三、实验内容三、实验内容 1请绘制下面系统的根轨迹曲线 22 ( ) (22)(613) K G s s ssss 2 (12) ( ) (1)(12100)(10) K s G s ssss 2 (0.05 1) ( ) (0.07141)(0.0120.11) K G s ssss 同时得出在单位阶跃负反馈下使得闭环系统稳定的 K 值的范围。 2. 在系统设计工具 rltool 界面中,通过添加零点和极点方法,试凑出上述系统,并观察增加 极、零点对系统的影响。 四、实验报告四、实验报告 1根据内容要求,写出调试好的 MATLAB 语言程序,及对应的结果。 2. 记录显示的根轨迹图形,

38、根据实验结果分析根轨迹的绘制规则。 3. 根据实验结果分析闭环系统的性能,观察根轨迹上一些特殊点对应的 K 值,确定闭环系统 稳定的范围。 4根据实验分析增加极点或零点对系统动态性能的影响。 5写出实验的心得与体会。 五、预习要求五、预习要求 1. 预习实验中的基础知识,运行编制好的 MATLAB 语句,熟悉根轨迹的绘制函数 rlocus()及 分析函数 rlocfind(),sgrid()。 2. 预习实验中根轨迹的系统设计工具 rltool,思考该工具的用途。 3. 掌握用根轨迹分析系统性能的图解方法,思考当系统参数 K 变化时,对系统稳定性的影响。 4思考加入极点或零点对系统动态性能的影

39、响。 实验四实验四 线性系统的频域分析线性系统的频域分析 一、实验目的一、实验目的 1掌握用 MATLAB 语句绘制各种频域曲线。 2掌握控制系统的频域分析方法。 二、基础知识及二、基础知识及 MATLABMATLAB 函数函数 频域分析法是应用频域特性研究控制系统的一种经典方法。它是通过研究系统对正弦信号下的 稳态和动态响应特性来分析系统的。采用这种方法可直观的表达出系统的频率特性,分析方法比较 简单,物理概念明确。 1频率曲线主要包括三种:Nyquist 图、Bode 图和 Nichols 图。 1)Nyquist 图的绘制与分析 MATLAB 中绘制系统 Nyquist 图的函数调用格式

40、为: nyquist(num,den) 频率响应 w 的范围由软件自动设定 nyquist(num,den,w) 频率响应 w 的范围由人工设定 Re,Im= nyquist(num,den) 返回奈氏曲线的实部和虚部向量,不作图 例 4-1:已知系统的开环传递函数为,试绘制 Nyquist 图,并判断系 252 62 )( 23 sss s sG 统的稳定性。 num=2 6; den=1 2 5 2; z,p,k=tf2zp(num,den); p nyquist(num,den) 极点的显示结果及绘制的 Nyquist 图如图 4-1 所 示。由于系统的开环右根数 P=0,系统的 Nyq

41、uist 曲 线没有逆时针包围(-1,j0)点,所以闭环系统稳定。 p = -0.7666 + 1.9227i -0.7666 - 1.9227i -0.4668 若上例要求绘制间的 Nyquist 图,则对应的 MATLAB 语句为:)10,10( 32 num=2 6; den=1 2 5 2; w=logspace(-1,1,100); %即在 10-1和 101之间,产生 100 个等距离的点 nyquist(num,den,w) 2)Bode 图的绘制与分析 系统的 Bode 图又称为系统频率特性的对数坐标图。Bode 图有两张图,分别绘制开环频率特性 的幅值和相位与角频率的关系曲线

42、,称为对数幅频特性曲线和对数相频特性曲线。 MATLAB 中绘制系统 Bode 图的函数调用格式为: 图 4-1 开环极点的显示结果及 Nyquist 图 bode(num,den) 频率响应 w 的范围由软件自动设定 bode(num,den,w) 频率响应 w 的范围由人工设定 mag,phase,w=bode(num,den,w) 指定幅值范围和相角范围的伯德图 例 4-2:已知开环传递函数为,试绘制系统的伯德图。 )10016( ) 12 . 0(30 )( 2 sss s sG num=0 0 15 30; den=1 16 100 0; w=logspace(-2,3,100);

43、bode(num,den,w) grid 绘制的 Bode 图如图 4-2(a)所示,其频率范围由人工选定,而伯德图的幅值范围和相角范围是 自动确定的。当需要指定幅值范围和相角范围时,则需用下面的功能指令: mag,phase,w=bode(num,den,w) 图 4-2(a) 幅值和相角范围自动确定的 Bode 图 图 4-2(b) 指定幅值和相角范围的 Bode 图 mag,phase 是指系统频率响应的幅值和相角,由所选频率点的 w 值计算得出。其中,幅值的单 位为 dB,它的算式为 magdB=20lg10(mag)。 指定幅值范围和相角范围的 MATLAB 调用语句如下,图形如图

44、4-2(b)所示。 num=0 0 15 30; den=1 16 100 0; w=logspace(-2,3,100); mag,phase,w=bode(num,den,w); %指定 Bode 图的幅值范围和相角范围 subplot(2,1,1); %将图形窗口分为 2*1 个子图,在第 1 个子图处绘制图形 semilogx(w,20*log10(mag); %使用半对数刻度绘图,X 轴为 log10 刻度,Y 轴为线性刻度 grid on xlabel(w/s-1); ylabel(L(w)/dB); title(Bode Diagram of G(s)=30(1+0.2s)/s(

45、s2+16s+100); subplot(2,1,2);%将图形窗口分为 2*1 个子图,在第 2 个子图处绘制图形 semilogx(w,phase); grid on xlabel(w/s-1); ylabel(0); 注意:半 Bode 图的绘制可用 semilgx 函数实现,其调用格式为 semilogx(w,L),其中 L=20*log10(abs(mag)。 3)Nichols 图的绘制 在 MATLAB 中绘制 Nichols 图的函数调用格式为: mag,phase,w=nichols(num,den,w) Plot(phase,20*log10(mag) 例 4-3:单位负反

46、馈的开环传递函数为,绘制 Nichols 图。对应的 sss sG 93 10 )( 23 MATLAB 语句如下,所得图形如图 4-3 所示: num=10; den=1 3 9 0; w=logspace(-1,1,500); mag,phase=nichols(num,den,w); plot(phase,20*log10(mag) ngrid %绘制 nichols 图线上的网格 2幅值裕量和相位裕量 幅值裕量和相位裕量是衡量控制系统相对稳定性的 重要指标,需要经过复杂的运算求取。应用 MATLAB 功能指令可以方便地求解幅值裕量和相位裕量。 其 MATLAB 调用格式为: Gm,Pm

47、,Wcg,Wcp=margin(num,den) 其中,Gm,Pm 分别为系统的幅值裕量和相位裕量,而 Wcg,Wcp 分别为幅值裕量和相位裕量处 相应的频率值。 另外,还可以先作 bode 图,再在图上标注幅值裕量 Gm 和对应的频率 Wcg,相位裕量 Pm 和 对应的频率 Wcp。其函数调用格式为: margin(num,den) 例 4-4:对于例 4-3 中的系统,求其稳定裕度,对应的 MATLAB 语句如下: num=10; den=1 3 9 0; gm,pm,wcg,wcp=margin(num,den); gm,pm,wcg,wcp gm = 2.7000 pm = 64.69

48、98 wcg = 3.0000 wcp = 1.1936 如果已知系统的频域响应数据,还可以由下面的格式调用函数: Gm,Pm,Wcg,Wcp=margin(mag,phase,w) 其中(mag,phase,w)分别为频域响应的幅值、相位与频率向量。 三、实验内容三、实验内容 1典型二阶系统 2 22 ( ) 2 n nn G s ss 绘制出,0.3,0.5,0.8,2 的 bode 图,记录并分析对系统 bode 图的影响。6 n 0.1 2系统的开环传递函数为 图 4-3 Nichols图 2 10 ( ) (51)(5) G s sss 22 8(1) ( ) (15)(610) s

49、 G s ssss 4( /3 1) ( ) (0.021)(0.051)(0.11) s G s ssss 绘制系统的 Nyquist 曲线、Bode 图和 Nichols 图,说明系统的稳定性,并通过绘制阶跃响应曲线验 证。 3已知系统的开环传递函数为。求系统的开环截止频率、穿越频率、幅值 2 1 ( ) (0.11) s G s ss 裕度和相位裕度。应用频率稳定判据判定系统的稳定性。 四、实验报告四、实验报告 1根据内容要求,写出调试好的 MATLAB 语言程序,及对应的结果。 2. 记录显示的图形,根据实验结果与各典型环节的频率曲线对比分析。 3. 记录并分析对二阶系统 bode 图

50、的影响。 4根据频域分析方法分析系统,说明频域法分析系统的优点。 5写出实验的心得与体会。 五、预习要求五、预习要求 1. 预习实验中的基础知识,运行编制好的 MATLAB 语句,熟悉绘制频率曲线的三种图形函数 nyquist() 、bode()和 nichols() 。 2. 掌握控制系统的频域分析方法,理解系统绝对稳定性和相对稳定性的判断方法。 实验五实验五 线性系统串联校正线性系统串联校正 一、实验目的一、实验目的 1熟练掌握用 MATLAB 语句绘制频域曲线。 2掌握控制系统频域范围内的分析校正方法。 3掌握用频率特性法进行串联校正设计的思路和步骤。 二、基础知识二、基础知识 控制系统

51、设计的思路之一就是在原系统特性的基础上,对原特性加以校正,使之达到要求的性 能指标。最常用的经典校正方法有根轨迹法和频域法。而常用的串联校正装置有超前校正、滞后校 正和超前滞后校正装置。本实验主要讨论在 MATLAB 环境下进行串联校正设计。 1基于频率法的串联超前校正 超前校正装置的主要作用是通过其相位超前效应来改变频率响应曲线的形状,产生足够大的相 位超前角,以补偿原来系统中元件造成的过大的相位滞后。因此校正时应使校正装置的最大超前相 位角出现在校正后系统的开环截止频率处。 c 例 5-1:单位反馈系统的开环传递函数为,试确定串联校正装置的特性,使系统( ) (1) K G s s s 满

52、足在斜坡函数作用下系统的稳态误差小于 0.1,相角裕度。 0 45r 解:根据系统静态精度的要求,选择开环增益 2 00 1 ( )0.110 1 (1) ss ss s eLimsE sLimsK k s s 取,求原系统的相角裕度。12K num0=12; den0=2,1,0; w=0.1:1000; gm1,pm1,wcg1,wcp1=margin(num0,den0); mag1,phase1=bode(num0,den0,w); gm1,pm1,wcg1,wcp1 margin(num0,den0) %计算系统的相角裕 度和幅值裕度,并绘制出 Bode 图 grid; ans =

53、Inf 11.6548 Inf 2.4240 由结果可知,原系统相角裕度, 0 6 . 11r ,不满足指标要求,系统的 Bode 图如图 5-2.4/ c rad s 1 所示。考虑采用串联超前校正装置,以增加系统的相角裕度。 确定串联装置所需要增加的超前相位角及求得的校正装置参数。 ,为原系统的相角裕度,令, 。 0c 0 45 0 0 5取 mc ,1sin(1 sin) mm 图 5-1 原系统的 Bode 图 e=5; r=45; r0=pm1; phic=(r-r0+e)*pi/180; alpha=(1+sin(phic)/(1-sin(phic); 将校正装置的最大超前角处的频

54、率作为校正后系统的剪切频率。则有: m c 00 1 20lg()()0() cccc GjGjGj 即原系统幅频特性幅值等于时的频率,选为。20lg c 根据=,求出校正装置的参数。即。 m c T 1 c T il,ii=min(abs(mag1-1/sqrt(alpha); wc=w( ii); T=1/(wc*sqrt(alpha); numc=alpha*T,1; denc=T,1; num,den=series(num0,den0,numc,denc); %原系统与校正装置串联 gm,pm,wcg,wcp=margin(num,den); %返回系统新的相角裕度和幅值裕度 prin

55、tsys(numc,denc) %显示校正装置的传递函数 disp(校正之后的系统开环传递函数为:); printsys(num,den) %显示系统新的传递函数 mag2,phase2=bode(numc,denc,w); %计算指定频率内校正装置的相角范围和幅值范围 mag,phase=bode(num,den,w); %计算指定频率内系统新的相角范围和幅值范围 subplot(2,1,1);semilogx(w,20*log10(mag),w,20*log10(mag1),-,w,20*log10(mag2),-.); grid; ylabel(幅值(db); title(-Go,-Gc

56、,GoGc); subplot(2,1,2); semilogx(w,phase,w,phase1,-,w,phase2,-,w,(w-180-w),:); grid; ylabel(相位(0); xlabel(频率(rad/sec); title(校正前:幅值裕量=,num2str(20*log10(gm1),db,相位裕量=,num2str(pm1),0; 校正后:幅值裕量=,num2str(20*log10(gm),db,相位裕量=,num2str(pm),0); 2基于频率法的串联滞后校正 滞后校正装置将给系统带来滞后 相角。引入滞后装置的真正目的不是为 了提供一个滞后相角,而是要使系

57、统增 益适当衰减,以便提高系统的稳态精度。 图 5-2 系统校正前后的传递函数及 Bode 图 滞后校正的设计主要是利用它的高频衰减作用,降低系统的截止频率,以便能使得系统获得 充分的相位裕量。 例 5-2:单位反馈系统的开环传递函数为,试确定串联校正装置的特( ) (0.11)(0.21) K G s sss 性,使校正后系统的静态速度误差系数等于 30/s,相角裕度,幅值裕量不小于 10dB,截止 0 40r 频率不小于 2.3rad/s。 解:根据系统静态精度的要求,选择开环增益 3030 ) 12 . 0)(11 . 0( )( 00 K sss K sLimssGLimK ss v

58、利用 MATLAB 绘制原系统的 bode 图和相应的稳定裕度。 num0=30; den0=conv(1,0,conv(0.1,1,0.2,1); w=logspace(-1,1.2); gm1,pm1,wcg1,wcp1=margin(num0,den0); mag1,phase1=bode(num0,den0,w); gm1,pm1,wcg1,wcp1 margin(num0,den0) grid; ans = 0.5000 -17.2390 7.0711 9.7714 由结果可知,原系统不稳定,且截止频率远大于要 求值。系统的 Bode 图如图 5-3 所示,考虑采用串联超前校正无法满

59、足要求,故选用滞后校正装置。 根据对相位裕量的要求,选择相角为处的频率作为校正后 0000 180(5 10 ,40 ) 系统的截止频率。确定原系统在新处的幅值衰减到 0dB 时所需的衰减量为。一般取校 c c 20lg 正装置的转折频率分别为和。 111 () 510 c T 1 T e=10; r=40; r0=pm1; phi=(-180+r+e); il,ii=min(abs(phase1-phi);wc=w( ii); beit=mag1(ii); T=10/wc; numc= T,1; denc= beit*T,1; num,den=series(num0,den0,numc,de

60、nc); %原系统与校正装置串联 gm,pm,wcg,wcp=margin(num,den); %返回系统新的相角裕度和幅值裕度 printsys(numc,denc) %显示校正装置的传递函数 disp(校正之后的系统开环传递函数为:); printsys(num,den) %显示系统新的传递函数 mag2,phase2=bode(numc,denc,w); %计算指定频率内校正装置的相角范围和幅值范围 mag,phase=bode(num,den,w); %计算指定频率内系统新的相角范围和幅值范围 subplot(2,1,1);semilogx(w,20*log10(mag),w,20*l

温馨提示

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

评论

0/150

提交评论