zoukankan      html  css  js  c++  java
  • 使用根轨迹分析的动态补偿设计

    1.  超前补偿

    补偿形式为$D(s)=frac{s+z}{s+p}$

    设待补偿过程为$G(s)=frac{1}{s(s+1)}$,若不使用补偿,仅使用比例控制器,可以画出其两条根轨迹从极点0和-1向-0.5汇合,然后又分离为分别向上方和下方的两支。这样,若要求要有一定的超调,那么参数$sigma$就只能固定为-0.5了。

    为了能更好地控制超调,我们在原最左侧极点的左侧增加一个零点,按照根轨迹规则,这个零点将把根轨迹“拉”向LHP(Left Half Plane)。氮素,我们知道增加零点相当于微分,而微分会放大高频噪声,所以我们需要使用既有零点又有极点的补偿方程。这个补偿以零点为主,极点负责抵消高频增益以降低高频噪声,所以有$z<p$。当p与z较接近时,补偿器接近于单位增益,所以增加补偿后的系统根轨迹接近于比例控制器;当p逐渐远离,极点作用逐渐削弱,增加补偿后的系统根轨迹逐渐接近于纯零点补偿。分别画出比例补偿和纯零点补偿的根轨迹图,就可以推断出随p的增大,根轨迹的变化。此处图略。

    因为补偿环节和PID调节具有类似的控制器形式(零点为$D$环节,极点为$I$环节),所以可以将补偿环节与PID调节相互印证,推断零点和极点位置($D$环节和$I$环节)对Step Response响应的影响:

    增加零点,相当于增加D环节。上面说了,零点会将根轨迹拉向LHP,因此(增加零点/D环节)有以下效果:

    • 增加阻尼
    • 有利于系统稳定
    • 改善过冲
    • 延长振荡时间
    • 可能增加稳定时间
    • 放大高频噪声

    增加补偿后,原二阶系统将变为三阶系统,多了新的极点。回顾一下单位反馈系统方程:

    $H(s)=frac{DG}{1+DG}$

    可看出补偿器的零点同时也是系统的零点。一般我们将补偿器的零点(即系统的新零点)和系统的新极点设计为彼此靠近,以抵消补偿器对动态特性的影响。这和直接给系统增加零点而不增加极点是不一样的:直接增加零点(微分)将增加超调。

    将超前补偿写为如下形式,可以获得更多有趣的内容:

    $D(s)=frac{jomega+z}{jomega+p}$

    因为z和p都限定为实数,所以$|D|=frac{sqrt{omega^2+z^2}}{sqrt{omega^2+p^2}}$

    从上式可以看出:在$omega ll z$时,控制器增益近似为$z/p$;在$omega gg p$时,控制器增益近似为1。而$z$的值我们上面说过了,要在过程极点的左侧,不能太小,因此,超前补偿在低频段的增益是较小的。为了提高控制器在低频段的增益(也是为了提高稳态误差常数 [ 用稳态误差公式看下便知 ] ),我们需要下面的滞后补偿。

    2. 滞后补偿

    滞后补偿的方程与超前补偿类似;区别在于$z>p$。滞后补偿的目的是提高低频增益,所以z和p都取得比较小(参考上面关于$|D|$的式子)。

    和超前补偿一样,新增闭环极点靠近零点,(考虑分式分解,分离出该极点对应的分式,因为零点和极点都很小又彼此靠近,)此时该极点对应的瞬态响应将是一个缓慢的衰减项,虽然幅度很小,但仍将(严重?)影响系统的调节时间。

  • 相关阅读:
    程序中不要出现标识符完全相同的局部变量和全局变量
    不要出现仅靠大小写区分的相似的标识符
    程序中不要出现仅靠大小写区分的相似的标识符
    命名规则尽量与所采用的操作系统或开发工具的风格保持一致
    标识符的长度应当符合“min-length && max-information”原则
    标识符应当直观且可以拼读,可望文知意,不必进行“解码”
    当代码比较长,特别是有多重嵌套时,应当在一些段落的结束处加注释
    注释的位置应与被描述的代码相邻
    尽量避免在注释中使用缩写
    注释应当准确、易懂,防止注释有二义性
  • 原文地址:https://www.cnblogs.com/byeyear/p/8977463.html
Copyright © 2011-2022 走看看