温控系统中改进的PID算法_何顶新(3)
时间:2026-01-18
时间:2026-01-18
电气传动 2007年 第37卷 第8期温控系统中改进的PID算法
Ki E(k)+Mi(k-1)
引入一个与偏差E(k)有关的函数f[E(k)],使积分部分变为
f[E(k)] Ki E(k)+Mi(k-1)其中f(E)的表达式为
|E(k)|>M+NN |E(k)| M+N
|E(k)|<N
f[E(k)]=
M
1
这样,当偏差|E|增大时,积分部分的作用变小,当偏差|E|变小时,积分部分的作用变大,而且这种变化跟e有关系,能更好地适应系统的状况变化。
现在讨论参数M,N的选取问题。具体不同的系统,M,N取值不同。在温度控制系统中,因为用户要求在升温阶段温度要快速上升,温度稳定时,上下波动范围在 0.5 以内,所以选取:M=1.5,N=0.5。
则在温度绝对范围在0.5 以内,f(E)取值为1,积分部分全速积分;当温度绝对值范围在0.5~2 以内时,积分部分逐步改变积分;当温度绝对值超出范围2 以外时,则完全取消积分的作用。
3.2 抗积分饱和
所谓积分饱和是指PID控制器输出由于积分作用的不断累加,从而导致执行机构达到极限位置(最大或最小),例如此时执行机构阀门已经达到最大位置,而控制器计算得出的输出U(k)继续增大,阀门开度不可能再增大了,此时就称控制器输出的控制量超出了正常运行范围而进入了饱和区。一旦系统出现了反向偏差,U(k)逐渐从饱和区退出,进入饱和区愈深则退出饱和区的时间越长。在这段时间内,执行机构仍停留在极限位置,而不能随偏差反向立即做出相应的改变,这时系统就像失去控制一样,造成控制性能恶化。这种现象称为积分饱和现象或积分失控现象。
抗积分饱和的思路是在计算
U(k)时,首先判断上一时刻的控制量是否已经超出极限范围。如果U(k-1)>Umax时,则只累加负偏差;如果U(k-1)<Umin时,则只累加正偏差。这种算法可以避免控制量长时间停留在饱和区。抗积分饱和PID控制算法框架如图2所示。变为
Kd T(k-1)/T(k)
其中,T(k-1)为上一次温度不变保持的时间,T(k)为当前温度不变保持的时间。
其变形根据是利用了微分项 阻止偏差改变 这一特点。如果T(k)比T(k-1)大,即温度保持时间变长,则说明温度变化速率变小,则应减弱微分项的作用;相反,如果T(k)比T(k-1)小,即温度保持时间变短,则说明温度变化速率变大,则应增强微分项的作用。利用T(k-1)/T(k)来影响微分项的大小,这样就可以利用Kd T(k-1)/T(k)来代替传统微分项的作用。
图2 抗积分饱和PID控制算法框架
3.3 活用微分项
在运用的位置式PID表达式中,原微分部分为
Kd [E(k)-E(k-1)]
具体到温度控制系统,根据实验观察发现,微分项的作用不明显。在2.3节说过,采样时间选为1s,而选用的控制器PLC读取的温度信号精度为0.1 ,例如,如果当前读取的信号为60.5 ,则下一时刻读取的数值则为60.6 (温度升高)或60.4 (温度降低),而这0.1 的温度改变,往往要隔十几秒或更长,所以在相临的两个采样周期内,往往是E(k)=E(k-1),即微分部分Kd [E(k)-E(k-1)]=0,所以针对这个系统而言,微分作用不大。
基于上述原因,将微分部分做了变形,微分项