实验6线性系统的根轨迹

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验六线性系统的根轨迹一、实验目的1.熟悉MATLAB用于控制系统中的一些基本编程语句和格式。2.利用MATLAB语句绘制系统的根轨迹。3.掌握用根轨迹分析系统性能的图解方法。4.掌握系统参数变化对特征根位置的影响。二、基础知识及MATLAB函数根轨迹是指系统的某一参数从零变到无穷大时,特征方程的根在s平面上的变化轨迹。这个参数一般选为开环系统的增益K。课本中介绍的手工绘制根轨迹的方法,只能绘制根轨迹草图。而用MATLAB可以方便地绘制精确的根轨迹图,并可观测参数变化对特征根位置的影响。假设系统的对象模型可以表示为nnnnmmmmasbsasbsbsbsbKsKGsG11111210)()(系统的闭环特征方程可以写成0)(10sKG对每一个K的取值,我们可以得到一组系统的闭环极点。如果我们改变K的数值,则可以得到一系列这样的极点集合。若将这些K的取值下得出的极点位置按照各个分支连接起来,则可以得到一些描述系统闭环位置的曲线,这些曲线又称为系统的根轨迹。1)绘制系统的根轨迹rlocus()MATLAB中绘制根轨迹的函数调用格式为:rlocus(num,den)开环增益k的范围自动设定。rlocus(num,den,k)开环增益k的范围人工设定。rlocus(p,z)依据开环零极点绘制根轨迹。r=rlocus(num,den)不作图,返回闭环根矩阵。[r,k]=rlocus(num,den)不作图,返回闭环根矩阵r和对应的开环增益向量k。其中,num,den分别为系统开环传递函数的分子、分母多项式系数,按s的降幂排列。K为根轨迹增益,可设定增益范围。例3-1:已知系统的开环传递函数924)1()(23ssssKsG,绘制系统的根轨迹的MATLAB的调用语句如下:num=[11];%定义分子多项式den=[1429];%定义分母多项式rlocus(num,den)%绘制系统的根轨迹grid%画网格标度线xlabel(‘RealAxis’),ylabel(‘ImaginaryAxis’)%给坐标轴加上说明title(‘RootLocus’)%给图形加上标题名则该系统的根轨迹如图3-1所示:若上例要绘制K在(1,10)的根轨迹图,则此时的MATLAB的调用格式如下,对应的根轨迹如图3-2所示。num=[11];den=[1429];k=1:0.5:10;rlocus(num,den,k)2)确定闭环根位置对应增益值K的函数rlocfind()在MATLAB中,提供了rlocfind函数获取与特定的复根对应的增益K的值。在求出的根轨迹图上,可确定选定点的增益值K和闭环根r(向量)的值。该函数的调用格式为:[k,r]=rlocfind(num,den)执行前,先执行绘制根轨迹命令rlocus(num,den),作出根轨迹图。执行rlocfind命令时,出现提示语句“Selectapointinthegraphicswindow”,图3-1系统的完整根轨迹图形图3-2特定增益范围内的根轨迹图形即要求在根轨迹图上选定闭环极点。将鼠标移至根轨迹图选定的位置,单击左键确定,根轨迹图上出现“+”标记,即得到了该点的增益K和闭环根r的返回变量值。例3-2:系统的开环传递函数为253865)(232sssssKsG,试求:(1)系统的根轨迹;(2)系统稳定的K的范围;(3)K=1时闭环系统阶跃响应曲线。则此时的MATLAB的调用格式为:G=tf([1,5,6],[1,8,3,25]);rlocus(G);%绘制系统的根轨迹[k,r]=rlocfind(G)%确定临界稳定时的增益值k和对应的极点rG_c=feedback(G,1);%形成单位负反馈闭环系统step(G_c)%绘制闭环系统的阶跃响应曲线则系统的根轨迹图和闭环系统阶跃响应曲线如图3-2所示。其中,调用rlocfind()函数,求出系统与虚轴交点的K值,可得与虚轴交点的K值为0.0264,故系统稳定的K的范围为),0264.0(K。3)绘制阻尼比和无阻尼自然频率n的栅格线sgrid()当对系统的阻尼比和无阻尼自然频率n有要求时,就希望在根轨迹图上作等或等n线。MATLAB中实现这一要求的函数为sgrid(),该函数的调用格式为:sgrid(,n)已知和n的数值,作出等于已知参数的等值线。sgrid(‘new’)作出等间隔分布的等和n网格线。(a)根轨迹图形(b)K=1时的阶跃响应曲线图3-2系统的根轨迹和阶跃响应曲线例3-3:系统的开环传递函数为)2)(1(1)(ssssG,由rlocfind函数找出能产生主导极点阻尼=0.707的合适增益,如图3-3(a)所示。G=tf(1,[conv([1,1],[1,2]),0]);zet=[0.1:0.2:1];wn=[1:10];说明:sgrid:在现存的屏幕根轨迹或零极点图上绘制出自然振荡频率wn、阻尼比矢量z对应的格线。sgrid(‘new’):是先清屏,再画格线。sgrid(z,wn):则绘制由用户指定的阻尼比矢量z、自然振荡频率wn的格线添加:sgrid(‘new’);或clesgrid(zet,wn);holdon;rlocus(G)[k,r]=rlocfind(G)Selectapointinthegraphicswindowselected_point=-0.3791+0.3602ik=0.6233r=-2.2279-0.3861+0.3616i-0.3861-0.3616i同时我们还可以绘制出该增益下闭环系统的阶跃响应,如图3-3(b)所示。事实上,等或等n线在设计系补偿器中是相当实用的,这样设计出的增益K=0.6233将使得整个系统的阻尼比接近0.707。由下面的MATLAB语句可以求出主导极点,即r(2.3)点的阻尼比和自然频率为G_c=feedback(G,1);step(G_c)dd0=poly(r(2:3,:));wn=sqrt(dd0(3));zet=dd0(2)/(2*wn);[zet,wn]ans=0.72990.5290我们可以由图3-3(a)中看出,主导极点的结果与实际系统的闭环响应非常接近,设计的效果是令人满意的。4)基于根轨迹的系统设计及校正工具rltoolMATLAB中提供了一个系统根轨迹分析的图形界面,在此界面可以可视地在整个前向通路中添加零极点(亦即设计控制器),从而使得系统的性能得到改善。实现这一要求的工具为rltool,其调用格式为:rltool或rltool(G)例3-4:单位负反馈系统的开环传递函数)50)(20)(5(125.0)(2ssssssG输入系统的数学模型,并对此对象进行设计。den=[conv([1,5],conv([1,20],[1,50])),0,0];num=[1,0.125];G=tf(num,den);rltool(G)该命令将打开rltool工具的界面,显示原开环模型的根轨迹图,如图3-4(a)所示。单击该图形菜单命令Analysis中的ResponsetoStepCommand复选框,则将打开一个新的窗口,绘制系统的闭环阶跃响应曲线,如图3-4(b)所示。可见这样直接得出的系统有很强的振荡,就需要给这个对象模型设计一个控制器来改善系统的闭环性能。(a)根轨迹上点的选择(b)闭环系统阶跃响应图3-3由根轨迹技术设计闭环系统单击界面上的零点和极点添加的按钮,可以给系统添加一对共轭复极点,两个稳定零点,调整它们的位置,并调整增益的值,通过观察系统的闭环阶跃响应效果,则可以试凑地设计出一个控制器)84.03.61)(84.03.61()26.10)(31.38(29.181307)(jsjssssGC在此控制器下分别观察系统的根轨迹和闭环系统阶跃响应曲线。可见,rltool可以作为系统综合的实用工具,在系统设计中发挥作用。三、实验内容1.请绘制下面系统的根轨迹曲线)136)(22()(22sssssKsG程序G=tf(1,[conv([1,6,13],[1,2,2]),0]);rlocus(G);%绘制系统的根轨迹[k,r]=rlocfind(G)%确定临界稳定时的增益值k和对应的极点rK的取值范围:0—33.3745a)原对象模型的根轨迹(b)闭环系统阶跃响应图3-4根轨迹设计工具界面及阶跃响应分析)10)(10012)(1()12()(2sssssKsGG=tf([1,12],[conv(conv([1,1],[1,12,100]),[1,10])]);rlocus(G);%绘制系统的根轨迹[k,r]=rlocfind(G)K的取值范围:0--1.1207e+003)11.0012.0)(10714.0()105.0()(2ssssKsGG=tf([0.05,1],[conv([0.0714,1],[0.012,0.1,1]),0]);rlocus(G);%绘制系统的根轨迹[k,r]=rlocfind(G)%确定临界稳定时的增益值k和对应的极点rK的取值范围:0--8.0491同时得出在单位阶跃负反馈下使得闭环系统稳定的K值的范围。2.在系统设计工具rltool界面中,通过添加零点和极点方法,试凑出上述系统,并观察增加极、零点对系统的影响。)136)(22()(22sssssKsG程序G=tf(1,[conv([1,6,13],[1,2,2])]);rltool(G)利用拼凑法,添加一个极点:0之后)10)(10012)(1()12()(2sssssKsGG=tf(1,[conv(conv([1,1],[1,12,100]),[1,10])]);rltool(G)添加一个零点:-12)11.0012.0)(10714.0()105.0()(2ssssKsGG=tf(1,conv([0.0714,1],[0.012,0.1,1]));rltool(G)同时添加一个极点:0,一个零点:-20可见:增加零点,可以使系统更加稳定,增加极点之后,会使系统更加不稳定四、实验报告1.根据内容要求,写出调试好的MATLAB语言程序,及对应的结果。2.记录显示的根轨迹图形,根据实验结果分析根轨迹的绘制规则。3.根据实验结果分析闭环系统的性能,观察根轨迹上一些特殊点对应的K值,确定闭环系统稳定的范围。4.根据实验分析增加极点或零点对系统动态性能的影响。5.写出实验的心得与体会。五、预习要求1.预习实验中的基础知识,运行编制好的MATLAB语句,熟悉根轨迹的绘制函数rlocus()及分析函数rlocfind(),sgrid()。2.预习实验中根轨迹的系统设计工具rltool,思考该工具的用途。3.掌握用根轨迹分析系统性能的图解方法,思考当系统参数K变化时,对系统稳定性的影响。4.思考加入极点或零点对系统动态性能的影响。实验体会:通过实验,了解了系统的零极点对系统稳定性的影响。学会了使用MATLAB语句绘制系统的根轨迹。并利用根轨迹分析系统性能的图解方法。

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功