CCS之最少拍控制器设计

序言

此时的我正在写计算机控制系统的实验报告,一共六个实验,第五个就是关于最少拍控制的,特此来总结一下最少拍设计原理。

最少拍控制是一种直接数字设计方法。所谓最少拍控制,就是要求闭环系统对于某种给定的输入在最少个采样周期内达到无静差的稳态。使系统输出值尽快跟踪期望值的变化,它的脉冲传递函数具有如下形式
Φ(z)=Φ1z1+Φ2z2++ΦNzN \Phi(z) = \Phi_1z^{-1}+\Phi_2z^{-2}+\dots+\Phi_Nz^{-N}
这里的N是可能情况下的最小正整数,这一形式表明闭环系统的脉冲响应在N个采样周期后变为零,意味着系统在N个采样周期内到达稳态。

最少拍控制的基本原理

典型的离散控制系统包含三个部分:输入R(z)R(z),控制器D(z)D(z),零阶保持器与被控对象一起构成的广义被控对象G(z)G(z)

为了讨论方便,我们再引入一些推导部分:误差脉冲传递函数Φe(z)\Phi_e(z),闭环脉冲传递函数Φ(z)\Phi(z)

以上部分之间有如下关系
{Φ(z)=D(z)G(z)1+D(z)G(z)Φe(z)=E(z)R(z)=R(z)Y(z)R(z)=1Φ(z)=11+D(z)G(z)D(z)=Φ(z)1Φ(z)1G(z)=Φ(z)G(z)Φe(z) \begin{cases} \Phi(z)=\frac{D(z)G(z)}{1+D(z)G(z)}\\ \Phi_e(z)=\frac{E(z)}{R(z)}=\frac{R(z)-Y(z)}{R(z)}=1-\Phi(z)=\frac{1}{1+D(z)G(z)}\\ D(z)=\frac{\Phi(z)}{1-\Phi(z)}\frac{1}{G(z)}=\frac{\Phi(z)}{G(z)\Phi_e(z)} \end{cases}
最少拍设计的基本思想是:根据设计目标确定Φ(z)\Phi(z)Φe(z)\Phi_e(z),再根据确定的Φ(z)\Phi(z)Φe(z)\Phi_e(z)确定D(z)D(z)

最少拍的设计目标

上面我们说过,我们是根据设计目标来确定Φ(z)\Phi(z)Φe(z)\Phi_e(z)。那么,设计目标到底是哪些呢?

设计目标主要分成如下四个部分

  • 稳定性:一切控制系统设计必须满足的目标
  • 准确性:系统稳定后,不能存在稳态误差
  • 快速性:系统要在尽可能短的时间内到达稳态
  • 物理可实现性:D(z)D(z)要能够实现

设计步骤

前面的四个设计目标,对应着一系列要确定的未知参数,这些未知参数决定着最终的Φ(z)\Phi(z)和所Φe(z)\Phi_e(z),我们写出带参的Φ(z)\Phi(z)Φe(z)\Phi_e(z)表达式,如下所示
{Φ(z)=z(r1)(b1z1+b2z2++bpzp)N(z)F1(z)Φe(z)=(1z1)pM(z)F2(z)Φ(z)=1Φe(z) \begin{cases} \Phi(z)=z^{-(r-1)}(b_1z^{-1}+b_2z^{-2}+\dots+b_pz^{-p})N^{`}(z)F_1(z)\\ \Phi_e(z)=(1-z^{-1})^pM^{`}(z)F_2(z)\\ \Phi(z)=1-\Phi_e(z) \end{cases}
下面我来看看如何确定Φ(z)\Phi(z)Φe(z)\Phi_e(z)

  1. 求出含有零阶保持器的广义被控对象G(z)G(z)
  2. 根据G(z)G(z)含有的单位圆外零极点来确定M(z)M^{`}(z)N(z)N^{`}(z),M(z)M^{`}(z)由极点确定,N(z)N^{`}(z)由零点确定
  3. 根据G(z)G(z)含有的延时因子确定r
  4. 根据R(z)R(z)确定p
  5. 依据最少拍要求,确定F1(z)=1F_1(z)=1
  6. 依据方程组求出剩下的未知数
  7. 确定控制器D(z)D(z),并检查其稳定性、可实现性等
  8. 检查系统输出响应Y(z)Y(z)是否以最快响应跟踪输入且无静差
  9. D(z)D(z)转化成差分方程,编程实现

例题

设广义被控对象传递函数为
G(z)=0.265z1(1+2.78z1)(1+0.2z1)(1z1)2(10.286z1) G(z)=\frac{0.265z^{-1}(1+2.78z^{-1})(1+0.2z^{-1})}{(1-z^{-1})^2(1-0.286z^{-1})}
输入信号为单位阶跃,设计最少拍控制器

  1. 求出含有零阶保持器的广义被控对象G(z)G(z)
    直接给出,如果没有的话,需要自己进行对应的Z变换,所以,Z变换要熟悉

  2. 根据G(z)G(z)含有的单位圆外零极点来确定M(z)M^{`}(z)N(z)N^{`}(z),M(z)M^{`}(z)是由极点确定,N(z)N^{`}(z)是由零点确定
    单位圆外极点无,所以M(z)=1M^{`}(z)=1
    单位圆外零点 p1=2.78p_1=-2.78,所以N(z)=(1+2.78z1)N^{`}(z)=(1+2.78z^{-1})

  3. 根据G(z)G(z)含有的延时延时因子确定r
    r=1

  4. 根据R(z)R(z)确定p
    R(z)R(z)为单位阶跃,所以p=1

  5. 依据最少拍要求,确定F1(z)=1F_1(z)=1

  6. 依据方程组求出剩下的未知数

将上述所求带入方程组得
{Φ(z)=b1z1(1+2.78z1)Φe(z)=(1z1)(1+c1z1)Φ(z)=1Φe(z) \begin{cases} \Phi(z)=b_1z^{-1}(1+2.78z^{-1})\\ \Phi_e(z)=(1-z^{-1})(1+c_1z^{-1})\\ \Phi(z)=1-\Phi_e(z) \end{cases}
求得b1=0.265,c1=0.735b_1=0.265,c_1=0.735

最少拍无纹波控制器设计

按照上面的原理设计得最少拍控制器,虽然采样点时刻的输出值是稳定快速跟踪的,但是,采样点之间的输出值是存在纹波的,并且,这些纹波是无法观察到的,这些纹波的形成是控制器在若干拍后输出不为定值或零造成的,这种现象会导致执行机构频繁动作,浪费功率,增加机械磨损,所以要采取办法予以消除。

下面直接给出解决办法

将上面的N(z)N^{`}(z)换成N(z)N(z)就可以了,N(z)N(z)代表的是广义被控对象的所有零点,而不仅是圆外零点,其它部分和有纹波设计是一样的。


详见 李华老师的《计算机控制系统》第二版

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章