找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1284|回复: 5
收起左侧

单片机里程计设计问题请教:初始化应该怎么设置?

[复制链接]
ID:608039 发表于 2019-11-14 15:23 | 显示全部楼层 |阅读模式
我设计了一个简单的里程计,用霍尔传感器来检测脉冲,但是我现在考虑了初始情况下,车轮大部分情况不是恰巧在磁铁正对着传感器以后才开始计数的啊……
也就是大部分情况是,车轮可能只转动一丢丢就会获得一个脉冲,而这一个脉冲转换成里程数时会按轮子转动一周来算,这样不就算多了吗?这样算是不是相当不准确啊?
还有啊,当车子停止时,它肯定不是刚一检测到脉冲就停止了吧,起码也得多转半圈什么的,而这半圈却因为没有脉冲而不算在里程数里面啊,那这半圈就少算了啊……
这个问题该怎么解决啊?怎样才能让测出来的数据更接近实际呢?
各位大佬,麻烦大家帮忙想想办法,总感觉会有更好的办法能更精准一点,大家有什么好的办法吗?
先提前感谢感谢啦~
回复

使用道具 举报

ID:466505 发表于 2019-11-14 16:56 | 显示全部楼层
车轮走一圈才1个脉冲吗?这样设计误差肯定很大了,要想更精确用光电编码盘
回复

使用道具 举报

ID:401564 发表于 2019-11-14 21:49 | 显示全部楼层
霍尔传感器,红外,或者是干簧管都行,一圈就一个脉冲就可以了,中断设定成上升或者下降沿触发
精确度肯定是可以了,几乎所有的单车的速度表都是这样设计的,980公里的百度地图行程,跑起来实际上是930公里左右,这是我测试过的

但算法是比较复杂的,一个是滤波,转动一次可能会产生多个上升或者下降沿,有的时候动一下也会触发,所以,你程序是要有一定的滤波算法的
回复

使用道具 举报

ID:638887 发表于 2019-11-15 16:59 | 显示全部楼层
一个车轮子精度需要这么高嘛,就一一一一块磁铁就想弄出奇迹来,用编码器分辨率,精度绝对满足你的要求。
回复

使用道具 举报

ID:123289 发表于 2019-11-16 09:07 | 显示全部楼层
应当采用两种方式来做:
1、计算两个脉冲之间的时间,如果间隔时间太长就丢弃(用于慢速测量),丢弃的极限时间就是你的最低显示速度,也是显示切换的最快极限。
2、规定的时间内计算脉冲的个数。这个规定的时间,就是你切换显示的最小时间。(用于高速)。
你仔细规划一下,不管你用多少个传感器,都要用这两个方案,且缺一不妥!
回复

使用道具 举报

ID:637659 发表于 2019-11-20 11:19 | 显示全部楼层
单片机复位时端口为高电平;p0口为准双向口;当端口P0用作通用IO口,且先执行输出操作,而后由输出变为输入操作时,必须在输入操作前再执行一次输出“1”操作,然后执行输入操作才会正确。
即准双向口由输出转为输入时需要将端口初始化为1
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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