PID控制算法推算

传统数字PID控制算法

模拟PID调节器:
u(t)=Kp[e(t)+1Tit0e(t)dt+Tdde(t)dt] (1)
假设控制周期为T,在控制器的采样时刻t=KT时,对积分和微分做如下近似:

t0e(t)dtTkj=0e(jT)=Tkj=0e(j)(2)de(t)dte(kT)e[(k1)T]T=e(k)e(k1)T(3)

将(2)(3)式代入(1)式中可得:
u(t)=Kp[e(k)+TTikj=0e(j)+TdT[e(k)e(k1)]]
即位置式PID调节器的数字表达式为:
u(t)=Kpe(k)+Kikj=0e(j)+Kd[e(k)e(k1)] (4)
其中: Ki=KpTTi ; Kd=KpTdT
令k=k-1,则得:
u(t1)=Kpe(k1)+Kik1j=0e(j)+Kd[e(k1)e(k2)] (5)
式(4)(5)相减得:
Δu(k)=u(k)u(k1)=Kp[e(k)e(k1)]+Ki[j=0ke(t)j=0k1e(t1)]+Kd[e(k)e(k1)e(k1)+e(k2)]=Kp[e(k)e(k1)]+Kie(k)+Kd[e(k)2e(k1)+e(k2)]

上式即为增量式PID调节器的表达式


数字PID控制的改进

积分改进算法有:积分分离PID控制、遇限削弱积分PID、不完全微分PID、微分先行PID控制。

  1. 积分项的改进

积分分离PID算法
使用积分分离PID调节器的原因:
在过程启动、停车或者大幅度改变设定值时,执行机构进入饱和状态,结果产生系统输出的较大超调,甚至引起系统长时间振荡。
积分分离PID算法的基本思路:
在偏差e(k)J较大时,暂时取消积分作用;当偏差e(t)小于某个阈值时,才将积分作用引入。具体实现如下:

  • 根据过程生产实际需要,设定一个阈值 ε>0 .
  • |e(t)|>ε ,也即偏差值 |e(t)| 较大时,采用PD控制,可避免大的超调,又是系统有较快的响应。
  • |e(t)|ε ,也即是偏差值 |e(t)| 较小时,采用PID控制或者PI控制,可保证系统的控制精度。
    位置式PID算式(4)的积分分离形式:
    u(t)=Kpe(k)+βKikj=0e(j)+Kd[e(k)e(k1)]
    式中:
    β=
    10|e(t)|ε|e(t)|>ε

    |e(t)|>ε β=0 ,实施PD控制。
    PD控制算法为:
    u(t)=Kpe(k)+Kd[e(k)e(k1)]
    或者 u(t)=u(t1)+Kp[e(k)e(k1)]+Kd[e(k)2e(k1)+e(k2)]
    |e(t)|ε β=1 ,实施PID控制,控制器表达式如(4)式
    为了保证引入积分控制作用后系统的稳定性不变,在投入积分控制作用的同时,相应地减少比例增益 Kp 的值,另外,阈值的设置应根据控制所要求的性能来确定。

2 . 微分项的改进:

  • 不完全微分PID控制算法:
    微分控制的特点归纳如下:
    1):若e(t)为脉冲函数时,控制权仅在第一个周期有效。
    2): Ud(k) 的幅值一般较大(T<< Td ),容易造成以单片机为控制核心的数据溢出。
    3): Ud(k) 过大、过快的变化会对执行机构造成冲击,另外由于控制周期短,容易造成控制输出量的失真。
    克服上述的缺点的方法:
    一种方法是在输出PID输入后加入一个一阶惯性环节(低通滤波器);该低通滤波器的传递函数为 Gf(s)=1Tfs+1
    则可导出不完全微分PID控制算式为:
    u(t)=Kp[e(t)+1Tit0e(t)dt+Tdde(t)dt] (6)
    Tfdu(t)dt+u(t)=u(t) (7)
    将(6)式离散化得:
    u(t)=Kp[e(k)+TTikj=0e(j)+TdT[e(k)e(k1)]]
    将(7)式离散化得:
    u(t)=TTf+Tu(t)+TfTf+Tu(t1)
    a=TfTf+T 可得不完全微分的位置式控制算式:
    u(t)=(1a)u(t)+au(t1)
    式中:
    a=TfTf+Tu(t)=Kp[e(k)+TTikj=0e(j)+TdT[e(k)e(k1)]]

    增量式控制算法的表达式为:
    Δu(t)=(1a)Δu(t)+aΔu(t1)
    式中:
    a=TfTf+TΔu(t)=Kp[e(k)e(k1)]+Kie(k)+Kd[e(k)2e(k1)+e(k2)]

    另一种方法是将低通滤波器( 1Tfs+1 )加在微分控制环节上,形成带惯性环节的微分控制,即
    Ud(s)=KpTdsE(s)Tfs+1
    其对应的微分方程为:
    Tfdud(t)dt+ud(t)=KpTdde(t)dt
    对上式离散化后得:
    Ud(k)=KpTdT[e(k)e(k1)]TfT[Ud(k)Ud(k1)]
    整理得:
    Ud(k)=TfT+Tfe(k1)KpTdT+Tf[Ud(k)Ud(k1)]
    令a= TfT+Tf 则可得:
    Ud(k)=ae(k1)Kd(1a)[Ud(k)Ud(k1)]
    则该不完全微分控制器的位置式PID表达式为:
    u(t)=Kpe(k)+Kikj=0e(j)+aUd(k1)+Kd(1a)[e(k)e(k1)]
    式中a= TfT+Tf
    增量式PID控制器的表达式为:
    Δu(t)=Kp[e(k)e(k1)]+Kie(k)+a[Ud(k1)Ud(k2)]+Kd(1a)[e(k)2e(k1)+e(k1)]

PID控制参数的工程整定方法
数字PID控制参数的整定过程是,先用模拟PID控制参数整定的方法来选择,然后考虑采样周期对整定参数的影响,再做适当的调整。模拟PID控制参数的整定方法有:扩充临界比例法、扩充响应曲线法、归一参数整定法、凑试法确定PID参数。
其中归一参数整定法的整定过程如下:
假设有增量式PID的表达式为:
Δu(k)=Kp[e(k)e(k1)+TTie(k)+TdT[e(k)2e(k1)+e(k2)]] (8)
在PID控制中,要整定四个参数T、 Ti Td ,为了减少在线整定参数的数目,根据大量的实验经验的总结,设定了一些约束条件,以减少独立变量的个数,继而减少机器运算量。
例如取值:
T0.1TrTi0.5TrTd0.125Tr (9)
其中 Tr 为纯比例控制时临界振荡时的振荡周期。
将(9)式代入(8)得:
Δu(k)=Kp[2.45e(k)3.5e(k1)+1.25e(k2)]

你可能感兴趣的:(控制算法)