您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > MATLAB与控制系统
1一、前言MATLAB是目前世界上最流行的、应用最广泛的工程计算和仿真软件,它将计算、可视化和编程等功能同时集于一个易于开发的环境。MATLAB主要应用于数学计算、系统建模与仿真、数学分析与可视化、科学与工程绘图和用户界面设计等。MATLAB是MatrixLaboratory的缩写,它的产生是与数学计算紧密联系在一起的。MATLAB是一个交互式开发系统,其基本数据要速速是矩阵。MATLAB的语法规则简单,适合于专业科技人员的思维方式和书写习惯。目前MATLAB已经成为应用代数、自动控制原理、数理统计、数字信号处理、动态系统仿真和金融等专业的基本数学工具。以下主要介绍MATLAB在自动控制系统中的应用。二、MATLAB特点1.运算功能强大:它的数值运算要素不是单个数据而是矩阵,每个变量代表一个矩阵,矩阵有m*n个元素,每个元素都可看做复数,所有的运算包括加减乘除函数运算等都对矩阵和复数有效;通过MATLAB的符号工具箱可以解决数学、应用科学和工程计算领域常常遇到的符号计算问题,强大的运算功能使其成为世界顶尖的数学应用软件之一。2.编程效率高:MATLAB是以解释方式工作的,它对每条语句解释后立即执行,键入算式无需编译即得出结果,若有错误也是立即做出反应,便于编程者立即改正。3.强大而智能化的作图功能:MATLAB可以方便的用图形显示二维或三维数组,将工程计算的结果可视化,使数据间的内在联系清晰明了。MATLAB能智能化的根据输入的数据自动确定最佳坐标,可规定多种坐标系(如极坐标系、对数坐标系等),可设置不同颜色、线性、视角等。4.可扩展性强:MATLAB有一套程序扩展系统和工具箱,具有良好的可扩展性。工具箱是MATLAB函数的子程序阵,每个工具箱都是为某个学科领域的应用而定制的,MATLAB每年都会增加一些新的工具箱。5.simulink动态仿真功能:simulink是一个交互式动态系统建模、仿真和分析图形环境,用户通过框图的绘制来模拟一个系统,simulink能够针对控制系统、信号处理和通信系统等进行系统建模、仿真和分析。三、MATLAB在控制系统中的应用MATLAB是国际控制届目前使用最广的工具软件,几乎所有的控制理论与应用分支中都有MATLAB工具箱。以下将结合本学期所学的MATLAB的基本内容,采用控制系统工具箱和仿真(simulink)环境进行本学期所学的自动控制的相关内容。(1)自动控制概念在现代科学技术的许多领域中,自动控制技术得到了广泛的应用,自动控制技术最显著的特征就是通过对各类机器,各种物理参量、工业生产过程等的控制直接造福于社会。所谓自动控制,就是指在无人直接参与的情况下,利用控制装置操纵受控对象,使受控对象的被控量等于给定值或按给定信号变化规律去变化。为达到某一目的,由相互制约的各个部分,按一定的规律组织成的,具有一定功能的整体,称为系统,它一般由控制装置(控制器)和被控对象所组成。自动控制有两种最基本的形式,即开环控制和闭环控制。开环控制:控制装置与受控对象之间只有顺向作用而无反向联系时,称为开环控制。其特点是:系统结构和控制过程均很简单。开环控制的示意框图如下图2所示:开环控制是一种简单的无反馈控制方式,在开环控制系统中只存在控制器对被控量对象的单方向控制作用,不存在被控制量(输出量)对被控量的反向作用,系统的精度取决于组成系统的元器件的精度和特性调整的精确度。开环系统对外扰及内部参量变化的影响缺乏抑制能力,但开环系统内构简单,比较容易设计和调整,可用于输出量与输入量关系为已知,内外扰动对系统影响不大,并且控制精度要求不高的场合。闭环控制:控制装置与受控对象之间,不但有顺向作用,而且还有反向联系,即有被控量对控制过程的影响。闭环控制的特点是:在控制器和被控对象之间,不仅存在着正向作用,而且存在反馈作用,即系统的输出量对控制量有直接影响,将检测出来的输出量送回到系统的输入端,并与信号比较的过程称为反馈,若反馈信号与输入信号相减,则称负反馈。反之,若相加,则称正反馈,输入信号与反馈信号之差称为偏差信号,偏差信号作用于控制器上,控制器对偏差信号进行某种运算,产生一个控制作用,使系统的输出量趋向于给定数值,闭环的实质就是利用负反馈的作用来减小系统的误差,因此闭环控制又称为反馈控制。其示意图如下所示:反馈控制是一种基本的控制规律,它具有自动修正被控量偏离给定值的作用,使系统因而可以抑制内扰和外扰所引起的误差,达到自动控制的目的。(2)自动控制系统的分类根据不同的分类方法,自动控制系统的类型可概括如下:a、恒值系统、随动系统和程序控制系统b、随机系统与自动调整系统c、线性系统和非线性系统d、连续系统与离散系统(3)自动控制系统的典型环节a.比例环节:G(s)=-K比例环节的特点是,其输出不失真,不延迟,成比例地复现输入信号的变化,即信号的传递没有惯性。例:C(s)G(S)=5;b.积分环节:G(s)=−1Ts积分环节的特点是,输出量与输入量对时间的积分成正比。若输入突变,输出值要等时间T之后才等于输入值,故有滞后作用。输出积累一段时间后,即使使输入为零,输出也将保持原值不变,即具有记忆功能。只有当输入反向时,输出才反向积分而下降。常利用积分环节来改善系统的稳态性能。控制器被控对象输入量输出量控制量控制器被控对象测量变送器输出量输入量控制量+-3c.微分环节:G(s)=-Ts微分环节的特点是,其输出与输入信号对时间的微分成正比,即输出反映了输入信号的变化率,而不反映输入量本身的大小。因此,可由微分环节的输出来反映输入信号的变化趋势,加速系统控制作用的实现。常利用微分环节来改善系统的动态性能。d.惯性环节:G(s)=−KTs+1惯性环节的特点是,其输出量不能瞬时完成与输出量完全一致的变化。e.二阶振荡环节:G(s)=−ωns2+2δωs+ω2(4)利用simulink的模块集对系统仿真simulink是MATLAB下的一个用来对动态系统进行建模、仿真和分析的软件包。它支持连续、离散、及两者混合的线性和非线性系统,同时也支持具有不同部分拥有不同采样率的多种采样速率的系统仿真。并能直观、快速地分析系统的动态和稳态性能,还可灵活的改变系统的结构和参数,通过快速、直观的仿真达到系统的优化设计。simulink拥有信号源、接收、连续系统、离散系统、数学运算等十几个模块库,这些模块库中的模块可直接使用,按系统各部分相互连接组成系统的仿真模型。例如,对典型二阶振荡系统时域分析的仿真,对于典型的二阶系统,试绘制无阻尼自然振荡频率ω=6,阻尼板δ分别为0.2,0.4,……1.0,2.0时系统的单位阶跃响应曲线。传递函数:G(s)=−ωns2+2δωs+ω2程序仿真:wn=6;zeta=[0.2:0.2:1.0,2.0];figure(1);holdonforI=zetanum=wn.^2;den=[1,2*I*wn,wn.^2];step(num,den);endtitle(‘StepResponse');holdoff执行程序后单位阶跃响应曲线如下:4从图形中可清晰地看到系统的动态性能指标与δ有关,描述了系统从欠阻尼振荡到临界阻尼振荡再到欠阻尼振荡。在几条曲线中,临界阻尼响应具有最短的上升时间,响应速度最快。在欠阻尼(0δ1)响应曲线中,阻尼比越小,超调量越大,上升时间越短,因此,需适当选择阻尼比值以达到最佳状态。(5)根轨迹仿真所谓根轨迹是指,当开环系统的某一参数从零变化到无穷大时,闭环系统的特征方程根在s平面上所形成的轨迹。一般地,将这一参数选作开环系统的增益K,而在无零极点对消时,闭环系统特征方程的根就是闭环传递函数的极点。我们可以利用MATLAB里的pzmap()函数绘制系统的零极点图,其调用格式为[p,z]=pzmap(A,B,C,D)或[p,z]=pzmap(p,z),或[p,z]=pzmap(num,den)。其中列向量P为系统极点位置,列向量z为系统的零点位置。利用rlocus()函数可绘制出当开环增益K由0至∝变化时,闭环系统的特征根在s平面变化的轨迹,该函数的调用格式为[r,K]=rlocus(num,den)或[r,K]=rlocus(num,den,K)或[r,K]=rlocus(A,B,C,D)或[r,K]=rlocus(A,B,C,D,K)。其中返回值r为系统的闭环极点,K为相应的增益。因此可通过rlocus(num,den)绘制出根轨迹。例如:已知传递函数为G(s)=2s3+2s2+s+5,绘制根轨迹和栅格线。在MATLAB命令窗口中输入:num=2;den=[1215];rlocus(num,den);sgrid执行后得到图形如下:5我们可利用MATLAB绘制的根轨迹图方便的确定使系统稳定的增益的取值范围。例如:G(s)H(s)=K(s+8)s(s+2)(s2+8s+32),绘制根轨迹图并确定使系统稳定的K值范围。仿真程序:num=[1,8];p1=[1,0];p2=[1,2];p3=[1,8,32];den1=conv(p1,p2);den=conv(p3,den1);figure(1)rlocus(num,den)[k,p]=rlocfind(num,den)rlocus(num,den)[k,p]=rlocfind(num,den)sgrid([0.4],[])[k,p]=rlocfind(num,den)从MATLAB仿真里容易看出K最大值为51.8404,其根轨迹图如下:6(6)利用MATLAB可以方便的求取系统的闭环传递函数并画出闭环系统的阶跃响应曲线。MATLAB求取闭环传递函数程序如下:num1=[2,3];den1=[5,2,2];num2=[5,10];den2=[1,8.5,4];num3=[2,6];den3=[1,1,8];sys=tf(num3,den3)G1(s)=2s+3s2+2s+2G2(s)=5(s+2)(s+0.5)(s+8)G3(s)=2s+6s2+s+87[num4,den4]=series(num1,den1,num2,den2)[num5,den5]=parallel(num4,den4,num3,den3);[numc,denc]=cloop(num5,den5)G=tf(numc,denc)step(G)利用MATLAB求取的传递函数为:阶跃响应曲线为:利用simulink仿真,可以仿真出该系统,验证输入输出关系。Simulink仿真电路图如下:8四、利用MATLAB分析控制系统的稳定性稳定是控制系统能够正常运行的首要条件。控制系统稳定性的严格定义和理论阐述是由俄国学者李雅普诺夫于1892年提出的,它主要是用于判别时变系统和非线性系统的稳定性。稳定性的一般定义是:设一线性定常系统原来处于某一平衡状态,若它瞬间受到某一扰动作用而偏离了原来的平衡状态,当扰动撤销后,系统仍能回到原来的平衡状态,则称该系统是稳定的。反之,系统为不稳定的。线性系统的稳定性取决于系统的固有特征(结构、参数),与系统的输入信号无关。基于稳定性研究的问题是扰动作用撤销后系统的运动情况,它与系统的输入信号无关,只取决于系统本身的特征,因而可用系统的脉冲响应函数来描述。如果脉冲响应函数是收敛的,即有:limx→∞g(t)=0,则表示系统仍能回到原有的平衡状态,因而系统是稳定的。由此可知,系统的稳定与其脉冲响应函数的收敛是一致的。由于单位脉冲函数的拉普拉斯变换等于1,因此系统的脉冲响应函数就是系统闭环传递函数的拉普拉斯变换。因此,连续系统的稳定性可以根据闭环极点在s平面内的位置予以确定,如果一个连续系统的闭环极点都位于左半s面,则该系统是稳定的。离散系统的稳定性可以根据闭环极点在z平面的位置予以确定。如果一个离散系统的闭环极点都位于z平面的单位圆内,则称系统是稳定的。按照常规的求取微分方程的根,再根据根的实部来判断系统稳定性的方法往往工作量会很大,且不容易进行,因而一般都采用简介的方法来判断系统的稳定性。例如常用的方法主要有罗斯表和朱利表,这样做比用求根判断稳定性的方
本文标题:MATLAB与控制系统
链接地址:https://www.777doc.com/doc-2887012 .html