当前位置:首页 期刊杂志

一种超声波测距系统的设计方法

时间:2024-05-04

郭星辰

摘要:超声波传感技术目前在电子测量领域应用越来越普及。基于渡越时间检测原理,使用ATMEL公司的AT89S51单片机,提出一种超声波测距系统的设计方法,主要分析了测距原理,给出了超声波发射电路、接收电路等硬件电路设计方法,以及详细阐述了超声波发射和接收、数据处理等软件设计方法。通过对测距系统进行性能分析,表明超声波测距系统工作稳定、性能良好,同时具有低成本、高精度、微型化等优点,具有一定实际应用价值。

关键词:超声波;测距;AT89S51单片机;渡越时间检测

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2022)17-0035-02

随着电子测量技术的更新迭代,利用超声波检测技术进行距离测量得到普遍应用。超声波指向性比较强,在空气中传播的距离较远,而且能量消耗缓慢、测量稳定性好、测量精度高,同时易于控制与计算,因而适合进行距离测量[1]。基于以上特点,超声波被广泛用于距离测量、物体检测、风速测量等各个领域。

为了更加简单有效地实现超声波测距功能,在性能分析基础上,提出了一种基于ATMEL公司的AT89S51单片机的测距系统设计方法,具有三位数码管显示、设置阈值、超限报警等功能。经测试,该系统测量准确,性能良好。

1 测距原理

渡越时间检测是一种常用于超声波距离测量的检测方法。通过超声波换能器完成超声波的发射与接收。超声波发射换能器发射超声波信号,同时立即启动定时,超声波遇到障碍物反射回来(称之为回波信号),当超声波接收换能器接收到回波信号时,立即停止定时。假设,超声波传播时间为t,传播速度为v,测距系统与障碍物之间的距离为s,则有:s=1/2vt。

其中,常温下超声波在空气中的传播速度v为340m/s,其传播速度v易受温度、湿度等因素影响。为了提高测量精确度,可增加温度传感电路部分,以便对传播速度v进行补偿。

2 系统总体设计

测距系统主要由控制系统电路、数码管显示电路、阈值报警电路、超声波发射电路与接收电路以及电源电路等部分组成。控制系统采用ATMEL公司的AT89S51单片机;超声波发射电路用于驱动换能器发射信号,超声波接收电路主要用于驱动换能器接收信号;显示模块采用数码管显示,用于显示测量距离以及系统状态,显示位数为三位;报警电路采用蜂鸣器报警方式,超过测量最大距离或最小距离,系统均会报警提醒;电源电路提供AC6~9V交流供电或USB直流供电两种方式。系统总统设计框图如图1所示。

3 系统硬件设计

3.1 测距控制系统

系统采用AT89S51型号单片机,该单片机是一种比较典型的51内核单片机,并且使用广泛。为获得稳定的时钟频率,系统使用12MHz频率的晶振,保证测量时间的准确性。单片机P2.7管腳输出所需的40kHz的方波信号,P3.5管脚主要用于接收超声波回波信号。两个按键主要用于设定测距报警值。测距控制系统电路如图2所示。

3.2 超声波发射电路[2-4]

超声波发射电路设计简单、实用,主要由T40超声波换能器、超声波脉冲变压器、9012三极管等部分构成。单片机输出的方波信号经9012三极管送到超声波换能器的一极,驱动其发射超声波信号。通过提高发射电路的功率,从而提高超声波传输距离。超声波发射电路如图3所示。

3.3 超声波接收电路[2-4]

超声波接收电路由放大电路、检波电路、比较整形电路组成。与超声波接收换能器一极相连的单片机P3.5管脚实时监测回波信号。由于超声波在空气中传播时产生的衰减,导致反射回来的超声波信号非常微弱,所以需要通过接收电路将信号进行放大、整形。超声波接收电路如图4所示。

3.4 显示电路

显示电路由三位共阳极LED数码管组成,段码显示由单片机P2口驱动,位码信号通过P3口中的3个管脚控制,利用PNP三极管进行驱动。

3.5 电源电路

系统正常工作时,工作电流约为30~45mA,为保证系统可靠性,供电方式主要为交流AC6~9V。为调试方便,采用另外一种供电方式,由电脑USB口直接供电。交流电经过整流电路、滤波电路后形成直流电。为保证测距系统用电,电源电路中由三端稳压集成电路进行稳压,而后再经电容滤波后输出5V直流电,保证电源供电质量。

3.6 报警电路

测距系统的报警电路主要提供两种报警方式。鉴于篇幅限制,报警电路图不作体现,仅从功能方面进行阐述。

第一种报警方式为单片机P3.1管脚驱动继电器,再由继电器控制报警信号。当测量值低于设定值时进行报警,此时继电器吸合,蜂鸣器鸣响;当测量值高于设定值时,停止报警,此时继电器断开,蜂鸣器停止鸣响。第二种报警方式为单片机P0.2口驱动报警信号,当测量值低于设定值时蜂鸣器鸣响报警,当测量值高于设定值时蜂鸣器停止鸣响报警。

4 系统软件设计

采用Keil uVision4开发环境,使用C语言编写应用程序,主要包括超声波发射子程序、超声波接收子程序、定时器初始化子程序、数码管显示子程序、蜂鸣器报警子程序等。超声波测距系统工作流程图如图5所示。鉴于篇幅限制,该文主要对超声波发射和接收部分进行介绍。

系统使用定时器T0及定时器T1。定时器T0计数,定时器T1定时。进入主程序后,进行定时测距判断,当测距标志位为1时,测量一次。通过多次测量取平均值,测距间隔中,主要循环显示测量结果。

由于超声波测距系统晶振频率为12MHz,所以控制系统只能产生半周期为12?s或13?s的方波信号,相对应的频率分别为41.67kHz和38.46kHz。而超声波换能器发出的信号需要是40kHz方波信号,经综合考虑,在编程时选用38.46kHz的方波信号,以此驱动超声波换能器工作。

系统发射完超声波信号后,立即开启定时器T0计时。因发射超声波信号后,可能会被接收换能器接收并触发,为防止此种情况发生,系统需要延时约1.5ms~2ms后再启动回波检测程序(这就是盲区值,即最小测量距离)。当接收管脚P3.5电平信号由高电平跳变为低电平时,此时立即停止定时器T0,该段时间即为超声波渡越时间。将测量到的渡越时间以及超声波传播速度代入测距公式,即可获得被测物体与测距系统之间的距离。

5 测试结果分析

从测试结果来看,该测距系统测距范围为40cm~700cm,符合设计要求。不过距离及精度方面还存在以下问题:一是测距盲区值较大,主要原因是为增大测量距离,提高了超声波的发射功率,这会加大超声波余振时间,在设计中需要综合考虑功率及测量盲区因素;二是测量精度需要进一步提高,可以通过增加温度补偿模块对测量结果进行修正。

6 结束语

该文分析了一种超声波测距的设计方法,系统介绍了渡越时间检测方法、软硬件设计方法以及性能测试情况,指出了产生测量距离以及精度问题的原因。该超声波测距系统具有开发简单、易于实现、性能可靠等优点,具有一定的实用价值。

参考文献:

[1] 陈蔚.超声波测距仪的设计和实现[J].数字技术与应用,2018,36(5):182-183.

[2] 王书侠,王国新,刘智超.一种简易超声波测距装置的设计与实现[J].仪表技术,2021(3):23-24,66.

[3] 时杨,杨澳妮,吴若洁,等.超声波测距仪的设计与研究[J].电声技术,2020,44(6):66-69,73.

[4] 崔靓,王冠龙,朱学军.超声波测距系统的设计与实现[J].传感器与微系统,2019,38(1):72-74,78.

收稿日期:2022-03-23

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!