第9章MATLAB在控制系统中的应用_第1页
第9章MATLAB在控制系统中的应用_第2页
第9章MATLAB在控制系统中的应用_第3页
第9章MATLAB在控制系统中的应用_第4页
第9章MATLAB在控制系统中的应用_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第9章章 MATLAB在控制系统中的应用在控制系统中的应用 9.1 控制系统数学模型的控制系统数学模型的Matlab描述描述9.2 控制模型的转换与连接控制模型的转换与连接9.3 控制系统的分析方法控制系统的分析方法9.4 综合实例综合实例39.1 控制系统数学模型的控制系统数学模型的Matlab描述描述在线性系统理论中,一般常用的数学模型在线性系统理论中,一般常用的数学模型形式有:形式有:传递函数模型传递函数模型(系统的外部模型)(系统的外部模型);状态方程模型状态方程模型(系统的内部模型)(系统的内部模型);零极点增益模型和部分分式模型等零极点增益模型和部分分式模型等。这些模型之间都有着

2、内在的联系,可以相这些模型之间都有着内在的联系,可以相互进行转换。互进行转换。4一、连续系统的传递函数模型一、连续系统的传递函数模型连续系统的传递函数如下:11211121.)()()(nnnnmnmmasasasabsbsbsbsRsCsG 对线性定常系统,式中s的系数均为常数,且a1不等于零,这时系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num和den表示。num=b1,b2,bm,bm+1den=a1,a2,an,an+1注意:它们都是按s的降幂进行排列的。5零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分

3、子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。).()().()()(2121nmpspspszszszsKsGv在MATLAB中零极点增益模型用z,p,K矢量组表示。即:vz=z1,z2,zmvp=p1,p2,.,pnvK=kv函数tf2zp()可以用来求传递函数的零极点和增益。二、零极点增益模型二、零极点增益模型K为系统增益,zi为零点,pj为极点6q状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,经典控制理论用传递函数将输入输出关系表达出来,而现代控制理论则用状态方程和输出方程来表达输入输出关系,揭示了系统内部状态对系统性能的影响。DuCxyBuAxx&三三 状

4、态方程描述状态方程描述q在MATLAB中,系统状态空间用(A,B,C,D)矩阵组表示。7控制系统常用到并联系统,这时就要对系统函数进行分解,使其表现为一些基本控制单元的和的形式。函数r,p,k=residue(b,a)对两个多项式的比进行部分展开,以及把传函分解为微分单元的形式。向量b和a是按s的降幂排列的多项式系数。部分分式展开后,余数返回到向量r,极点返回到列向量p,常数项返回到k。b,a=residue(r,p,k)可以将部分分式转化为多项式比p(s)/q(s)。四、部分分式展开8例9-1:传递函数描述1)num=12,24,0,20;den=2 4 6 2 2;2)借助多项式乘法函数c

5、onv来处理: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);22642202412)(23423sssssssG) 523() 1()66)(2( 4)(23322sssssssssG9例9-2零极点增益模型:num=1,11,30,0;den=1,9,45,87,50;z,p,k=tf2zp(num,den)50874593011)(23423ssssssssG)43)(43)(2)(1() 5)(6()(jsjsssssssGz= 0 -6 -5p= -3.0000+4.0

6、000i -3.0000-4.0000i -2.0000 -1.0000k= 1结果表达式:10例9-3 部分分式展开: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.2500i -2.0000结果表达式:11例9-4:系统为一个两输入两输出系统A=1 6 9 10; 3 12 6 8; 4 7 9 11; 5 12 13

7、14;B=4 6; 2 4; 2 2; 1 0;C=0 0 2 1; 8 0 2 2; D=zeros(2,2);xyuxx22081200012242641413125119748612310961&12在一些场合下需要用到某种模型,而在另外一些场合下可能需要另外的模型,这就需要进行模型的转换。模型转换的函数包括:residue:传递函数模型与部分分式模型互换ss2tf: 状态空间模型转换为传递函数模型ss2zp: 状态空间模型转换为零极点增益模型tf2ss: 传递函数模型转换为状态空间模型tf2zp: 传递函数模型转换为零极点增益模型zp2ss: 零极点增益模型转换为状态空间模型zp2tf

8、: 零极点增益模型转换为传递函数模型9-2 9-2 控制模型的转换与连接控制模型的转换与连接9.2.19.2.1、模型的转换、模型的转换13例9-5:1)已知系统状态空间模型为:A=0 1; -1 -2; B=0;1; C=1,3; D=1;num,den=ss2tf(A,B,C,D)num=1 5 2; den=1 2 1;z,p,k=ss2zp(A,B,C,D)z= -4.5616 p= -1 k=1 -0.4384 -1uxyuxx31102110&142)已知一个单输入三输出系统的传递函数模型为:num=0 0 -2;0 -1 -5;1 2 0;den=1 6 11 6;A,B,C,D

9、=tf2ss(num,den)A= -6 -11 -6 B= 1 C= 0 0 -2 D= 0 1 0 0 0 0 -1 -5 0 0 1 0 0 1 2 0 0 61162)(61165)(61162)()()(23231232123111ssssssGsssssGssssusysG153)系统的零极点增益模型:z=-3;p=-1,-2,-5;k=6;num,den=zp2tf(z,p,k)num= 0 0 6 18 den= 1 8 17 10a,b,c,d=zp2ss(z,p,k)a= -1.0000 0 0 b=1 2.0000 -7.0000 -3.1623 1 0 3.1623 0

10、 0c= 0 0 1.8974 d=0 注意:零极点的输入可以写出行向量,也可以写出列向量。 )5)(2)(1()3(6)(sssssG164)已知部分分式: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)(sisiisisG171、并联:parallel格式:a,b,c,d=parallel(a1,b1,c1,d1,a2,b2,c2,d2)并联连接两个状态空间系统。num,den=parallel(num1,den1,n

11、um2,den2) 将并联连接的传递函数进行相加。9.2.2 模型的连接182、串联:series格式:a,b,c,d=series(a1,b1,c1,d1,a2,b2,c2,d2) 串联连接两个状态空间系统。num,den=series(num1,den1,num2,den2) 将串联连接的传递函数进行相乘。193、反馈:feedback格式:a,b,c,d=feedback(a1,b1,c1,d1,a2,b2,c2,d2,sign)系统1的所有输出连接到系统2的输入,系统2的所有输出连接到系统1的输入,sign用来指示系统2输出到系统1输入的连接符号,sign缺省时,默认为负,即sign=

12、 -1。总系统的输入/输出数等同于系统1。num,den=feedback(num1,den1,num2,den2,sign) 可以得到类似的连接,只是子系统和闭环系统均以传递函数的形式表示。sign的含义与前述相同。209-3 控制系统的分析方法 早期的控制系统分析过程复杂而耗时,如想得到一个系统的冲激响应曲线,首先需要编写一个求解微分方程的子程序,然后将已经获得的系统模型输入计算机,通过计算机的运算获得冲激响应的响应数据,然后再编写一个绘图程序,将数据绘制成可供工程分析的响应曲线。MATLAB控制系统工具箱和SIMULINK辅助环境的出现,给控制系统分析带来了福音。控制系统的分析包括系统的

13、稳定性分析、时域分析、频域分析。21控制系统的分析方法控制系统的稳定性分析控制系统的时域分析控制系统的频域分析229.3.1 控制系统的稳定性分析控制系统的稳定性分析对于连续时间系统,如果闭环极点全部对于连续时间系统,如果闭环极点全部在在S平面左半平面,则系统是稳定的。平面左半平面,则系统是稳定的。对于离散时间系统,如果系统全部极点对于离散时间系统,如果系统全部极点都位于都位于Z平面的单位圆内,则系统是稳定平面的单位圆内,则系统是稳定的。的。MATLAB提供了直接求取系统所有零极提供了直接求取系统所有零极点的函数,因此可以直接根据零极点的点的函数,因此可以直接根据零极点的分布情况对系统的稳定性

14、分布情况对系统的稳定性23一、时域分析的一般方法控制系统仿真常用的几个时间响应函数如下:9.3.2 控制系统的时域分析控制系统的时域分析 一个动态系统的性能常用典型输入作用下的响应来描述。响应是指零初始值条件下某种典型的输入函数作用下对象的响应,控制系统常用的输入函数为单位阶跃函数和脉冲激励函数(即冲激函数)。在MATLAB的控制系统工具箱中提供了求取这两种输入下系统响应的函数。q求取系统单位阶跃响应:step()q求取系统的冲激响应:impulse()241、step()函数的用法qy=step(num,den,t):其中num和den分别为系统传递函数描述中的分子和分母多项式系数,t为选定

15、的仿真时间向量,一般可以由t=0:step:end等步长地产生出来。该函数返回值y为系统在仿真时刻各个输出所组成的矩阵。q如果对具体的响应值不感兴趣,而只想绘制系统的阶跃响应曲线,可调用以下的格式:step(num,den);step(num,den,t);qy,x,t=step(num,den):此时时间向量t由系统模型的特性自动生成。25例1、系统无零点与系统有零点表达式分别为试比较系统阶跃响应的差别。 num1=10;num2=2 10; den=1 2 10; step(num1,den) hold on step(num2,den) 解:102102)()()(,10210)()()

16、(22222111ssssRsYsGsssRsYsG26得到的图线:计算超调量的命令:y1,t1=step(num1,den); y2,t2=step(num2,den);max(y1),max(y2)ans = 1.3509 1.4348 可见,超调量分别是35.09%和43.48%。 显然,系统有s=-5的零点时,其阶跃响应叠加了微分项,超调量稍有增加。27impulse(num,den) 给定系统多项式模型num,den,求系统的单求系统的单位脉冲响应。绘制时间响应曲线位脉冲响应。绘制时间响应曲线;也可以使用状态空间模型impulse(A,B,C,D)。 y,x,t=impulse(nu

17、m,den)返回变量格式,不绘图。 y=y(t)为输出响应,x=x(t)为状态变量,t为时间相量。q线性系统的稳态值可以通过函数dcgain()来求取,其调用格式为:dc=dcgain(num,den)或dc=dcgain(a,b,c,d)2、impulse()函数的用法28例2、控制系统的传递函数分别为21232221(s),( ),( )210210210ssGG sG sssssss作系统的脉冲响应曲线。num1=0 0 1;num2=0 1 0;num3=1 0 0;den=1 2 10;impulse(num1,den);hold on;impulse(num2,den);impul

18、se(num3,den);也可以简单的将参数填到命令中: impulse(0 0 1,1 2 10);hold on; impulse(0 1 0,1 2 10);impulse(1 0 0,1 2 10);解:【例【例3 3】 已知二阶闭环控制系统如图所示,试在已知二阶闭环控制系统如图所示,试在4 4个子图中绘出当个子图中绘出当无阻尼自然振荡频率无阻尼自然振荡频率 ,阻尼比,阻尼比 分别为分别为 0.2 0.2、0.50.5、1.01.0和和2.52.5等不同值时,系统的单位阶跃响应曲线。等不同值时,系统的单位阶跃响应曲线。n2解解 建立一个建立一个m m文件,不妨命名为文件,不妨命名为st

19、ep4re.mstep4re.m如下如下将该将该m m文件保存在文件保存在workwork文件夹中,然后在文件夹中,然后在Command WindowCommand Window中键入中键入step4restep4re,回车。计算机就分别在,回车。计算机就分别在4 4个子图中绘出个子图中绘出4 4个单位阶跃响应曲个单位阶跃响应曲线。线。31得到的图线结果:(在matlab弹出的图形窗口中,选择Edit/Copy Figure,可以实现拷贝图像功能)323. 求特定求特定 输入输入u下的时间响应下的时间响应 :lsim(num,den,u,T) 给定系统多项式模型num,den,任意控制输入向量

20、u,时间向量T,绘制时间响应曲线绘制时间响应曲线;也可以使用状态空间模型lsim(A,B,C,D,u,T)。 y,x,t=lsim(num,den) 返回变量格式,不绘图。 y=y(t)为输出响应,x=x(t)为状态变量,t为时间向量。33例4、系统结构如图所示,考察I型系统与II型系统对速率信号的跟踪能力。2(2)s s( )R s( )C s+-( )R s( )C s22(1)(2)sss+-解:绘制图a:num1=2;den1=1 2 2;t=0:0.1:10;u=t;lsim(num1,den1,u,t);hold onplot(t,u,r:) %将t-u直线描红色绘制图b:num2

21、=2 2;den2=1 2 2 2;t=0:0.1:10;u=t;lsim(num2,den2,u,t);hold onplot(t,u,r:) %将t-u直线描红色图a I型系统图b II型系统34(a)I型系统(b)II型系统 两个系统对斜坡信号的跟踪曲线如上图所示。I型系统在跟踪速率信号时,有明显的跟踪误差,即ess=1,如图(a)所示;但是II型系统由图(b)可见,稳态跟踪误差为零,即ess=0。35 num1=2; den1=1 2 2; t=0:0.1:10;u=t; y=lsim(num1,den1,u,t);y=y;plot(t,u-y); num2=2 2; den2=1 2

22、 2 2; t=0:0.1:50;u=t; y=lsim(num2,den2,u,t);y=y;plot(t,u-y);误差响应曲线图:36常用时域分析函数 时间响应探究系统对输入和扰动在时域内的瞬态行为,时间响应探究系统对输入和扰动在时域内的瞬态行为,系统特征如:上升时间、调节时间、超调量和稳态误差都能系统特征如:上升时间、调节时间、超调量和稳态误差都能从时间响应上反映出来。从时间响应上反映出来。MATLAB除了提供前面介绍的对系除了提供前面介绍的对系统阶跃响应、冲激响应等进行仿真的函数外,还提供了大量统阶跃响应、冲激响应等进行仿真的函数外,还提供了大量对控制系统进行时域分析的函数,如:对控

23、制系统进行时域分析的函数,如:covar:连续系统对白噪声的方差响应:连续系统对白噪声的方差响应initial:连续系统的零输入响应:连续系统的零输入响应对于离散系统只需在连续系统对应函数前加对于离散系统只需在连续系统对应函数前加d就可以,如就可以,如dstep,dimpulse等。等。它们的调用格式与它们的调用格式与step、impulse类似,可以通过类似,可以通过help命令来命令来察看自学。察看自学。379.3.3 频率特性绘图控制系统频率特性分析常用的几个绘图函数为:bode(num,den) 给定控制系统的开环多项式模型num,den,绘制伯德绘制伯德图图;也可以使用状态空间模型b

24、ode(A,B,C,D)。 m,p,w=bode(num,den)返回变量格式,不绘图。 m=m(w)为幅值向量,p=p(w)为相位向量,w为频率向量。margin(num,den) 给定控制系统的开环多项式模型num,den,绘制带有绘制带有稳定裕度的伯德图稳定裕度的伯德图;也可以使用状态空间模型margin(A,B,C,D)。 gm,pm,wg,wp=margin(num,den)返回变量格式,不绘图。 gm为幅值裕度,pm为相位裕度,wg是相角等于-时的频率,wp是模等于1时的频率。38nyquist(num,den) 给定控制系统的开环多项式模型num,den,绘制奈奎绘制奈奎斯特图斯

25、特图;也可以使用状态空间模型nyquist(A,B,C,D)。 re,im,w=nyquist(num,den)返回变量格式,不绘图。 re为返回的实部向量,im为返回的虚部向量,w为频率向量。39例4、控制系统的开环传递函数为215( )(210)G ss ss作伯德图并确定系统的稳定裕度。解:如果单纯做bode图: num=15; den=1 2 10 0;bode(num,den) 得到图线如右图所示,图中没有各种裕度的显示,不能满足题目的要求。40采用输出裕量的方法:num=15;den=1 2 10 0; margin(num,den) 得到图线如右图所示,从图上可以读到开环截止频率

26、为wc=2.24,相位裕度为Pm=48.2度,相位裕度Pm较大,但是由于二阶环节谐振峰值的影响,幅值裕度Gm较小,且Gm=2.5dB。41例5、控制系统的开环传递函数为绘制其nyquist图。解:num=2 6;den=1 -1 0; nyquist(num,den) 1() 133. 0(6)(0ssssG420245( )(0.02)(4)(226)G sssssnum=45;den=1 6.02 34.12 104.68 2.08;nyquist(num,den)例6、控制系统的开环传递函数为绘制其nyquist图。 由于坐标轴范围的设置是自动的,为了表现全图的概貌,原点处的图线就变的不

27、够清晰。43下面我们加上一句语句,将坐标轴变的窄一些,这样原点的图就变得很清晰: axis(-0.5 0.5 -1.5 1.5); 1也可以用图形显示窗口提供的放大镜来达到类似效果PIDPID控制器设计控制器设计 PID PID(比例(比例- -积分积分- -微分)控制器是目前在实际工程中应用最为广微分)控制器是目前在实际工程中应用最为广泛的一种控制策略。泛的一种控制策略。PIDPID算法简单实用,不要求受控对象的精确数算法简单实用,不要求受控对象的精确数学模型。学模型。3.1 PID3.1 PID控制器的传递函数控制器的传递函数1. 1. 连续连续PIDPID控制器的传递函数控制器的传递函数

28、连续系统连续系统PIDPID控制器的表达式为控制器的表达式为 PID0d ( )( )( )( )ddte tx tK e tKeKt连续连续PIDPID控制器的传递函数控制器的传递函数 ICPDPDI1( )1KGsKK sKT ssT s为了避免纯微分运算,通常采用近似的为了避免纯微分运算,通常采用近似的PIDPID控制器,其传递函数为控制器,其传递函数为DCPID1( )10.11T sGsKTsT s2. 2. 离散离散PIDPID控制器控制器离散离散PIDPID控制器的表达式为控制器的表达式为 PID0()(1) ()()()kme kTe kTx kTK e kTK Te mTKT

29、简化为简化为 PID0( )(1)( )( )( )kme ke kx kK e kK Te mKT 离散离散PIDPID控制器的脉冲传递函数为控制器的脉冲传递函数为 1ICPD-1( )(1)1-KGzKKzz3.2 PID3.2 PID控制器各参数对控制性能的影响控制器各参数对控制性能的影响 PID PID控制器的控制器的 、 和和 三个参数的大小决定了三个参数的大小决定了PIDPID控制控制器的比例、积分和微分控制作用的强弱。器的比例、积分和微分控制作用的强弱。 PKIK【例【例 4 4】 某直流电机速度控制系统如图所示,采用某直流电机速度控制系统如图所示,采用PIDPID控制方案,控制方案,使用期望特性法来确定使用期望特性法来确定 、 和和 这三个参数。建立该系统的这三个参数。建立该系统的SimulinkSimulink模型,观察其单位阶跃响应曲线,并且分析这三个参数分模型,观察其单位阶跃响应曲线,并且分析这三个参数分别对控制性能的影响。别对控制性能的影响。PKIKDKDK解解 使用期望特性法来设计使用期望特性法来设计PIDPID控制器。控制器。假设假设PIDPID控制器的传递函数为控制器的传递函数为 IC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论