第111章-MATLAB在控制系统应用实例课件.ppt

上传人(卖家):晟晟文业 文档编号:5199539 上传时间:2023-02-16 格式:PPT 页数:32 大小:263KB
下载 相关 举报
第111章-MATLAB在控制系统应用实例课件.ppt_第1页
第1页 / 共32页
第111章-MATLAB在控制系统应用实例课件.ppt_第2页
第2页 / 共32页
第111章-MATLAB在控制系统应用实例课件.ppt_第3页
第3页 / 共32页
第111章-MATLAB在控制系统应用实例课件.ppt_第4页
第4页 / 共32页
第111章-MATLAB在控制系统应用实例课件.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、一、控制系统的数学描述与建模 在线性系统理论中,一般常用的数学模型形式有:传递函数模型(系统的外部模型)、状态方程模型(系统的内部模型)、零极点增益模型和部分分式模型等。这些模型之间都有着内在的联系,可以相互进行转换。11.1 matlab在控制系统的应用在控制系统的应用 控制系统的数学模型在控制系统的研究中有着相当重要的地位,要对系统进行仿真处理,首先应当知道系统的数学模型,然后才可以对系统进行模拟。同样,如果知道了系统的模型,才可以在此基础上设计一个合适的控制器,使得系统响应达到预期的效果,从而符合工程实际的需要。按系统性能分:线性系统和非线性系统;连续系统和离散系统;定常系统和时变系统;

2、确定系统和不确定系统。(1)线性连续系统:用线性微分方程式来描述,如果微分方程的系数为常数,则为定常系统;如果系数随时间而变化,则为时变系统。今后我们所讨论的系统主要以线性定常连续系统为主。(2)线性定常离散系统:离散系统指系统的某处或多处的信号为脉冲序列或数码形式。这类系统用差分方程来描述。(3)非线性系统:系统中有一个元部件的输入输出特性为非线性的系统。1、系统的分类 微分方程是控制系统模型的基础,一般来讲,利用机械学、电学、力学等物理规律,便可以得到控制系统的动态方程,这些方程对于线性定常连续系统而言是一种常系数的线性微分方程。如果已知输入量及变量的初始条件,对微分方程进行求解,就可以得

3、到系统输出量的表达式,并由此对系统进行性能分析。通过拉氏变换和反变换,可以得到线性定常系统的解析解,这种方法通常只适用于常系数的线性微分方程,解析解是精确的,然而通常寻找解析解是困难的。MATLAB提供了ode23、ode45等微分方程的数值解法函数,不仅适用于线性定常系统,也适用于非线性及时变系统。2、线性定常连续系统的微分方程模型例exp_1.m 电路图如下,R=1.4欧,L=2亨,C=0.32法,初始状态:电感电流为零,电容电压为0.5V,t=0时刻接入1V的电压,求0t15s时,i(t),vo(t)的值,并且画出电流与电容电压的关系曲线。Vs=1Vt=0RLC+-)(ti)(tvo11

4、211121.)()()(nnnnmnmmasasasabsbsbsbsRsCsG3、传递函数描述模型(1)连续系统的传递函数模型连续系统的传递函数如下:对线性定常系统,式中s的系数均为常数,且a1不等于零,这时系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num和den表示。num=b1,b2,bm,bm+1den=a1,a2,an,an+1注意:它们都是按s的降幂进行排列的。举例:传递函数描述 1)22642202412)(23423sssssssG)523()1()66)(2(4)(23322sssssssssGnum=12,24,0,20;

5、den=2 4 6 2 2;2)借助多项式乘法函数conv来处理:num=4*conv(1,2,conv(1,6,6,1,6,6);den=conv(1,0,conv(1,1,conv(1,1,conv(1,1,1,3,2,5);).()().()()(2121nmpspspszszszsKsGv在MATLAB中零极点增益模型用z,p,K矢量组表示。即:vz=z1,z2,zmvp=p1,p2,.,pnvK=kv函数z,p,k=tf2zp(num,den)可以用来求传递函数的零极点和增益。(2)零极点增益模型K为系统增益,zi为零点,pj为极点 零极点模型实际上是传递函数模型的另一种表现形式,其

6、原理是分别对原系统传递函数的分子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。零极点增益模型:50874593011)(23423ssssssssG)43)(43)(2)(1()5)(6()(jsjsssssssGz=0 -6 -5p=-3.0000+4.0000i -3.0000-4.0000i -2.0000 -1.0000k=1结果表达式:num=1,11,30,0;den=1,9,45,87,50;z,p,k=tf2zp(num,den)(4)部分分式展开 控制系统常用到并联系统,这时就要对系统函数进行分解,使其表现为一些基本控制单元的和的形式。函数 r,p,k=resid

7、ue(b,a)对两个多项式的比进行部分展开,以及把传函分解为微分单元的形式:向量b和a是按s的降幂排列的多项式系数。部分分式展开后,余数返回到向量r,极点返回到列向量p,常数项返回到k。另外:b,a=residue(r,p,k)可以将部分分式转化为多项式比p(s)/q(s)。部分分式展开:num=2,0,9,1;den=1,1,4,4;r,p,k=residue(num,den)44192)(233ssssssG12225.0225.02)(sisiisisGp=0.0000+2.0000i 0.0000-2.0000i -1.0000k=2r=0.0000-0.2500i 0.0000+0.

8、2500i -2.0000结果表达式:二、模型的转换与连接1、模型的转换 在一些场合下需要用到某种模型,而在另外一些场合下可能需要另外的模型,这就需要进行模型的转换。模型转换的函数包括:residue:传递函数模型与部分分式模型互换tf2zp:传递函数模型转换为零极点增益模型zp2tf:零极点增益模型转换为传递函数模型例题、已知部分分式:r=-0.25i,0.25i,-2;p=2i,-2i,-1;k=2;num,den=residue(r,p,k)num=2 0 9 1den=1 1 4 4注意余式一定要与极点相对应。12225.0225.02)(sisiisisG1、并联:paralleln

9、um,den=parallel(num1,den1,num2,den2)将并联连接的传递函数进行相加。2、串联:seriesnum,den=series(num1,den1,num2,den2)将串联连接的传递函数进行相乘。3、反馈:feedbacknum,den=feedback(num1,den1,num2,den2,sign)可以得到类似的连接,只是子系统和闭环系统均以传递函数的形式表示。sign的含义与前述相同。4、闭环:cloop(单位反馈)numc,denc=cloop(num,den,sign)表示由传递函数表示的开环系统构成闭环系统,sign意义与上述相同。2、模型的连接三、三

10、、控制系统的时域分析控制系统的时域分析 一个动态系统的性能常用典型输入作用下的响应来描述。响应是指零初始值条件下某种典型的输入函数作用下对象的响应,控制系统常用的输入函数为单位阶跃函数和脉冲激励函数(即冲激函数)。在MATLAB的控制系统工具箱中提供了求取这两种输入下系统响应的函数。1、时域分析的一般方法q求取系统单位阶跃响应:step()q求取系统的冲激响应:impulse()(1)、step()函数的用法 exp4_3_.mqy=step(num,den,t):其中num和den分别为系统传递函数描述中的分子和分母多项式系数,t为选定的仿真时间向量,一般可以由t=0:step:end等步长

11、地产生出来。该函数返回值y为系统在仿真时刻各个输出所组成的矩阵。q如果对具体的响应值不感兴趣,而只想绘制系统的阶跃响应曲线,可调用以下的格式:step(num,den);step(num,den,t);例exp4_3.m 已知系统的开环传递函数为:sssssGo4036820)(234 求系统在单位负反馈下的阶跃响应曲线。q线性系统的稳态值可以通过函数dcgain()来求取,其调用格式为:dc=dcgain(num,den)qy,x,t=step(num,den):此时时间向量t由系统模型的特性自动生成,状态变量x返回为空矩阵。(2)impulse()函数的用法例exp4_4.m 已知系统的开

12、环传递函数为:sssssGo4036820)(234 求系统在单位负反馈下的脉冲激励响应曲线。求取脉冲激励响应的调用方法与step()函数基本一致。y=impulse(num,den,t);y,x,t=impulse(num,den);impulse(num,den);impulse(num,den,t)例exp4_6.m 已知某闭环系统的传递函数为:251096.116.02510)(23sssssG 求其阶跃响应曲线。仿真时间t的选择:q对于典型二阶系统根据其响应时间的估算公式 可以确定。q对于高阶系统往往其响应时间很难估计,一般采用试探的方法,把t选大一些,看看响应曲线的结果,最后再确定

13、其合适的仿真时间。q一般来说,先不指定仿真时间,由MATLAB自己确定,然后根据结果,最后确定合适的仿真时间。q在指定仿真时间时,步长的不同会影响到输出曲线的光滑程度,一般不易取太大。q例exp4_6_.mnswt43(3)常用时域分析函数 时间响应探究系统对输入和扰动在时域内的瞬态行为,系统特征如:上升时间、调节时间、超调量和稳态误差都能从时间响应上反映出来。MATLAB除了提供前面介绍的对系统阶跃响应、冲激响应等进行仿真的函数外,还提供了大量对控制系统进行时域分析的函数,如:covar:连续系统对白噪声的方差响应initial:连续系统的零输入响应lsim:连续系统对任意输入的响应它们的调

14、用格式与step、impulse类似,可以通过help命令来察看自学。例 exp4_8.m 某系统框图如下所示,求 d 和 e 的值,使系统的阶跃响应满足:(1)超调量不大于 40,(2)峰值时间为 0.8 秒。)1(ssd 1es+_ R(s)C(s)由图可得闭环传递函数为:dsedsdsGc)1()(2,其为典型二阶系统。由典型二阶系统特征参数计算公式10021e,)1(2npwt得:2122)100(ln/100ln,)1(2pntw 例exp4_9.m 根据输入的典型二阶系统参数阻尼比alph 及自然振荡频率wn,求取系统的单位阶跃响应参数:超调量pos(100);峰值时间tp;上升时

15、间tr;调节时间ts2(%2)(4)时域分析应用实例2、控制系统的频域分析q频率响应是指系统对正弦输入信号的稳态响应,从频率响应中可以得出带宽、增益、转折频率、闭环稳定性等系统特征。q频率特性是指系统在正弦信号作用下,稳态输出与输入之比对频率的关系特性。频率特性函数与传递函数有直接的关系,记为:(1)频域分析的一般方法q求取系统对数频率特性图(波特图):bode()q求取系统奈奎斯特图(幅相曲线图或极坐标图):nyquist()为相频特性为幅频特性其中)()()()()()()()()()()(wwwwXwXwAewAjwXjwXjwGioiowjioq频域分析法是应用频率特性研究控制系统的一

16、种典型方法。采用这种方法可直观地表达出系统的频率特性,分析方法比较简单,物理概念比较明确,对于诸如防止结构谐振、抑制噪声、改善系统稳定性和暂态性能等问题,都可以从系统的频率特性上明确地看出其物理实质和解决途经。通常将频率特性用曲线的形式进行表示,包括对数频率特性曲线和幅相频率特性曲线简称幅相曲线,MATLAB提供了绘制这两种曲线的函数。对数频率特性图(波特图)exp4_10.m 对数频率特性图包括了对数幅频特性图和对数相频特性图。横坐标为频率w,采用对数分度,单位为弧度/秒;纵坐标均匀分度,分别为幅值函数20lgA(w),以dB表示;相角,以度表示。MATLAB提供了函数bode()来绘制系统

17、的波特图,其用法如下:bode(num,den)可绘制出以连续时间多项式传递函数表示的系统的波特图。bode(num,den,w):可利用指定的角频率矢量绘制出系统的波特图。奈奎斯特图(幅相频率特性图)exp4_11.mnyquist(num,den):可绘制出以连续时间多项式传递函数表示的系统的极坐标图。nyquist(a,b,c,d,iu,w)或nyquist(num,den,w):可利用指定的角频率矢量绘制出系统的极坐标图。对于频率特性函数G(jw),给出w从负无穷到正无穷的一系列数值,分别求出Im(G(jw)和Re(G(jw)。以Re(G(jw)为横坐标,Im(G(jw)为纵坐标绘制成

18、为极坐标频率特性图。(2)频域分析应用实例qNyquist曲线是根据开环频率特性在复平面上绘出的幅相轨迹,根据开环的Nyquist曲线,可以判断闭环系统的稳定性。q系统稳定的充要条件为:Nyquist曲线按逆时针包围临界点(-1,j0)的圈数R,等于开环传递函数位于s右半平面的极点数P,否则闭环系统不稳定,闭环正实部特征根个数Z=P-R。若刚好过临界点,则系统临界稳定。3、控制系统的根轨迹分析q所谓根轨迹是指,当开环系统某一参数从零变到无穷大时,闭环系统特征方程的根在s平面上的轨迹。一般来说,这一参数选作开环系统的增益K,而在无零极点对消时,闭环系统特征方程的根就是闭环传递函数的极点。q根轨迹

19、分析方法是分析和设计线性定常控制系统的图解方法,使用十分简便。利用它可以对系统进行各种性能分析,例exp4_18.m(1)根轨迹分析方法的概念(1)稳定性 当开环增益K从零到无穷大变化时,图中的根轨迹不会越过虚轴进入右半s平面,因此这个系统对所有的K值都是稳定的。如果根轨迹越过虚轴进入右半s平面,则其交点的K值就是临界稳定开环增益。(2)稳态性能 开环系统在坐标原点有一个极点,因此根轨迹上的K值就是静态速度误差系数,如果给定系统的稳态误差要求,则可由根轨迹确定闭环极点容许的范围。(3)动态性能 当0K0.5时,闭环极点为复数极点,系统为欠阻尼系统,单位阶跃响应为阻尼振荡过程,且超调量与K成正比

20、。(2)根轨迹分析函数 通常来说,绘制系统的根轨迹是很繁琐的事情,因此在教科书中介绍的是一种按照一定规则进行绘制的概略根轨迹。在MATLAB中,专门提供了绘制根轨迹的有关函数。pzmap:绘制线性系统的零极点图rlocus:求系统根轨迹。rlocfind:计算给定一组根的根轨迹增益。sgrid:在连续系统根轨迹图和零极点图中绘制出阻尼系数和自然频率栅格。零极点图绘制 exp4_19.m MATLAB提供了函数pzmap()来绘制系统的零极点图,其用法如下:qp,z=pzmap(num,den):返回传递函数描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。qpzmap(num,den)

21、:不带输出参数项,则直接在s复平面上绘制出系统对应的零极点位置,极点用表示,零点用o表示。qpzmap(p,z):根据系统已知的零极点列向量或行向量直接在s复平面上绘制出对应的零极点位置,极点用表示,零点用o表示。根轨迹图绘制 exp4_20.m MATLAB提供了函数rlocus()来绘制系统的根轨迹图,其用法如下:qrlocus(num,den):根据SISO开环系统的状态空间描述模型和传递函数模型,直接在屏幕上绘制出系统的根轨迹图。开环增益的值从零到无穷大变化。qrlocus(num,den,k):通过指定开环增益k的变化范围来绘制系统的根轨迹图。qr=rlocus(num,den,k)

22、或者r,k=rlocus(num,den):不在屏幕上直接绘出系统的根轨迹图,而根据开环增益变化矢量k,返回闭环系统特征方程1k*num(s)/den(s)=0的根r,它有length(k)行,length(den)-1列,每行对应某个k值时的所有闭环极点。或者同时返回k与r。q若给出传递函数描述系统的分子项num为负,则利用rlocus函数绘制的是系统的零度根轨迹。(正反馈系统或非最小相位系统)rlocfind()函数 MATLAB提供了函数rlocfind()来找出给定的一组根(闭环极点)对应的根轨迹增益。其用法如下:qk,p=rlocfind(num,den)它要求在屏幕上先已经绘制好有

23、关的根轨迹图。然后,此命令将产生一个光标以用来选择希望的闭环极点。命令执行结果:k为对应选择点处根轨迹开环增益;p为此点处的系统闭环特征根。q不带输出参数项k,p时,同样可以执行,只是此时只将k的值返回到缺省变量ans中。sgrid()函数qsgrid:在现存的屏幕根轨迹或零极点图上绘制出自然振荡频率wn、阻尼比矢量z对应的格线。qsgrid(new):是先清屏,再画格线。qsgrid(z,wn):则绘制由用户指定的阻尼比矢量z、自然振荡频率wn的格线。(3)根轨迹分析应用实例例exp4_21.m 已知某单位反馈系统的开环传递函数为:)102.0)(101.0()(sssksG 要求:绘制系统的闭环根轨迹,并确定使系统产生重实根和纯虚根的开环增益k。

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第111章-MATLAB在控制系统应用实例课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|