自动控制原理实验手册_第1页
自动控制原理实验手册_第2页
自动控制原理实验手册_第3页
自动控制原理实验手册_第4页
自动控制原理实验手册_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

试验一初步认识MATLAB和控制系统仿真

一、试验目的

1.熟悉MATLAB桌面和命令窗口,掌握MATLAB仿真软件的使用措施。

2.掌握控制系统数学模型的多种描述措施及其仿真实现和互相转换。

3.熟悉控制系统仿真常用口勺MATLAB函数。

二、基础知识及MATLAB函数

Matlab是一种功能强大的数值计算、符号运算工具。我们可以很以便地处理线性代

数中的矩阵计算,方程组的求解,微积分运算,多项式运算,偏微分方程求解,记录与

优化等问题。

MATLAB语言以向量和矩阵为基本的数据单元,包括流程控制语句(次序、选择、

循环、条件、转移和暂停等),大量的运算符,丰富的函数,多种数据构造,输入输出

以及面向对象编程。这些既可以满足简朴问题的计算,也适合于开发复杂的大型程序。

MATLAB不仅仅是一套打好包附函数库,同步也是一种高级於J、面向对象的编程语言。

使用MATLAB可以卓有成效地开发自己FI勺程序,MATLAB自身H勺许多函数,实际上也

包括所有的J工具箱函数,都是用M文献实现口勺。

1、启动MATLAB命令窗口

计算机安装好MATLAB之后,双击MATLAB图标,就可以进入命令窗口(Command

Window),此时意味着系统处在准备接受命令的状态,可以在命令窗口中直接输入命令

语句。

MATLAB语句形式

>变量=体现式;

通过等丁符号将体现式口勺值赋予变量。当键入回车键时,该语句被执行。语句执行

之后,窗口自动显示出语句执行H勺成果。假如但愿成果不被显示,则只要在语句之后加

上一种分号(;)即可。此时尽管成果没有显示,但它仍然被赋值并在MATLAB工作空

间中分派了内存。

2、常用函数

1)常用的数学运算符

+,—,*(乘),/(左除),\(右除),A(第)

2)常用数学函数

abs,sin,cos,tan,asin,acos,atan,sqrt,exp.imag,real,signJog,leg10,conj(共扼复数)等

3)多项式处理函数

①在MATLAB中,多项式使用降幕系数的行向量表达,如:多项式

x4-12x3+0.r2+25x4-116

表达为:p=[l-12025116],使用函数roots可以求出多项式等于0的根,根用列向

量表达。若已知多项式等于。的根,函数poly可以求出对应多项式。

r=roots(p)

r=

11.7473

2.7028

-1.2251+1.4672i

-1.2251-1.4672i

p=poly(r)

P=

-12-025116

②多项式的运算

•相乘conv

a=(l23];b=|12]c=conv(a,b)=l476

conv指令可以嵌套使用,如conv(conv(a,b),c)

•相除deconv

Iq,r]=deconv(c,b)

q=l23%商多项式

r=000%余多项式

•求多项式H勺微分多项式polydcr

polyder(a)=22

•求多项式函数值polyval(p,n):将值n代入多项式求解。

polyval(a,2)=l1

③多项式的拟合

•多项式拟合乂称为曲线拟合,其目的就是在众多口勺样本点中进行拟合,找出满足

样本点分布口勺多项式。这在分析试验数据,将试验数据做解析描述时非常有用。

•命令格式:p=polyfit(x,y,n),其中x和y为样本点向量,n为所求多项式的J阶数,

p为求出的多项式。

④多项式插值

•多项式插值是指根据给定的有限个样本点,产生此外的估计点以到达数据更为平

滑的效果。所用指令有一维的interpl、二维的Jinterp2、三维区Iinterp3o这些指

令分别有不一样日勺措施(method),设计者可以根据需要选择合适时措施,以满

足系统属性口勺规定。Helppolyfun可以得到更详细口勺内容。

y=intcrpl(xs,ys,x,,method,)

•在有限样本点向量xs与ys中,插值产生向量x和y,所用措施定义在method

中,有4种选择:

•nearest:执行速度最快,输出成果为直角转折

•linear:默认值,在样本点上斜率变化很大

•spline:最花时间,但输出成果也最平滑

•cubic:最占内存,输出成果与spline差不多

4)绘图函数

plot(x1,y1,optionI,x2,y2,option2,••,)

xl,yl给出的数据分别为x,y轴坐标值,。ptionl为选项参数,以逐点连折线的方式

绘制I个二维图形;同步类似地绘制第二个二维图形,……等。

这是plot命令的完全格式,在实际应用中可以根据需要进行简化。例如:

plot(y),以向量y日勺值为纵坐标,横坐标从1开始自动赋值绘制一条平面曲线;

plot(x,y),x和y为长度相似的向量,以x的值为横坐标和y的值为纵坐标绘制一

条平面曲线;

plot(x,y,s),这里s是作图控制参数,用来控制线条的颜色、线型及标示符号等,

用一种单引号括起来的字符串表达,所绘制H勺曲线与第二种格式相似(控制参数字符请

参照Matlab的协助,这些参数可以组合使用);

x=linspace(0,2*pi,100);%100个点H勺x座标

y=sin(x);%对应口勺y座标

plot(x,y);

这就画出了正弦函数在[0,2打上口勺图形

若要画出多条曲线,只需将座标对依次放入plot函数即可:

plot(x,sin(x),x,cos(x));

该命令在同一坐标系中画出了正弦和余弦函数的图形。

gridon:在所画出的图形坐标中加入栅格

gridoff:除去图形坐标中的栅格

holdon:把目前图形保持在屏幕上不变,同步容许在这个坐标内绘制此外一种图形。

holdoff:使新图覆盖旧口勺图形

设定轴时范围

axis([xminxmaxyminymaxp

axis(4equal,):将x坐标轴和y坐标轴肚J单位刻度大小调整为同样。

文字标示

text(x,y/字符串')

在图形的指定坐标位置(x,y)处,标示单引号括起来日勺字符串。

gtext('字符串')

运用鼠标在图形的某一位置标示字符串。

title('字符串')

在所画图形的最上端显示阐明该图形标题的字符串。

xlabel(,字符串'),ylabel(,字符串')

设置x,y坐标轴H勺名称。

输入特殊的文字需要用反斜杠(\)开头。

legend('字符串1','字符串2,,…,'字符串if)

在屏幕上启动种小视窗,然后根据绘图命令的先后次序,用对应的字符中辨别图

形上H勺线。

subplot(mnk):分割图形显示窗口

m:上下分割个数,n:左右分割个数,k:子图编号

semilogx:绘制以x轴为对数坐标(以10为底),y轴为线性坐标的半对数坐标图

形。

semilogy:绘制以y轴为对数坐标(以10为底),x轴为线性坐标的半对数坐标图

形。

3、控制系统的模型

控制系统的I表达可用三种模型:传递函数、零极点增益、状态空间。每一种模型又

有持续与离散之分。为分析系统以便有时需要在三种模型间转换。MATLAB提供了多

种命令,使我们可以很以便的完毕这些工作,卜面以持续系统为例简要阐明有关命令。

1)模型与表达式

①传递函数模型

G(S)=3+v、…

n

ans++…+4$+。0

在MATLAB中直接用矢量组表达传递函数的分子、分母多项式系数,即:

num=[bmbm-i...bo];表达传递函数口勺分子多项式系数

den=lanan-i……ao]:表达传递函数的分母多项式系数

sys-tf(num,dcn)If命令将sys变量表达成传递函数模型0

②零极点增益模型

G(s)=k

(s-p1)(s-p2)...(s-

在MATLAB中用,、p、k矢量组分别表达系统的零点、极点和增益,即:

Z=[ZlZ2..........Zm];

P=[PIP2……Pn];

k=[k];

sys=zpk(z,p,k)zpk命令将sys变量表达成零极点增益模型。

③状态空间模型

x=ax+bu

y=ex+du

在MATLAB中用(a、b、c、d)矩阵组表达,然后

sys=ss(a,b,c,d)ss命令将sys变量表达成状态空间模型。

2)模型间的转换

在MATLAB中进行模型间转换的命令有:

ss2tf>ss2zp>tf2ss>tf2zp、zp2tf>zp2ss

它们之间的作用可由下面日勺示意图表达:

zp2ss

ss2zp

3)模型间的关系与系统建模

实际工作中常常需要由多种简朴系统构成复杂系统,MATLAB中有下面几种命令

可以处理两个系统间的连接问题。

①系统的并联

parallel命令可以实现两个系统的并联。命令格式:

[n,d]=parallel(m,di,nz,ch)

其中m、山和m、ch分别为gi(s)、g2(s)的传递函数分子、分母系数行矢量。

例将下面两个系统并联连接

/、3/、2s+4

&⑸二—rg2(s)=^~;--

5+4s+2s+3

执行下面程序:

m=[3];

di=[14];

n2=[24];

d2=[123];

[n,(J]=parallel(ni,di,(12)

运行成果:n=

05IX25

d=

161112

可得并联后系统日勺传递函数为

,、5/+18S+25

g⑸7—+12

②系统的串联

sciics命令实现两个系统内串联,命令格式:

[n,d]=series(m,di,02,d2)

③系统的反馈

feedback命令实现两个系统f、J反馈连接,命令格式:

[n,d]=feedback(m,di,n?»ch)

或:[n,d]=feedback(ni,di,na»(I2,sign)

其中sign是反馈符号,缺省时默认为负(即sign=-l)。

例设有下面两个系统:

,、s+1,、1

s+2s+35+10

现要将它们负反馈连接,求传递函数

输入:m=[1,1];

di=[L2,3];

n2=1;

d2=[L1()];

(n,d]=feedback(m,dun?»d?)

运行成果:n=

01II10

d=

1122431

即所求系统为:g(s)=不

s+12s~+24s+31

三、试验内容

1.已知6(s)=6、,G(s)=?言’分别求取0(s)和《(S)并联、串联以及

反馈连接时,系统的传递函数。

2.已知.⑸=,S+1,&(5)二三士1,分别求取6(s)和凡(S)并联、

$2+2s+4-s+2

串联以及反馈连接时,系统的传递函数。

3.将系统G(s)=2S2:8S:6;转换为状态空间形式。

s3+8.y24-1654-6

4.将卜列系统转换为传递函数形式。

11

X=AX+BU,

A=-204,B=0,C=[010jD=0.

Y=CX+DU.

621。1M

四、试验汇报

1.根据内容规定,写出调试好於JMATLAB语言程序,及对应的JMATLAB运算成果。

2.用试验成果阐明函数paral⑹与运算符“+”功能上的异同点。

3.写出试验的心得与体会。

五、预习规定

1.预习试验中基础知识,运行编制好的MATLAB语句,熟悉MATLAB指令及函

数。

2.结合试验内容,提前编制对应的程序。

3.熟悉控制系统数学模型的体现及互相转换。

试验二经典环节的MATLAB仿真

一、试验目的

1.熟悉MATLAB桌面和命令窗口,初步理解SIMULINK功能模块口勺使用措施。

2.通过观测经典环节在单位阶跃信号作用下的动态特性,加深对各经典环节响应

曲线的理解。

3.定性理解各参数变化对经典环节动态特性的影响。

二、SIMULINK的使用

MATLAB中SIMULINK是一种用来对动态系统进行建模、仿真和分析的软件包。

运用SIMULINK功能模块可以迅速的建立控制系统口勺模型,进行仿真和调试。

1.运行MATLAB软件,在命令窗口栏“2”提醒符下键入simulink命令,按Enter

键或在工具栏单击警按钮,即可进入如图1-1所示的SIMULINK仿真环境下。

2.选择File菜单下New下日勺Model命令,新建一种simulink仿真环境常规模板。

[jSiaulinkLibraryBrowserz区

Fil#WitH«lp

□GB;-Wfind-

0SinulinkA

1on11D«riv«tive

少Discontinuities

»Dizcr«taIntecrator

少Look-UpTabi。m

少X。W8u

HathOperationsy•Cx*PuSt“e-Spac。

「ModelVerification

力1

1Hodel-VideUtilitiesTransferFen

ZHPorts&Subsystemsri

》SignalAttributes

TransportDelay

ZHSi0ftlRouting囹

「Sinks

VariableTransport

少Sourcu囹D«l«y

「Vser-DefinedFunctions

01)

-0AerospaceBlocksetZero-Pole

♦・CDHAReferenceBlockzetV有

<'J>

函I_1CIMIIIINk佐百里而KI1.0至纬右拆区

3.在simulink仿真环境下,创立所需要H勺系统,

以图1-2所示的系统为例,阐明基本设计环节如下:

1)进入线性系统模块库,构建传递函数。点击simulink下欧J"Conlinuous”,再将

右边窗口中“TransferFen"H勺图标用左键拖至新建的J“unlillcd”窗口。

2)变化模块参数。在simulink仿真环境uuntitled窗口中双击该图标,即可变化

传递函数。其中方括号内的数字分别为传递函数的I分子、分母各次舞由高到低的系数,

数字之间用空格隔开;设置完毕后,选择OK,即完毕该模块口勺设置。

3)建立其他传递函数模块。按照上述措施,在不一样於Jsimulink的模块库中,建

立系统所需的传递函数模块。例:比例环节用“Math”右边窗口“Gain”的图标。

4)选用阶跃信号输入函数。用鼠标点击simulink下的'Source”,将右边窗口中“Step”

图标用左键拖至新建的“untitled”窗口,形成一种阶跃函数输入模块。

5)选择输出方式。用鼠标点击simulink下的J“Sinks”,就进入输出方式模块库,一

般选用“Scope”的示波器图标,将其用左键拖至新建的“unlilled”窗口。

6)选择反馈形式。为了形成闭环反馈系统,需选择“Math”模块库右边窗口“Sum”

图标,并用鼠标双击,将其设置为需要口勺反馈形式(变化正负号)。

7)连接各元件,用鼠标划线,构成闭环传递函数。

8)运行并观测响应曲线.用鼠标单击工具栏中的“,”按钮,便能自动运行仿真

环境下的系统框图模型。运行完之后用鼠标双击"Scope”元件,即可看到响应曲线。

三、试验原理

1.比例环节的传递函数为

7R

G(s)=--=--2-=-2R}=100K,R,=200A:

z\K\

其对应口勺模拟电路及SIMULINK图形如图1-3所示。

R2

rjnII・fv.lVT•-44-IdT7rmtr/

2.惯性环节的传递函数为

RJ

A《2

G($)=-/?,二100K,/?2=200K,G=Wf

z、RC+10.2s+1

其对应的模拟电路及SIMULINK图形如图1-4所示。

3.积分环节(I)的传递函数为

G(s)=-组=———=一一—R,=100K,G=\uf

11

2X/?,C,50.15

其对应的模拟电路及SIMULINK图形如图1-5所示。

4.微分环节(D)的传递函数为

7

G(s)=--^-=-RCs=-s凡=100K,G=104C«C=0.014

z1[[2X

其对应的模拟电路及SIMULINK图形如图1-6所示。

n>du/dt--1

StepDerivativeScope

5.比例+微分环节(PD)的传递函数为

7R

G(s)=----=----(R、C[S+1)=—(0.Is+1)

ziRi

/?!=/?,=100K,G=\0ufC2«G=0.01w/

其对应的模拟电路及SIMUL1NK图形如图1-7所示。

6.比例+积分环节(PI)的传递函数为

7凡+1

G(.y)=工=---------L-=-(l+-)/?,=R,=100K,G=10///

Z(A1s

StepDerivative

其对应的J模拟电路及SIMULINK图形如图1-8所示。

StepIntegrator

1771・clzZrM.±T1八fn。nrrvvR71TTZ

四、试验内容

按下列各经典环节的传递函数,建立对应的SIMULINK仿真模型,观测并记录其

单位阶跃响应波形。

①比例环节G1")=1和G|(s)=2;

②惯性环节Gl⑸=—ftG2(5)=一!一

s+10.5s+1

③积分环节5($)=%

④微分环节G[(s)=s

⑤比例+微分环节(PD)5(5)=$+2和62(5)=5+1

⑥比例+积分环节(PI)G(s)=1+幺和G?(s)=l+%•

五、试验汇报

1.画出各经典环节『'JSIMULINK仿真模型。

2.记录各环节的I单位阶跃响应波形,并分析参数对响应曲线的影响。

3.写出试验的I心得与体会。

六、预习规定

1.熟悉多种控制器的原理和构造,画好将创立的SIMULINK图形。

2.预习MATLAB中SIMULINK的基本使用措施。

试验三线性系统时域响应分析

一、试验目的

1.纯熟掌握step()函数和impulse()函数H勺使用措施,研究线性系统在单位阶

跃、单位脉冲及单位斜坡函数作用下的响应。

2.通过响应曲线观测特性参量《和生对二阶系统性能的影响。

3.纯熟掌握系统的稳定性的判断措施。

二、基础知识及MATLAB函数

()基础知识

时域分析法直接在时间域中对系统进行分析,可以提供系统时间响应的所有信息,

具有直观、精确的特点。为了研究控制系统H勺时域特性,常常采用瞬态响应(如阶跃响

应、脉冲响应和斜坡响应)。本次试验从分析系统时性能指标出发,给出了在MATLAB环

境下获取系统时域响应和分析系统的动态性能和稳态性能的措施。

用MATLAB求系统口勺瞬态响应时,将传递函数的分子、分母多项式口勺系数分别以s

内降累排列写为两个数组num、den。由于控制系统分子H勺阶次m一般不不小于其分母的

阶次n,因此num中H勺数组元素与分子多项式系数之间自右向左逐次对齐,局限性部分

用零补齐,缺项系数也用零补上。

1.用MATLAB求控制系统的瞬态响应

1)阶跃响应

求系统阶跃响应的指令有:

step(num,den)时间向量1的范围由软件自动设定,阶跃响应曲线随即绘出

step(num,den,t)时间向量t的范围可以由人工给定(例如1=0:0.1:10)

[y»x]=s(cp(num,dcn)返回变量y为输出I可量,x为状态向量

在MATLAB程序中,先定义num,den数组,并调用上述指令,即可生成单位阶跃输

入信号卜甘J阶跃响应曲线图。

考虑下列系统:

C(s)二25

R(s)s2I45I25

该系统可以表达为两个数组,每一种数组由对应口勺多项式系数构成,并且以s的降嘉排

列。则MATLAB的调用语句:

num=[()025];%定义分子多项式

den-[l425];先定义分母多项式

step(num,den)先调用阶跃响应函数求取单位阶跃响应曲线

grid%画网格标度线

xlabcl('t/s'),y】abcl('at)')%给坐标轴加上阐明

title(4Unit-stepRespinseofG(s)=25/(sA2+4s+25)^)%给绍形加上标题名

则该单位阶跃响应曲线如图2-1所示:

为了在图形屏幕上书写文本,可以用toxt命令在图上H勺任何位置加标注。例如:

text(3.4,-0.06,'Yf)和text(3.4,1.4,,Y2,)

第一种语句告诉计算机,在坐标点x=3.4,y=-0.06上书写出'Y1'。类似地,第一

个语句告诉计算机,在坐标点x=3.4,y=1.4上书写出‘Y2'。

若要绘制系统t在指定期间(OTOs)内的响应曲线,则用如下语句:

num=[0025J;

den=[l425];

t=0:0.1:10;

step(num,den,t)

即可得到系统口勺单位阶跃响应曲线在0-10s间的部分,如图2-2所示。

2)脉冲响应

①求系统脉冲响应的指令有:

impulse(num,den)时间向量i的范围由软件自动设定,阶跃响应曲线随即绘出

impulse(num,dcn,t)时间向量t的范围可以由人工给定(例如t=0:0.1:10)

[y,x]=inipiilse(num,den)返回变量y为输出向量,x为状态向量

|y,x,t]=impulse(num,den,t)向量i表达脉冲响应进行计算的时间

例:试求下列系统的单位脉冲响应:

2G(s)=1

R(s)52+0.25+1

在MATLAB中可表达为

nuin=[00U;

dcn=[10.21];

impulse(num.den)

grid

title(4Unit-impulseResponseofG(s)=1/(sA2+0.2s+1),)

由此得到日勺单位脉冲响应曲线如图2-3所示:

②求脉冲响应的另一种措施

应当指;II,当时始条件为零时,G(s)口勺单位脉冲响应与sG(s)口勺单位阶跃响应相似。

考虑在上例题中求系统的I单位脉冲响应,由于对于单位脉冲输入量,R⑸=1因此

史2=c(.v)=G(s)=]

-i--------------------X—

A(s)52+0.2.v+1+0.2s+1s

因此,可以将G⑸的单位脉冲响应变换成sG(s)口勺单位阶跃响应。

向MATLAB输入下列nun和den»

给出阶跃响应命令,可以得到系统的单

位脉冲响应曲线如图2-4所示。

num=[O10];

den=[l0.21];

step(num,den)

图2-4单位脉冲响应口勺另一种表达法

grid

title(4Unit-stepResponseof

sG(s)=s/(sA2+0.2s+l)')

3)斜坡响应

MATLAB没有直接调用求系统斜坡响应的功能指令。在求取斜坡响应时,一般运

用阶跃响应的指令。基于单位阶跃信号的拉氏变换为1隔而单位斜坡信号的拉氏变换

为1人2。因此,当求系统G(s)H勺单位斜坡响应时,可以先用s除G(s),再运用阶跃响应

命令,就能求出系统的斜坡响应。

例如,试求下列闭环系统的单位斜坡响应。

C(5)I

R(s)S2+5+1

对丁•单位斜坡输入量,R(s)-l/s?,因此

~、1111

C")=-----------X—=------------x-

S~+5+1S~(5~+S+1)5S

在MATLAB中输入如下命令,得到如图2-5所示H勺响应件线:

num=[()001];

den=[l110|:

step(num,dcn)

title(4Unit-RampResponseCuveforSystemG(s)=l/(s”+s+l)')

I¥1O_XMWrntfnrt#

2.特性参量,和%对二阶系统性能的影响

原则二阶系统的闭环传递函数为:

C(s)二就

2

R(s)s+ns+co1

二阶系统的单位阶跃响应在不一样的特性参量下有不一样的响应曲线。

1)4对二阶系统性能的影响

设定无阻尼自然振荡频率0“=Kruells),考虑5种不一样日勺4值:,=0,0.25,0.5,1.0

和2.0,运用MATLAB对每一种《求取单位阶跃响应曲线,分析参数4对系统的影响。

为便于观测和比较,在一幅图匕绘出5条响应曲线(采用“hold”命令实现)。

num-[O01J;denl-[l0IJ;den2-[l0.51J;

dcn3=[l11];dcn4=[121];den5=[l41];

t=():().1:1();step(num,denl,t)

grid

text(4,l.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,)

stcp(nuin,dcn4,t)

text(330.9,'1.()')

step(num,den5,t)

text(3.3,0.6,20')

title(4Step-ResponseCurvesfbrG(s)=1/[sA2+2(zeta)s+1]5)

由此得到的响应曲线如图2-6所小:

IX/1nr《F…止NdrtJiR,小M

2)。“对二阶系统性能的影响

同理,设定阻尼比4=0.25时,当叫分别取1,2,3时,运用MATLAB求取单位阶跃

响应曲线,分析参数以对系统的影响。

numl=[()01];denl=[l().51];

t=0:0.1:10;step(numl,denl,t);

grid;holdon

text(3.1,1.4,,wn=r)

num2=[004];den2=[1141;

step(num2,den2,t);holdon

text(1.7,1.4,,wn=2,)

num3=[009];dcn3=[l1.59];

step(num3,den3,t);holdon

text(0.5,1.4,,wn=3,)

由此得到的响应曲线如图2-7所示:

图2-7q“不一样步系统的响应曲

3.系统稳定性判断

I)直接求根判稳roots()

控制系统稳定的充要条件是其特性方程H勺根均具有负实部。因此,为了鉴别系统的

稳定性,就规定出系统特性方程的根,并检查它们与否都具有负实部。MATLAB中对

多项式求根的函数为roots()函数。

若求如下多项式於J根s'+10s'+35/+505+24,则所用口勺MATLAB指令为:

»roots([1,10,35,50,24])

ans=

-4.0000

-3.0000

-2.0000

-1.0000

特性方程日勺根都具有负实部,因而系统为稳定H勺。

2)劳斯稳定判据routh()

劳斯判据的I调用格式为:[r,info]=routh(den)

该函数的功能是构造系统的劳斯表。其中,den为系统的分母多项式系数向量,r

为返回日勺routh表矩阵,info为返回矽Jroulh表的附加信息。

以上述多项式为例,由routh判据鉴定系统的稳定性。

den=[l,10,35,50,24];

[r,info]=routh(den)

13524

10500

30240

4200

2400

info=

由系统返回的routh表可以看出,其第一列没有符号的变化,系统是稳定的。

3)赫尔维茨判据hurwitz()

赫尔维茨的调用格式为:H二hunvilz(den)。该函数的功能是构造hurwitz矩阵。

其中,den为系统H勺分母多项式系数向量。

以上述多项式为例,由hurwitz判据鉴定系统的稳定性。

»den=[l,10,35,50,24];H=hurwitz(den)

H=

10500C

135240

01050C

013524

由系统返回的hurwitz矩阵uj以看出,系统是稳定的。与前面的分析成果完全一致。

注意:routh()和hurwitz()不是MATLAB中自带的功能函数,须加载ctrllab3.1

文献夹(自编)才能运行。

三、试验内容

1.观测函数step()和impulse()日勺调用格式,假设系统的传递函数模型为

«)=4寸叱7__

s+4s,+6s?+4s+1

可以用几种措施绘制出系统的阶跃响应曲线?试分别绘制。

2.对经典二阶系统

G(s)=

s+2血s+%

1)分别绘出g,=2(rad/s),<分别取0,0.25,0.5』.。和2.()时矽J单位阶跃响应曲线,

分析参数4对系统的J影响,并计算《=0.25时口勺时域性能指标。/,,"册,

2)绘制出当?=0.25,%分别取1,2,4,6时单位阶跃响应曲线,分析参数以对系统

向影响。

3.系统的特性方程式为2/+1+352+55+10=(),试用三种判稳方式鉴别该系统

「勺稳定性。

4.单位负反馈系统的开环模型为

G(s)=

(s+2Xs+4)(/+6s+25)

试分别用劳斯稳定判据和赫尔维茨稳定判据判断系统口勺稳定性,并求出使得闭环系统稳

定『'JK值范围。

四、试验汇报

1.根据内容规定,写出调试好时MATLAB语言程序,及对应欧JMATLAB运算成果。

2.记录多种输出波形,根据'成验成果分析参数变化对系统的影响。

3.总结判断闭环系统稳定的措施,阐明增益K对系统稳定性的影响。

4.写出试验的I心得与体会。

五、预习规定

1.预习试验中基础知识,运行编制好口勺MATLAB语句,熟悉MATLAB指令及stepO

和impulse()函数。

2.结合试验内容,提前编制对应H勺程序。

3.思索特性参量,和纭对二阶系统性能口勺影响。

4.熟悉闭环系统稳定的充要条件及学过口勺稳定判据。

试验四线性系统的根轨迹

一、试验目的

1.熟悉MATLAB用于控制系统中的某些基本编程语句和格式。

2.运用MATLAB语句绘制系统的根轨迹。

3.掌握用根轨迹分析系统性能的图解措施。

4.掌握系统参数变化对特性根位置的影响。

二、基础知识及MATLAB函数

根轨迹是指系统的某一参数从零变到无穷大时,特性方程的根在s平面上的变化轨

迹。这个参数一般选为开环系统的增益K。书本中简介的手工绘制根轨迹的措施,只能

绘制根轨迹草图。而用MATLAB可以以便地绘制精确日勺根轨迹图,并可观测参数变化

对特性根位置的影响。

假设系统的对象模型可以表达为

G(s)=KGo(s)=K

系统的闭环特性方程可以写成

l+Kq(s)=O

对每一种K的取值,我们可以得到一组系统H勺闭环极点。假如我们变化K的数值,则

可以得到一系列这样的极点集合。若将这些K的取值下得出口勺极点位置按照各个分支连

接起来,则可以得到某些描述系统闭环位置的曲线,这些曲线又称为系统的根轨迹。

1)绘制系统的根轨迹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的I降幕排

列。K为根轨迹增益,可设定增益范围。

例37:已知系统的开环传递函数G(s)=K*3(s+D——,绘制系统的根轨迹的

s'?+41+25+9

MATLAB的调用语句如卜:

num=(l1];与定义分子多项式

dcn=[l4291;%定义分母多项式

rlocus(num,den)%绘制系统的根轨迹

grid%画网格标度线

xlabel(*RealAxis'),ylabclCImaginaryAxis')先给坐标轴加上阐明

title(4RootLocus')先给图形加.上标题名

则该系统的根轨迹如图3-1所示:

图3-1系统H勺完整根轨迹图形图3-2特定增益范围内H勺根轨迹图形

若上例要绘制K在(1,10)H勺根轨迹图,则此时的MATLABH勺调用格式如下,对

应日勺根轨迹如图3-2所示。

num=[11];

den=[l429];

k=l:0.5:10;

rlocus(num,den,k)

2)确定闭环根位置对应增益值K日勺函数rlocfind()

在MATLAB'I',提供了rlocfind函数获取与特定H勺复根对应的增益K的值。在求

出的根轨迹图上,可确定选定点的增益值K和闭环根r(向量)口勺值。该函数的J调用格

式为:

[k,r]=rlocfind(num,den)

执行前,先执行绘制根轨迹命令rlocus(num,den),作出根轨迹图。执行rlocfind

命令时,出现提醒语句“Selectapointinthegraphicswindow即规定在根轨迹

图上选定闭环极点。将鼠标移至根轨迹图选定的位置,单击左键确定,根轨迹图上出现

“+”标识,即得到了该点的增益K和闭环根r日勺返回变量值。

例3-2:系统的开环传递函数为G(s)=K*+6,试求:(口系统的根

Z+8s~+35+25

轨迹;(2)系统稳定的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(G1);%形成单位负反馈闭环系统

step(G_c)先绘制闭环系统的阶跃响应曲线

则系统口勺根轨迹图和闭环系统阶跃响应曲线如图3-2所示。

其中,调用rlocfind()函数,求出系统与虚轴交点F、JK值,可得与虚轴交点『、JK

值为0.0264,故系统稳定的K的范围为KG(0.0264产)。

(a)根跳迹图形(b)K=l时H勺阶跃响应曲线

3)绘制阻尼比,和无阻尼自然频率叫H勺栅格线sgrid()

当对系统的阻尼比《和无阻尼自然频率?有规定期,就但愿在根轨迹图上作等,

或等。“线。MATLAB中实现这一规定的函数为sgrid(),该函数的调用格式为:

sgrid(,,q)己知〈和以口勺数值,作出等于已知参数的等值线。

sgrid('new')作出等间隔分布的等?和网格线。

例3-3:系统的开环传递函数为G(s)=-----------------,由rlocfind函数找出能产生

s(s+1)(5+2)

主导极点阻尼7=0.707的合适增益,如图3-3(a)所示。

G=tf(L[conv([l,l],[l,2]),0]);

zet=[0.1:0.2:l];wn=[l:!()];

sgrid(zet,wn):holdon;rlocus(G)

[k,r]=rlocfind(G)

Selectapointinthegraphicswindow

seiectcd_point=

-0.3791+0.3602i

k=

0.6233

r=

-2.2279

-0.3861+0.3616i

-0.3861-0.3616i

同步我们还可以绘制出该增益下闭环系统的阶跃响应,如图3-3(b)所示。实际上,

等4或等叫线在设计系赔偿器中是相称实用U勺,这样设计出II勺增益仁0.6233将使得整

个系统的阻尼比靠近0.707。由下面的MATLAB语句可以求出主导极点,即r(2.3)点/J

阻尼比和自然频率为

G_c=feedback(G,1);

siep(G_c)

dd0=poly(r(2:3,:));

wn-sqil(dd0(3));zcl-dd()(2)/(2+wn);[zcl,wii]

0.72990.5290

我们可以由图3-3(a)中看出,主导极点时成果与实际系统时闭环响应非常靠近,

设计H勺效果是令人满意的I。

(a)根轨迹上点口勺选择(b)闭环系统阶跃响应

4)基于根轨迹的I系统设计及校正工具rltool

MATLAB中提供了一种系统根轨迹分析的图形界面,在此界面可以可视地在整个

前向通路中添加零极点(亦即设计控制器),从而使得系统的性能得到改善。实现这一

规定口勺工具为rltool,其调用格式为:

rltool或rltool(G)

例3-4:单位负反馈系统的开环传递函数

5+0.125

G(s)=

52(5+5)(5+20)(5+50)

输入系统日勺数学模型,并对此对象进行设订。

dcn=[conv([1,5],conv([1,20],[1,50])),0,0];

num=[1,0.125];

G-tf(iiuin,den);

rltool(G)

该命令将打开rltool工具口勺界面,显示原开环模型的根轨迹图,如图3-4(a)所

示。单击该图形菜单命令Analysis中H勺ResponsetoStepCommand复选框,则将打开

一种新的I窗口,绘制系统的闭环阶跃响应曲线,如图3-4(b)所示。可见这样直接得出

内系统有很强的振荡,就需要给这个对象模型设计一种控制器来改善系统的闭环性能。

a)原对象模型的根轨流(b)闭环系统阶跃响应

单击界而上的零点和极点添加的按钮,可以给系统添加一对共扼复极点,两个稳定

零点,调整它们的位置,并调整增益的值,通过观测系统的闭环阶跃响应效果,则可以

试凑地设计出一种控制器

(54-38.31X^+10-

温馨提示

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

评论

0/150

提交评论