4根轨迹设计法.docx
《4根轨迹设计法.docx》由会员分享,可在线阅读,更多相关《4根轨迹设计法.docx(17页珍藏版)》请在冰点文库上搜索。
4根轨迹设计法
控制器的根轨迹设计法
在本教程中,我们将介绍根轨迹,如何用MATLAB创建它,如何用根轨迹设计反馈控制来满足一定的性能标准。
本教程中用到MATLAB中的关键命令有:
feedback ,rlocus,step,sisotool
•闭环极点
•绘制传递函数的根轨迹
•从根轨迹选择K的值
•闭环响应
•使用SISOTOOL根轨迹设计
闭环极点
一个开环传递函数的的根轨迹是在比例增益和单位反馈下所有闭环极点位置的轨迹。
闭环传递函数是:
(1)
因而闭环系统的闭环极点的极点是s使得
=0的值。
如果我们写成,这方程有这种形式:
(2)
(3)
令n=
的阶,m=
的阶(阶位多项式的s的最高幂)。
我们考虑所有K的正直,当K的极限趋于零时,系统的极点为
=0的值或者为
的极点。
当K的极限趋于无穷时,闭环系统的极点为
=0或者
的零点。
无论我们选K是什么值,闭环系统必须有n的极点,n为
的极点个数。
根轨迹必须有n个分支,每个分支开始于
的极点终止于
的零点。
如果
的极点数多于零点数(大多数情况),,我们说
有零点在无穷大。
在这种情况下,当s趋于无穷大的时候的极限是零。
在无穷大的零点个数是n-m个,即极点个数减去零点个数,是根轨迹的分支趋向无穷大的个数。
由于根轨迹实际上是所有可能的闭环极点的位置,我们可以选择增益,使得我们的闭环系统将执行我们想要的方式。
如果任何选定的极点都在右半平面,则闭环系统将不稳定。
最接近于虚轴的极点对闭环响应的影响最大,因此,即使该系统具有三个或四个极点,它可能仍像一个二阶系统甚至一阶系统取决于主导极点为位置。
绘制传递函数的根轨迹
考虑一个开环系统我们可以得到一个传递函数
(4)
如何用根轨迹的方法设计一个反馈控制器?
我们的标准是5%的超调量和一秒的上升时间。
新建一个m文件命名为r1.m。
输入传递函数,和命令绘制根轨迹:
s=tf('s');
sys=(s+7)/(s*(s+5)*(s+15)*(s+20));
rlocus(sys)
axis([-223-1515])
从根轨迹选择K的值
上面图中显示为一个纯比例控制器的所有可能的闭环极点位置。
显然,并非所有的闭环极点将满足我们的设计标准,以确定根轨迹的那部分是可以接受的,我们可以使用命令sgrid(Zeta,wn)来绘制恒定阻尼比和自然频率线。
它的两个参数是阻尼比和固有频率(这些可能是向量,如果你想看看一组可接受的值)。
在我们的问题,我们需要超调量小于5%(即大于0.7的阻尼比)和1秒的上升时间(即固有频率大于1.8)。
在MATLAB命令窗口输入以下命令:
Zeta=0.7;
Wn=1.8;
sgrid(Zeta,Wn)
关于上面的图, 在约45度角的两条虚线表示与
=0.7极点位置,在这些线之间,极点将有
>0.7和线以
<0.7。
半圆表示极点位置固有频率
=1.8;圈子里面
<1.8和圈外
>1.8。
回到我们的问题,以超调量小于5%,则极有可能处于两种白色虚线之间,并且使上升时间少于一秒,极点必须是白色虚线半圆的外。
所以,现在我们知道的轨迹只有部分的半圆之外,介于两行线间的是可以接受的。
所有极点的位置是在左半平面,因此闭环系统将是稳定的。
从上述曲线图,我们看到,根轨迹的一部分有在所需的区域内。
所以在这种情况下,我们只需要一个比例控制器来移动极点所需的区域。
您可以使用rlocfind命令在MATLAB中选择的轨迹所需的的极点:
点击图上你想要的闭环极点是点。
你可能要选择满足设计标准所指示的点。
请注意,由于根轨迹可能有多个分支,当您选择一个极点,你可能想找出另一些极点。
请记住,他们会影响响应。
从上图中,我们可以看到,所有选定的极点是在合理的位置上。
我们可以继续使用所选K作为我们的比例控制器。
闭环响应
为了得到阶跃响应,你需要知道闭环传递函数。
你可以用框图规则计算,也可用MATLAB(没有必要输入K的值如果用rlocfind)
K=350;
sys_cl=feedback(K*sys,1)
sys_cl=
350s+2450
--------------------------------------
s^4+40s^3+475s^2+1850s+2450
Continuous-timetransferfunction.
feedback函数的两个参数是开环系统的分子和分母。
需要包括您所选择的比例增益。
假设单位反馈。
如果不是单位反馈的情况,查看feenback函数的帮助文件,你能找到闭环传递函数反馈环节带增益的情况。
查看闭环传递函数的阶跃响应:
step(sys_cl)
正如我们预期的,响应的超调量小于5%,上升时间小于1秒。
使用SISOTOOL根轨迹设计
使用SISOTOOL根轨迹设计
完成上面所做的另一种方式是用MATLABGUI称作sisotool。
用上面同样的模型,首先定义
。
s=tf('s');
plant=(s+7)/(s*(s+5)*(s+15)*(s+20));
sisotool函数可以用来设计和分析。
既然这样,我们可用根轨迹的设计方法改善阶跃响应。
首先,在MATLAB中的命令窗口:
sisotool(plant)
如下的窗口将出现。
首先,选择GraphicalTuning。
进入这个窗口,关闭Plot2,确保Plot1是根轨迹,确保OpenLoop1被选择。
最后,点击ShowDesignPlot。
以同样的方式,选择AnalysisPlots。
这个窗口中,对于Plot1,选择step。
在ContentsofPlots的字窗口中,为Plot1选择ClosedLooprtoy。
如果窗口没有自动弹出,点击ShowAnalysisPlot按钮。
下面要为根轨迹的绘制添加设计要求。
直接在图上单机右键,选择DesignRequirements,New。
Designrequirements可以设置调节时间,超调量,阻尼比,自然频率,或者一个约束区域。
这里没有上升时间的设置,但是可以通过自然频率设置。
我们设置阻尼比和自然频率的值像上面用sgrid的设置一样,
,
=1.8。
在designrequirements中设置这些。
在图中,任意白色的区域为极点可行的区域。
在坐标轴上单击既根轨迹图中的右键,选择属性,然后选择Limits。
把实轴变为-25到25,虚轴变为-2.5到2.5。
同样,我们可以在响应中看到的一些关键参数的当前值。
在阶跃响应,在途中单击右键选择Characteristics,然后选择Response。
同样的方法选择RiseTime。
现在屏幕上应该显示这些参数的两个大点的位置。
点击这些点获得屏幕上的信息。
两个图如下:
阶跃响应显示的特性,超调量可以,但是上升时间慢太多。
为了修正,我应该选择一个K的增益。
类似于rlocfind命令,增援控制可以直接改变根轨迹的图。
点击并拖动粉色的点到可行域内,极点将会有虚数部分,如下所示。
在图的底部,可以看到开环增益已经变为了360。
在阶跃响应中,两个值都满足我们的要求了。
版权所有© Allrightsreserved.Nopartofthispublicationmaybereproducedortransmittedwithouttheexpresswrittenconsentoftheauthors.