机电设备电气自动化控制系统分析
上QQ阅读APP看书,第一时间看更新

第三节 MATLAB/Simulink在自动控制系统分析中的应用

一、MATLAB/Simulink简介

MATLAB是Mathworks公司于1982年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。MATLAB的强力推出得到了各个领域专家学者的广泛关注,其强大的扩展功能为各个领域的应用提供了基础。由各个领域的专家学者相继推出的各个MATLAB工具箱,其中主要有信号处理(signal processing)、控制系统(control system)、神经网络(neural network)、图像处理(image processing)、鲁棒控制(robust control)、非线性系统控制设计(nonlinear control system design)、系统辨识(system identification)、最优化(optimization)、模糊逻辑(fuzzy logic)、小波(wavelet)、样条(spline)等工具箱,而且还在不断增加,这些工具箱给各个领域的研究和工程应用提供了有力的工具。借助这些工具,研究人员可直观、方便地进行分析、计算及设计工作,从而大大地节省了时间。

基于MATLAB平台的Simulink是动态系统仿真领域中最为著名的仿真集成环境之一,它在各个领域得到广泛的应用。它提供了一种图形化的交互环境,只需拖动鼠标便能迅速地建立起系统框图模型,甚至不需要编写一行代码。Simulink和MATLAB的无缝结合使得用户可以利用MATLAB的丰富资源,建立仿真模型,监控仿真过程,分析仿真结果;通过仿真结果修正系统设计,从而快速完成系统的整体设计。利用Simulink进行系统的建模仿真,最大特点是易学、易用,并能依托MATLAB提供的丰富的仿真资源。Simulink具有如下功能:

1.交互式、图形化的建模环境

Simulink提供了丰富的模块库,以帮助用户快速地建立动态系统模型。建模时,只需使用鼠标拖放不同模块库中的系统模块并将它们连接起来。另外,还可以把若干功能块组合成子系统,建立起分层的多级模型。这种图形化、交互式的建模过程非常直观,且容易掌握。

2.交互式的仿真环境

Simulink框图提供了交互性很强的仿真环境,既可以通过下拉菜单执行仿真,也可以通过命令进行仿真。菜单方式对于交互工作非常方便。仿真过程中各种状态参数可以在仿真运行的同时通过示波器或者图形窗口显示。

3.专用模块库(Blocksets)

作为Simulink建模系统的补充,Mathworks公司还开发了专用模块库。通过使用这些程序包,用户可以迅速地对系统进行建模、仿真与分析。更重要的是,用户还可以对系统模型进行代码生成,并将生成的代码下载到不同的目标机上。

4.提供了仿真库的扩充和定制机制

Simulink的开放式结构允许用户扩展仿真环境的功能:采用MATLAB、Fortran、C语言生成自定义模块库,并拥有自己的图标和界面,或者购买使用第三方开发提供的模块库进行更高级的系统设计、仿真与分析。

5.与MATLAB工具箱的集成

用户可以直接在Simulink下完成诸如数据分析、过程自动化、优化参数等工作,工具箱提供的高级的设计和分析能力可以融入仿真过程。

二、MATLAB/Simulink在自动控制系统分析中的应用

系统仿真实质上就是对系统模型的求解,对控制系统来说,一般模型可转化成用某个微分方程或差分方程表示。因此在仿真过程中,一般以某种数值算法初态出发,逐步计算系统的响应,最后绘制出系统能够响应的曲线,分析系统的性能。

经典控制理论中系统常用的分析方法有三种,分别为时域分析法、频域分析法及根轨迹法。在MATLAB中,提供了求取连续系统的单位阶跃响应函数Step、单位冲激响应函数Impulse、零输入响应函数Initial及任意输入下的仿真函数Lsim;相应的离散系统有函数Dstep、Dimpulse、Dinitial和Dlsim。根轨迹法是分析和设计线性定常控制系统的图解方法,使用十分简便,特别适用于多回路系统的研究。在MATLAB中,专门提供了与绘制根轨迹有关的函数Rlocus、Rlocfind、Pzmap等。频域分析法是应用频率特性研究控制系统的一种经典方法。采用这种方法可直观地表达出系统的频率特性,分析方法比较简单,物理概念比较明确,频域分析法主要包括Bode图、Nyquist曲线、Nichols图。

1.MATLAB在自动控制系统分析中的应用

若已知系统的开环模型为k=2, k=10时,分别作Nichols图线(函数曲线图,即尼古拉斯图),并分析。在MATLAB环境下,运用命令行进行系统分析。命令行如下:

    n=[2];
    d=[1320];
    ngrid('new')nichols(n, d)hold on 
    n=[10];
  

nichols(n, d)仿真结果如图2-1和图2-2所示。

图2-1 k=2时系统的Nichols图线

图2-2 k=10时系统的Nichols图线

由图2-1和图2-2可知,当k=2时,闭环系统约有6dB的闭环谐振峰值;当k=10时,曲线已经切过无穷大点,因此系统是不稳定的。

2.Simulink在自动控制系统分析中的应用

若已知系统的开环传递函数为

式中,G0s)为开环传递函数。

在Simulink仿真环境下做阶跃响应分析,并设计分段阶跃输入信号,使得系统时间相应的超调量σ为零。

(1)作单位阶跃仿真。其仿真结构图如图2-3(a)所示。仿真得到单位阶跃响应的超调量σ=16%,过渡时间ts=0.8s,如图2-3(b)所示。

图2-3 控制系统的Simulink仿真

(2)设计计算没有超调量的分段阶跃控制信号并进行仿真验证结果。

①幅值比例分配:因为两段阶跃信号的幅值相加为单位1(稳态值),即s1+s2=1。又设信号s1响应的最大值(即峰值时间tp1处)也为单位1,信号 s1的幅值应为 s1=1/1.16=0.862,则s2=1-s1=0.138。

②分段阶跃信号叠加时间:信号s2的叠加时间应该是第一阶跃信号的峰值时间,即tp1=0.363。作分段阶跃控制系统的仿真结构图如图2-4(a)所示,仿真结果曲线如图2-4(b)、(c)所示。

图2-4 分段阶跃信号响应的Simulink仿真

总之,Simulink仿真环境是美国Mathworks软件公司专门为MATLAB设计提供的结构图编程与系统仿真的专用软件。该仿真环境下的用户程序外观就是控制系统的结构图,操作就是依据结构图做系统仿真。利用Simulink提供的输入信号对结构图所描述的系统施加激励,利用Simulink提供的输出装置(输出口模块)获得系统的输出响应,成为图形化、模块化的控制系统仿真是控制系统仿真工具的一大突破性进步,使得系统仿真工作方便灵活。