增量式PID控制算法

增量式PID控制算法


注:本文内容摘自《先进PID控制MATLAB仿真(第4版)》刘金琨 编著,研读此书受益匪浅,感谢作者!

增量式PID控制算法概述:

当执行机构需要的控制量的增量(例如驱动步进电机)时,应采用增量式PID控制。根据递推原理可得
u ( k − 1 ) = K p ( e r r o r ( k − 1 ) + K i ∑ j = 0 k − 1 e r r o r ( j ) + K d ( e r r o r ( k − 1 ) − e r r o r ( k − 2 ) ) ) u(k-1)=K_p(error(k-1)+K_i\sum_{j=0}^{k-1}error(j)+K_d(error(k-1)-error(k-2)))u(k1)=Kp(error(k1)+Kij=0k1error(j)+Kd(error(k1)error(k2)))
增量式PID控制算法
Δ u ( k ) = u ( k ) − u ( k − 1 ) \Delta u(k)=u(k)-u(k-1)Δu(k)=u(k)u(k1)
Δ u ( k ) = K p ( e r r o r ( k ) − e r r o r ( k − 1 ) ) + K i e r r o r ( k ) + K d ( e r r o r ( k ) − 2 e r r o r ( k − 1 ) + e r r o r ( k − 2 ) ) \Delta u(k)=K_p(error(k)-error(k-1))+K_ierror(k)+K_d(error(k)-2error(k-1)+error(k-2))Δu(k)=Kp(error(k)error(k1))+Kierror(k)+Kd(error(k)2error(k1)+error(k2))
式中Δ u ( k ) \Delta u(k)Δu(k)为控制增量,K p K_pKp为比例系数,K i K_iKi为积分时间常数,K d K_dKd为微分时间常数,e r r o r ( k ) error(k)error(k)为本次偏差,e r r o r ( k − 1 ) error(k-1)error(k1)为上次偏差,e r r o r ( k − 2 ) error(k-2)error(k2)为上上次偏差。
由于控制算法中不需要累加,控制增量Δ u ( k ) \Delta u(k)Δu(k)仅与最近k kk次的采样有关,所有误动作时影响小,而且较容易通过加权处理获得比较好的控制效果。
增量式PID偏差不需要累加,输出结果只和最近3次的偏差结果有关。


版权声明:本文为u013420428原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。