找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6011|回复: 6
收起左侧

单片机霍尔传感器测速代码,里面的换算关系不知道怎么来的,哪位帮我解答一下,谢谢

[复制链接]
ID:419294 发表于 2018-11-7 15:10 | 显示全部楼层 |阅读模式
以下代码是测速的,我不知道里面的含义,谁帮解释一下

霍尔测速单片机源码如下:

void time0() interrupt 1
{
        uchar m,n;
        TH0=0x3c;
        TL0=0xb0;         //50ms
        m++;
        if(LED_SEC==1)
        {
                n++;
                if(n>=10)
                {
                        n=0;
                        LED_SEC=0;
                }
        }
        
        if(m>=10)
        {
                m=0;
               
                Mileage=Mileage+10*(Velocity/3.6)/2;                 //里程m=里程+速度km/h/3.6/2
                Velocity=count *2*3.14*RADIUS /100000*2*3600  /40;//将500ms的距离经过运算得到km/h,将速度/100,方便显示
                count=0;        
        }
}

回复

使用道具 举报

ID:310519 发表于 2018-11-7 20:35 | 显示全部楼层
实时速度 =1秒以内触发霍尔次数*车轮周长。

平均速度 =里程/时间。
回复

使用道具 举报

ID:419294 发表于 2018-11-7 23:11 | 显示全部楼层
diy1997 发表于 2018-11-7 20:35
实时速度 =1秒以内触发霍尔次数*车轮周长。

平均速度 =里程/时间。

Mileage=Mileage+10*(Velocity/3.6)/2;                 //里程m=里程+速度km/h/3.6/2
                Velocity=count *2*3.14*RADIUS /100000*2*3600  /40;//将500ms的距离经过运算得到km/h,将速度/100,方便显示

这个不知道怎么理解
回复

使用道具 举报

ID:123289 发表于 2018-11-8 13:29 | 显示全部楼层
你看一下传感器装在何处,再补一下物理数学就可以了。
回复

使用道具 举报

ID:524944 发表于 2019-4-30 09:53 | 显示全部楼层
RADIUS/10000是把单位cm换算成km,500ms=0.5s=1/(2*3600)h。可后面再/40是什么意思,还有里程那里 Velocity/3.6是把单位km/h换算成m/s,可前面为什么要乘10???我就这两个地方不理解
回复

使用道具 举报

ID:551568 发表于 2019-5-31 13:33 | 显示全部楼层
哥  能告诉我你现在知道这个是什么意思了吗  我也想了解这个程序,谢谢
回复

使用道具 举报

ID:524001 发表于 2020-4-8 12:52 | 显示全部楼层
我的国儿 发表于 2019-5-31 13:33
哥  能告诉我你现在知道这个是什么意思了吗  我也想了解这个程序,谢谢

请问你弄懂了吗??我现在在弄这个也没搞懂
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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