您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 自动控制系统简明教程-程序
1.控制系统建模在控制系统的分析与设计中,首先要建立系统的数学模型。在MATLAB中,常用的系统建模方法有传递函数模型、零极点模型以及状态空间模型等。下面结合下图予以说明:图C-1控制系统(1)控制系统模型描述系统传递函数模型描述命令格式:),,(Tsdennumtfsys其中,num,den分别为分子、分母多项式降幂排列的系数向量;Ts表示采样时间,缺省时描述的是连续传递函数。故图中)(1sG可描述为G1=tf([1],[110])。若传递函数的分子、分母为因式连乘形式,如图中)(2sG,则可以考虑采用conv命令进行多项式相乘,得到展开后的分子、分母多项式降幂排列的系数向量,再用tf命令建模。如)(2sG可描述为num=1;den=conv([0.11],[13]);G2=tf(num,den)。2)系统零点模型描述sssG211)(ssssG232)()3)(11.0(1)(2sssG)(sR)(sR)(sC++命令格式:sys=zpk(z,p,k,Ts)其中,z,p,k分别表示系统的零点、极点及增益,若无零点、极点,则用[]表示;Ts表示采样时间,缺省时描述的是连续系统。如图中)(3sG可描述为G3=zpk([-2],[0-1],1)。3)系统状态空间模型描述。(2)模型转换由于在控制系统分析与设计中有时会要求模型有特定的描述形式,为此MATLAB提供了传递函数模型与零极点模型之间的转换命令。命令格式:[num,den]=zp2tf(z,p,k)[z,k,p]=tf2zp(num,den)其中,zp2tf可以将零极点模型转换成传输函数模型,而tf2zp可以将传递函数模型转换成零极点模型。图中)(1sG转换成零极点模型为[z,p,k]=tf2zp([1],[110]),)(3sG转换成传递函数模型为[num,den]=zp2tf([-2],[0-1],1)。(3)系统连接一个控制系统通常由多个子系统相互连接而成,而最基本的三种连接方式为上图中的串联、并联和反馈连接形式。两个系统的并联连接命令格式:sys=parallel(sys1,sys2)对于SISO系统,parallel命令相当于符号“+”。对于图中)(1sG和)(2sG并联组成的子系统)(12sG,可描述为G12=parallel(G1,G2)。两个子系统的串联连接命令格式:sys=series(sys1,sys2)对于SISO系统,series命令相当于符号“*”。对于图中由)(12sG和)(3sG串联组成的系统组成的开环传递函数,可描述为G=series(G12,G3)。两个系统的反馈连接命令格式:sys=feedback(sys1,sys2,sign)其中,sign用于说明反馈性质(正、负)。Sign缺省时,为负,即sign=-1。由于上图中为单位负反馈系统,所以系统的闭环传递函数可描述为sys=feedback(G,1,-1)。其中G表示开环传递函数,“1”表示是单位反馈,“-1”表示是负反馈,可缺省。(4)综合应用:结构图化简及其闭环传递函数的求取例C-1:已知多路反馈系统的结构图如图所示,求闭环传递函数)(/)(sRsC。其中,1)(,2)(,21)(,61)(,441)(,11)(,101)(321422321sHsHsssHsssGssssGssGssG。图C-2多路反馈系统解MATLAB程序:example1.m3G3G3G3G3G3G3G)(sR)(sC-G1=tf([1],[110]);G2=tf([1],[11]);G3=tf([101],[144]);numg4=[11];deng4=[16];G4=tf(numg4,deng4);H1=zpk([-1],[-2],1);numh2=[2];denh2=[1];H3=1;%建立各个方块字系统模型nh2=conv(numh2,deng4);dh2=conv(denh2,numg4);H2=tf(nh2,dh2);%先将H2移至G4之后sys1=series(G3,G4);sys2=feedback(sys1,H1,+1);%计算由G3,G4和H1回路组成的子系统模型sys3=series(G2,sys2);sys4=feedback(sys3,H2);%计算由H2构成反馈回路的子系统模型sys5=series(G1,sys4);sys=feedback(sys5,H3)%计算由H3构成反馈主回路的系统闭环传递函数2.控制系统时域分析稳定性分析稳定是控制系统的重要性能,夜视系统设计过程中的首要问题。线性系统稳定的充分必要条件是:闭环系统特征方程的所有跟均有负实部。在MATLAB中可以调用roots命令求取特征方程的跟,进而判定系统的稳定性。命令格式:p=root(den)其中,den为特征多项式降幂排列的系数向量;p为特征根。动态性能分析单位脉冲响应。命令格式:y=impulse(sys,t)当不带输出变量y时,impulse命令可直接绘制脉冲响应曲线;t用于设定仿真时间,可缺省。单位阶跃响应。命令格式:y=step(sys,t)当不带输出变量y时,step命令可直接绘制阶跃响应曲线;t用于设定仿真时间,可缺省。任意输入响应命令格式:y=lsim(sys,u,t,x0)当不带输出变量y时,lsim命令可直接绘制响应曲线。其中u表示输入,x0用于设定初始状态,缺省时为0,t用于设定仿真时间,可缺省。零输入响应命令格式:y=initial(sys,x0,t)Initial命令要求系统sys为状态空间模型。当不带输出变量y时,initial命令可直接绘制响应曲线。x0用于设定初始状态,缺省时为0,t用于设定仿真时间,可缺省。综合应用(系统时域动态性能分析)例C-2已知系统的闭环传递函数为16816)(2sss,其中707.0。求二阶系统的单位脉冲响应、单位阶跃响应和单位斜坡响应。解MATLAB程序:example2.mzeta=0.707;num=[16];den=[18*zeta16];sys=tf(num,den);%建立闭环传递函数模型p=roots(den)%计算系统特征根判断系统稳定性t=0:0.01:3;%设定仿真时间为3sfigure(1)impulse(sys,t);grid%求取系统的单位脉冲响应xlable(‘t’);ylable(‘c(t)’);title(‘impulseresponse’);figure(2)step(sys,t);grid%求取系统的单位阶跃响应xlable(‘t’);ylable(‘c(t)’);title(‘stepresponse’);figure(3)u=t;%定义输入为斜坡信号lsim(sys,u,t,0);grid%求取系统的单位斜坡响应xlable(‘t’);ylable(‘c(t)’);title(‘rampresponse’);3.线性系统的根轨迹绘制零极点分布图命令格式:[p,z]=pzmap(sys)当不带输出量时,pzmap命令可直接在复平面内标出传递函数的零、极点。在图中,极点用“X”表示,零点用“O”表示。绘制根轨迹图利用MATLAB绘制根轨迹的一般步骤如下:1)先将特征方程写成下列形式0)()(1sqspK,其中K为所研究的变化参数,得到等效开环传递函数)()(sqspKG。2)调用rlocus命令绘制根轨迹。命令格式:rlocus(G)综合应用(系统性能复域分析)例C-3已知单位负反馈系统的开环传递函数为))(4(20)(KsssG试画出K从零变化到无穷时的根轨迹图,并求出系统临界阻尼时对应的K值及其闭环极点。解由题意,系统闭环特征多项式为0)4(2042044)(22sKssKKssssD等效开环传递函数204)4()(2*sssKsG下面调用rlocus命令绘制根轨迹,M文件example3如下:G=tf([14],[1420]);%建立等效开环传递函数模型figure(1)pzmap(G);%绘制零极点分布图figure(2)rlocus(G);%绘制根轨迹-4-3.5-3-2.5-2-1.5-1-0.50-4-3-2-101234Pole-ZeroMapRealAxisImaginaryAxis-18-16-14-12-10-8-6-4-202-5-4-3-2-1012345RootLocusRealAxisImaginaryAxis以上即为所得到的零极点分布图和根轨迹图。为了计算系统临界阻尼时对应的K值和对应的闭环极点,可在上述M文件执行之后,在MATLAB命令窗口中键入下列命令:rlocfind(G)%确定增益及其相应的闭环极点执行rlocfind命令后,MATLAB将在根轨迹图上出现“+”提示符,通过鼠标将提示符移到根轨迹上相应的位置,然后按回车键,于是所选闭环极点及其对应的参数K就会在命令行中显示。4.控制系统的频率分析伯德图命令格式:[mag,phase,w]=bode(sys)当缺省设输出变量时,bode命令可以直接绘制伯德图;否则,将只计算计算幅值和相角,并将计算结果分别存放在向量mag和phase中。另外,margin命令也可以绘制伯德图,并直接得出幅值裕度、相角裕度及其对应的截止频率、穿越频率。其命令格式如下:命令格式:[Gm,Pm,Wcg,Wcp]=margin(sys)当缺省输出变量时,margin命令可直接绘制伯德图,并且将幅值裕度、相角裕度及其对应的截止频率、穿越频率标注在图形标题端。尼柯尔斯图命令格式:[mag,phase,w]=nichols(sys)当缺省输出变量时,nichols命令可直接绘制尼柯尔斯图。奈奎斯特图命令格式:[re,im,w]=nyquist(sys)当缺省输出变量时,nyquist命令可直接绘制奈奎斯特图。综合运用(系统稳定性的频域分析)例C-4已知单位负反馈系统的开环传递函数为1624.32081.16042.246401280)(234ssssssG试绘制其伯德图,尼柯尔斯图和奈奎斯特图,并判别闭环系统的稳定性。解MATLAB程序:example4.mG=tf([1280640],[124.21604.81320.2416]);%建立开环系统模型figure(1)margin(G);%绘制伯德图,计算幅值裕度、相角裕度figure(2)%及其截止频率、穿越频率nichols(G);%绘制尼柯尔斯图axis([-2700-4040]);grid%设定尼柯尔斯图的坐标范围,并绘制网格figure(3)nyquist(G)%绘制奈奎斯特图axisequal%调整纵横坐标比例,保持原形运行程序后,个图如下所示,其中“+”表示(-1,j0)点所在位置。由于系统无右半平面的开环极点,故奈奎斯特曲线不包围(-1,j0)点,系统稳定。另外,系统的幅值裕度h=29.5Db、相角裕度9.72,相应的截止频率sradc/904.0、穿越频率sradx/9.39。由奈氏判据知,系统闭环稳定。-150-100-50050Magnitude(dB)10-310-210-1100101102103-270-180-900Phase(deg)BodeDiagramGm=29.5dB(at39.9rad/sec),Pm=72.9deg(at0.904rad/sec)Frequency(rad/sec)-270-225-180-135-90-450-40-30-20-100102030406dB3dB1dB0.5dB0.25dB0dB-1dB-3dB-6dB-12dB-20dB-40dBNicholsChartOpen-LoopPhase(deg)Open-LoopGain(dB)-1001020304050-25-20-15-10-50510152025NyquistDiagramRealAxisImaginaryAxis5.控制系统的校正借
本文标题:自动控制系统简明教程-程序
链接地址:https://www.777doc.com/doc-2117258 .html