基于MATLAB的自动控制系统稳定性分析 | [PDF全文] |
2. 赣州电信分公司, 江西 赣州 341000
2. Ganzhou Telecom Company, Ganzhou 341000, Jiangxi, China
一般说来, 对于自动控制系统的基本要求是:首先, 系统必须是稳定的; 其次是系统的暂态性能应满足生产工艺所要求的暂态性能指标; 其三是系统的稳态误差要满足生产的工艺要求[1]。其中, 稳定性是控制系统的首要条件, 一个不稳定的系统是无法完成预期控制任务的。因此, 如何判别一个系统是否稳定以及怎样改善其稳定性乃是系统分析与设计的一个首要问题。
在经典控制理论中, 对于单输入单输出线形定常系统, 应用劳斯判据和胡维茨判据等代数方法间接判定系统的稳定性, 而用根轨迹法及频域中的奈奎斯特判据和波德图则是更为有效的方法, 它不仅用于判定系统是否稳定, 还能指明改善系统稳定性的方向。但这些方法在绘图和计算时需要花费大量的时间和精力。MATLAB是1980年推出的用于工程计算和数值分析的交互式语言。经过多年的完善, 它已成为当前最受流行的软件, 集数值分析、矩阵运算、信号处理和图形显示于一体[2]。MATLAB有很强的绘图功能, 只要写两三句代码就能得到所需要的图形, 如绘制正弦波形只要写如下两句代码:t=0:pi/100:2 pi; y= sin(t); plot(t, y), 就可以得到所需要的波形。为此, 笔者利用MATLAB提供的丰富的控制系统分析和绘图资源, 编写简明的程序, 分别从时域响应、根轨迹、频域响应方面加以仿真, 分析系统的稳定性。
1 基于时域响应的稳定性分析假设讨论的系统模型为WK(S) = 50/((S+5) (S-2)), 单位负反馈。
利用MATLAB工具箱提供的时域响应函数, 给该系统施加单位冲激, 观察它的响应。程序如下:
% Example1
num=[50]; den=[13-10];
[num1, den1] = cloop(num, den);
impulse(num1, den1) title(‘impulse response’)
程序中num为开环传递函数分子系数矩阵, den为分母系数矩阵。
系统的稳定性, 是指系统在遭受外界扰动偏离原来的平衡状态, 当扰动消失后, 系统自身仍有能力恢复到原来平衡状态的一种能力[3]。从图 1可以很直观地看出该系统是稳定的。
2 系统零极点图的绘制
图 1是从概念上理解稳定性, 而判断一个系统是否稳定, 其实质是看该系统的闭环特征根是否具有负实部[1]。MATLAB提供了绘制系统零极点数pzmap(num, den), 可以在S平面上显示它的特征根分布(见图 2)。程序如下:
%Example2
num=[50]; den=[13-10];
[num1, den1]= cloop(num, den);
pzmap(num1, den1); title(‘Pole-Zero Map’)
从图 2可知该系统两个闭环特征根均具有负实部Re=-1.5, 可见该系统是稳定的。
对于高阶系统, 较难用手工解出其闭环特征根, 往往采用间接的方法来判断系统的稳定性, 如构造Routh或Jury表。现在利用MATLAB提供的绘制系统零极点函数则同样可以很容易绘出它的特征根分布, 从而判断出系统的稳定性。
3 基于根轨迹的稳定性分析根轨迹是由开环传递函数确定闭环特征根的图解法。一般讨论的根轨迹都是基于K从0~+∞的变化过程中系统闭环极点的移动轨迹。根轨迹应满足根轨迹方程:
1+WK(S) = 0
绘制根轨迹的程序如下:
%Example3
num=[50]; den=[13-10];
rlocus(num, den) title(‘Root Locus’)
[k, p] = rlocfind(num, den)
利用MATLAB提供的[k, p] = rlocfind(num, den)语句可找出极点在虚轴上时对应的临界K, 此时S平面的左半平面的根轨迹是稳定的。本模型对应的根轨迹临界K = 0.1978, 只要K > 0.1978, 根轨迹都在S平面的左半平面, 所有的闭环极点都具有负实部。所讨论的模型K = 1, 因此该系统稳定。
假设一系统的闭环特征方程为D(S) = S4 + 4S3 + 4S2 + 6S + 8 = 0, 判断它的稳定性。当然可以用劳斯判据判断, 但如何用rlocus(num, den)判断它的稳定性呢?需要对D(S)稍作变形如下:
对比D(S) = 1+ WK(S), 绘制WK(S) = K (S2 + 6S + 8)/(S4 + 4S3 + 3S2)的根轨迹, 然后找出K = 1对应的闭环极点, 看它是否具有负实部, 从而判断其稳定性(见图 3)。程序如下:
% Example4
num=[1 6 8]; den=[1 4 3 0 0];
rlocus(num, den) title(‘Root Locus’)
根轨迹有两条分支始终在S平面的右半平面, 因此K = 1时有两个根具有正实部, 很显然, 该系统不稳定。为使此系统稳定, 增加校正装置改变根轨迹的走向, 使K = 1时, 对应的特征根都在S左半平面。
4 基于频率特性的稳定性分析MATLAB语言提供了bode、nyquist、nichols 3种命令, 可以很方便、直接地绘出各自的图形, 其图形分别见图 4、图 5、图 6, 程序如下:
% Example5
num=[50]; den=[13-10];
figure(1) nyquist(num, den)
title(‘nyquist plot’); figure(2)
[mag, phase, w] = bode(num, den);
margin(mag, phase, w)
figure(3) nichols(num,den)
奈氏稳定判据的内容是:若开环传递函数在S平面右半平面上有P个极点, 则当ω由-∞~+∞时, 如果开环频率特性的轨迹在复平面上逆时针围绕(-1, j0)点转P圈, 则闭环系统是稳定的, 否则, 是不稳定的[1]。从图 4中可以看出, Nyquist曲线按逆时针包围(-1, j0)点1圈, 而开环系统包含S平面右半平面上的1个极点, 因此, 以此构成的闭环系统稳定。
在波德图、尼柯尔斯图上应用奈氏稳定判据为:若开环传递函数在S平面右半平面上有P个极点, 对数频率特性L(ω)大于0dB的所有频段内, 对数相频特性与-π线正穿越与负穿越次数之差为P/2时, 闭环系统是稳定的, 否则, 是不稳定的[1]。图 5、图 6中对数频率特性L(ω)大于0dB的所有频段内, 对数相频特性与-π线正穿越与负穿越次数之差为1/2, 而开环系统包含S平面右半平面上的1个极点, 可见该闭环系统稳定。图 5中还求出了增益裕量GM和相位裕量PM, 从而可以判断系统的绝对稳定性, 并可以知道距离稳定边界还有多少裕量。
5 结论通过上述分析, 采用MATLAB可以很容易绘制出系统的根轨迹、时域响应、频域响应, 对控制系统的稳定性分析是相当简便的。同样采用MATLAB还可以对复杂的控制系统进一步进行分析和设计。
[1] |
杨自厚.
自动控制原理(修订版)[M]. 北京: 冶金工业出版社, 1996.
|
[2] |
楼顺天, 于卫.
基于MATLAB的系统分析与设计——控制系统[M]. 西安: 西安电子科技大学出版社, 1999.
|
[3] |
刘豹.
现代控制理论[M]. 北京: 机械工业出版社, 1989.
|