自动控制系统简明教程程序.docx

上传人:b****4 文档编号:24163773 上传时间:2023-05-24 格式:DOCX 页数:13 大小:81.52KB
下载 相关 举报
自动控制系统简明教程程序.docx_第1页
第1页 / 共13页
自动控制系统简明教程程序.docx_第2页
第2页 / 共13页
自动控制系统简明教程程序.docx_第3页
第3页 / 共13页
自动控制系统简明教程程序.docx_第4页
第4页 / 共13页
自动控制系统简明教程程序.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

自动控制系统简明教程程序.docx

《自动控制系统简明教程程序.docx》由会员分享,可在线阅读,更多相关《自动控制系统简明教程程序.docx(13页珍藏版)》请在冰豆网上搜索。

自动控制系统简明教程程序.docx

自动控制系统简明教程程序

1.控制系统建模

在控制系统的分析与设计中,首先要建立系统的数学模型。

在MATLAB中,常用的系统建模方法有传递函数模型、零极点模型以及状态空间模型等。

下面结合下图予以说明:

+

+

图C-1控制系统

(1)控制系统模型描述

系统传递函数模型描述

命令格式:

其中,num,den分别为分子、分母多项式降幂排列的系数向量;Ts表示采样时间,缺省时描述的是连续传递函数。

故图中

可描述为G1=tf([1],[110])。

若传递函数的分子、分母为因式连乘形式,如图中

,则可以考虑采用conv命令进行多项式相乘,得到展开后的分子、分母多项式降幂排列的系数向量,再用tf命令建模。

可描述为num=1;den=conv([0.11],[13]);G2=tf(num,den)。

2)系统零点模型描述

命令格式:

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

其中,z,p,k分别表示系统的零点、极点及增益,若无零点、极点,则用[]表示;Ts表示采样时间,缺省时描述的是连续系统。

如图中

可描述为G3=zpk([-2],[0-1],1)。

3)系统状态空间模型描述。

(2)模型转换

由于在控制系统分析与设计中有时会要求模型有特定的描述形式,为此MATLAB提供了传递函数模型与零极点模型之间的转换命令。

命令格式:

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

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

其中,zp2tf可以将零极点模型转换成传输函数模型,而tf2zp可以将传递函数模型转换成零极点模型。

图中

转换成零极点模型为[z,p,k]=tf2zp([1],[110]),

转换成传递函数模型为[num,den]=zp2tf([-2],[0-1],1)。

(3)系统连接

一个控制系统通常由多个子系统相互连接而成,而最基本的三种连接方式为上图中的串联、并联和反馈连接形式。

两个系统的并联连接

命令格式:

sys=parallel(sys1,sys2)

对于SISO系统,parallel命令相当于符号“+”。

对于图中

并联组成的子系统

,可描述为G12=parallel(G1,G2)。

两个子系统的串联连接

命令格式:

sys=series(sys1,sys2)

对于SISO系统,series命令相当于符号“*”。

对于图中由

串联组成的系统组成的开环传递函数,可描述为G=series(G12,G3)。

两个系统的反馈连接

命令格式:

sys=feedback(sys1,sys2,sign)

其中,sign用于说明反馈性质(正、负)。

Sign缺省时,为负,即sign=-1。

由于上图中为单位负反馈系统,所以系统的闭环传递函数可描述为sys=feedback(G,1,-1)。

其中G表示开环传递函数,“1”表示是单位反馈,“-1”表示是负反馈,可缺省。

(4)综合应用:

结构图化简及其闭环传递函数的求取

例C-1:

已知多路反馈系统的结构图如图所示,求闭环传递函数

其中,

-

图C-2多路反馈系统

解MATLAB程序:

example1.m

G1=tf([1],[110]);

G2=tf([1],[11]);

G3=tf([101],[144]);

numg4=[11];

deng4=[16];

G4=tf(numg4,deng4);

H1=zpk([-1],[-2],1);

numh2=[2];denh2=[1];H3=1;%建立各个方块字系统模型

nh2=conv(numh2,deng4);dh2=conv(denh2,numg4);

H2=tf(nh2,dh2);%先将H2移至G4之后

sys1=series(G3,G4);

sys2=feedback(sys1,H1,+1);%计算由G3,G4和H1回路组成的子系统模型

sys3=series(G2,sys2);

sys4=feedback(sys3,H2);%计算由H2构成反馈回路的子系统模型

sys5=series(G1,sys4);

sys=feedback(sys5,H3)%计算由H3构成反馈主回路的系统闭环传递函数

 

2.控制系统时域分析

稳定性分析

稳定是控制系统的重要性能,夜视系统设计过程中的首要问题。

线性系统稳定的充分必要条件是:

闭环系统特征方程的所有跟均有负实部。

在MATLAB中可以调用roots命令求取特征方程的跟,进而判定系统的稳定性。

命令格式:

p=root(den)

其中,den为特征多项式降幂排列的系数向量;p为特征根。

动态性能分析

单位脉冲响应。

命令格式:

y=impulse(sys,t)

当不带输出变量y时,impulse命令可直接绘制脉冲响应曲线;t用于设定仿真时间,可缺省。

单位阶跃响应。

命令格式:

y=step(sys,t)

当不带输出变量y时,step命令可直接绘制阶跃响应曲线;t用于设定仿真时间,可缺省。

任意输入响应

命令格式:

y=lsim(sys,u,t,x0)

当不带输出变量y时,lsim命令可直接绘制响应曲线。

其中u表示输入,x0用于设定初始状态,缺省时为0,t用于设定仿真时间,可缺省。

零输入响应

命令格式:

y=initial(sys,x0,t)

Initial命令要求系统sys为状态空间模型。

当不带输出变量y时,initial命令可直接绘制响应曲线。

x0用于设定初始状态,缺省时为0,t用于设定仿真时间,可缺省。

综合应用(系统时域动态性能分析)

例C-2已知系统的闭环传递函数为

,其中

求二阶系统的单位脉冲响应、单位阶跃响应和单位斜坡响应。

解MATLAB程序:

example2.m

zeta=0.707;

num=[16];den=[18*zeta16];

sys=tf(num,den);%建立闭环传递函数模型

p=roots(den)%计算系统特征根判断系统稳定性

t=0:

0.01:

3;%设定仿真时间为3s

figure

(1)

impulse(sys,t);grid%求取系统的单位脉冲响应

xlable(‘t’);ylable(‘c(t)’);title(‘impulseresponse’);

figure

(2)

step(sys,t);grid%求取系统的单位阶跃响应

xlable(‘t’);ylable(‘c(t)’);title(‘stepresponse’);

figure(3)

u=t;%定义输入为斜坡信号

lsim(sys,u,t,0);grid%求取系统的单位斜坡响应

xlable(‘t’);ylable(‘c(t)’);title(‘rampresponse’);

3.线性系统的根轨迹

绘制零极点分布图

命令格式:

[p,z]=pzmap(sys)

当不带输出量时,pzmap命令可直接在复平面内标出传递函数的零、极点。

在图中,极点用“X”表示,零点用“O”表示。

绘制根轨迹图

利用MATLAB绘制根轨迹的一般步骤如下:

1)先将特征方程写成下列形式

,其中K为所研究的变化参数,得到等效开环传递函数

2)调用rlocus命令绘制根轨迹。

命令格式:

rlocus(G)

综合应用(系统性能复域分析)

例C-3已知单位负反馈系统的开环传递函数为

试画出K从零变化到无穷时的根轨迹图,并求出系统临界阻尼时对应的K值及其闭环极点。

解由题意,系统闭环特征多项式为

等效开环传递函数

下面调用rlocus命令绘制根轨迹,M文件example3如下:

G=tf([14],[1420]);%建立等效开环传递函数模型

figure

(1)

pzmap(G);%绘制零极点分布图

figure

(2)

rlocus(G);%绘制根轨迹

以上即为所得到的零极点分布图和根轨迹图。

为了计算系统临界阻尼时对应的K值和对应的闭环极点,可在上述M文件执行之后,在MATLAB命令窗口中键入下列命令:

rlocfind(G)%确定增益及其相应的闭环极点

执行rlocfind命令后,MATLAB将在根轨迹图上出现“+”提示符,通过鼠标将提示符移到根轨迹上相应的位置,然后按回车键,于是所选闭环极点及其对应的参数K就会在命令行中显示。

4.控制系统的频率分析

伯德图

命令格式:

[mag,phase,w]=bode(sys)

当缺省设输出变量时,bode命令可以直接绘制伯德图;否则,将只计算计算幅值和相角,并将计算结果分别存放在向量mag和phase中。

另外,margin命令也可以绘制伯德图,并直接得出幅值裕度、相角裕度及其对应的截止频率、穿越频率。

其命令格式如下:

命令格式:

[Gm,Pm,Wcg,Wcp]=margin(sys)

当缺省输出变量时,margin命令可直接绘制伯德图,并且将幅值裕度、相角裕度及其对应的截止频率、穿越频率标注在图形标题端。

尼柯尔斯图

命令格式:

[mag,phase,w]=nichols(sys)

当缺省输出变量时,nichols命令可直接绘制尼柯尔斯图。

奈奎斯特图

命令格式:

[re,im,w]=nyquist(sys)

当缺省输出变量时,nyquist命令可直接绘制奈奎斯特图。

综合运用(系统稳定性的频域分析)

例C-4已知单位负反馈系统的开环传递函数为

试绘制其伯德图,尼柯尔斯图和奈奎斯特图,并判别闭环系统的稳定性。

解MATLAB程序:

example4.m

G=tf([1280640],[124.21604.81320.2416]);%建立开环系统模型

figure

(1)

margin(G);%绘制伯德图,计算幅值裕度、相角裕度

figure

(2)%及其截止频率、穿越频率

nichols(G);%绘制尼柯尔斯图

axis([-2700-4040]);grid%设定尼柯尔斯图的坐标范围,并绘制网格

figure(3)

nyquist(G)%绘制奈奎斯特图

axisequal%调整纵横坐标比例,保持原形

运行程序后,个图如下所示,其中“+”表示(-1,j0)点所在位置。

由于系统无右半平面的开环极点,故奈奎斯特曲线不包围(-1,j0)点,系统稳定。

另外,系统的幅值裕度h=29.5Db、相角裕度

,相应的截止频率

、穿越频率

由奈氏判据知,系统闭环稳定。

5.控制系统的校正

借助于MATLAB强大的计算功能,可以进一步讨论控制系统校正网络的设计问题,以获得满意的系统性能。

下面结合实例,说明MATLAB在控制系统校正中的具体应用。

综合应用(串联校正)

例C-5设单位负反馈系统的开环传递函数为

,若要求系统在单位斜坡信号作用时,位置输出稳态误差

,开环系统截止频率

,相角裕度

,幅值裕度

,试设计串联无源超前网络。

解本题利用频域法设计无源超前网络的设计步骤如下:

1)根据稳态误差要求,确定开环增益K;

2)利用已确定的开环增益,计算待校正系统的幅值裕度、相角裕度及其对应的截止频率和穿越频率;

3)根据截止频率

的要求,计算超前网络参数a和T。

为保证系统的响应速度,并充分利用网络的相角超前特性,可选择最大超前角频率等于截止频率,即

其中a由

确定,然后再由

确定T值。

4)确定无源超前网络和最大超前角

验算已校正系统的幅值裕度、相角裕度及其对应的截止频率、穿越频率。

若验算结果不满足指标要求,需重新选择

,然后重复以上设计步骤。

MATLAB程序:

example5.m

K=1/0.1;

G0=zpk([],[0-1],K);

[h0,r,wx,wc]=margin(G0)

wm=4.4;

L=bode(G0,wm);

Lwc=20*log10(L)

a=10^(-0.1*Lwc)

T=1/(wm*sqrt(a));

phi=asin((a-1)/(a+1))

Gc=(1/a)*tf([a*T1],[T1]);

Gc=a*Gc;

G=Gc*G0;

bode(G,’r’,G0,’b--‘);grid;

[h,r,wx,wc]=margin(G)

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

当前位置:首页 > 农林牧渔 > 林学

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

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