找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

超声波测距误差有点大该怎么解决

查看数: 4019 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-4-25 21:57

正文摘要:

仿真结果有2cm的误差,到实物就有10cm左右的误差,这该怎么解决,急需, 代码如下: #include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint  unsigned in ...

回复

ID:390416 发表于 2021-4-28 00:50
直接把定时器的时间 设置为5.78us  表示1mm 的声音距离 直接得出结果,不需要除法了。
ID:883698 发表于 2021-4-26 15:47
1、程序算法有问题,影响精度
2、定时器误差,延时使用不当,误差变大
3、加入温度补偿,可以提供精度
ID:332214 发表于 2021-4-26 14:15
你这种仿真是无其他干扰的情况下。在实际中,干扰源,有空气湿度 温度等,可以多次采集求平均,在做个校准函数,比如:10cm 采集误差  20cm采集误差  30cm 采集误差 。。。350cm采集误差  求个线性方程(最好是一元二次方程及以上的)。这样求出的结果基本上会很准的了。有条件的,在加个温湿度传感器,依据温湿度的数据,做相应的校准。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:97554 发表于 2021-4-26 11:36
定时器,频率,距离=声速 X 时间

距离不准就得找单位时间是否准确,这个时间就跟单片机振荡频率相关,因为通过定时器计算时间,那必须考虑晶振频率,12M和20M的晶振用同一个公式那肯定不行的。所以,仔细找一下与计算公式涉及到的数值的获取一定可以找到问题的所在。
                  

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

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

Powered by 单片机教程网

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