0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于HC-SR04模块和STM32F103ZET6开发板实现超声波测距DIY设计方案

基于HC-SR04模块和STM32F103ZET6开发板实现超声波测距DIY设计方案

来源: toutiao
2021-12-09
类别:工业控制
eye 21
文章创建人 拍明

原标题:超声波测距DIY设计方案

背景:最近整理东西,发现了一个蓝色的小模块,上面还有两个像喇叭的小东西,关键上面还有丝印,用蓝底白字写着“HC-SR04”,于是勾起了我的好奇心,动动小手指,百度找到了这个小板子的信息,原来是一个超声波测距模块,还挺有意思的,而且只引出来了四个引脚,应用也比较简单,下面简单介绍下这个模块以及简单的超声波测距方案。


1.HC-SR04模块实物图和工作原理
1.1实物如下图,可以看到这个模块是双面贴片的,整体感觉大气,印出来了四个引脚,分别是GND,Echo,Trig,VCC具体功能见下方

常用模块做出不一样的超声波测距DIY设计,工程酱们学起来


常用模块做出不一样的超声波测距DIY设计,工程酱们学起来



1.2首先这个模块是要单独供电的,需要给VCC接5V,GND就不多说了
关键是Echo和Trig这两个脚,可以看下方的时序图。
a.需要给触发信号即Trig一个大于10us的方波信号
b.模块内部会产生一个8*40KHz的声波,因为是内部产生的,所以引出的四个脚测不出来这个信号,或许可以从PCBA里面其它地方测出,我没深入研究
c.输出回响信号,即Echo会返回一个高电平信号,这个高电平的持续时间和测量距离有关。
计算测距方法:我可以用一个遮挡物挡在两个突出物上方,通过初中的知识我们都知道距离=速度*时间/2,速度在空气中的速度约等于340m/s,时间即Echo的高电平信号。所以我们可以很简单的就测量出遮挡物到模块的距离。

常用模块做出不一样的超声波测距DIY设计,工程酱们学起来



2.要掌握的知识点和设备
2.1硬件环境
我这边用的是HC-SR04模块+STM32F103ZET6开发板+示波器,示波器是帮助分析用,可以验证设计和实际是否一致的工具,可以不要。开发板也只是起一个连接串口调试助手,产生PWM以及输入捕获的一个功能,并不一样要和我一样的开发板,理论上任何一个开发板都可以实现这个功能。
2.2软件知识
要用上面这套工具实现超声波测距的功能,需要的代码知识点也说过了,这里再提一下。
a.PWM输出一个脉冲大于10us的方波到Trig,可以用STM32的定时器输出
b.输入捕获Echo接受到的高电平信号,通过测量接受到的高电平时间,即可通过距离=速度*时间/2计算出距离。
c.串口调试,我们要通过串口调试助手打印出测量的时间和距离,可以方便直观地看到我们的结果。
理论上掌握上面三个技能就可以实现超声波测距的这个简单的项目,当然条条大路通罗马,上面的方式也不是唯一的一种。譬如我可以用信号发生器产生方波,就可以不用定时器了。毕竟工具只是工具而已。
3.代码编写,代码是参考的正点原子的PWM输出和输入捕获,因为项目原理上面说过了,基本就是这两个功能的叠加。我本来想用HAL库来做,但是CUBEMX生成的代码调试没成功,所以最后还是用的原子的标准库来做的。下面代码截取的是main.c和time.c。也是这个项目里面最重要的两个部分。

常用模块做出不一样的超声波测距DIY设计,工程酱们学起来


常用模块做出不一样的超声波测距DIY设计,工程酱们学起来




责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案