位置式PID和增量式PID在本质上是相同的控制算法,只是实现方式存在差异。以下是两者的核心公式及区别说明:
一、位置式PID公式
位置式PID直接基于当前误差计算输出,公式为: $$ u(k) = K_p e(k) + K_i \sum_{i=0}^{n-1} e(k-i) + K_d [e(k) - 2e(k-1) + e(k-2)] $$
其中:
-
$u(k)$:当前控制周期的输出(如PWM值);
-
$e(k)$:当前时刻的偏差(测量值与目标值的差);
-
$K_p$、$K_i$、$K_d$:比例、积分、微分系数;
-
$\sum_{i=0}^{n-1} e(k-i)$:误差的累积和(通常取前两步误差)。
二、增量式PID公式
增量式PID通过计算相邻两次误差的差分来减少计算量,公式为: $$ u(k) = K_p [e(k) - e(k-1)] + K_i e(k) + K_d [e(k) - 2e(k-1) + e(k-2)] $$
其中:
-
$u(k)$:当前控制周期的输出;
-
$e(k)$:当前误差;
-
$e(k-1)$、$e(k-2)$:上一次和上上一次的误差。
三、核心区别
-
计算复杂度
增量式PID仅需保存最近两次误差,计算量减少为位置式的1/3,适合实时性要求较高的系统。
-
稳态性能
两种算法的稳态误差均为零,但增量式PID通过减少积分项的累积,可降低稳态误差的敏感性,提高系统稳定性。
-
实现场景
位置式PID适用于输入输出信号直接相关的场景,而增量式PID更适合需要快速响应且输入信号变化频繁的场合(如电机速度控制)。
四、总结
位置式PID和增量式PID的差异主要体现在算法实现和适用场景上。增量式PID通过误差差分优化了计算效率,同时保持了与位置式PID相同的控制性能。实际应用中可根据系统需求选择合适的形式,或通过参数调整进一步优化。