六个实战示例自动控制理论Simulink仿真_第1页
六个实战示例自动控制理论Simulink仿真_第2页
六个实战示例自动控制理论Simulink仿真_第3页
六个实战示例自动控制理论Simulink仿真_第4页
六个实战示例自动控制理论Simulink仿真_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、自动控制理论仿真实验指导书目录实验一 典型环节的MATLAB仿真2一、实验目的2二、SIMULINK的使用2三、实验原理3四、实验内容5五、实验报告5六、预习要求6实验二 线性系统时域响应分析6一、实验目的6二、基础知识及MATLAB函数6三、实验内容13四、实验报告13五、预习要求14实验三 线性系统的根轨迹14一、实验目的14二、基础知识及MATLAB函数14三、实验内容19四、实验报告19五、预习要求19实验四 线性系统的频域分析20一、实验目的20二、基础知识及MATLAB函数20三、实验内容24四、实验报告24五、预习要求24实验五 线性系统串联校正25一、实验目的25二、基础知识2

2、5三、实验内容31四、实验报告要求32五、预习要求32实验六 数字P控制32一、实验目的32二、实验原理32三、实验内容35四、实验报告35五、预习要求36实验一 典型环节的MATLAB仿真一、实验目的1熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。2通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。3定性了解各参数变化对典型环节动态特性的影响。二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。1运行MAT

3、LAB软件,在命令窗口栏“”提示符下键入simulink命令,按Enter键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。2选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。图1-1 SIMULINK仿真界面图1-2 系统方框图 3在simulink仿真环境下,创建所需要的系统。以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。2)改变模块参数。在simuli

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

5、式模块库,通常选用“Scope”的示波器图标,将其用左键拖至新建的“untitled”窗口。6)选择反馈形式。为了形成闭环反馈系统,需选择“Math” 模块库右边窗口“Sum”图标,并用鼠标双击,将其设置为需要的反馈形式(改变正负号)。7)连接各元件,用鼠标划线,构成闭环传递函数。8)运行并观察响应曲线。用鼠标单击工具栏中的“”按钮,便能自动运行仿真环境下的系统框图模型。运行完之后用鼠标双击“Scope”元件,即可看到响应曲线。三、实验原理1比例环节的传递函数为 其对应的模拟电路及SIMULINK图形如图1-3所示。图1-3 比例环节的模拟电路及SIMULINK图形2惯性环节的传递函数为其对应

6、的模拟电路及SIMULINK图形如图1-4所示。 3积分环节(I)的传递函数为其对应的模拟电路及SIMULINK图形如图1-5所示。图1-4 惯性环节的模拟电路及SIMULINK图形图1-5 积分环节的模拟电路及及SIMULINK图形4微分环节(D)的传递函数为 其对应的模拟电路及SIMULINK图形如图1-6所示。图1-6 微分环节的模拟电路及及SIMULINK图形5比例+微分环节(PD)的传递函数为其对应的模拟电路及SIMULINK图形如图1-7所示。6比例+积分环节(PI)的传递函数为 图1-7 比例+微分环节的模拟电路及SIMULINK图形曲线其对应的模拟电路及SIMULINK图形如图

7、1-8所示。图1-8 比例+积分环节的模拟电路及SIMULINK图形曲线 四、实验内容按下列各典型环节的传递函数,建立相应的SIMULINK仿真模型,观察并记录其单位阶跃响应波形。 比例环节和; 惯性环节和 积分环节 微分环节 比例+微分环节(PD)和 比例+积分环节(PI)和五、实验报告1画出各典型环节的SIMULINK仿真模型。2. 记录各环节的单位阶跃响应波形,并分析参数对响应曲线的影响。3. 写出实验的心得与体会。六、预习要求1熟悉各种控制器的原理和结构,画好将创建的SIMULINK图形。2预习MATLAB中SIMULINK的基本使用方法。实验二 线性系统时域响应分析一、实验目的1熟练

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

9、系数分别以s的降幂排列写为两个数组num、den。由于控制系统分子的阶次m一般小于其分母的阶次n,所以num中的数组元素与分子多项式系数之间自右向左逐次对齐,不足部分用零补齐,缺项系数也用零补上。1 用MATLAB求控制系统的瞬态响应1) 阶跃响应求系统阶跃响应的指令有: step(num,den) 时间向量t的范围由软件自动设定,阶跃响应曲线随即绘出step(num,den,t) 时间向量t的范围可以由人工给定(例如t=0:0.1:10)y,x=step(num,den) 返回变量y为输出向量,x为状态向量在MATLAB程序中,先定义num,den数组,并调用上述指令,即可生成单位阶跃输入信

10、号下的阶跃响应曲线图。考虑下列系统:该系统可以表示为两个数组,每一个数组由相应的多项式系数组成,并且以s的降幂排列。则MATLAB的调用语句: num=0 0 25; %定义分子多项式 den=1 4 25; %定义分母多项式 step(num,den) %调用阶跃响应函数求取单位阶跃响应曲线 grid %画网格标度线 xlabel(t/s),ylabel(c(t) %给坐标轴加上说明 title(Unit-step Respinse of G(s)=25/(s2+4s+25) %给图形加上标题名则该单位阶跃响应曲线如图2-1所示:图2-1 二阶系统的单位阶跃响应 图2-2 定义时间范围的单位

11、阶跃响应为了在图形屏幕上书写文本,可以用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)内的响应曲线,则用以下语句:num=0 0 25; den=1 4 25; t=0:0.1:10; step(num,den,t) 即可得到系统的单位阶跃响应曲线在0-10s间的部分,如图2-2所示。 2) 脉冲响应 求系统脉冲响应的指令有: impulse

12、(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 表示脉冲响应进行计算的时间例:试求下列系统的单位脉冲响应: 在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)由此得到的单位脉冲

13、响应曲线如图2-3所示:图2-3 二阶系统的单位脉冲响应 求脉冲响应的另一种方法应当指出,当初始条件为零时,G (s)的单位脉冲响应与sG(s)的单位阶跃响应相同。考虑在上例题中求系统的单位脉冲响应,因为对于单位脉冲输入量,R(s)=1所以因此,可以将G(s)的单位脉冲响应变换成sG(s)的单位阶跃响应。图2-4 单位脉冲响应的另一种表示法向MATLAB输入下列num和den,给出阶跃响应命令,可以得到系统的单位脉冲响应曲线如图2-4所示。 num=0 1 0; den=1 0.2 1; step(num,den) grid title(Unit-step Response of sG(s)=

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

15、r System G(s)=1/(s2+s+1)图2-5 单位斜坡响应2. 特征参量和对二阶系统性能的影响标准二阶系统的闭环传递函数为: 二阶系统的单位阶跃响应在不同的特征参量下有不同的响应曲线。1) 对二阶系统性能的影响设定无阻尼自然振荡频率,考虑5种不同的值:=0,0.25,0.5,1.0和2.0,利用MATLAB对每一种求取单位阶跃响应曲线,分析参数对系统的影响。为便于观测和比较,在一幅图上绘出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:

16、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) title(Step-Response Curves for G(s)=1/s2+2(zeta)s+1)由此得到的响应曲线如图2-6所示:图2-6 不同时系统的响应曲线2) 对二阶系统性能的影响同理,

17、设定阻尼比时,当分别取1,2,3时,利用MATLAB求取单位阶跃响应曲线,分析参数对系统的影响。num1=0 0 1; den1=1 0.5 1; t=0:0.1:10; step(num1,den1,t); grid; hold ontext(3.1,1.4,wn=1)num2=0 0 4; den2=1 1 4;step(num2,den2,t); hold ontext(1.7,1.4,wn=2)num3=0 0 9; den3=1 1.5 9;step(num3,den3,t); hold ontext(0.5,1.4,wn=3)由此得到的响应曲线如图2-7所示:图2-7 不同时系统的

18、响应曲线3 系统稳定性判断1)直接求根判稳roots()控制系统稳定的充要条件是其特征方程的根均具有负实部。因此,为了判别系统的稳定性,就要求出系统特征方程的根,并检验它们是否都具有负实部。MATLAB中对多项式求根的函数为roots()函数。 若求以下多项式的根,则所用的MATLAB指令为: roots(1,10,35,50,24)ans =-4.0000-3.0000-2.0000-1.0000特征方程的根都具有负实部,因而系统为稳定的。2)劳斯稳定判据routh()劳斯判据的调用格式为:r, info=routh(den)该函数的功能是构造系统的劳斯表。其中,den为系统的分母多项式系数

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

20、,24; H=hurwitz(den)H= 10 50 0 0 1 35 24 0 0 10 50 0 0 1 35 24由系统返回的hurwitz矩阵可以看出,系统是稳定的。与前面的分析结果完全一致。注意:routh()和hurwitz()不是MATLAB中自带的功能函数,须加载ctrllab3.1文件夹(自编)才能运行。三、实验内容1观察函数step( )和impulse( )的调用格式,假设系统的传递函数模型为 可以用几种方法绘制出系统的阶跃响应曲线?试分别绘制。2对典型二阶系统1)分别绘出,分别取0,0.25,0.5,1.0和2.0时的单位阶跃响应曲线,分析参数对系统的影响,并计算=0

21、.25时的时域性能指标。2)绘制出当=0.25, 分别取1,2,4,6时单位阶跃响应曲线,分析参数对系统的影响。3系统的特征方程式为,试用三种判稳方式判别该系统的稳定性。4单位负反馈系统的开环模型为试分别用劳斯稳定判据和赫尔维茨稳定判据判断系统的稳定性,并求出使得闭环系统稳定的K值范围。四、实验报告1根据内容要求,写出调试好的MATLAB语言程序,及对应的MATLAB运算结果。2. 记录各种输出波形,根据实验结果分析参数变化对系统的影响。3总结判断闭环系统稳定的方法,说明增益K对系统稳定性的影响。4写出实验的心得与体会。五、预习要求1. 预习实验中基础知识,运行编制好的MATLAB语句,熟悉M

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

23、图。而用MATLAB可以方便地绘制精确的根轨迹图,并可观测参数变化对特征根位置的影响。假设系统的对象模型可以表示为 系统的闭环特征方程可以写成 对每一个K的取值,我们可以得到一组系统的闭环极点。如果我们改变K的数值,则可以得到一系列这样的极点集合。若将这些K的取值下得出的极点位置按照各个分支连接起来,则可以得到一些描述系统闭环位置的曲线,这些曲线又称为系统的根轨迹。1) 绘制系统的根轨迹rlocus()MATLAB中绘制根轨迹的函数调用格式为:rlocus(num,den) 开环增益k的范围自动设定。rlocus(num,den,k) 开环增益k的范围人工设定。rlocus(p,z) 依据开环

24、零极点绘制根轨迹。r=rlocus(num,den) 不作图,返回闭环根矩阵。r,k=rlocus(num,den) 不作图,返回闭环根矩阵r和对应的开环增益向量k。其中,num,den分别为系统开环传递函数的分子、分母多项式系数,按s的降幂排列。K为根轨迹增益,可设定增益范围。例3-1:已知系统的开环传递函数,绘制系统的根轨迹的MATLAB的调用语句如下: num=1 1; %定义分子多项式 den=1 4 2 9; %定义分母多项式 rlocus (num,den) %绘制系统的根轨迹 grid %画网格标度线 xlabel(Real Axis),ylabel(Imaginary Axis

25、) %给坐标轴加上说明 title(Root Locus) %给图形加上标题名则该系统的根轨迹如图3-1所示: 图3-1 系统的完整根轨迹图形图3-2 特定增益范围内的根轨迹图形 若上例要绘制K在(1,10)的根轨迹图,则此时的MATLAB的调用格式如下,对应的根轨迹如图3-2所示。num=1 1; den=1 4 2 9; k=1:0.5:10; rlocus (num,den,k) 2) 确定闭环根位置对应增益值K的函数rlocfind()在MATLAB中,提供了rlocfind函数获取与特定的复根对应的增益K的值。在求出的根轨迹图上,可确定选定点的增益值K和闭环根r(向量)的值。该函数的

26、调用格式为:k,r=rlocfind(num,den)执行前,先执行绘制根轨迹命令rlocus(num,den),作出根轨迹图。执行rlocfind命令时,出现提示语句“Select a point in the graphics window”,即要求在根轨迹图上选定闭环极点。将鼠标移至根轨迹图选定的位置,单击左键确定,根轨迹图上出现“+”标记,即得到了该点的增益K和闭环根r的返回变量值。例3-2:系统的开环传递函数为,试求:(1)系统的根轨迹;(2)系统稳定的K的范围;(3)K=1时闭环系统阶跃响应曲线。则此时的MATLAB的调用格式为:G=tf(1,5,6,1,8,3,25); rloc

27、us (G); %绘制系统的根轨迹 k,r=rlocfind(G) %确定临界稳定时的增益值k和对应的极点r G_c=feedback(G,1); %形成单位负反馈闭环系统step(G_c) %绘制闭环系统的阶跃响应曲线则系统的根轨迹图和闭环系统阶跃响应曲线如图3-2所示。其中,调用rlocfind()函数,求出系统与虚轴交点的K值,可得与虚轴交点的K值为0.0264,故系统稳定的K的范围为。(a)根轨迹图形 (b)K=1时的阶跃响应曲线图3-2 系统的根轨迹和阶跃响应曲线3) 绘制阻尼比和无阻尼自然频率的栅格线sgrid( )当对系统的阻尼比和无阻尼自然频率有要求时,就希望在根轨迹图上作等或

28、等线。MATLAB中实现这一要求的函数为sgrid( ),该函数的调用格式为:sgrid(,) 已知和的数值,作出等于已知参数的等值线。sgrid(new) 作出等间隔分布的等和网格线。例3-3:系统的开环传递函数为,由rlocfind函数找出能产生主导极点阻尼=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 windowselected_point =

29、-0.3791 + 0.3602ik = 0.6233r = -2.2279 -0.3861 + 0.3616i -0.3861 - 0.3616i同时我们还可以绘制出该增益下闭环系统的阶跃响应,如图3-3(b)所示。事实上,等或等线在设计系补偿器中是相当实用的,这样设计出的增益K=0.6233将使得整个系统的阻尼比接近0.707。由下面的MATLAB语句可以求出主导极点,即r(2.3)点的阻尼比和自然频率为G_c=feedback(G,1);step(G_c)dd0=poly(r(2:3,:);wn=sqrt(dd0(3);zet=dd0(2)/(2*wn);zet,wnans = 0.72

30、99 0.5290我们可以由图3-3(a)中看出,主导极点的结果与实际系统的闭环响应非常接近,设计的效果是令人满意的。(a)根轨迹上点的选择 (b)闭环系统阶跃响应图3-3 由根轨迹技术设计闭环系统4) 基于根轨迹的系统设计及校正工具rltoolMATLAB中提供了一个系统根轨迹分析的图形界面,在此界面可以可视地在整个前向通路中添加零极点(亦即设计控制器),从而使得系统的性能得到改善。实现这一要求的工具为rltool,其调用格式为:rltool 或 rltool(G)例3-4:单位负反馈系统的开环传递函数输入系统的数学模型,并对此对象进行设计。den=conv(1,5,conv(1,20,1,

31、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)所示。可见这样直接得出的系统有很强的振荡,就需要给这个对象模型设计一个控制器来改善系统的闭环性能。 a)原对象模型的根轨迹 (b)闭环系统阶跃响应图3-4 根轨迹设计工具界面及阶跃响应分析 单击界面上的零点和极点添加的按钮,可以给系统添加一对共轭复极点,两个稳定零点,

32、调整它们的位置,并调整增益的值,通过观察系统的闭环阶跃响应效果,则可以试凑地设计出一个控制器在此控制器下分别观察系统的根轨迹和闭环系统阶跃响应曲线。可见,rltool可以作为系统综合的实用工具,在系统设计中发挥作用。三、实验内容1请绘制下面系统的根轨迹曲线同时得出在单位阶跃负反馈下使得闭环系统稳定的K值的范围。2. 在系统设计工具rltool界面中,通过添加零点和极点方法,试凑出上述系统,并观察增加极、零点对系统的影响。四、实验报告1根据内容要求,写出调试好的MATLAB语言程序,及对应的结果。2. 记录显示的根轨迹图形,根据实验结果分析根轨迹的绘制规则。3. 根据实验结果分析闭环系统的性能,

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

34、知识及MATLAB函数频域分析法是应用频域特性研究控制系统的一种经典方法。它是通过研究系统对正弦信号下的稳态和动态响应特性来分析系统的。采用这种方法可直观的表达出系统的频率特性,分析方法比较简单,物理概念明确。1频率曲线主要包括三种:Nyquist图、Bode图和Nichols图。1)Nyquist图的绘制与分析MATLAB中绘制系统Nyquist图的函数调用格式为:nyquist(num,den) 频率响应w的范围由软件自动设定nyquist(num,den,w) 频率响应w的范围由人工设定Re,Im= nyquist(num,den) 返回奈氏曲线的实部和虚部向量,不作图例4-1:已知系统

35、的开环传递函数为,试绘制Nyquist图,并判断系统的稳定性。num=2 6;den=1 2 5 2; z,p,k=tf2zp(num,den); pnyquist(num,den)极点的显示结果及绘制的Nyquist图如图4-1所示。由于系统的开环右根数P=0,系统的Nyquist曲线没有逆时针包围(-1,j0)点,所以闭环系统稳定。图4-1 开环极点的显示结果及Nyquist图p = -0.7666 + 1.9227i -0.7666 - 1.9227i -0.4668若上例要求绘制间的Nyquist图,则对应的MATLAB语句为:num=2 6;den=1 2 5 2;w=logspac

36、e(-1,1,100); 即在10-1和101之间,产生100个等距离的点nyquist(num,den,w)2)Bode图的绘制与分析系统的Bode图又称为系统频率特性的对数坐标图。Bode图有两张图,分别绘制开环频率特性的幅值和相位与角频率的关系曲线,称为对数幅频特性曲线和对数相频特性曲线。MATLAB中绘制系统Bode图的函数调用格式为:bode(num,den) 频率响应w的范围由软件自动设定bode(num,den,w) 频率响应w的范围由人工设定mag,phase,w=bode(num,den,w) 指定幅值范围和相角范围的伯德图例4-2:已知开环传递函数为,试绘制系统的伯德图。n

37、um=0 0 15 30;den=1 16 100 0;w=logspace(-2,3,100);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)。指定幅值范

38、围和相角范围的MATLAB调用语句如下,图形如图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 onxlabel(w/s-1); ylabel(L(w)/dB);title(Bode Diagram of G(s)=30(1+0.2

39、s)/s(s2+16s+100);subplot(2,1,2);%将图形窗口分为2*1个子图,在第2个子图处绘制图形semilogx(w,phase);grid onxlabel(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:单位负反馈的开环传递函数为,绘制Nichols图

40、。对应的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图线上的网格图4-3 Nichols图2幅值裕量和相位裕量幅值裕量和相位裕量是衡量控制系统相对稳定性的重要指标,需要经过复杂的运算求取。应用MATLAB功能指令可以方便地求解幅值裕量和相位裕量。其MATLAB调用格式为:Gm,Pm,Wcg,Wcp=margin(num,den)其中,Gm,Pm分别为系统的幅值裕量和相位裕量,

41、而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.7000pm = 64.6998wcg = 3.0000wcp = 1.1936如果已知系统的频域响应数据,还可以由下面的格式调用函数:Gm,Pm,Wcg,Wcp=margin

42、(mag,phase,w)其中(mag,phase,w)分别为频域响应的幅值、相位与频率向量。三、实验内容1典型二阶系统绘制出,0.3,0.5,0.8,2的bode图,记录并分析对系统bode图的影响。2系统的开环传递函数为绘制系统的Nyquist曲线、Bode图和Nichols图,说明系统的稳定性,并通过绘制阶跃响应曲线验证。 3已知系统的开环传递函数为。求系统的开环截止频率、穿越频率、幅值裕度和相位裕度。应用频率稳定判据判定系统的稳定性。四、实验报告1根据内容要求,写出调试好的MATLAB语言程序,及对应的结果。2. 记录显示的图形,根据实验结果与各典型环节的频率曲线对比分析。3. 记录并

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

44、能指标。最常用的经典校正方法有根轨迹法和频域法。而常用的串联校正装置有超前校正、滞后校正和超前滞后校正装置。本实验主要讨论在MATLAB环境下进行串联校正设计。1基于频率法的串联超前校正超前校正装置的主要作用是通过其相位超前效应来改变频率响应曲线的形状,产生足够大的相位超前角,以补偿原来系统中元件造成的过大的相位滞后。因此校正时应使校正装置的最大超前相位角出现在校正后系统的开环截止频率处。例5-1:单位反馈系统的开环传递函数为,试确定串联校正装置的特性,使系统满足在斜坡函数作用下系统的稳态误差小于0.1,相角裕度。解:根据系统静态精度的要求,选择开环增益取,求原系统的相角裕度。num0=12;

45、 den0=2,1,0; w=0.1:1000;gm1,pm1,wcg1,wcp1=margin(num0,den0);mag1,phase1=bode(num0,den0,w);gm1,pm1,wcg1,wcp1margin(num0,den0) %计算系统的相角裕度和幅值裕度,并绘制出Bode图grid;ans = Inf 11.6548 Inf 2.4240由结果可知,原系统相角裕度,不满足指标要求,系统的Bode图如图5-1所示。考虑采用串联超前校正装置,以增加系统的相角裕度。确定串联装置所需要增加的超前相位角及求得的校正装置参数。图5-1 原系统的Bode图e=5; r=45; r0

46、=pm1;phic=(r-r0+e)*pi/180;alpha=(1+sin(phic)/(1-sin(phic);将校正装置的最大超前角处的频率作为校正后系统的剪切频率。则有:即原系统幅频特性幅值等于时的频率,选为。根据=,求出校正装置的参数。即。 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); %返

47、回系统新的相角裕度和幅值裕度 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*log10(mag1),-,w,20*log10(mag2),-.);grid; ylabel(幅值(

48、db); title(-Go,-Gc,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);图5-2 系统校正前后的传递函数及Bode图2基于频率法的串联滞后校正滞后校正装置将给系统带来滞后相角。引入滞后装置的真正目的不是为了提供一个滞后相角,而是要使系统增益适当衰减,以便提高系统的稳态精度。滞后校正的设计主要是利用它的高频衰减作用,降低系统的截止频率,以便能使得系统获得充分的相位裕量。例5-2:单位反馈系统的开环传递函数为,试确定串联校正装置的特性,使校正后系统的静态速度误差系数等于30

温馨提示

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

评论

0/150

提交评论