找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1628|回复: 0
收起左侧

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

[复制链接]
ID:223481 发表于 2020-12-2 17:17 | 显示全部楼层 |阅读模式

粘贴过来的代码都乱了,贴个原文链接吧:

https://blog.csdn.net/D_SEngineer?spm=1011.2124.3001.5113

不定时发送福利,欢迎小伙伴们交流学习。


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

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

增量式PID公式推导

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

△OUT=OUTk-OUTk-1
  • 1

将位置式PID代入得:

注意红色字体,红色字体应该计算到当前值(k)的前一个值。
化简得:

式中:
Ek是当前误差
Ek-1是上次的误差
Ek-2是上上次的误差

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

两者的区别

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

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

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

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

坚持就是胜利,加油吧!


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表