东北大学matlab课程设计根轨迹超前校正.docx
《东北大学matlab课程设计根轨迹超前校正.docx》由会员分享,可在线阅读,更多相关《东北大学matlab课程设计根轨迹超前校正.docx(17页珍藏版)》请在冰豆网上搜索。
![东北大学matlab课程设计根轨迹超前校正.docx](https://file1.bdocx.com/fileroot1/2023-1/29/73c3a6b0-b478-451a-9062-97e0a11828ce/73c3a6b0-b478-451a-9062-97e0a11828ce1.gif)
东北大学matlab课程设计根轨迹超前校正
目录
目录1
1课题概述3
1.1课设目的3
1.2根轨迹法超前校正3
1.3Matlab简介4
2根轨迹超前校正法5
2.1根轨迹校正步骤5
2.2根轨迹超前校正设计的具体方法——几何法5
3系统校正7
3.1已知条件及要求7
3.2系统分析7
3.3调节参数a10
3.4零极点配置11
4课设总结16
参考文献16
摘要
近年来,自动控制系统在现代文明和技术的发展与进步中,起着越来越重要的作用。
在工程实践中,有时需要在系统分析的基础上将原有系统的特性加以修正和改造,使系统能够实现给定的性能要求,因此,系统中就需要校正控制器的存在。
时域分析表明,闭环特征根是自然模式的指数系数,决定了系统的响应性能。
根轨迹法的提出让系统中容易设定的参数在可能的范围内连续变化,引起特征根也连续变化,将特征根的变化轨迹在根平面上绘制出来,从中选择有好的响应性能的特征根,对应的参数也就确定了,这是根轨迹分析要完成的任务。
根轨迹分析讨论了影响根轨迹改变的因素。
但当改变参数都找不到适合的特征根时,通过配置具有合适的传递函数的控制器来改变系统的结构,改造系统的根轨迹,从而获得好的特征根,使其满足性能指标。
根轨迹的超前校正使用了Matlab软件,通过它可以对根轨迹进行可视化设计,具有操作简单、界面直观、交互性好、设计效率高等优点、克服了之前超前校正装置往往依赖于试凑的方法,重复劳动多,运算量大,又难以得到满意的结果。
Matlab作为一种高性能软件和编程语言,以矩阵运算为基础,把计算、可视化、程序设计融合到了一个简单易用的交互式工作环境中,是进行控制系统计算机辅助设计的方便可行的实用工具。
因此,随着计算机的发展和Matlab软件的普及,避免了繁琐的计算和绘图过程,从而为线性控制系统的设计提供了一种简单有效地途径。
本文将基于根轨迹法设计超前校正器,并给出它的Matlab实现。
关键词:
根轨迹,超前校正,Matlab
1课题概述
1.1课设目的
已知:
某直流电机控制系统的开环传递函数为
,当k=0.25时,控制以a为变量的根轨迹,用根轨迹法设计串联超前校正装置,使超调量
。
设计要求:
从实际系统中抽象出传递函数,并用Matlab仿真出其结果。
固有传递函数的闭环特征根在S平面上是有确定点的,由这些点确定的响应性能不好时,需要加以改变。
改变开环放大系数能使闭环特征根沿着根轨迹移动,结果有两种情形:
一种情形是开环放大系数在某个数值下或某个取值范围内特征根的分布能够满足系统性能的要求,于是只要调节开环增益就行了;另一情形是根轨迹上没有合乎要求的特征根,这是需要在S平面上先选定一个期望的闭环主导极点,再通过串联合适的校正装置校正根轨迹。
根轨迹串联超前校正就是通过串联零点,或具有零点性质的零极点对来实现的[1]。
1.2根轨迹法超前校正
特征方程的根随某个参数由零变到无穷大时在复数平面上形成的迹称为根轨迹。
在控制系统的分析中,对特征方程根的分布的研究,具有重要的意义。
1948年,伊文斯(W·R·EVANS)提出了直接由系统的开环传递函数确定系统闭环特征根的图解法,即工程上广泛使用的根轨迹法。
利用这一方法可以分析系统的性能,确定系统应有的结构和参数,也可用于校正装置的综合,根轨迹法的基础是系统的传递函数,这一方法仅适用于线性系统。
根轨迹法是一种图解方法,它是古典控制理论中对系统进行分析和综合的基本方法之一。
它描述的是系统某个参数从零变化到无穷大时的闭环极点的位置变化。
由于根轨迹图直观地描述了系统特征方程的根(即系统的闭环极点)在s平面上的分布,因此,用根轨迹法分析自动控制系统十分方便,特别是对于高阶系统和多回路系统,应用根轨迹法比用其他方法更为方便,因此在工程实践中获得了广泛应用。
所谓校正,就是在系统中加入一些其参数可以根据需要而改变的机构或装置,使系统整个特性发生变化,从而满足给定的各项性能指标。
这一附加装置成为校正装置。
加入校正装置后使未校正系统的缺陷得到补偿,这就是校正作用。
无源超前校正网络的传递函数可写为
其中a>1,故超前网络的负实零点总是位于其负实极点之右,起到微分作用,a的值选的越大,则超前网络的微分作用越强[1]。
1.3Matlab简介
Matlab是mathworks公司于1984年推出的数学软件,是一种用于科学工程计算的高效率的高级语言。
Matlab的含义是“矩阵实验室”,主要向用户提供一套非常完善的矩阵运算命令。
Matlab系统由Matlab开发环境、Matlab数学函数库、Matlab语言、Matlab图形处理系统和Matlab应用程序接口(API)五大部分构成。
自上世纪70年代发展以来,经过多年的补充完善以及数个版本的升级换代,逐渐发展为了集图形交互、通用科学计算、程序语言设计和系统控制于一体的庞大软件。
在以商品形式出现后的短短几年时间里,MATLAB就以其很好的开放性和运行的可靠性,使原来在控制领域的封闭式的软件纷纷淘汰。
20世纪90年代,MATLAB就已成为了国际控制界内公认的标准计算软件,在数值计算方面MATLAB超过了30多个数学类科技应用软件,独占鳌头。
Matlab的根轨迹方法允许进行可视化设计,具有操作简单、界面直观、交互性好、设计效率高等优点。
早期超前校正器的设计往往依赖于试凑的方法,重复劳动多,运算量大,又难以得到满意的结果。
MATLAB作为一种高性能软件和编程语言,以矩阵运算为基础,把计算、可视化、程序设计融合到了一个简单易用的交互式工作环境中,是进行控制系统计算机辅助设计的方便可行的实用工具。
因此,随着计算机的飞速发展和MATLAB软件的普及,借助MATLAB,通过编写函数和程序,可以容易地设计出超前校正器,避免了繁琐的计算和绘图过程,从而为线性控制系统的设计提供了一种简单有效的途径。
本论文主要是对经典根轨迹校正设计方法的研究,针对受控对象,设计合适的根轨迹校正控制器,改善系统的性能指标,使系统能够实现给定的性能要求。
2根轨迹超前校正法
2.1根轨迹校正步骤
根轨迹校法在实际中,只调整增益通常是不能获得所希望性能的,因此,必须改造根轨迹,通过引入适当的校正装置来改变原来的的根轨迹。
引入校正装置就是在系统中增加零极点,通过零极点的变化改变根轨迹的形状。
从而使系统根轨迹在S平面上通过希望的闭环极点。
根轨迹法校正的特征是基于闭环系统具有一对主导闭环极点。
本次校正主要采用根轨迹串联超前校正。
根轨迹串联超前校正的一般步骤如下:
(1)根据要求的动态指标确定期望的闭环主导极点,计算该点的零极点矢量辐角,判断是否满足辐角条件,若满足辐角条件,则由幅值条件计算该点的的Kg值,由求得的Kg值计算校正参数即可完成校正任务。
若不满足辐角条件,将辐角差额计算出来,需要由零点性质的传递函数补偿,即根轨迹超前校正。
(2)根据超前相移确定校正网络的零极点值。
(3)由幅值条件计算闭环主导极点处的根轨迹放大系数,并计算校正网络的零极点增益值。
(4)绘制校正后的根轨迹图,将其余的闭环极点和闭环零点计算出来,根据他们的位置分析对闭环主导极点产生影响,并考虑是否调整选定的闭环主导极点以适应他们的影响。
2.2根轨迹超前校正设计的具体方法——几何法
设未校正系统的传递函数为
,超前校正器的传递函数为:
(2-1)
则校正后系统的开环传递函数为:
(2-2)
用根轨迹超前校正几何法的设计步骤如下[2]:
(1)根据要求的动态品质指标,确定闭环主导极点
的位置。
的位置确定后,该点在复平面的相角为:
(2-3)
(2)计算使根轨迹通过主导极点
所需的补偿角
。
补偿角
的计算公式为:
(2-4)
(3)按图1确定
的零极点,可使其附加增益最小,其方法是:
过
点作水平线
,则
。
作
的角平分线
。
在线
两边作
。
线
、
与负实轴的交点坐标分别为b、a,则可确定超前校正器的极、零点:
(2-5)
(4)由根轨迹幅值条件即
(2-6)
计算校正器的增益
。
根据图1,由平面几何的基本知识得:
令
,则
(2-7)
令
,则
(2-8)
令
,则
(2-9)
令
,则
(2-10)
3系统校正
3.1已知条件及要求
已知条件:
系统的开环传递函数为:
,其中,k=0.25;
要求:
控制以a为变量的根轨迹,用根轨迹法设计串联超前校正装置,使超调量
。
从实际系统中抽象出传递函数,并用Matlab仿真出其结果。
3.2系统分析
根据所给定的开环传递函数可以用MATLAB作出其初始的根轨迹图:
因为是以a为变量的根轨迹,所以所得到的轨迹为广义根轨迹。
广义根轨迹是指以非开环增益为可变参数绘制的根轨迹。
绘制广义根轨迹与绘制常规根轨迹完全相同,只是在绘制广义根轨迹之前,需化为等效单位反馈系统和等效传递函数。
由系统开环传递函数得系统特征方程:
等效开环传递函数为:
即可得系统广义根轨迹方程:
其中
。
在matlab命令窗口中键入如下命令:
clear;
num=[1];
den=[110.250];
G=tf(num,den);
rlocus(G)
即可得系统根轨迹:
图系统广义根轨迹
从图中右边一点可以读出数据:
当增益为0.25时,系统根轨迹交于虚轴上,此时超调量达到100%。
由此可得系统稳定范围:
0即0<0.25a<0.25,即0从图中靠近左边一点可以读出数据:
当增益为Kg=0.0383,即0.25a=0.0383时,系统超调量为10.1%。
但此超调并不是原系统的超调量。
要分析原系统的动态性能,需要对原系统进行响应分析。
当0.25a=0.0383时,原系统开环传递函数为
对系统进行阶跃响应分析:
在Matlab中输入程序如下:
clear
clc
num=[0.250.0383];
den=[1100];
G=tf(num,den);
G_close=feedback(G,1);
step(G_close)
图原系统阶跃响应
从图中可以看出,此时系统的单位阶跃响应,超调量
,远远超过系统要求的性能指标。
当0.25a=0.0383时,
原系统开环传递函数为:
等效系统的开环传递函数为:
原系统的闭环传递函数为:
等效系统的闭环传递函数为:
从上述分析可以看出:
等效后的系统的闭环传递函数的分母与原系统的闭环传递函数的分母相同,即有相同的特征方程和特征根。
但两者的闭环零点不同。
原系统中多了一个零点,所以在响应曲线中表现出超调量变大,使从广义根轨迹中得到的参数点与原系统不符。
即要使原系统的响应曲线满足要求,需要返回到原系统中进行分析,不能只根据广义根轨迹来对系统进行判断,校正[3]。
3.3调节参数a
由上述分析可知,当a取值在(01)中时,系统的根均在虚轴的左半平面,系统稳定。
而且当a取值越小时,等效系统稳定性越好,超调量越小,原系统稳定性也响应增加,超调量响应减小。
因此可以在(01)区间逐步减小a的取值,观察原系统响应曲线是否可以达到系统要求。
原系统的开环传递函数已知,根据所有稳定系统都可以化为单位负反馈的原则,对该系统可以当做单位负反馈处理计算。
因此当系统输入为单位阶跃输入时,系统的期望的输出稳定值也为一个单位值。
系统指标要求超调量小于10%,因此系统输出最大值不应超过1.1,通过Matlab软件计算可得a的取值范围。
程序如下:
clear
clc
a=1;
p=2;
whilep>1.1
a=a-0.001;
G=tf([0.250.25*a],[1100]);
sys=feedback(G,1);
[kt]=step(sys);
p=max(k);
end
step(sys)
a
仿真结果如下:
a=0.031
图系统响应曲线
从上图可以看出,系统超调量已达到9.74%,满足系统要求。
因此,对于本系统,只调节a即可满足系统要求,当a取值越小时,系统超调量越小,所以a的取值范围为(00.031),即在此区间的a可使系统响应满足系统要求。
3.4零极点配置
由上述分析可知,对于原系统,只调节参数a即可满足系统要求。
但是系统的调节时间过长,已在16秒左右,对于实际系统需要进行进一步调节。
当a=0.031时,系统响应曲线即可以满足系统要求。
因此,在此基础上对系统响应时间进行校正,更容易获得满意的响应曲线。
接下来就根据根轨迹超前校正法对系统进行零极点配置,对系统进行校正,以使系统超调满足要求,并且调节时间不至于过长,更加符合实际需要。
(1)原系统要求最大超调量小于等于10%,则可得:
即得:
因此,可取
(2)增加系统调节时间指标要求,设为
确定的自然震荡角频率为
则期望的主导极点为:
(3)原系统开环传递函数零极点坐标分别为:
零点:
(-0.0310)
极点:
(00)、(00)、(-10)
期望主导极点:
(-1.98+2.64j)、(-1.98-2,64j)
从上述比较可得,零点(-0.0310)与极点(00)相对于期望闭环主导极点可近似等效为零极点对,二者对系统的影响可相互抵消。
因此原系统开环传递函数可近似等效为:
通过根轨迹超前校正方法,对上述等效系统进行校正。
Matlab编程如下:
clear
clc
zeta=0.6
wn=3.3
s1=-zeta*wn+sqrt(1-zeta^2)*wn*i;
ng=[0.25];
dg=[110];
ngv=polyval(ng,s1);
dgv=polyval(dg,s1);
g=ngv/dgv;
theta=angle(g);
phic=pi-theta;
phi=angle(s1);
thetaz=(phi+phic)/2;
thetap=(phi-phic)/2;
zc=real(s1)-(imag(s1)/tan(thetaz));
pc=real(s1)-(imag(s1)/tan(thetap));
nc=[1-zc];
dc=[1-pc];
nv=polyval(nc,s1);
dv=polyval(dc,s1);
kv=nv/dv;
kc=abs(1/(g*kv));
kc
Gc=tf(nc,dc)
s=tf([0.25],[110]);
sys=kc*Gc*s;
scop=feedback(sys,1);
step(scop)
运行程序,结果为:
图校正后响应曲线
从仿真图中可以看出,响应曲线超调量不满足要求,但响应时间已经大大减少,缩短了将近十倍。
要使系统超调量跟调节时间均达到比较满意的要求,需要再调节阻尼比跟自然角频率。
当取
,
时,输出响应曲线为:
图系统输出响应曲线
从上图可知,系统超调以达到要求,小于10%,而调节时间略有增加,但也在实际允许范围之内。
因为此系统为对消一对零极点后所得,对此系统需要留有一定的余量,此时:
校正装置为:
(4)将校正装置带入原系统中进行检验。
Matlab中程序如下:
clear
clc
kc=11.5;
Gc=tf([11.112],[12.419]);
s=tf([0.250.25*0.031],[1100]);
ss=kc*Gc*s;
sys=feedback(ss,1);
step(sys)
运行程序后,结果如下:
图原始系统响应曲线
由上图可知,系统超调为9.83%,调节时间为3.68s,基本满足系统要求。
因此最终通过根轨迹校正法得到的串联超前校正装置为:
可使原系统超调量小于10%,并且调节时间也在实际允许范围内。
4课设总结
本课题的设计使我对根轨迹校正有了更深入的了解,为以后的实践工作打下了坚实的基础。
此次的根轨迹串联超前校正的设计真正将自己在课堂上所学到的知识应用到了实际问题中,使自己对知识有了进一步的掌握。
此外,也熟练的掌握了MATLAB这个软件,通过MATLAB软件进行编程与作图仿真。
良好的沟通和团队合作是成功的关键。
本次课设中,各位同学积极交流沟通,各抒己见,大家集思广益,使设计最终能顺利完成。
同时我会在以后的学习、生活中磨练自己,使自己更好的将理论与实践相结合,以取得更好的成果。
参考文献
[1]任彦硕.自动控制原理[M].北京:
机械工业出版社,2008
[2]黄忠霖.自动控制原理的MATLAB实现[M].北京:
国防工业出版社,2007
[3]张德丰.MATLAB自动控制系统设计[M].北京:
机械工业出版社,2010