收藏 分销(赏)

基于HC-SR04模块的高精度超声测距系统.pdf

上传人:自信****多点 文档编号:633157 上传时间:2024-01-19 格式:PDF 页数:3 大小:1.42MB
下载 相关 举报
基于HC-SR04模块的高精度超声测距系统.pdf_第1页
第1页 / 共3页
基于HC-SR04模块的高精度超声测距系统.pdf_第2页
第2页 / 共3页
基于HC-SR04模块的高精度超声测距系统.pdf_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、Science and Technology&Innovation科技与创新2023 年 第 17 期57文章编号:2095-6835(2023)17-0057-03基于 HC-SR04 模块的高精度超声测距系统王永彬(临沂科技职业学院,山东 临沂 276000)摘要:研究设计了一种基于 HC-SR04 超声传感器、单片机和 LCD1602 液晶模块的超声波测距系统,并利用温度补偿算法和单片机门控触发精确定时中断技术进行测距修正,保证了不同温度环境下超声测距的高精度。同时把测量结果实时显示在 LCD1602 液晶屏,并在达到设定安全距离时进行声音提醒报警或驱动执行机构动作,可广泛应用于生产线上

2、的物品位置检测、汽车倒车距离安全提醒等场合。关键词:超声测距原理;传感器;声速温度修正;液晶显示中图分类号:TP274.5文献标志码:ADOI:10.15913/ki.kjycx.2023.17.016在实际生产和生活中,经常需要对距离(位置)进行测量,以进行距离的直接提示,或者以距离为参量进行其他物理量的计算和控制,比如计算物体的速度。测量距离的方法有很多种,总体上看有直接测量法(如利用尺子测量)和间接测量法(如激光测距、红外线测距、超声波测距等)2 种。由于超声波波束定向指向性强,在介质中传播时能量损耗比较小1,特别是在空气、水中传播能达到较远的距离,因而适合利用超声波的这一特性进行距离的

3、测量。利用超声波测距的特点是测量过程迅速和方便,并且计算简单,测量精度高,因此被大量应用于工业场合,比如汽车的倒车雷达、移动机器人的位置确认等,都是超声波测距方式的典型应用。1超声波测距原理超声波测距原理是利用超声波换能器的发射装置发出一定频率的超声波,超声波遇到障碍物时就会有反射波反射回来并被接收器接收,利用从发射到接收的往返时间差就可以进行距离测量,这与无线电雷达的测距原理很相似。具体实现过程是:超声波模块的发射器向要进行测距的特定方向发射超声波,在发射开始的瞬间同步开始计时,如果没有障碍物,超声波在空气中会向前自由传播,当途中碰到障碍物阻挡时则会立即被反射回来,当反射波到达接收器时就立即

4、停止计时操作。根据经验值知道超声波在空气中的自由传播速度约为 340 m/s,假设计时器记录的超声波发射和接收时间差为 t(单位:s),这样就能计算出发射点与障碍物之间的距离 S(单位:m),计算公式为S=340t/2。此外,当测量精度要求较高时,还需要充分考虑到温度对超声波速度的影响,当温度为 0 时超声波速度是 332 m/s,20 时是 344 m/s,30 时是350 m/s,这样就可以根据环境温度进行超声波测距的温度修正。2超声波测距硬件电路设计2.1核心测距传感器本系统采用市面上已成熟量产的HC-SR04型集成超声波传感模块作为核心测距传感器。模块总体功能介绍:该模块可提供 245

5、0 cm 距离范围的非接触式测量功能,测度距离精确,精度高达 3 mm,性能稳定,能与国外的 SRF05、SRF02 等超声波测距模块相媲美。模块包括超声波发射器、接收器与控制电路,可广泛应用于距离测量、机器人避障、防盗报警装置等。工作原理:给超声波模块通电源。给脉冲触发引脚(Trig)输入一个维持时间不短于 20 s 的高电平信号。输入高电平触发信号后,模块会自动发射 8个连续的 40 kHz 频率的超声波信号,与此同时回波信号(Echo)端的电平同步发生正跳变,即由 0 变为 1,此时立即同步启动定时器开始计时。当反射超声波被模块接收到时,回波信号端的电平会发生负跳变,即由 1 变为 0,

6、此时接着立即停止定时器计数,定时器中保存的这个时间差即为超声波由发射到返回的总时长,它在数值上等于 2 倍的被测距离与声速的比值。由于声音在空气中的传播速度典型值为 340 m/s,则可间接计算出所测的距离。测试距离=(高电平时间声速)/2。其中,声速为 340 m/s。典型工作参数如下。工作电压:DC 5 V。静态电流:小于 2 mA。工作电流:15 mA。工作频率:40 kHz。科技与创新Science and Technology&Innovation582023 年 第 17 期高电平输出:5 V。低电平输出:0 V。感应角度:不大于 15。探测距离:2450 cm。高精度:可达 0.

7、3 cm。该模块是双面贴片封装,对外提供 4 个引脚,分别是 GND、Echo、Trig、+5 V。GND 为电源地,Echo为接收模块的回波信号输出引脚,Trig 为超声波发射模块的外部触发启动信号输入引脚,+5V是工作电源正极。模块集成了一片单片机,当 SR04 模块上的单片机的触发信号输入引脚收到大于 10 s 的启动脉冲后,会发出 8 个频率为 40 kHz 的脉冲信号,这个电脉冲信号由超声波模块换能器调制转换成超声波音频信号发出后,回波信号输出引脚同时会输出一个高电平。超声波遇到障碍物返回后,回响信号状态发生变化2,从高电平变为低电平。因此可以根据这个回响信号的高电平维持时间宽度来计

8、算距离,如图 1 所示。图 1超声波测距时序图根据图 1 中回响信号的脉冲宽度,可以获得距离参数。计算公式为:距离=回响信号高电平时间声速(精度不高直接采用 340 m/s)/2。2.2主控芯片本系统采用 AT89C4051 单片机作为主控芯片。它采用 dip20 引脚的双列直插式封装,具有 4K 的程序存储空间,128 字节内部 RAM,2 个外中断源,2 个 16位定时/计数器,1 个 UART 串行口,16 个 I/O 引脚,能完全满足控制要求,价格低,性价比高。单片机 P3.7 引脚接到超声波模块的触发信号输入引脚,P3.6 引脚接到回声信号输出引脚,将 P1 口作为LCD1602 液

9、晶模块的数据接口,P3.0 引脚作为 R/W 读写控制,P3.1 引脚作为 R/S 指令/数据选择控制3。由于某些使用场合对测距精度要求较高,需要进行测距的实时温度修正,因此可以使用一片 Dalas 公司的DS18B20 单总线数字温度传感器进行环境温度的实时测量,这里用 P3.3 作为单片机与 DS18B20 的单总线接口,最后 3 个芯片都需要连接上+5 V 电源和 GND。3超声波测距系统的软件设计首先是单片机和超声波模块的初始化,进行本次测距的准备工作。接着由单片机输出一个 20 s 的启动脉冲启动超声波模块的发射,此时模块的 Echo 引脚同步输出高电平信号,同时单片机启动定时器开始

10、计时和启动 DS18B20 进行实时温度检测,然后程序不断检测查询超声回波信号引脚状态,当接收到回波信号时Echo 引脚变为低电平,单片机立即关闭定时,最后的定时时间 t 就是超声波经过 2 倍被测距离所用的时间,因此实际距离 S=(t340/2)m。当测量精度要求较高时,还需要充分考虑到温度的不同对于超声波速度的影响4。当温度为 0 时超声波速度是 332 m/s,20 时是 344 m/s,30 时是350 m/s,即实际声速 v 与环境温度 Temp大致成线性比例关系。以温度 0 时的声速为基准,则实际声速 v=(332+Temp0.6)m/s,故经过温度修正后的实际距离为 S=(t(3

11、32+Temp0.6)/2)m。而用于测距温度修正的温度检测可以利用 DS18B20 温度传感芯片实现。DS18B20 是美信公司的一款温度传感器,单片机可以通过 1-Wire 协议与 DS18B20 进行通信,最终将温度读出。1-Wire 总线的硬件接口很简单,只需要把DS18B20 的数据引脚和单片机的一个 I/O 口接上就可以了。DS18B20 通过编程,可以实现最高 12 位的温度存储值。温度数据是 2 个字节,读取数据的时候,先读取到的是低字节的低位。它所表示的温度值中,有小数和整数两部分。把小数和整数部分分离,在合适的位置点上小数点即可。本设计的程序中,保留一位小数位。经过温度修正

12、后最后得到的测量距离结果,可以通过单片机 P1 数据口和 P3.0/P3.1 控制端口,将其在液晶模块上实时显示出来,第一行显示环境温度,第二行显示测量的实际距离。4超声波测距的精度的进一步优化在软件实现代码中,检测回响信号脉冲宽度时可以用软件查询的方式,即用代码检测与 Echo 引脚连接的单片机 P3.6 引脚的电平变化来启动和关闭定时器,从而实现对时间的测量。在要求不高的测量时,这样做完全可以得到让人满意的结果。但如果系统功能扩展得比较复杂(比如进行实时温度补偿、进行蜂鸣声音提示、与上位机数据通信),则系统中还需要开启其他多个中断,而某些中断函数还可能执行较长的时间时,就可能发生这样一种情

13、况:当实际的回响信号10 s 的 TTL循环发出 8 个 40 kHz 的脉冲回响电平输出与检测距离成正比触发信号模块内部发出信号输出回响信号Science and Technology&Innovation科技与创新2023 年 第 17 期59变化时,系统正在执行某个耗时较长的中断函数,那么主程序中的检测就只能等待此中断函数执行完后才能继续,于是就可能造成程序检测到回响信号变化的时刻比实际发生的时刻要晚一些,从而会使定时器测得的脉冲宽度值发生较大偏差,进而使计算出的距离发生较大的偏差5。针对此问题,可以通过灵活运用定时器 T0 或 T1的门控功能来解决。这里利用 T0 的门控功能实现高精度

14、的超声波测距。具体实现方法:启用 T0 门控功能(TMOD 中相应的 GATE 位置 1),这时外部中断引脚 INT0(P3.2)将起到实际控制 T0 启停的作用,即INT0 为 1 时 T0 启动计数,INT0 为 0 时 T0 停止计数,这样就不需要编写代码来检测超声波回声信号,而是可以将回声信号连接到 INT0 即 P3.2 引脚上,让它自动控制 T0 启停,从而避免了软件检测时可能产生的偏差,测量精度将大大提高。5运行测试结果将超声波模块通过排线与单片机主控板连接,将液晶模块焊接到与主控板的液晶接口,确认无误后上电,此时液晶模块会显示 Test 字样。将超声波模块对准一个不小于 0.5

15、 m2的障碍物,按开始测距按钮,超声波发射模块被启动。当发射的超声波被反射回来由接收器接收到时,单片机将测得的距离数据进行计算处理并显示在液晶模块上。例如第一次测量后显示距离为 0.205 m,经实际用尺子测量得到的数据为0.200 m,误差为 0.5 cm;第二次测量后显示距离为0.396 m,实际用测量距离为 0.400 m,误差为 0.4 cm;第三次测量后显示距离为 0.603 m,实际测量距离为0.600 m,误差为 0.3 cm,误差范围在 0.30.5 cm,测试较为准确,特别是被测试物体表面平整,并且模块入射角度越垂直于被测物体表面时效果更好。6结束语本设计基于单片机和超声波集

16、成传感模块实现对距离的非接触式自动测量,利用量产的成品化的高精度超声波传感器,使系统设计简单高效,大大方便与单片机接口。利用单片机灵活强大的实时控制和数据运算功能,实现测量点与障碍物之间距离的实时测量和修正功能,并在液晶模块上直观显示出来测距结果,还可以根据测量的不同距离范围进行不同频率的声音报警。同时探讨了如何利用温度测量模块进行测距结果的实时温度修正,以及利用单片机定时器的门控定时功能提高测量精度的方法,最大限度地提高测量的准确度。本系统设计简易,虽然不能测量过远的距离(5 m之外),但规模小,外围电路简单,调试方便,成本低,器件更换维护容易,灵活性高,与被测量物体不需要直接接触,可以广泛

17、应用于多种场合,如汽车倒车防撞提醒、智慧物流运动控制、建筑工地作业安全提示、公共安防中的接近检测、停车场安全检测、工农业现场中的液位测量、工件运动位置测量等,它的推广应用将大大便利人们的生活和提高工农业生产自动化效率,产生良好的经济社会效益。参考文献:1李云龙,卜雄洙,赵文,等.新型嵌入式超声波测距系统J.仪表技术与传感器,2012(1):97-99.2王小华,周松青,殷严刚.基于温度补偿的超声波测距系统设计J.广西物理,2012,33(2):10-14.3蔡贵祥.基于MEMS压电超声换能器的超声测距系统设计D.重庆:重庆大学,20214罗冬旭.基于 FPGA 的超声波测距系统设计D.长春:吉

18、林大学,2021.5高琬佳.基于超声阻抗法的新型液位测量传感器关键技术研究D.太原:中北大学,2022.作者简介:王永彬(1969),男,大学本科学历,副教授,主要从事机电一体化、单片机传感测控系统、智能仪表等方面的教学科研工作。(编辑:王霞)(上接第 56 页)作者简介:徐维(1990),女,本科,工程师,研究方向为机场安全管理。白鹏飞,男,博士,副教授,研究方向为应急管理与公共安全。张禹(1981),女,硕士,高级工程师,研究方向为安全管理和法定自查。王明泽(1988),男,本科,工程师,研究方向为机场运行管理。张宇宙(1997),男,本科,助理工程师,研究方向为通用机场航务管理。(编辑:丁琳)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服