自动控制原理课程设计(15页).doc
-自动控制原理课程设计-第 15 页课程设计报告( 20122013 年度 第 1 学期)名 称: 自动控制理论课程设计 题 目:基于自动控制理论的性能分析与校正 院 系: 自动化系 班 级: 1001班 学 号: 201002020122 学生姓名: 吴国昊 指导教师: 刘鑫屏老师 设计周数: 1周 成 绩: 日期: 2012年 12 月 31 日一、课程设计的目的与要求一、 设计题目基于自动控制理论的性能分析与校正二、 目的与要求本课程为自动控制理论A的课程设计,是课堂的深化。设置自动控制理论A课程设计的目的是使MATLAB成为学生的基本技能,熟悉MATLAB这一解决具体工程问题的标准软件,能熟练地应用MATLAB软件解决控制理论中的复杂和工程实际问题,并给以后的模糊控制理论、最优控制理论和多变量控制理论等奠定基础。作为自动化专业的学生很有必要学会应用这一强大的工具,并掌握利用MATLAB对控制理论内容进行分析和研究的技能,以达到加深对课堂上所讲内容理解的目的。通过使用这一软件工具把学生从繁琐枯燥的计算负担中解脱出来,而把更多的精力用到思考本质问题和研究解决实际生产问题上去。通过此次计算机辅助设计,学生应达到以下的基本要求:1.能用MATLAB软件分析复杂和实际的控制系统。2.能用MATLAB软件设计控制系统以满足具体的性能指标要求。3.能灵活应用MATLAB的CONTROL SYSTEM 工具箱和SIMULINK仿真软件,分析系统的性能。三、 主要内容1前期基础知识,主要包括MATLAB系统要素,MATLAB语言的变量与语句,MATLAB的矩阵和矩阵元素,数值输入与输出格式,MATLAB系统工作空间信息,以及MATLAB的在线帮助功能等。2控制系统模型,主要包括模型建立、模型变换、模型简化,Laplace变换等等。3控制系统的时域分析,主要包括系统的各种响应、性能指标的获取、零极点对系统性能的影响、高阶系统的近似研究,控制系统的稳定性分析,控制系统的稳态误差的求取。4控制系统的根轨迹分析,主要包括多回路系统的根轨迹、零度根轨迹、纯迟延系统根轨迹和控制系统的根轨迹分析。5控制系统的频域分析,主要包括系统Bode图、Nyquist图、稳定性判据和系统的频域响应。6控制系统的校正,主要包括根轨迹法超前校正、频域法超前校正、频域法滞后校正以及校正前后的性能分析。四、 进度计划序号设计内容完成时间备注1基础知识、数学模型2012年12月31日2时域分析法、频域分析2013年1月4日3根轨迹分析、系统校正2013年1月5日4整理打印课程设计报告,并答辩2013年1月6日五、 设计成果要求上机用MATLAB编程解题,从教材或参考书中选题,控制系统模型、控制系统的时域分析法、控制系统的根轨迹分析法、控制系统的频域分析法每章选择两道题。第六章校正选四道,其中根轨迹超前校正一道、根轨迹滞后校正一道、频域法超前校正一道、频域法滞后校正一道。并针对上机情况打印课程设计报告。课程设计报告包括题目、解题过程及程序清单和最后的运行结果(曲线),课程设计总结或结论以及参考文献。 学生姓名: 指导教师: 年 月 日二、设计正文1.基础知识、数学模型题目一:求控制系统的闭环传递函数(如图)方法一(在Matlab中直接编程建模)MaG1=tf(10,1 1);G2=tf(2,1 1 0);H2=tf(1 2,1 3);H1=tf(5 0,1 6 8);GH=feedback(G2,H2,+1);Gc=GH*G1;G=feedback(Gc,H1)结果为:Transfer function: 20 s3 + 180 s2 + 520 s + 480-s6 + 11 s5 + 43 s4 + 67 s3 + 118 s2 + 252 s - 32方法二:(用Matlab软件的simulink工具搭建模型)求传递函数模型如下:输入下列程序:A,B,C,D=linmod('untitled');%将模型转为状态空间模型num,den=ss2tf(A,B,C,D);printsys(num,den,'s') %将模型转为传递函数模型运行结果为num/den = 7.1054e-015 s5 + 3.5527e-014 s4 + 20 s3 + 180 s2 + 520 s + 480 - s6 + 11 s5 + 43 s4 + 67 s3 + 118 s2 + 252 s - 32 可以看出仿真产生了很小的误差,但是不影响实际作用分析:经过第一个题的尝试,我已经能够运用Matlab软件建立一些系统模型能建立一些相对复杂的模型,并求出它的传递函数,这个对我们的实际生活工作时很有用的,工作中,很多系统的复杂程度超出了人工运算,只有能用计算机建模,分析不仅运算速度大大加快,而且准确率提高! 同时,在题中尝试使用simulink工具搭建模型解答,这种方法能够大大缩短我们的编程实践,如果有复杂题目,我们应该使用simulink搭建模型进行仿真,可以的出与理论结果相差很小的结果!题目二:已知一系统的传递函数 求其零极点及增益 并画出零极点图。 程序如下:num=1 4 11;den=conv(1 6 3,1 2 0);G=tf(num,den)z,p,k=zpkdata(G,'v');pzmap(G)Transfer function: s2 + 4 s + 11-s4 + 8 s3 + 15 s2 + 6 sz = -2.0000 + 2.6458i-2.0000 - 2.6458ip = 0 -5.4495 -2.0000 -0.5505 k = 1 分析:题目二是求零极点模型和增益,零极点模型在控制系统中很重要,因为它是根轨迹分析的基础,通过这个题,我会构建一个函数的零极点模型,画零极点图。从数学模型入手研究自动控制系统,利用控制系统的数学模型,就可以撇开系统具体的物理模型,探究系统的共同规律,可以对控制系统有普遍意义上的研究。2.控制系统的时域分析 题目三:已知单位负反馈系统的的开环传递函数为G=是判断次闭环系统的稳定性。解:首先要求闭环系统的特征多项式,程序代码如下:运行结果为:dens = s4 + 4.3 s3 + 4.3 s2 + 1.4 s + 0.4z=-2;p=0 -0.5 -0.8 -3;k=0.2;Go=zpk(z,p,k);Gc=tf(feedback(Go,1);dc=Gc.den;dens=poly2str(dc1,'s')根据特征多项式,求其特征根来判断系统稳定性。运行结果如下p = -3.0121 -1.0000 -0.1440 + 0.3348i -0.1440 - 0.3348i程序如下:den=1 4.3 4.3 1.4 0.4;p=roots(den)由于只有负实轴的特征根,所以此系统是稳定的。分析:题目三讨论的问题是我们学习这门课程的一个很重要的方面稳定性,我们在生活工作中研究一个系统往往都是想把它投入使用造福人类,而系统的稳定性与否,与系统的实用性息息相关,此题是通过求系统闭环函数的特征跟来判断稳定与否,如果特征跟位于坐标平面作伴平面,则系统稳定,反之不稳定,我们在设计,制造控制系统的时候就有法可依,做了这个题目以后,我能够很快的在计算机上得出系统稳定与否,为我们下一步研究奠基,只有系统稳定可行了,我们才能做出一个稳定使用的系统!题目三也给我们提供一种方法求稳定新,即看其特征根分布!题目四:典型二阶系统传递函数为Gc(s)= 1.对于 , 求闭环系统的单位阶跃响应2将阻尼比的只固定在0.55,绘制在各频率 下的单位响应阶跃曲线1. 程序如下:wn=1; zetas=0:0.1:1,2,3,4,5;t=0:0.1:12;hold onfor i=1:length(zetas)Gc=tf(wn2,1,2*zetas(i)*wn,wn2);step(Gc,t)endgrid on,hold offmatlab运行后曲线如下:2.程序如下: wn=0.1:0.1:1;z=0.55;t=0:0.1:12;hold onfor i=1:length(wn) Gc=tf(wn(i)2,1,2*z*wn(i),wn(i)2); step(Gc,t)endgrid on, hold off运行结果; 分析:题目四通过对典型二阶系统不同阻尼,不同频率进行了分析,通过第一问,我们可以得出结论:过阻尼(>1)的时候时间响应的调节时间最长,进入稳态很慢,没有超调量。临界阻尼()没有超调量且响应时间较过阻尼小。无阻尼()的时候系统表现出等幅震荡,没有稳态。欠阻尼()的时候上升时间很快调节时间很短,但是有超调量,但是如果选择合适的可能使超调量较小,调节时间较短,这在我们实际设计控制系统中有指导作用,我们应该重点研究欠阻尼的情况,力求控制系统性能最优!通过第二问,可以的出结论当振荡频率增加时,系统的响应速度加快,但是响应曲线的峰值保持不变,也可以利用这点,对系统的快速性进行调整! 3.控制系统的根轨迹分析 题目五:已知反馈系统的开环传递函数为G(s)=试绘制系统的根轨迹。并求当系统阶跃响应单调收敛时K的值。解题程序如下: num=1 2 4;den1=conv(1 0,1 4);den2=conv(1 6,1 1.4 1);den=conv(den1,den2);G=tf(num,den);rlocus(G);hold on;grid off; axis(-8 2 -5 5); 运行结果如下:分析:题目五是对一个较复杂的系统,用软件绘制其根轨迹,这个题让我对rlocus函数,axis函数,hold on ,grid off等绘图时用到的重要函数语句有了一定的了解并可从途中给出的信息知道当0<k<9.49时,系统的阶跃响应单调收敛,在图中也可以对系统稳定性作出判定,当K值使根轨迹在左半平面时,系统是稳定的,反之不稳定。题目六:如图,试求采样周期分别为T=2s,1s,0.5s时,用根轨迹分析使闭环系统稳定k的取值范围。程序如下:z=;p=0 -1;k=1;Gzpk=zpk(z,p,k);G=tf(Gzpk);for T=2 1 0.5Gd=c2d(G,T);rlocus(Gd);hold on;axis equal;endset(findobj('marker','x'),'markersize',8);set(findobj('marker','x'),'linewidth',1.5); set(findobj('marker','o'),'markersize',8); set(findobj('marker','o'),'linewidth',1.5);结果如下:由图中数据显示可知,当采样周期为T=2s时,0<k<1.49闭环系统稳定,采样周期为T=1s时,0<k<2.41闭环系统稳定;当采样周期为T=0.5s时,0<k<4.37闭环稳定 分析:题目五是在离散系统下取不同的采样时间后通过根轨迹分析其稳定性,离散系统在生活中很常见,研究离散系统也是我们这门课程的重点。我们知道离散系统中,如果根落在以原点为圆心的单位圆中,那么系统稳定,反之不稳定,通过这道题的上机训练,让我对离散系统稳定行的判定有新一步认识,当系统中增益K对稳定性的影响未知时,可以通过这种方法,将与单位圆的交点信息获得后,就可以得出K与系统稳定性的关系,大大提高我们的工作效率!4.控制系统的频域分析 题目七:已知系统开环传递函数为Go(s)=试绘制系统伯德图,并求系统相角稳定裕量和幅值稳定裕量。解:绘制对数幅频曲线,并确定相角稳定裕量和幅值稳定裕量程序如下:num=500*0.0167 1;den1=conv(1 0,0.05 1);den2=conv(0.0025 1,0.001 1);den=conv(den1,den2);Go=tf(num,den);w=logspace(0,4,50);bode(Go,w)margin(Go)Gm,Pm,Wcg,Wcp=margai(Go)从图中可看出Gm=17.1DB; Pm=45.5deg 分析:题目八从系统的伯德图出发,分析了系统的稳定性,并且求出了一个工程上很重要的问题,稳定裕量,工程上由于现场环境的原因,一般设计系统的时候都不是临界稳定就可以,我往往留出一定的裕量,这样在环境变化的时候系统能够稳定安全的运行,这个题目的研究,也是为我们做系统校正的理论基础。题目八:系统的开环传递函数为G(s)=绘制奈氏曲线,并判断稳定性,而后用脉冲响应检验。画奈奎斯特曲线程序如下: 用阶跃响应验证的程序如下:num=5; num=5; den=conv(1 2,1 2 5); den=conv(1 2,1 2 5);G=tf(num,den); G=tf(num,den);nyquist(G) step(feedback(G,1)从奈奎斯特曲线中可以看出曲线与实轴的交点在(-0.191,0j)奈氏曲线不包含(-1,j0)点,并且开环系统不含有不稳定极点,即没有右半平面根,根据z=p-N得出z=0,系统稳定。右边的单位阶跃响应也显示,经过一段时间的调节,系统趋于稳定! 分析:题目八 是一道用奈氏判据判断系统稳定性的题目,通过这个题目,我学会使用matlab绘制题目的奈氏曲线,绘制出来后,根据图像给的信息,利用奈氏判据来判断其稳定性,同时,在题目中我也添加了阶跃响应作为验证,得出结果与奈氏判据一样。是我又多了解一种方法判定系统稳定性同时,学会绘制奈氏曲线,也可以进一步分析非线性系统中描述函数法的解答。5.控制系统的校正题目九:(根轨迹超前)已知系统的开环传递函数为Go(s)=,用根轨迹法确定串联校正,使得超调量不超过30%,调节时间不超过8s。解:绘制原系统的根轨迹图,用Matlab控制系统工具箱中根轨迹分析图形界面,程序如下:den=conv(2 1 0,0.5 1);num=1;G=tf(num,den); rltool(G)在系统中添加零极点,得到如下图所示的根轨迹:可知校正环节的函数为G=!随后,在同一坐标下同时绘制出校正前后的阶跃响应程序如下:den=conv(2 1 0,0.5 1);num=1;G1=tf(num,den);Gb=feedback(G1,1)den1=0.17 1;num1=2.6 1;G2=tf(num1,den1);G=feedback(G1*G2,1);step(Gb,' r-',G,'b');hold on;grid on; gtext('校正前') gtext('校正后')Transfer function: 1-s3 + 2.5 s2 + s + 1 分析:题目九从根轨迹的角度出发,通过对系统加上零极点对系统进行校正,在这过程中,我掌握了Matlab中工具箱的运用,通过根轨迹分析界面便可以按照校正原理随意加入零极点,并观察其时域响应,如果不满意可以用橡皮檫清楚,这种方法的优点是十分方便,因为设计者可以根据自己的需要自己调节零极点,直到满足要求。最后的校正结果也令人满意,题目要求的超调量,调节时间全部的满足要求。通过这个题我也理解了根轨迹校正法的原理,在开环中串联上一个超前校正网络,零点作用强于极点作用,根轨迹会向左半平面靠实轴的的方向移动,是系统的动态性能指标得以改善,超调量减小,调节时间加快!题目十:(根轨迹滞后)设单位反馈系统有一个受控对象Go(s)= 设计滞后补偿,是系统满足下列指标1.阶跃响应调整时间小于5s;2.超调量小于17%;速度误差系数不小于10。设置系统的阻尼线,确定主导极点程序如下:运行结果:z= 0.4913zeta=0:0.001:0.99;sigma=exp(-zeta*pi./sqrt(1-zeta.2)*100;plot(zeta,sigma);xlable(zeta);ylable(sigma);z=spline(sigma,zeta,17)1. 查看原系统根轨迹图,确定期望主导极点。程序如下:Go=tf(1,conv(1 3 0,1 6);Rlocus(Go);sgrid(.4913,)由根轨迹图可以读出,期望的主导极点为-1±1.73j。同时可在根轨迹上读出期望几点出增益为28.1,校正前系统的稳态误差系数为Kv=28.1/(3*6)=1.561.按照要求,偶极子的零点和极点的比值应为10/1.561=6.4061.则去Zc=0.01,Px=0.00156则校正环节为Gc(s)=得出校正后系统的开环传递函数为Gc(s)Go(s)=运行下列程序后:p=0 -3 -6 -0.00156;z=-0.01;G=zpk(z,p,1);rlocus(G)sgrid(.4913,)figure(2)k=28.6;step(feedback(k*G,1)n,d=tadata(G,v);Kv=dcgain(28.1*n,0,d) 可得出校正后的根轨迹与阶跃响应与校正后的Kv运行结果为:kv=11.1111 看图中,超调量(=17%)和调节时间(ts=4.36)也满足要求,则设计的校正符合要求!分析:题目十使用根轨迹设计滞后校正,主要用于改善系统中的稳态性能,但是一般对系统的动态性能改变不大,在设计滞后网络时,为了使校正后系统的根轨迹主要分支通过闭环主导极点同时能够大幅提高系统的开环增益,我们设计时就把滞后网络的零极点设置在离虚轴较近的地方,且相互靠近,这样既不会太多影响动态性能,又可以大大提高系统稳态性能,这在我们设计时具有指导作用!题目十一 (频域法超前校正)设被控对象的传递函数为Go(s)=其设计要求为 KV=1000 ,>45o Wc>165rad/s, 20logKg>15dB.解:根据设计要求,K=1000,初步设计时,把,Wc=168 运行以下程序,求的校正装置:K=1000;pm=47;wc=168; ng0=K*1;dg0=conv(1 0,conv(0.001 1,0.1 1);g0=tf(ng0,dg0);t=0:0.001:0.07;w=logspace(0,4); 运行结果为:mu,pu=bode(ng0,dg0,w);Transfer function:0.01917 s + 1-0.001474 s + 1 ngv=polyval(ng0,j*wc);dgv=polyval(dg0,j*wc); g=ngv/dgv;theta=180*angle(g)/pi;alf=ceil(pm-(theta+180)+5);phi=(alf)*pi/180;a=(1+sin(phi)/(1-sin(phi);dbmu=20*log10(mu);mm=-10*log10(a);wgc=spline(dbmu,w,mm);T=1/(wgc*sqrt(a);ngc=a*T,1;dgc=T,1;gc=tf(ngc,dgc)0.01917 s + 1-0.001474 s + 1 可知校正装置的函数为g0c= 将校正结果前后的bode图显示出来程序如下 显示结果如下:g0c=tf(g0*gc);bode(g0,'r-',g0c,'b',w),grid on,gm,pm,wcg,wcp=margin(g0c)Kn=20*log10(gm)gtext('校正前') gtext('校正后') gtext('校正前') gtext('校正后') gm =7.8374pm = 51.3893 wcg =779.4914wcp = 188.1143 从结果中可看出pm>45o, Wc>165rad/s, 20logKg>15dB满足题目要求!将校正前后的阶跃响应图绘出,程序如下b1=feedback(g0,1);b2=feedback(g0c,1);t=0:0.001:0.07 step(b1,t,b2,t)grid ongtext('校正前')gtext('校正后') 分析:题目十一是用频域法做超前校正,校正发生在系统的中频段,当我们在工程中,系统的动态特性不能满足我们的需求,穿越频率和相角裕量偏小的时候,我们可以利用串联超前校正来时穿越频率Wc和相位裕量同时增加,在阶跃响应中,表现在调节时间减小,超调量减小,效果明显。题目十二:(频域法滞后校正)已知反馈系统的开环传递函数为G(s)=设计滞后校正网络,是系统的稳态速度误差系数Kv=30s-1,相位裕量不小于40o解:由系统的静态速度误差系数要求Kv=30s-1,可得K=1500.编写程序进行校正,程序如下:delta=6; %调节参数s=tf('s');G=1500/s/(s+10)/(s+5); %得到原系统 figure(1)margin(G) %查看原系统的稳定裕度figure(2)step(feedback(G,1) %查看原系统的单位阶跃响应ex_pm=42 %期望相位裕度 phi=-180+ex_pm+deta; %期望幅值穿越频率处相位 mag,phase,w=bode(G); %由bode函数返回系统参数wc=spline(phase,w,phi); %由bode函数返回系统参数mag1=spline(w,mag,wc); %期望剪切频率处的原系统幅值magdB20*log10(mag1); %幅值单位转换beta=10(-magdB/20); %求校正器参数betat=1/(beta*(wc/10); %求校正参数tGc=(1+beta*t*s)/(1+t*s); %得到校正模型figure(3)margin(Gc*G); %查看校正后的bode图figure(4)step(feedback(Gc*G,1) %查看校正后的阶跃响应曲线校正前的的bode图(不稳定):校正前的bode图:校正前的阶跃响应:校正后的阶跃响应:分析:本题是用频率法对系统经行之后校正,从得出结果可看出,校正效果很明显,达到了需要的要求,基于bode的滞后校正是利用了滞后网络的高频幅值衰减特性,使校正后幅值的穿越频率下降,借助于校正前系统在该幅值穿越频率处的相位,是系统获得足够的相位裕度!可以得出结论,滞后网络有高频衰减特性,减小系统带宽,降低系统响应速度,当系统响应时间要求不高而对抑制噪声要求高时,我们通常选用串联滞后校正,此外,若系统的稳态性能不满足指标时,也可采用串联滞后校正提高系统稳态精度!三、课程设计总结或结论 设计总结与心得体会: 1.在课程设计初期,我仔细阅读了一些老师给的资料,对整个设计过程有了一定的了解,对课设的立意,选题有初步的认识,可以说是站在巨人的肩膀上。 2.在做完课设以后,我把我以前做过的一些书本上的习题搬到Matlab中,实验结果是令人满意的,达到了举一反三的效果。 3.控制系统模型设计主要是从数学模型入手研究自动控制系统,利用控制系统的数学模型,就可以撇开系统具体的物理模型,探究系统的共同规律,可以对控制系统有普遍意义上的研究。这次设计选取了求传递函数和确定零极点模型,通过这两个题对软件有一个初步认识对后续的研究意义重大。 4.在对系统合理建立模型以后,就可以对系统性能进行分析,在时域分析中选用了判定稳定性和阶跃信号响应的题目,得出结论,线性定常系统稳定的充要条件是:所有闭环特征根全部位于复平面左半平面,并研究了典型二阶系统的阶跃响应,这在工程中运用很广泛,RLC电路,忽略电枢电感后的电动机,弹簧质量阻尼器的系统都属于二阶系统,对二阶系统的研究,得意解决生活中一些实际问题. 5.对根轨迹的研究大致可以的出下列几个观点1.稳定性:要求系统稳定则全部闭环极点在复平面左半平面2.快速性:要求快速性越好,则闭环极点应该远离虚轴以便使阶跃响应中各个分量衰减最快3.工程最佳参数:要求系统的平稳性好则共轭复数极点应位于,的地方、 此外,还研究了离散系统中用根轨迹判断稳定性的方法,离散系统中,如果根落在以原点为圆心的单位圆中,那么系统稳定,反之不稳定。 6.在时域中描述系统较为直观准确,但是对于高阶系统,很难列出他的微分方程,这时我们采用了频域法研究,以控制系统的频率特性做数学模型,不必求解系统的动态方程,通过时域与频域之间的关系分析来解决问题。 7.工程实际中,我们常常按照一定的性能指标要求去设计一个系统,当一个系统的部分性能指标不能满足要求,我们就得对它做适当的调整,这就是校正!通过校正的 学习,我现在能很好的对一个系统进行调整,并且明白了超前后之后校正的使用场合及作用,可以说对我以后的学习工作有很大启发! 8.在这次课程设计的过程汇总,我再一次对自动控制原理全部知识做到了一个很好的结合领悟,让后将其运用到实际中,在过程中,我也得到了老师同学们的法大力帮助,特别是我的指导教师刘鑫屏老师,在此表示衷心感谢!四、参考文献1 赵广元. MATLAB与控制系统仿真. 北京航空航天大学出版社 第一版 2009.62王海英 吴勃 控制系统的MATLAB仿真与设计 高等教育出版社 第一版 2009.23丁希宁 孙建平 自动控制原理 中国电力出版社 第二版 2007.2 4 刘坤,刘翠响 matlab自动控制原理习题精解 国防工业出版社 第一版 2004年5王正林 王胜开 MATLAB/Simulink与控制系统仿真 电子工业出版社 第一版 2005年6瞿亮,凌民 基于MATLAN的控制系统计算机仿真 清华大学出版社 第一版 2006年