-- The Start --
前言:
在《BLDC驱动中级篇:位置式PID》文中,我们学习了PID控制原理、位置式PID及其使用方法。针对位置式PID的缺点,也提出了增量式PID。于是,本文再对增量式PID作梳理。
2. 增量式PID根据《BLDC驱动中级篇:位置式PID》文中内容,在数字化的位置式PID的输出控制量Uout(k)的公式,请见公式(1)。Uout(k)=Kp*E(k)+Ki*∑E(kT)+Kd*((E(k)-E(k-1))/T) --(1)T为采样周期,k为采样序号,k= 1,2,3......,E(k)为第k时刻的偏差值,E(k-1)为第(k-1)时刻的偏差值。∑E(kT)为第0次采样到第k次采样偏差值的累加和。
根据递推原理,很容易得到:Uout(k-1)=Kp*E(k-1)+Ki*∑E((k-1)T)+Kd*((E(k-1)-E(k-2))/T) --(2)E(k-2)为第(k-2)时刻的偏差值,∑E((k-1)T)为第0次采样到第(k-1)次采样偏差值的累加和。
∆Uout(k) = Uout(k) - Uout(k-1)=Kp*(E(k)-E(k-1))+Ki*E(k)+Kd*((E(k)-2*E(k-1)+E(k-2))/T) --(3)
从公式(3)可知,增量式PID的输出控制量∆Uout(k) 只与E(k)、E(k-1)和E(k-2)相关。
如去掉公式(3)的微分项,可得数字增量式PI控制器公式(4)。∆Uout(k)=Kp*(E(k)-E(k-1))+Ki*E(k) --(4)
3. 怎么使用增量式PID首先需要明确了PID输出控制量的物理含义。位置式PID和增量式PID的输出控制量的物理含义,分别是:(1)位置式PID的输出控制量Uout(k)是被控制量的执行量。(2)增量式PID的输出控制量∆Uout(k)是被控制量的增量。同样,使用速度PID举例说明。速度PID,根据设定和实际转速的差值,使用PID的输出控制量∆Uout(k)调整PWM占空比DUTY,进而调整转速。假设PWM由计数器值和12位比较器值CMP(最大值4096)比较产生,CMP和DUTY成正比例变化。CMP增加,DUTY增加;CMP减小,DUTY减小。因此,只需要通过∆Uout(k)控制CMP的大小,即可。
根据公式4,具体操作如下:
CMP+=∆Uout(k)=Kp*(E(k)-E(k-1))+Ki*E(k)。
除此之外,增量式PID和位置式PID的调试步骤和方法相同。不同的是:(1)调试过程中Ki不可以设置为0。(2)∆Uout(k)需要根据实际情况,设置上下限(最大值UoutMax和最小值UoutMin)。
PID源码,网上一大堆,本文略。
4. 增量式PID的优点(1)因为∆Uout(k)为被控制量的增量,且仅与E(k)、E(k-1)和E(k-2)相关,即使突然出现一个较大的偏差值E(k),对被控制量的影响也较小,系统更加稳定和安全。(2)因为没有积分项,所以不会存在因积分导致的相关问题。比如:积分饱和。(3)调试相对简单,比较容易获得较好的控制效果。
小结:(1)做BLDC驱动,建议使用增量式PID。(2)增量式PID调试参数包含:PID调用周期Tpid+Kp+Ki+Uout上下限。-- The End --往期文章:
欢迎点分享、收藏、点赞、在看!谢谢!