标题: 智能车PID算法实现原理精讲 [打印本页]

作者: 酷酷酷    时间: 2018-4-9 20:40
标题: 智能车PID算法实现原理精讲
  为了实现 PID 控制所需要的等间隔采样,我们使用了一个定时中断,每 2ms 进行一次数据采样和 PID 计算。与此并行,系统中还设计了一个转速脉冲检测中断,从而实现了转速检测。为了调试的需要,程序中还在 main{}函数中加入了相关的调试代码,这部分代码有最低的优先级,可以在保证不影响控制策略的情况下实现发送调试数据等功能。检测环节对整个控制系统的质量起到至关重要的作用
4.3.2 PID控制调整速度
    本系统采用的是增量式数字 PID 控制,通过每一控制周期(10ms)读入脉冲数间接测得小车当前转速 vi_FeedBack,将 vi_FeedBack 与模糊推理得到的小车期望速度 vi_Ref 比较,由以下公式求得速度偏差error1 与速度偏差率 d_error。
  error1 = vi_Ref– vi_FeedBack;                    (公式3)
       d_error = error1 –vi_PreError;                      (公式4)
公式 4 中, vi_PreError 为上次的速度偏差。考虑到控制周期较长,假设按 2.5m/s 的平均速度计算,则一个控制周期小车大概可以跑过 2.5cm,如果按这种周期用上述 PID 调节速度,则会导致加速减速均过长的后果,严重的影响小车的快速性和稳定性。为了解决这个问题,可以在 PID 调速控制中加入 BANG-BANG 控制思想:根据 error1 的大小,如果正大,则正转给全额占空比;如果负大,则自由停车或给一个反转占空比;否则就采用 PID 计算的占空比。



完整的pdf格式文档51黑下载地址:
智能车PID_算法实现原理讲解.pdf (500.71 KB, 下载次数: 350)
PID精讲.pdf (460.82 KB, 下载次数: 204)




作者: bleach    时间: 2018-5-15 14:40
谢谢分享
作者: 年少有点狂    时间: 2018-5-25 13:48
学习学习
作者: kiva555000    时间: 2018-11-13 18:48
谢谢学习
作者: 走着走着就散    时间: 2018-11-14 16:53
谢谢分享
作者: zgf123456    时间: 2018-11-14 17:22
谢谢分享
作者: pinelee    时间: 2018-11-14 21:26
谢谢分享
作者: jcfie    时间: 2018-12-6 15:41
谢谢分享
作者: 风云之间    时间: 2018-12-7 11:17
谢谢分享
作者: abclep    时间: 2019-10-20 19:19
谢谢楼主分享  下载了慢慢消化
作者: vow2rich    时间: 2021-6-19 15:36
非常受益,谢谢文章作者。
作者: ZGR0319    时间: 2021-7-28 16:08
不错不错,非常到位,很详细
作者: Y!NG    时间: 2021-8-12 20:57
不错不错,非常到位,很详细
作者: woyaodwn    时间: 2021-12-28 10:14
是SUNPLUS的文档吗
作者: hlln20100410    时间: 2022-3-28 15:26
正好学习PID




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1