找回密码
 注册
关于网站域名变更的通知
查看: 458|回复: 2
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-15 11:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
为为实现PID控制所需要的等间隔采样,我们使用了一个定时中断,每2ms进行一 次数据采样和PID计算。与此并行,系统中还设计了一个转速 脉冲检测中断,从而实现了转速检测。为了调试的需要,程序中还在main{} 函数中加入了相关的调试代码,这部分代码有最低的优先级,可以在保证不影响控制策略的情况下实现发送调试数据等功能。检测环节对整个控制系统的质量起到至关重要的作用
. B$ |4 y! }( I2 y/ g( D# W
: h$ {5 U8 Z2 D1 Y6 @4.3.2 PID控制调 整速度
6 h$ E: L8 _4 ^# g9 K本系统采用的是增量式数字PID 控制,通过每一控制周期( 10ms)读入脉冲数间接测得小车当前转速vi_ FeedBack,将vi_ FeedBack与模糊推理得到的小车期望速度vi_ Ref比较,由以下公式求得速度偏差error1与速度偏差率d_error 。
  x" [" ^  c& g& k' u( ]error1 = vi_ Ref - vi_ FeedBack;      (公式3)& e' v- k9 U6 u. v( d$ [7 ~& {
d_ error = error1 - vi_ PreError;      (公式4)
% l& U. W- s( ~公式4中, vi_ _PreError为 上次的速度偏差。考虑到控制周期较长,假设按2.5m/s的平均速度计算,则一个控制周期小车大概可以跑过2.5cm, 如果按这种周期用上述PID 调节速度,则会导致加速减速均过长的后果,严 重的影响小车的快速性和稳定性。为 了解决这个问题,可以在PID调速控制中加入BANG-BAN控制思想: 根据error1的大小, 如果正大,则正转给全额占空比;如果负大,则自由停车或给一个反转占空比;否则就采用PID计算的占空比。
) W8 j9 u8 H$ c" x; A2 Q
! B/ a- Q* U/ F& a( p+ A
游客,如果您要查看本帖隐藏内容请回复

6 h6 H" s8 d! K3 ]% Y: i- d  c
& h) X3 U0 t7 T% q1 f8 ?# v  \. z! t  k0 D/ }3 z( C

2 a; W9 t4 L4 P6 z" ?& F) a

该用户从未签到

2#
发表于 2020-1-15 18:01 | 只看该作者
智能车PID算法实现原理讲解

该用户从未签到

3#
发表于 2020-4-24 11:50 | 只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-9-5 14:21 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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