您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > MATLAB在控制系统根轨迹设计中的应用
2011年西安电子科技大学机电学院论文MATLAB在控制系统根轨迹设计中的应用课程名称:MATLAB程序设计与应用班级:04091202姓名:学号:04091170MATLAB在控制系统根轨迹设计中的应用摘要:论文通过MATLAB在控制系统根轨迹设计中的应用实例,探讨了MATLAB在自动控制课程设计中的应用方法和技巧,对运用计算机辅助软件完成工科自动控制课程设计具有较好的参考价值。关键词:MATLAB控制系统根轨迹应用前言根轨迹校正即是借助根据根轨迹曲线进行校正。系统的期望主导极点往往不在系统的根轨迹上。由根轨迹的理论,加上开环零点或极点可以使根轨迹曲线形状改变。若期望主导极点在原根轨迹的左侧,则需要加上一对零极点,并使零点位置位于极点右侧,通过选择适当的零极点的位置,就能够使系统根轨迹通过期望主导极点s1,并且使此时的稳态增益满足要求,此即为相位超前校正。若在该点的静态特性不满足要求,即对应的系统开环增益K太小,则可以添加一对偶极子,其极点在零点的右侧,从而使系统原根轨迹形状保持不变,而在期望主导极点处的稳态增益得到加大,此即为相位滞后校正。用根轨迹设计校正装置的步骤如下:(1)根据性能指标,确定期望闭环的主导极点s1的位置。(2)确定校正装置零极点的位置,写出校正装置传递函数Gc(s)=Kc(s+Zc)/(s+Pc),Zc和Pc确定方法应根据所选用的校正装置类型采用相应的方法。(3)绘制根轨迹图,确定Kc值。(4)校验,验算主导极点位置和校正后的系统性能。一、问题的描述已知具有单位反馈控制系统的开环传递函数为G(s)=1/[s*(s+5)*(s+15)],试设计超前校正装置,使系统满足:(1)最大超调量σ=30%;(2)调整时间ts=0.5s;二、MATLAB程序设计与仿真我们常采用根轨迹超前校正的几何法来进行根轨迹超前校正设计,下面用该方法分析解决以上问题。1、原系统Simulink仿真模型图如图1图1运行仿真得信号波形为图2图22、超前校正设计(1)确定期望极点在复平面的位置。根据σ=e^(π*β/√(1-ξ×ξ)),ts=3/ξ/ωn(取5%的误差带),用以下语句求ξ:sigma=0.3;zeta=((log(1/sigma))^2/((pi)^2+(log(1/sigma))^2))^(1/2)回车后求得ξ为:zeta=0.3579即ξ=0.3597,取ξ=0.385,则解得:ωn=16.76rad/s.根据根轨迹法则,给出以下MATLAB语句,求在复平面上期望极点的位置:zeta=0.358;wn=16.76;p=[12*zeta*wnwn*wn];roots(p)回车后得结果:ans=-6.0001+15.6492i-6.0001-15.6492i则期望极点的位置为S1,2=-6.0001±15.6492i.(2)求校正补偿器的传递函数。根据前面的分析,给出以下程序Untitled1.m计算校正的传递函数。程序清单如下:s1=-6.0001+15.6492i;ng=1;dg=[120750];ngv=polyval(ng,s1);dgv=polyval(dg,s1);g=ngv/dgv;zeta=angle(g);ifzeta0phic=pi-zeta;elseifzeta0phic=-zeta;endphi=angle(s1);zetaz=(phi+phic)/2;zetap=(phi-phic)/2;zc=real(s1)-imag(s1)/tan(zetaz);pc=real(s1)-imag(s1)/tan(zetap);nc=[1-zc];dc=[1-pc];nv=polyval(nc,s1);dv=polyval(dc,s1);kv=nv/dv;kc=abs(1/(g*kv));ifzeta0;kc=-kc;endkcGc=tf(nc,dc)运行Untitled1.m,可以得到校正器的Kc和传递函数:kc=2.0700e+004Transferfunction:s+3.841---------s+73.12即校正器传递函数为:Gc(s)=20700*(s+3.841)/(s+73.12)校正后的系统传递函数为:Go(s)*Gc(s)=20700*(s+3.841)/(s+73.12)/s/(s+5)/(s+15)(3)校验校正器计算是否符合要求。在这里,我们给出一个自定义的MATLAB函数ste(),用于求系统单位阶跃响应的性能指标:超调量、峰值时间和调节时间。在后面的设计中,可以直接调用该函数,从而方便快捷地得到系统的性能指标。该函数调用格式为[sigma,tp,ts]=ste(y,t)。其中,y,t是对应系统阶跃响应的函数值与其对应的时间,函数返回的是阶跃相应的超调量sigma、峰值时间tp和调节时间ts。函数ste()定义如下:function[sigma,tp,ts]=ste(y,t)[mp,tf]=max(y);cs=length(t);yss=y(cs);sigma=(mp-yss)/yss;tp=t(tf);i=cs+1;n=0;whilen==0i=i-1;ifi==1n=1;elseify(i)1.05*yssn=1;endendt1=t(i);cs=length(t);j=cs+1;n=0;whilen==0j=j-1;ifj==1n=1;elseify(j)0.95*yssn=1;endendt2=t(j);ift2tpift1t2ts=t1;endelseift2tpift2t1ts=t2;elsets=t1;endend根据校正后的结构与参数,调用函数ste(),给出程序Untitled2.m,来求出系统的性能指标及阶跃响应曲线。globalyts2=tf([13.841],[173.12]);s1=tf(20700,[120750]);sope=s1*s2;sys=feedback(sope,1);step(sys)[y,t]=step(sys);[sigma,tp,ts]=ste(y,t)运行该程序,可得到系统的阶跃响应曲线如图3所示并有系统性能指标如下:超调量:sigma=0.2620图3峰值时间:tp=0.2136调节时间:ts=0.3137。3、校正后系统Simulink仿真模型图如图4图4运行后得信号波形如图5所示三、结论由仿真结果可知,校正后系统的阶跃响应品质指标是:调节时间ts=0.3137s0.5s,超调量σ=24.89%30%。因此,阶跃响应品质指标超调量与调节时间均已满足要求。图5参考文献[1]张德丰.MATLAB控制系统设计与仿真.电子工业出版社.2009。[2]刘卫国.MATLAB程序设计与应用.高等教育出版社.2006。[3]左健民.机电控制工程基础.机械工业出版社.2009。[4]王正林.过程控制与Simulink应用.电子工业出版社.2006。
本文标题:MATLAB在控制系统根轨迹设计中的应用
链接地址:https://www.777doc.com/doc-2881971 .html