《matlab在控制系统中的应用.ppt》由会员分享,可在线阅读,更多相关《matlab在控制系统中的应用.ppt(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1第五章第五章 Matlab在控制理论中的应用在控制理论中的应用5-1 控制系统数学模型的控制系统数学模型的Matlab描述描述在线性系统理论中,一般常用的数学模型在线性系统理论中,一般常用的数学模型形式有:形式有:传递函数模型传递函数模型(系统的外部模型)(系统的外部模型);状态方程模型状态方程模型(系统的内部模型)(系统的内部模型);零极点增益模型和部分分式模型等零极点增益模型和部分分式模型等。这些模型之间都有着内在的联系,可以相这些模型之间都有着内在的联系,可以相互进行转换。互进行转换。2一、连续系统的传递函数模型一、连续系统的传递函数模型连续系统的传递函数如下:对线性定常系统,式中s的
2、系数均为常数,且a1不等于零,这时系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num和den表示。num=b1,b2,bm,bm+1den=a1,a2,an,an+1注意:它们都是按s的降幂进行排列的。3零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。v在MATLAB中零极点增益模型用z,p,K矢量组表示。即:vz=z1,z2,zmvp=p1,p2,.,pnvK=kv函数tf2zp()可以用来求传递函数的零极点和增益。二、零极点增益模型二、零极点增益模型K
3、为系统增益,zi为零点,pj为极点4q状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,经典控制理论用传递函数将输入输出关系表达出来,而现代控制理论则用状态方程和输出方程来表达输入输出关系,揭示了系统内部状态对系统性能的影响。三三 状态方程描述状态方程描述q在MATLAB中,系统状态空间用(A,B,C,D)矩阵组表示。5控制系统常用到并联系统,这时就要对系统函数进行分解,使其表现为一些基本控制单元的和的形式。函数r,p,k=residue(b,a)对两个多项式的比进行部分展开,以及把传函分解为微分单元的形式。向量b和a是按s的降幂排列的多项式系数。部分分式展开后,余数返回到向量r,极
4、点返回到列向量p,常数项返回到k。b,a=residue(r,p,k)可以将部分分式转化为多项式比p(s)/q(s)。四、部分分式展开6例4-1:传递函数描述1)num=12,24,0,20;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);7例4-2零极点增益模型:num=1,11,30,0;den=1,9,45,87,50;z,p,k=tf2zp(num,den)z=0 -6 -5p=-3.0000+4.0000
5、i -3.0000-4.0000i -2.0000 -1.0000k=1结果表达式:8例4-3 部分分式展开:num=2,0,9,1;den=1,1,4,4;r,p,k=residue(num,den)p=0.0000+2.0000i 0.0000-2.0000i -1.0000k=2r=0.0000-0.2500i 0.0000+0.2500i -2.0000结果表达式:9例4-4:系统为一个两输入两输出系统A=1 6 9 10;3 12 6 8;4 7 9 11;5 12 13 14;B=4 6;2 4;2 2;1 0;C=0 0 2 1;8 0 2 2;D=zeros(2,2);10在一
6、些场合下需要用到某种模型,而在另外一些场合下可能需要另外的模型,这就需要进行模型的转换。模型转换的函数包括:residue:传递函数模型与部分分式模型互换ss2tf:状态空间模型转换为传递函数模型ss2zp:状态空间模型转换为零极点增益模型tf2ss:传递函数模型转换为状态空间模型tf2zp:传递函数模型转换为零极点增益模型zp2ss:零极点增益模型转换为状态空间模型zp2tf:零极点增益模型转换为传递函数模型5-2 5-2 控制模型的转换与连接控制模型的转换与连接5.2.15.2.1、模型的转换、模型的转换11例4-5:1)已知系统状态空间模型为:A=0 1;-1-2;B=0;1;C=1,3
7、;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 -1122)已知一个单输入三输出系统的传递函数模型为:num=0 0-2;0-1-5;1 2 0;den=1 6 11 6;A,B,C,D=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 133)系统的零极点增益模型:z=-3;p=-1,-2,-5;k=6;num,den=zp2tf(z,p,k)num=
8、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 0c=0 0 1.8974 d=0 注意:零极点的输入可以写出行向量,也可以写出列向量。144)已知部分分式: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注意余式一定要与极点相对应。151、并联:parallel格式:a,b,c,d=parallel(a1,b1,c1,d1,a2,b2,c2,d2)
9、并联连接两个状态空间系统。num,den=parallel(num1,den1,num2,den2)将并联连接的传递函数进行相加。5.2.2 模型的连接162、串联:series格式:a,b,c,d=series(a1,b1,c1,d1,a2,b2,c2,d2)串联连接两个状态空间系统。num,den=series(num1,den1,num2,den2)将串联连接的传递函数进行相乘。173、反馈:feedback格式:a,b,c,d=feedback(a1,b1,c1,d1,a2,b2,c2,d2,sign)系统1的所有输出连接到系统2的输入,系统2的所有输出连接到系统1的输入,sign用来
10、指示系统2输出到系统1输入的连接符号,sign缺省时,默认为负,即sign=-1。总系统的输入/输出数等同于系统1。num,den=feedback(num1,den1,num2,den2,sign)可以得到类似的连接,只是子系统和闭环系统均以传递函数的形式表示。sign的含义与前述相同。18ctrb和obsv函数可以求出状态空间系统的可控性和可观性矩阵。格式:co=ctrb(a,b)ob=obsv(a,c)对于nn矩阵a,nm矩阵b和pn矩阵cctrb(a,b)可以得到nnm的可控性矩阵co=b ab a2b an-1bobsv(a,c)可以得到nmn的可观性矩阵ob=c ca ca2 ca
11、n-1当co的秩为n时,系统可控;当ob的秩为n时,系统可观。5.2.3 模型的属性模型的属性19在进行控制系统的仿真之前,建立系统的模型表达式是关键的一步。对于控制系统,有不同的分类,在本课程中主要讨论的是线性定常连续系统系统的描述有不同的方法:微分方程;传递函数;零极点增益模式;部分分式展开;状态空间模型等。系统的模型之间可以相互转换,要求熟练掌握各种模型之间转换的命令。模型之间可以进行连接,常用的模型连接命令:串联、并联、反馈。205-3 控制系统的分析方法 早期的控制系统分析过程复杂而耗时,如想得到一个系统的冲激响应曲线,首先需要编写一个求解微分方程的子程序,然后将已经获得的系统模型输
12、入计算机,通过计算机的运算获得冲激响应的响应数据,然后再编写一个绘图程序,将数据绘制成可供工程分析的响应曲线。MATLAB控制系统工具箱和SIMULINK辅助环境的出现,给控制系统分析带来了福音。控制系统的分析包括系统的稳定性分析、时域分析、频域分析及根轨迹分析。21控制系统的分析方法控制系统的稳定性分析控制系统的时域分析控制系统的频域分析控制系统的根轨迹分析225.3.1 控制系统的稳定性分析控制系统的稳定性分析对于连续时间系统,如果闭环极点全部对于连续时间系统,如果闭环极点全部在在S平面左半平面,则系统是稳定的。平面左半平面,则系统是稳定的。对于离散时间系统,如果系统全部极点对于离散时间系
13、统,如果系统全部极点都位于都位于Z平面的单位圆内,则系统是稳定平面的单位圆内,则系统是稳定的。的。MATLAB提供了直接求取系统所有零极提供了直接求取系统所有零极点的函数,因此可以直接根据零极点的点的函数,因此可以直接根据零极点的分布情况对系统的稳定性分布情况对系统的稳定性23一、时域分析的一般方法控制系统仿真常用的几个时间响应函数如下:5.3.2 控制系统的时域分析控制系统的时域分析 一个动态系统的性能常用典型输入作用下的响应来描述。响应是指零初始值条件下某种典型的输入函数作用下对象的响应,控制系统常用的输入函数为单位阶跃函数和脉冲激励函数(即冲激函数)。在MATLAB的控制系统工具箱中提供
14、了求取这两种输入下系统响应的函数。q求取系统单位阶跃响应:step()q求取系统的冲激响应:impulse()241、step()函数的用法qy=step(num,den,t):其中num和den分别为系统传递函数描述中的分子和分母多项式系数,t为选定的仿真时间向量,一般可以由t=0:step:end等步长地产生出来。该函数返回值y为系统在仿真时刻各个输出所组成的矩阵。q如果对具体的响应值不感兴趣,而只想绘制系统的阶跃响应曲线,可调用以下的格式:step(num,den);step(num,den,t);qy,x,t=step(num,den):此时时间向量t由系统模型的特性自动生成。25例1
15、、系统无零点与系统有零点表达式分别为试比较系统阶跃响应的差别。num1=10;num2=2 10;den=1 2 10;step(num1,den)hold on step(num2,den)解:26得到的图线:计算超调量的命令: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,求系统的单求系统的单位脉冲响应。绘
16、制时间响应曲线位脉冲响应。绘制时间响应曲线;也可以使用状态空间模型impulse(A,B,C,D)。y,x,t=impulse(num,den)返回变量格式,不绘图。y=y(t)为输出响应,x=x(t)为状态变量,t为时间相量。q线性系统的稳态值可以通过函数dcgain()来求取,其调用格式为:dc=dcgain(num,den)或dc=dcgain(a,b,c,d)2、impulse()函数的用法28例2、控制系统的传递函数分别为作系统的脉冲响应曲线。num1=0 0 1;num2=0 1 0;num3=1 0 0;den=1 2 10;impulse(num1,den);hold on;i
17、mpulse(num2,den);impulse(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.20.2、0.50.5、1.01.0和和2.52.5等不同值时,系统的单位阶跃响应曲线。等不同值时,系统的单位阶跃响应曲线。解解 建立一个建立一个m m文件,
18、不妨命名为文件,不妨命名为step4re.mstep4re.m如下如下将该将该m m文件保存在文件保存在workwork文件夹中,然后在文件夹中,然后在Command WindowCommand Window中键入中键入step4restep4re,回车。计算机就分别在,回车。计算机就分别在4 4个子图中绘出个子图中绘出4 4个单位阶跃响应曲个单位阶跃响应曲线。线。32得到的图线结果:(在matlab弹出的图形窗口中,选择Edit/Copy Figure,可以实现拷贝图像功能)333.求特定求特定 输入输入u下的时间响应下的时间响应:lsim(num,den,u,T)给定系统多项式模型num,
19、den,任意控制输入向量u,时间向量T,绘制时间响应曲线绘制时间响应曲线;也可以使用状态空间模型lsim(A,B,C,D,u,T)。y,x,t=lsim(num,den)返回变量格式,不绘图。y=y(t)为输出响应,x=x(t)为状态变量,t为时间向量。34例4、系统结构如图所示,考察I型系统与II型系统对速率信号的跟踪能力。+-+-解:绘制图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=2 2;den2=1 2 2 2;t=0:0.1:10;u=t;l
20、sim(num2,den2,u,t);hold onplot(t,u,r:)%将t-u直线描红色图a I型系统图b II型系统35(a)I型系统(b)II型系统 两个系统对斜坡信号的跟踪曲线如上图所示。I型系统在跟踪速率信号时,有明显的跟踪误差,即ess=1,如图(a)所示;但是II型系统由图(b)可见,稳态跟踪误差为零,即ess=0。36 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 2 2;t=0:0.1:50;u=t;y=lsim(num2,den2,u,t
21、);y=y;plot(t,u-y);误差响应曲线图:37常用时域分析函数 时间响应探究系统对输入和扰动在时域内的瞬态行为,时间响应探究系统对输入和扰动在时域内的瞬态行为,系统特征如:上升时间、调节时间、超调量和稳态误差都能系统特征如:上升时间、调节时间、超调量和稳态误差都能从时间响应上反映出来。从时间响应上反映出来。MATLAB除了提供前面介绍的对系除了提供前面介绍的对系统阶跃响应、冲激响应等进行仿真的函数外,还提供了大量统阶跃响应、冲激响应等进行仿真的函数外,还提供了大量对控制系统进行时域分析的函数,如:对控制系统进行时域分析的函数,如:covar:连续系统对白噪声的方差响应:连续系统对白噪
22、声的方差响应initial:连续系统的零输入响应:连续系统的零输入响应对于离散系统只需在连续系统对应函数前加对于离散系统只需在连续系统对应函数前加d就可以,如就可以,如dstep,dimpulse等。等。它们的调用格式与它们的调用格式与step、impulse类似,可以通过类似,可以通过help命令来命令来察看自学。察看自学。385.3.3 频率特性绘图控制系统频率特性分析常用的几个绘图函数为:bode(num,den)给定控制系统的开环多项式模型num,den,绘制伯德绘制伯德图图;也可以使用状态空间模型bode(A,B,C,D)。m,p,w=bode(num,den)返回变量格式,不绘图。
23、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时的频率。39nichols(num,den)给定控制系统的开环多项式模型num,den,绘制尼柯绘制尼柯尔斯图尔斯图;也可以使用状态空间模型nichols(A,B,C,D)。m,p,w=nichols(num,
24、den)返回变量格式,不绘图。m为模矩阵,p为相位角矩阵,w为频率向量。nyquist(num,den)给定控制系统的开环多项式模型num,den,绘制奈奎绘制奈奎斯特图斯特图;也可以使用状态空间模型nyquist(A,B,C,D)。re,im,w=nyquist(num,den)返回变量格式,不绘图。re为返回的实部向量,im为返回的虚部向量,w为频率向量。40例4、控制系统的开环传递函数为作伯德图并确定系统的稳定裕度。解:如果单纯做bode图:num=15;den=1 2 10 0;bode(num,den)得到图线如右图所示,图中没有各种裕度的显示,不能满足题目的要求。41采用输出裕量的
25、方法:num=15;den=1 2 10 0;margin(num,den)得到图线如右图所示,从图上可以读到开环截止频率为wc=2.24,相位裕度为Pm=48.2度,相位裕度Pm较大,但是由于二阶环节谐振峰值的影响,幅值裕度Gm较小,且Gm=2.5dB。42例5、控制系统的开环传递函数为绘制其nyquist图。解:num=2 6;den=1-1 0;nyquist(num,den)43num=45;den=1 6.02 34.12 104.68 2.08;nyquist(num,den)例6、控制系统的开环传递函数为绘制其nyquist图。由于坐标轴范围的设置是自动的,为了表现全图的概貌,原
26、点处的图线就变的不够清晰。44下面我们加上一句语句,将坐标轴变的窄一些,这样原点的图就变得很清晰:axis(-0.5 0.5-1.5 1.5);1也可以用图形显示窗口提供的放大镜来达到类似效果453、绘制根轨迹图rlocus(num,den)给定控制系统的开环多项式模型num,den,绘制闭环根的根轨迹图绘制闭环根的根轨迹图;也可以使用状态空间模型rlocus(A,B,C,D)。根轨迹绘图的几个常用的函数:k,r=rlocfind(num,den)给定控制系统的开环多项式模型num,den,作根轨迹图,并用鼠标在图上作根轨迹图,并用鼠标在图上选定闭环极点的位置,返回对应的增益选定闭环极点的位置
27、,返回对应的增益k和闭环极点的值。和闭环极点的值。pzmap(num,den)在复数平面上画出零极点的位置。在复数平面上画出零极点的位置。46例7、给定系统作根轨迹图,并确定临界增益的值。解:num=1;den=1 2 2 0;rlocus(num,den)做根轨迹图如右图所示。47 k,r=rlocfind(num,den)Select a point in the graphics windowselected_point=0+1.4247ik=4.0595r=-2.0099 0.0049+1.4212i 0.0049-1.4212i 输入指令以后,用鼠标在图中选取特征点(本例中为根轨迹与
28、虚轴的交点),即解得临界增益约为k=4.06。选择点以后的图如右图所示。PIDPID控制器设计控制器设计 PIDPID(比例(比例-积分积分-微分)控制器是目前在实际工程中应用最为广微分)控制器是目前在实际工程中应用最为广泛的一种控制策略。泛的一种控制策略。PIDPID算法简单实用,不要求受控对象的精确数算法简单实用,不要求受控对象的精确数学模型。学模型。3.1 PID3.1 PID控制器的传递函数控制器的传递函数1.1.连续连续PIDPID控制器的传递函数控制器的传递函数连续系统连续系统PIDPID控制器的表达式为控制器的表达式为 连续连续PIDPID控制器的传递函数控制器的传递函数 为了避
29、免纯微分运算,通常采用近似的为了避免纯微分运算,通常采用近似的PIDPID控制器,其传递函数为控制器,其传递函数为2.2.离散离散PIDPID控制器控制器离散离散PIDPID控制器的表达式为控制器的表达式为 简化为简化为 离散离散PIDPID控制器的脉冲传递函数为控制器的脉冲传递函数为 3.2 PID3.2 PID控制器各参数对控制性能的影响控制器各参数对控制性能的影响 PIDPID控制器的控制器的 、和和 三个参数的大小决定了三个参数的大小决定了PIDPID控制控制器的比例、积分和微分控制作用的强弱。器的比例、积分和微分控制作用的强弱。【例例 4 4】某直流电机速度控制系统如图所示,采用某直
30、流电机速度控制系统如图所示,采用PIDPID控制方案,控制方案,使用期望特性法来确定使用期望特性法来确定 、和和 这三个参数。建立该系统的这三个参数。建立该系统的SimulinkSimulink模型,观察其单位阶跃响应曲线,并且分析这三个参数分别模型,观察其单位阶跃响应曲线,并且分析这三个参数分别对控制性能的影响。对控制性能的影响。DKDK解解 使用期望特性法来设计使用期望特性法来设计PIDPID控制器。控制器。假设假设PIDPID控制器的传递函数为控制器的传递函数为 系统闭环的传递函数为系统闭环的传递函数为 不妨假设希望闭环极点为:不妨假设希望闭环极点为:,和和则期望特征多项式为则期望特征多
31、项式为 对应系数相等,可求得:对应系数相等,可求得:在在Command WindowCommand Window中输入这中输入这3 3个参数值个参数值 建立该系统的建立该系统的SimulinkSimulink模型如下模型如下 系统转速响应曲线如图所示系统转速响应曲线如图所示 3.3 3.3 使用使用Ziegler-NicholsZiegler-Nichols经验整定公式进行经验整定公式进行PIDPID控制器设计控制器设计Ziegler-NicholsZiegler-Nichols经验整定公式是针对被控对象模型为带有延迟的一阶经验整定公式是针对被控对象模型为带有延迟的一阶惯性传递函数提出的惯性传
32、递函数提出的 【例例5 5】如图如图7-197-19所示的系统,被控对象为一个带有延迟的惯性环所示的系统,被控对象为一个带有延迟的惯性环节,试用节,试用Ziegler-NicholsZiegler-Nichols经验整定公式,计算经验整定公式,计算PIDPID控制器的参数,并控制器的参数,并且绘制其仿真系统单位阶跃响应曲线。且绘制其仿真系统单位阶跃响应曲线。解解 由该系统传递函数可知,由该系统传递函数可知,由由Ziegler-NicholsZiegler-Nichols经验整定公式,经验整定公式,可得:可得:PIDPID控制器的传递函数为:控制器的传递函数为:MATLAB/Simulink模型
33、如图所示,模型如图所示,仿真结果如图所示,可见仿真结果如图所示,可见系统可以稳定工作。系统可以稳定工作。实验四四 控制系控制系统计算机算机辅助分析与助分析与设计一、实验目的一、实验目的1掌握利用掌握利用MATLAB语言实现线性定常系统稳定语言实现线性定常系统稳定性分析的方法以及基于性分析的方法以及基于MATLAB语言的对自动语言的对自动控制系统动态性能进行分析的时域法、频域法和控制系统动态性能进行分析的时域法、频域法和根轨迹法。根轨迹法。2掌握利用掌握利用MATLAB提供的功能函数进行控制系提供的功能函数进行控制系统设计的方法以及工程上几种常见的控制系统设统设计的方法以及工程上几种常见的控制系
34、统设计方法。计方法。二、二、实验内容内容1 采用求取特征采用求取特征值的方法判的方法判别下面系下面系统的的稳定性。定性。2 某某单位位负反反馈系系统的开的开环控制系控制系统的的传递函数函数为(1)绘制系制系统的根的根轨迹;迹;(2)当)当 时,绘制系制系统的的Bode图,判断系,判断系统的的稳定性,定性,并且求出幅并且求出幅值裕度和相角裕度。裕度和相角裕度。3某的开某的开环控制系控制系统的的传递函数函数为 试绘制奈奎斯特曲制奈奎斯特曲线,并利用奈氏判据判,并利用奈氏判据判别闭环系系统的的稳定性定性。4 某某过程控制系程控制系统如下如下图所示,所示,请使用使用Ziegler-Nichols经验整定公式整定公式设计PID控制器,使系控制器,使系统的的动态性能最佳。性能最佳。