引言
自动控制原理涉及到控制系统的数学模型的构建与线性离散系统的性能分析和校正设计,随着自动控制技术的大量应用,在自动控制系统分析中使用了一种自动化软件MATLAB代替手工计算分析控制系统的数学模型,大大简化了大量分析和计算,并使数据实现可视化。
1、MATLAB简介
MATLAB是美国Mathworks公司开发的一种集数值计算和图形可视化于一体的功能强大、操作简单的应用软件,MATLAB既可以处理代数问题和数值分析问题,也可实现各种图形的处理及仿真模拟,从而能够很好地解决实际的一些技术问题。MATLAB 在自动控制系统中应用范围非常广泛,主要有输入输出信号及图像的处理,控制系统的分析设计、测试,及测量方面数学模型的建立和分析各环节的性能 等应用领域。
MATLAB具有高级编程语言和交互式环境,主要包括有命令编辑窗口和SIMULINK模块。MATLAB可用来创建用户界面及与调用C、C++、Java、Python和FORTRAN等其它语言编写的程序。SIMULINK是Mathworks公司为MATLAB的设计提供结构图编程与系统仿真的专用软件包,可对动态系统进行建模、仿真与分析。启动MATLAB后,在MATLAB窗口中单击启动按钮,或在命令窗口中输入命令SIMULINK,就会进入SIMULINK模块库浏览界面。
1.1 MATLAB计算功能
MATLAB是一种解释性语言,MATLAB的命令窗口是用户与MATLAB进行交互的界面。在MATLAB命令窗口中的符号“>>”为命令提示符,系统自动生成的,表示MATLAB已准备好,在命令提示符后面键入一条MATLAB指令时,MATLAB会立即对这条指令进行处理,并显示处理结果,若不需要显示运行结果,在指令后面加上分号“;”即可。
在MATLAB的命令窗口中,各种运算符号为西文字符,不能在中文状态下输入,且输入算式中的运算符号与数学中的运算符号有些不同,加减符号与数学中的加减符号一致,乘除乘方符号与数学中表示不一致,输入时需要注意。
1.2 MATLAB绘制图形功能
在MATLAB的命令窗口中,输入自变量的定义域范围和函数,执行 plot(x,y)命令后便可打开一个图形窗口,在其中绘制出此函数的曲线图,指令窗口显示运行过程中的错误信息及运行结果。
2、MATLAB在自控原理中的应用
2.1 MATLAB构建控制系统的数学模型
描述自动控制系统动态特性最直接和最基本的方法是建立数学模型,确定系统的输出量与参考输入量或扰动输入量之间的函数关系。微分方程、传递函数和状态空间表达式是分析、研究自动控制线性系统的重要数学模型形式,但当系统的阶数较高时,求解微分方程的时域解非常困难,反而借助拉普拉斯变换的复频域传递函数,为控制系统的性能分析带来了较大的应用性。在MATLAB中,主要用传递函数来描述线性系统的数学模型,分别用传递函数的分子和分母来表示传递函数的多项式模型,传递函数的分母系数反映了由系统的结构与参数所决定的系统的固有特性,而其分子系数则反映了系统与外界之间的联系。按照变量s的次幂,依次从高到低的降幂排列顺序书写分子及分母的系数,从而构成传递函数模型。
2.2 MATLAB求取系统的传递函数
传递函数是指当系统或环节的输出量的拉氏变化与输入量的拉氏变化之比。传递函数是系统本身的一种属性,它反映系统本身的动态特性,不反映系统的物理结构,只与系统本身的参数有关,与外界输入的大小和性质无关,且与控制系统的微分方程相对应。物理性质完全不同的系统,均可以具有相同的传递函数。若系统的传递函数与输入输出变量相关,那传递函数也失去了它用来研究系统结构或参数的能力,即传递函数表达的是系统自身所具有的性质,与输入输出无关,但又体现了输入输出之间的关系。当确定系统的传递函数时,就能对系统的动态特性进行充分地描述。MATLAB中运用函数connect( )实现传递函数的求解,首先确定表明各模块之间关系的连接矩阵和定义结构图中全部模块个数,其次把每一个模块中的分子多项式和分母多项式的系数逐一在MATLAB命令窗口中输入,然后根据传递函数或状态空间模块结构图建立对角线型状态空间结构,在运行blkbuild后的返回结果为系统状态空间模型,再利用ss函数就可以建立状态空间结构。连接矩阵中行数为结构图的全部模块数,每一行第一列元素是模块的编号,该模块输入端与结构图中一些模块的输出端连接,忽略比较点,该行连接矩阵其他元素依次为与该模块相连接的其他模块编号,元素符号根据其他模块输出端是加还是减来确定;连接矩阵中与该模块没有相连接的其他元素均为0。把输入信号加到第一个模块上,输出信号加到最后一个模块上。执行tf(sys)便可求取系统的传递函数。其中sys的求取需要在运行脚本文件blkbuild之前,必须按照要求设置输入参数,nblocks为结构图的总模块数,若这个模块为一传递函数模型,则分别输入该模块分子项和分母项的各个参数,若这个模块是状态空间模型,则分别输入该模块各个矩阵参数即可。由此可见,采用MATALB命令来进行求解系统的传递函数,大大简化计算的繁杂程度,减小了工作量。
2.3 MATLAB绘制响应曲线
在MATLAB中提供了一系列的绘图函数,可绘制二维及三维曲线,最基本的且应用最广泛的绘图函数是plot,用于绘制二维平面上的线性坐标曲线,只需要一组x坐标和对应的y坐标,就可以绘制出分别以x为横坐标y为纵坐标的二维曲线。
MATLAB还可绘制自动控制系统各环节的响应曲线,打开MATLAB软件,进入到SIMULINK仿真界面,在SIMULINK模块库浏览器窗口中选择模块,将选中的模块按住鼠标左键拖到仿真窗口中,并完成模块之家的连接,这样就建立一个仿真分析模型,点击“start SIMULINK”,可以观察到系统中涉及的输入和输出波形曲线,根据系统的工艺要求设置相关参数,也可以在同一个示波器窗口形成多条输出响应曲线,方便我们对控制系统的性能参数进行观察和分析。
2.4 MATLAB分析系统动态性能
工程上需要对控制系统的性能进行分析,稳定性是系统性能中的首要性能,且工程上所使用的控制系统是稳定的系统,不稳定的系统根本无法工作。一个处于某种平衡状态的系统,在扰动的作用下,会偏离原来的平衡状态,而当扰动消失后,系统能逐渐恢复到原来的平衡状态时,就表明这个系统是稳定的,反之则表明这个系统是不稳定的。通过对系统单位阶跃响应的分析,线性系统稳定的充分必要条件是系统的特征根即闭环极点均具有负实部,系统特征根即闭环极点均位于s平面的左半部。这样判断系统稳定与否的问题,就变成求解特征方程的根,并检验其特征根是否都具有负实部的问题,当系统阶次较高时,求解其特征方程将会遇到较大的困难,于是相继出现了一些不需求解特征方程的根而能间接判断特征方程根的符号的方法,比如劳斯稳定判据和频率法稳定判据,稳定性的判据本身并不复杂,但对实际系统的人工求解却很麻烦,主要困难在于求解高阶方程和描绘各种图形。如果采用MATLAB软件来辅助判断稳定性,就变得简单和容易很多。在MATLAB中,在MATLAB中,利用ROOTS函数可以直接求出系统的特征根。通常,在阶跃函数作用下测定或计算控制系统的动态性能,阶跃输入对控制系统来说是最严峻的工作状态。若在阶跃函数作用下,控制系统的动态性能符合要求,那么控制系统在其他形式的函数作用下,其动态性能也是令人满意的。系统分析最直接的方法就是求取系统的阶跃响应,并绘制出响应曲线。用手工的方法,是很难绘制的,并且用MATLAB软件来实现,就显得很容易,而且动态性能指标直接就可以看到,无需计算。
3、MATLAB在串联校正设计中的应用
自动控制系统的串联校正设计可以根据用户要求的性能指标进行,这种设计具有非常重要的现实意义。对于一个给定的线性定常系统,我们通常通过添加串接超前、滞后或滞后综合校正装置来实现提高系统精度和稳定性的目的。根据需求的性能指标,通过设计可给出系统的串联式校正网络,可以直观地对比从绘制的各种响应曲线来校正前后的系统,而模拟结果也能进一步显示MATLAB模拟的有效性和实用性。
参考文献
[1] 于建明,自动控制原理与应用项目化教程,北京:机械工业出版社,2020
[2] 孙虎章,自动控制原理,北京:中央广播电视大学出版社,1984
[3] 胡寿松,自动控制原理,北京:科学出版社,2007
作者简介:周萍(1973—),女,汉族,云南昭通,讲师,大学本科,昆明工业职业技术学院,研究方向自动化。