位置型 PID 算法适用于不带积分元件的执行器。 执行器的动作位置与其输入信号呈一一对应的关系。 控制器根据第 n 次计算机采样结果与给定值之间的偏差 e 来计算出第 n 次采用后所输出的控制变量的值。 以调节阀来简单说明,假设调节阀的输入控制信号为 4~20mA, 当 阀 门 开 度 为 0%时 ,控制信号为4mA,而当阀门开度为 100%时,则控制信号为 20mA。
增量式 PID 算法适用于自身带有积分记忆元件的执行器。这类执行器的动作终点位置和之前每次输入信号的累加值相关。 即每次输入的信号决定相邻两次执行器动作终点位置的增量,因此把这种 PID 算法称之为增量式 PID 算法。 增量式 PID 算法在步进电机的控制和步进电机驱动阀门有着较广泛的运用。
位置式 PID 控制算法是一种非递推算法,输出 u(k)可以直接控制执行机构的位置,如上文所述的阀门开度的例子, 阀门的开度取决于控制器的输出 u(k)的值。 而增量式 PID 控制算法是一种递推算法,其输出u(k)只是控制量的增量,即 Δu(k)。 而非执行机构的实际位置(例如控制水温上升,无法立即控制最终温度,只能慢慢达到)。
由位置式 PID 控制的表达式中可以看出: 比例部分只和当前的偏差 e(k)有关,积分部分则是表示系统之前的所有偏差之和, 因此位置式 PID 控制算法的优点在于其控制器结构比较清晰,参数的整定也较为明确。位置式 PID 算法的第一个缺点在于: 当前采样时间的输出值 u(k)与之前各个状态都有关,过去的每个状态都决定着当前时刻的输出值,因此计算时需要对偏差 e(k)进行不断累加,使得计算量不断加大,同时也加大了计算机的负担,一旦计算机出现故障,累加将会停止,输出 u(k)会长度巨大偏差,从而导致执行机构的位置大幅度变化。 位置型 PID 算法的第二个缺点在于积分饱和现象的产生,即当系统的控制量已经达到最大值时,误差依然会在积分的作用下继续累加。 一旦误差开始反向变化,则系统会进入饱和区,并且需要较长时间才能从饱和区退出。 因此当输出 u(k)达到最小或者最大值时,需要停止积分作用,否则将会产生积分饱和现象。 对于积分饱和现象,通常会采取积分限幅算法,即设置控制器输出控制量的极限值,当 PID 控制器的输出量超出设定范围后,即停止积分运算。
然而对于增量式 PID 算法,它将位置式 PID 算法的缺点加以改进,从而变成了增量式 PID 算法的优点。
①算法采用加权处理,而不需要累加,控制增量 Δu(k)仅仅与最近 3 次的采样值有关;
②计算机每次只会输出控制增量 Δu(k),即执行机构的位置变化量,因此计算机发生故障的几率较小;
③手动切换和自动切换时的冲击小,可以做到无扰动切换。积分饱和现象是位置式 PID 算法应用常见的一种现象,因此对于位置式 PID 算法除了需要对输出进行限幅外还需要对积分输出进行限幅,而增量式算法很好地避免了积分饱和现象,因此在增量式 PID 控制算法中只需要对输出限幅,而无需积分限幅。
参考
① 论文:增量式 PID 和位置式 PID 算法的整定比较与研究(王祎晨)