您的位置首页百科知识

HC-SR04超声波测距注意事项

HC-SR04超声波测距注意事项

的有关信息介绍如下:

HC-SR04超声波测距注意事项

最近在用HC-SR04超声波模块,用的是STM32F103R8Tx芯片,由于模块给的例程没有STM的,所以遇到不少问题,在这里记录下,也希望对需要的朋友有帮助。

问题一:给出10us以上的高电平触发信号以后,模块Echo脚总是返回一个3us左右的高电平脉冲。

原因:HC-SR04使用的是5V电源,STM32使用的是3.3V电源,我直接用STM32的电源接到HC-SR04,导致模块不能正常工作。

问题二:规格书理解错误“只需要提供一个 10uS 以上脉冲触发信号,该模块内部将发出 8 个 40kHz 周期电平并检测回波”,我在给出10us高电平后,立即将Trig脚设置为输入捕获模式,结果怎么也检测不到传说中的40kHz的回信信号。

原因:规格书说的40kHz的周期电平是模块自己用来检测距离用的,不是通信信号。只要检测Echo脚的高电平时长就可以检测到距离数据。

问题三:测试的距离数据浮动很大,用手遮挡住整个探头都会出现100多cm的数据。

原因:由于超声波实际是声音的一种,HC-SR04依靠回声测距,而模块的发送和接收有一定的距离,如果距离太近,不能保证接收模块能够接收到发射模块的信息,从而导致测距失败,远距离的数据很可能是超声波通过其它物体反弹回来的。

问题四:测试较小障碍物时距离很不准确。

原因:对于体积较小的物体,由于不能对超声模块的信号进行良好的反射,很容易导致测距失败。

问题五:测量的距离浮动较大。

原因:很可能与模块本身的测量算法有关,存在一定程度的误判,可以采用“取中间平均值法”,即连续测量多次,去掉最大值、去掉最小值,取剩下测量数据的平均值。

问题六:对着墙壁测量,可是测量的结果却很短。

原因:在模块和墙壁之间存在其他物体,超声波在到达墙壁前被这些物体反射回来了,导致直观上感觉测量距离变短了。