找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10737|回复: 14
收起左侧

智能车PID算法实现原理精讲

  [复制链接]
ID:304719 发表于 2018-4-9 20:40 | 显示全部楼层 |阅读模式
  为了实现 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 计算的占空比。

0.jpg

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

使用道具 举报

ID:146874 发表于 2018-5-15 14:40 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:88919 发表于 2018-5-25 13:48 | 显示全部楼层
学习学习
回复

使用道具 举报

ID:374149 发表于 2018-11-13 18:48 | 显示全部楼层
谢谢学习
回复

使用道具 举报

ID:426110 发表于 2018-11-14 16:53 来自手机 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:151626 发表于 2018-11-14 17:22 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:426700 发表于 2018-11-14 21:26 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:438026 发表于 2018-12-6 15:41 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:441513 发表于 2018-12-7 11:17 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:606551 发表于 2019-10-20 19:19 | 显示全部楼层
谢谢楼主分享  下载了慢慢消化
回复

使用道具 举报

ID:884849 发表于 2021-6-19 15:36 | 显示全部楼层
非常受益,谢谢文章作者。
回复

使用道具 举报

ID:764881 发表于 2021-7-28 16:08 | 显示全部楼层
不错不错,非常到位,很详细
回复

使用道具 举报

ID:143203 发表于 2021-8-12 20:57 | 显示全部楼层
不错不错,非常到位,很详细
回复

使用道具 举报

ID:462629 发表于 2021-12-28 10:14 | 显示全部楼层
是SUNPLUS的文档吗
回复

使用道具 举报

ID:145734 发表于 2022-3-28 15:26 | 显示全部楼层
正好学习PID
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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