基于HC-SR04模块的时差法声速测量
2018-03-07,
,
(贵州理工学院电气与信息工程学院,贵州 贵阳 550003)
0 引言
超声波是一种在弹性的媒质中传播的纵波,其频率范围则在20 kHz和大约1 GHz之间。超声波频率高,易汇聚成束定向传播,具有较强的贯穿能力。市场上已有成熟的超声波换能器产品。因为超声波在介质中的传播的速度与介质的特性和状态等因素有关,接收到的超声信号便携带了介质中待测参量的信息,所以可通过介质中的声速测定了解媒质的特性或状态变化[1]。比如可利用声速测量气体浓度[2-4]和地外空间探测[5]。
传统的声速测量方法有:共振干涉法、相位比较法等。这些方法所需要的仪器复杂,且实验过程有人为误差,往往不能满足工程成本、便携性和精度需求。所以,根据时差法[6]给出一种声速测量的软硬件实现方法。该方法利用了HC-SR04模块的测距功能,测量空气中固定距离的超声波传播时间,并通过测温模块获得当前环境温度,进而可实时精确获取不同温度下空气中超声传播速度。
本文方法与传统的共振干涉法、相位比较法等测量方法相比,具有结构简单、方便携带、成本低、精度高等优势。基于本方法设计的实验装置测量结果与6组不同温度下空气中声速理论计算值[1]相比,相对误差低于0.6%。
1 HC-SR04测距模块
一般使用HC-SR04如图1所示。作为超声测量距离的模块。HC-SR04的工作原理是,EM78P153单片机作为处理核心的触发信号输入端收到从C51单片机发出一个最小10 μs的高电平信号后,EM78P153发出40 kHz的方波,经过LMC6034IM运算放大,由超声波探头转化为40 kHz声波;声波经过物体反射后被接收探头接收,再由EM78P153处理后由回响信号输出端发出一个高电平信号反馈给C51单片机,C51单片机就从发出高电平信号时开始计时,在收到高电平信号后结束计时,两个信号之间的时间间隔就是超声波的传播时间。
图1 HC-SR04测距模块实物
HC-SR04测距模块使用时差法测量出超声波从发出到接收之间的传播时间,然后再根据空气中已知的声速,通过计算得出障碍物与超声波探头的距离。
2 时差法声速测量原理
本文则通过程序修改,利用HC-SR04测距模块,采用时差法实现不同温度下的声速测量。时差法测量声速[6]的基本原理是通过测量已知距离的超声传播时间,计算得到超声传播速度。时差法的单片机实现思路是,在确定的距离之间,由控制电路定时发出一个声脉冲波,经过一段距离的传播后并且反射后到达超声波接收换能器;接收到的信号经放大与滤波后由高精度计数器得出声波从发出到接收这个在介质传播中经过的时间,在根据程序算法从而计算出在某一介质中的传播速度。因为时差法是基于仪器本身测量进行计算,避免了共振干涉法、相位比较法等需要人工目测所带来的误差,保证了其较高的测量精度。
3 时差法声速测量的硬件设计
时差法声速测量的硬件设计主要包含AT89S52单片机、显示模块、温度模块、基于HC-SR04的超声波收发模块,如图2所示。
AT89S52是ATMEL公司生产的一种低功耗、高性能CMOS 8位微控制器,内部具有8 k的系统可编程Flash存储器。存储器使用了Atmel 公司的高密度非易失性存储器技术制造,保证了在断电后芯片仍然能够保持数据,具有高速、高密度、低功耗和抗辐射等优点,并且与MCU-51单片机产品指令与引脚完全兼容。显示模块选用了LCD1602,能够同时显示16×02即32个字符。温度模块选用了DALLAS公司推出的一线式数字温度传感器DS18B20。它将地址线、数据线、控制线合为一根双向串行传输数据的信号线,具有体积小、硬件开销低、抗干扰能力强、精度高等特点。
图2 时差法声速测量的硬件结构
4 时差法声速测量的程序设计
时差法声速测量的程序设计主要有主程序、单片机初始化子程序、显示子程序、温度子程序、中断子程序、声速计算函数子程序、超声波发射子程序、超声波接收子程序等构成。
主程序先对单片机系统初始化,设置计数器T0工作方式为方式1,然后发出温度指令,控制DS18B20温度传感器,再由AT89S52单片机向HC-SR04模块发出一个高电平信号,控制HC-SR04中的单片机发出40 kHz的信号,经过运算放大器放大后由超声波探头发出40 kHz的超声波,在经过物体反射后由另一个超声波探头接收到超声波信号。
超声波信号被接收到后,HC-SR04内的单片机向AT89S52主控制器发出一个高电平信号,AT89S52主控制器在接收到高电平信号后,系统进入中断,计数器T0停止计数,最后由计数器中的数据得出传播时间。由于本设计是测量声速,所以设置超声波经过的距离是已知的,再按照公式c=S/T计算得到超声波在空气中的传播速度。由于超声波传播速度中会因环境温度的变化而发生改变,所以需要一个温度传感器,测量在当前时刻的温度。LCD1602则将测量得到的声速与环境温度同时用显示出来。
图3是时差法声速测量的程序设计流程图,其中HC-SR04模块信号流程图如图4所示。在整个程序设计中AT89S52单片机不仅负责对整个程序的控制,还控制HC-SR04模块发出与接收超声波,最后还要计算声速与显示声速结果与温度。HC-SR04模块则在整个时差法测量声速的模块中起数据采集的作用。
图3 超声波测量声速主程序
图4 HC-SR04模块信号流程
5 实验与讨论
本次实验采用的天祥电子出产的产品[7]:C51系列单片机实验板、HC-SR04模块和DS18B20温度传感器如图5所示。
图5 时差法声速测量实验装置
在实验中,测量了不同温度下,障碍物与探头之间不同距离时超声波在空气中的传播速度,并与测量结果与理论计算值进行了比较。
理想气体中声传播速度的理论计算公式为[1]:
(1)
对于空气中的热容比γ=1.402,标准大气压P0=1.013×105Pa。当温度为0 ℃时,空气密度ρ0=1.293 kg/m3,可根据(1)式计算得到温度为0 ℃时,声速c0(0 ℃)=331.6 m/s。
由于超声波在空气中传播时受到环境温度的影响, 当温度为t℃时空气中的理论声速为[1]:
(2)
μ为气体摩尔量,对于空气μ=29×10-3kg/mol;R=8.31 J/K mol为气体数。将c0(0 ℃)=331.6 m/s代入(2)式可得温度为t℃时的理论声速为:
c0(t℃)=331.6+0.6t(m/s)
(3)
表1记录了当障碍物与超声波探头之间为6组不同距离时,不同温度下实测得到的声速与利用公式(3)计算得到的理论声速的对比情况。图5则展示了当环境温度为25.1 ℃,障碍物与超声波探头之间的距离为10 cm时,所采用的实验装置实时测得的空气中声速为346.6 m/s。从表1中可以看到实测的声速与理论声速的最大相对误差仅为0.6%,说明本文给出的时差法声速测量的硬软件设计是合理的。
表1 声速测量实验值与理论值[1]的对比
6 结束语
基于时差法原理,给出了一种基于HC-SR04测距模块的声速测量的实现硬件和程序设计。介绍了所包含的硬件模块、HC-SR04模块的信号处理流程、声速测量的程序实现流程。通过所设计的实验装置,测量了不同已知距离下的超声波传播时间以及环境温度,并通过LCD显示屏实时展示所测得的声速和对应的环境温度。当障碍物与超声波探头之间距离分布在5 ~30 cm的6组不同时,实测得到的声速与理论计算值的最大相对误差仅为0.6%,从而证明了可利用本文方法精确获得不同温度时空气中的超声波传播速度。本文方法不仅避免了实验过程的人为误差,还具有结构简单、方便携带、成本低、精度高和实时显示测量声速等优势。
[1] 杜功焕, 朱哲民, 龚秀芬. 声学基础[M]. 南京: 南京大学出版社, 2012.
[2] 张克声, 陈刘奎, 欧卫华,等. 基于声吸收谱峰值点的天然气燃烧特性检测理论[J]. 物理学报, 2015, 64(5):1-8.
[3] 朱明, 王殊, 王菽韬, 等. 基于混合气体分子复合弛豫模型的一氧化碳气体浓度检测算法[J]. 物理学报, 2008, 57(9): 5749-5755.
[4] 单鸣雷, 王月庆, 朱昌平,等. 微量浓度二元混合气体的超声检测研究[J]. 压电与声光, 2009(01): 129-131.
[5] ZARNECKI J C, LEESE M R, HATHI B, et. al. A soft solid surface on titan as revealed by the huygens surface science package[J]. Nature, 2005, 438(7069): 792-795.
[6] 徐磊, 王艳艳. 应用时差法测量声速[J]. 大学物理实验, 2006, 19(2): 48-50.
[7] 郭天祥. 51单片机C语言教程[M]. 北京:电子工业出版社, 2015.