零基础制作平衡小车【连载】8---位置式PID和增量式PID

上一节说的PID公式属于位置式PID,位置式PID控制的输出与整个过去的状态有关,用到了误差的累加值,而增量式PID的输出只与当前拍和前两拍的误差有关。就温控系统来说,位置式PID输出的结果就是PWM占空比最终值,如果用增量式就是PWM占空比相比上次输出增加(减少)的值。

比如用位置式控制,计算结果是100,那么占空比就是100%,如果用增量式控制,计算结果是20,那么占空比就是(上次输出值+20)%。

增量式PID公式推导

假设上一次输出是OUTk-1,这次输出的是OUTk,两个相减:

△OUT=OUTk-OUTk-1

将位置式PID代入得:
在这里插入图片描述

注意红色字体,红色字体应该计算到当前值(k)的前一个值。
化简得:
在这里插入图片描述
式中:
Ek是当前误差
Ek-1是上次的误差
Ek-2是上上次的误差

这就是增量式PID公式,现在应该知道是怎么来的吧。

两者的区别

知道了计算公式之后,两者的区别就显而易见了,粘贴一个百度:

  1. 位置式PID控制的输出与整个过去的状态有关,用到了误差的累加值;而增量式PID的输出只与当前拍和前两拍的误差有关,因此位置式PID控制的累积误差相对更大;
  2. 增量式PID控制输出的是控制量增量,并无积分作用,因此该方法适用于执行机构带积分部件的对象,如步进电机等,而位置式PID适用于执行机构不带积分部件的对象,如电液伺服阀。
  3. 由于增量式PID输出的是控制量增量,如果计算机出现故障,误动作影响较小,而执行机构本身有记忆功能,可仍保持原位,不会严重影响系统的工作,而位置式的输出直接对应对象的输出,因此对系统影响较大。

总结

至此,PID这块骨头理论上已经啃完了,就差实战了。后面我准备用电机来进行实战,用位置式和增量式去控制转速,实现PID控制。

往前看看,我写第一个帖子是6月30号,当时还不会配置PWM,还在跟着视频学STM32。不到一个月的时间,PID理论已经懂了,不能说完全掌握吧,最起码有点头绪了。其实我也没有想到能学到这一步,因为大学4年都没把PID搞懂(其实是没有去认真搞)。十分感谢我在网上找到的文献和视频的作者,以后我也会在网上多发布一些做项目的经验,不仅可以记录自己 ,还能帮助别人。

坚持就是胜利,加油吧!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值