自动控制实验1.docx

上传人:b****5 文档编号:2900792 上传时间:2022-11-16 格式:DOCX 页数:19 大小:223.61KB
下载 相关 举报
自动控制实验1.docx_第1页
第1页 / 共19页
自动控制实验1.docx_第2页
第2页 / 共19页
自动控制实验1.docx_第3页
第3页 / 共19页
自动控制实验1.docx_第4页
第4页 / 共19页
自动控制实验1.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

自动控制实验1.docx

《自动控制实验1.docx》由会员分享,可在线阅读,更多相关《自动控制实验1.docx(19页珍藏版)》请在冰豆网上搜索。

自动控制实验1.docx

自动控制实验1

实验一基于MATLAB实验平台的

系统被控对象的建立与转换

[说明]

一个控制系统主要由被控对象、检测测量装置、控制器和执行器四大部分构成。

用于自控原理实验方面的被控对象可以有

①用于实际生产的实际系统的真实被控对象,如进行温度控制的锅炉、进行转速控制的电机等;

②用于实验研究的真实被控对象,如进行温度控制的实验用锅炉、进行转速控制的电机等;

③用运算放大器等电子器件搭建的电模拟被控对象(电路板形式),它们的数学模型与真实被控对象的数学模型基本一致,而且比真实被控对象更典型,更精准。

它们是实物型原理仿真被控对象。

④计算机仿真的被控对象,它们是非实物型原理仿真被控对象,是以各种形式展现的被控对象的数学模型。

它们通过计算机屏幕展示,或是公式形式的数学算式,或是数字形式的数表、矩阵,或是图形形式的结构框图,或是动画形式的真实被控对象实物的动态图形。

在自控原理实验中,①极少用;②用的不多;③用的较多;④在MATLAB软件广泛使用后,用的较多。

③、④各有其优缺点。

MATLAB软件的应用对提高控制系统的分析、设计和应用水平起着十分重要的作用。

我们的实验采用的是④:

采用MATLAB软件平台的计算机仿真的被控对象。

这里“被控对象的建立”,指在MATLAB软件平台上怎样正确表示被控对象的数学模型。

[实验目的]

1.了解MATLAB软件的基本特点和功能;

2.掌握线性系统被控对象传递函数数学模型在MATLAB环境下的表示方法及转换;

3.掌握多环节串联、并联、反馈连接时整体传递函数的求取方法;

4.掌握在SIMULINK环境下系统结构图的形成及整体传递函数的求取方法。

[实验指导]

一、被控对象模型的建立

在线性系统理论中,一般常用的描述系统的数学模型形式有:

(1)传递函数模型——有理多项式分式表达式

(2)传递函数模型——零极点增益表达式

(3)状态空间模型(系统的内部模型)

这些模型之间都有着内在的联系,可以相互进行转换。

1、传递函数模型——有理多项式分式表达式

设系统的传递函数模型为

若已知系统的传递函数为:

对线性定常系统,式中s的系数均为常数,且an不等于零。

这时系统在MATLAB中可以方便地由分子和分母各项系数构成的两个向量唯一地确定,这两个向量常用num和den表示。

num=[bm,bm-1,…,b1,b0]

den=[an,an-1,…,a1,a0]

注意:

它们都是按s的降幂进行排列的。

分子应为m项,分母应为n项,若有空缺项(系数为零的项),在相应的位置补零。

然后写上传递函数模型建立函数:

sys=tf(num,den)。

这个传递函数便在MATLAB平台中被建立,并可以在屏幕上显示出来。

举例1-1:

已知系统的传递函数描述如下:

在MATLAB命令窗口(CommandWindow)键入以下程序:

>>num=[12,24,0,20];

>>den=[24622];

>>sys=tf(num,den)

回车后显示结果:

Transferfunction:

12s^3+24s^2+20

---------------------------------------

2s^4+4s^3+6s^2+2s+2

同时在MATLAB中建立了这个相应的有理多项式分式形式的传递函数模型。

(1)系统的MATLAB程序为:

举例1-2:

已知系统的传递函数描述如下:

其中,多项式相乘项,可借助多项式乘法函数conv来处理。

在MATLAB命令窗口(CommandWindow)键入以下程序:

>>num=4*conv([1,2],conv([1,6,6],[1,6,6]));

>>den=conv([1,0],conv([1,1],conv([1,1],conv([1,1],[1,3,2,5]))));

>>sys=tf(num,den)

回车后显示结果:

Transferfunction:

4s^5+56s^4+288s^3+672s^2+720s+288

------------------------------------------------------------------

s^7+6s^6+14s^5+21s^4+24s^3+17s^2+5s

即在MATLAB中建立了这个有理多项式分式形式的传递函数模型。

2.相应的

(2)系统的MATLAB程序为:

2、传递函数模型——零极点增益模型

零极点增益模型为:

其中:

K1为零极点增益,zi为零点,pj为极点。

该模型在MATLAB中,可用[z,p,k]矢量组表示,即

z=[z1,z2,…,zm];

p=[p1,p2,...,pn];

k=[K];

然后在MATLAB中写上零极点增益形式的传递函数模型建立函数:

sys=zpk(z,p,k)。

这个零极点增益模型便在MATLAB平台中被建立,并在屏幕上显示出来。

举例1-3:

已知系统的零极点增益模型:

在MATLAB命令窗口(CommandWindow)键入以下程序:

>>z=[-3];p=[-1,-2,-5];k=6;

>>sys=zpk(z,p,k)

回车后显示结果:

Zero/pole/gain:

6(s+3)

-----------------

(s+1)(s+2)(s+5)

则在MATLAB中建立了这个零极点增益的模型。

3.3、状态空间模型

状态方程与输出方程的组合称为状态空间表达式,又称为动态方程:

在MATLAB中建立状态空间模型的程序如下:

>>A=[A];

>>B=[B];

>>C=[C];

>>D=[D];

>>sys=ss(A,B,C,D)

二、不同形式模型之间的相互转换

不同形式之间模型转换的函数:

(1)tf2zp:

多项式传递函数模型转换为零极点增益模型。

格式为:

[z,p,k]=tf2zp(num,den)

(2)zp2tf:

零极点增益模型转换为多项式传递函数模型。

格式为:

[num,den]=zp2tf(z,p,k)

(3)ss2tf:

状态空间模型转换为多项式传递函数模型。

格式为:

[num,den]=ss2tf(a,b,c,d)

(4)tf2ss:

多项式传递函数模型转换为状态空间模型。

格式为:

[a,b,c,d]=tf2ss(num,den)

(4)zp2ss:

零极点增益模型转换为状态空间模型。

格式为:

[a,b,c,d]=zp2ss(z,p,k)

(5)ss2zp:

状态空间模型转换为零极点增益模型。

格式为:

[z,p,k]=ss2zp(a,b,c,d)

三、环节串联、并联、反馈连接时等效的整体传递函数的求取

1、串联

这里:

在MATLAB中求取整体传递函数的功能,采用如下的语句或函数来实现。

.

G=G1*G2

G=series(G1,G2)

[num,den]=series(num1,den1,num2,den2)

举例1-4:

两环节G1、G2串联,求等效的整体传递函数G

解:

1实现的命令行程序之一:

>>n1=2;d1=[13];n2=7;d2=[121];G1=tf(n1,d1);G2=tf(n2,d2);G=G1*G2

运行结果:

Transferfunction:

14

---------------------

s^3+5s^2+7s+3

②实现的命令行程序之二:

>>n1=2;d1=[13];n2=7;d2=[121];G1=tf(n1,d1);G2=tf(n2,d2);G=series(G1,G2)

运行结果:

Transferfunction:

14

---------------------

s^3+5s^2+7s+3

③实现的命令行程序之三:

>>n1=2;d1=[13];n2=7;d2=[121];G1=tf(n1,d1);G2=tf(n2,d2);[n,d]=series(n1,d1,n2,d2)

运行结果:

n=

00014

d=

1573

举例1-5:

四环节G1、G2、G3、G4串联,求等效的整体传递函数G

解:

实现的命令行程序:

>>n1=2;d1=[13];n4=7;d4=[121];G1=tf(n1,d1);G4=tf(n2,d2);G=G1*G1*G1*G4

运行结果:

Transferfunction:

56

------------------------------------------

s^5+11s^4+46s^3+90s^2+81s+27

2、并联

结构一

两环节G1(s)与G2(s)并联,则等效的整体传递函数为

G(s)=G1(s)+G2(s)

在MATLAB中求取整体传递函数的功能,采用如下的语句或函数来实现。

①G=G1+G2

②G=parallel

1(G1,G2)

③[num,den]=parallel

2(num1,den1,num2,den2)

举例1-6:

两环节G1、G2并联,求等效的整体传递函数G(s)

解:

①实现的命令行程序之一:

>>n1=2;d1=[13];n2=7;d2=[121];G1=tf(n1,d1);G2=tf(n2,d2);G=G1+G2

运行结果:

Transferfunction:

2s^2+11s+23

----------------------------

s^3+5s^2+7s+3

②实现的命令行程序之二:

>>n1=2;d1=[13];n2=7;d2=[121];G1=tf(n1,d1);G2=tf(n2,d2);G=parallel(G1,G2)

运行结果:

Transferfunction:

2s^2+11s+23

---------------------------

s^3+5s^2+7s+3

③实现的命令行程序之三:

>>n1=2;d1=[13];n2=7;d2=[121];[n,d]=parallel(n1,d1,n2,d2)

运行结果:

n=

021123

d=

1573

结构二

则G(s)=G1(s)-G2(s)

相应的语句为

G=G1-G2

举例1-7:

两环节G1、G2连接如上图,求等效的整体传递函数G(s)

解:

程序如下

>>n1=2;d1=[13];n2=7;d2=[121];G1=tf(n1,d1);G2=tf(n2,d2);G=G1-G2

运行结果:

Transferfunction:

2s^2-3s-19

------------------------------

s^3+5s^2+7s+3

3.反馈:

feedback

在MATLAB中采用如下的语句或函数来求取闭环传递函数

①G=feedback(G1,G2,sign)

②[num,den]=feedback(num1,den1,num2,den2,sign)

③[Gb1,Gb2]=cloop(G1,G2,sign)

④[numc,denc]=cloop(num,den,sig

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1