欢迎光临散文网 会员登陆 & 注册

闭环系统设计【2】——积分控制

2022-05-02 15:23 作者:HD-nuke8800  | 我要投稿

前言

        在上一篇文章中讲到了比例控制存在无法消除稳态误差的问题,将在本篇中予以解决。若未看前一篇文章欢迎回看。

传送门:https://www.bilibili.com/read/cv16415093



正文

1、引言

        还是以上一篇文章中的水池系统为例。我们发现不管怎样设置K值,其始终存在稳态误差,误差值为ess=10/(1+K)。现在把控制系统(注水系统)C拿出来,原设计是C(s)=K,也就是不管输入什么s值一律给出常数K,即比例控制。现在我们直接把K退化为C(s),稳态误差不用重算,替换一下就好,得:

图1:水池系统稳态误差

        我们还是希望稳态误差为0,即s→0时C(s)=∞。稍微思考下可以想到,令C(s)=1/s即可,因为1/0=∞。这跟常数K=∞不一样:一个是不管什么s值均返回无穷大,而这个仅在s=0时返回无穷大。数学可以证明函数为1/s的系统实际上就是一个积分器(∫)。用一个通俗的解释就是:s=0对应输入直流常数,而对一个直流常数做积分会得到一个关于时间t的线性函数,随着时间t→∞,积分值自然也趋于无穷。现在令C(s)=K/s,调节K使系统进一步完善,继续使干扰D(s)=0可得系统框图:

图2:水池系统框图


2、积分控制

        现在系统的控制逻辑是纯积分了,所以也称为积分控制。现在设计K值以调节积分器的积分力度。计算得Loop Transfer Function为GCH=K/(s(s+1));特征方程为1+GCH=0→s^2+s+K=0;Close Loop Transfer Function为GC/(1+GCH)=K/(s^2+s+K)。可以发现随着积分器的引入,系统的阶数增加了,从一阶系统变成了二阶系统,因为特征方程为一元二次方程。同样可知特征方程有两个根,即闭环系统有两个极点,需要求出两个极点的位置。虽然现在解一元二次方程也不是什么难事,但以后随着系统阶数增加,特征方程为一元三次甚至更多次时,就很难常规求解了,所以需要利用前一篇的工具——根轨迹。

        根轨迹还是需要从Loop Transfer Function入手。可以知道有两个Loop极点p1=0、p2=-1,没有Loop零点。按照根轨迹的理论,由于没有零点,两个极点随着K从0→∞时会先在实轴上相互靠近汇合,而后两者分开进入复数域,相互远离奔向无穷远。其计算机绘图结果如下:

图3:Loop Transfer Function的根轨迹
图4:Loop Transfer Function幅角图

        通过计算机(手算也行)可以得到两个极点交汇处,K=0.25,极点p1=p2=-0.5。于是可以分出3种情况讨论:

1、0<K<0.25时,两个极点位于实轴,系统输出为exp指数衰减项。其中靠右边的极点由于衰减慢,对整个输出起主要作用,所以它也称之为“主导极点”。

2、K=0.25时,两个极点重合形成双重极点,输出为线性指数函数t*exp项,为最快的无振荡衰减。

3、K>0.25时,两个极点进入复数域,形成共轭复数对。实数部对应exp衰减项,而虚数部对应sin振荡项,系统输出开始振荡,并带来超调Overshoot。随着K的调大,极点对的实数部一直没有改变,而虚数部却一直增加。衰减没加快,而振荡频率以及过冲都会增大。

        图5为K分别为0.15、0.25、0.5的系统输出(颜色Y、B、R);图6为K分别为5、1、0.5的系统输出。

图5:注水系统输出响应。K=0.15(黄色),K=0.25(蓝色),K=0.5(红色)
图6:注水系统输出过冲对比。K=5(黄色),K=1(蓝色),K=0.5(红色)

        从图5、6可以看到:不管设置什么K值,最终水位都能达到10,达成了稳态误差ess=0的目标。这就是积分控制的作用——消除稳态误差(静差)。稳态响应都一样,现在看看动态响应。

        从图5可以看到,K值较小时系统响应非常慢,从0校正到10的时间达到30s之久,但可以优化。到K=0.25时是无振荡的最快衰减速度,大概需要16s完成过渡状态。当K越过0.25后,会发现输出超过10的现象,这个现象称之为超调(过冲)Overshoot,也称为过调节。如果设计要求不允许超调的话,那K最大只能到0.25封顶。如果条件设计允许的话,不妨让K稍稍超过0.25,以少许超调的代价换取较短的上升时间Rise Time。虽然衰减时间没变,但误差大的时间变短了,后面较长的时间输出值距离目标值均较近。

        图6告诉我们不能无脑调大K以减少上升时间,随着K的增大伴随而来是剧烈的过冲,黄色线的峰值都飙到15去了。一般来说过于剧烈的过冲是不能接受的,比如水池系统的水池有高限,装不下这么高的水位造成溢出;现实的电路系统中,过冲很容易导致器件过电压/电流导致烧毁等。这里再次印证了:设计都是各个参数相互妥协的结果。调大K优化了上升时间,但劣化了过冲;想要消灭过冲则要忍受超长的调节时间。

        综合图5和6均发现一个问题,就是积分调节的时间普遍很长,基本都需要10s的时间输出值才比较接近稳定值。而回看上一篇文章的比例调节会发现,虽然有稳态误差,但比较差的设计都能在2s内完成调节。这表明积分调节有一个毛病——降低系统的响应速度,或者说增大了系统的惯性,像大货车那样相比小汽车没那么容易改变状态,刹车距离也比较长。所以还是看你想要无稳态误差呢?还是想要快速调节呢?


3、伯德图

        前文是从根轨迹角度看积分调节的,现在从伯德图角度看积分调节。下面为K分别为0.1、0.25、1、10共4张伯德图:

图7:Loop Transfer Function伯德图(K=0.1)
图8:Loop Transfer Function伯德图(K=0.25)
图9:Loop Transfer Function伯德图(K=1)
图10:Loop Transfer Function伯德图(K=10)

        首先关于低频增益Gain,因为ω=0 rad/s在对数坐标系中是画不出来的,所以可以认为积分器的极点位于伯德图左边无穷远。由于幅度曲线往左边一直是上升的,所以可以认为到0 rad/s位置时增益已达到了∞dB,也就说明积分器很好的消除了稳态误差。

        同样由于积分器极点在伯德图左边无穷远处,所以相移一开始就有-90°的滞后。而在ω=1 rad/s处的极点再次给予-90°的相移,相移曲线直逼-180°危险线(但没有达到/穿过)。虽然理论上系统不会自激,根轨迹也没跑到右半平面,但现实环境的系统远比数学模型复杂,你永远不知道哪个附加干扰能让相移越过-180°,所以设计系统时必须留有安全裕度,即“幅值裕度”和“相角裕度”。相角裕度PM定义为:幅值曲线穿过0dB轴时对应的相移与-180°线的间距,或者说截止频率处的相移与-180°的差值裕量;幅值裕度GM定义为:相移曲线穿过-180°线时对应的幅值与0dB轴的间距。图7--10均有标注GM和PM。由于相移曲线没有穿过-180°,所以不存在幅值裕度GM。而幅值曲线有穿过0dB轴,所以存在相角裕度。

        当K较小时,积分控制的截止频率ωcross很低,系统带宽小于比例控制的带宽,表明系统响应时间会很长。随着K的增大,截止频率右移,系统带宽增加、响应加快,但同时也降低了相角裕度PM。相角裕度过低会产生振荡和超调,并且会延长调节时间(抵消增大截止频率的效果)。相角裕度越低其情况越严重,当相角裕度降到45°时其对应的超调量已达到20%。在大部分设计中会规定输出允许偏移目标值±20%以内,相当于一个门限。对应到相移曲线,这个门限就在P=-135°(PM=45°)。如果改变超调量限制,相移限制也会相应改变。

        通过观察伯德图可以知道,当PM<76.3°时开始产生过冲,但很轻微可忽略;PM=51.8°时已经有明显过冲,但仍在45°线内,其对应时域曲线(图6蓝色)也没超过12(10+10*20%);而PM=18°时基本不能接受了。所以从伯德图的角度设计系统时,一般先指定相移裕度PM,通过相移曲线确定截止频率ωcross,而后通过截止频率算出需要的K值。

 


总结

        本文讲解了使用积分控制消除了系统的稳态误差,但也因此带来了过慢的响应速度以及输出超调。在根轨迹分析中表明:刚开始增大K值会加快系统响应速度(极点左移),而后再增大K值再也无法加快响应速度,伴随而来的是振荡超调(极点进入复数域),但可以用适当的超调换取上升时间。在伯德图分析中表明:刚开始增大K值能加快系统响应(截止频率右移,系统带宽增加),但相角裕度的降低限制了其K值不能再继续调大,否则面临严重过冲。

        虽然控制系统设计是一个相互妥协的结果,但也不是意味着无条件地妥协,我们还是希望“我全都要”的。既然怎么调节K值都不能达到无稳态误差+快速响应的效果,那就需要新的控制手段,这些将在下一篇文章中将予以介绍。(完)


by HD-nuke8800

2022/5/2



闭环系统设计【2】——积分控制的评论 (共 条)

分享到微博请遵守国家法律