基于单片机的超声波测距仪设计
2021-06-30王瑞荣
王瑞荣
(太原工业学院电子工程系,山西太原,030008)
0 引言
超声波的传播介质非常广泛,在气体、液体和固体中都可以传播,并且传播距离较远,传播速度恒定,能量消耗缓慢,不受电磁、光线、烟雾等的影响,有一定的环境适应能力,所以超声波常用来定位以及距离测量[1]。
像物位测量仪和测距仪等仪器一样,通过利用超声波来实现距离测算的机器还有很多。超声波检测快速、方便、操作简单是超声波检测的一般优点,并且易于实时控制,在测量精度方面能达到工业实用的要求,性价比较高[2]。超声波具有很好的指向性,同时可以在一定程度上避免对人体的危害,因此超声测距广泛应用于避障,倒车雷达,移动机器人定位,建筑施工工地等工业领域。
本文设计的超声波测距仪使用的核心微处理器是STC89C52,超声波在超声波trig端生成,为记录超声波发送到返回的时间,启动单片机的定时器。遇到障碍物后,在介质中传输的超声波立刻折回,并经过回波超声波echo端接收,并立即停止计时。经过计算芯片计算出障碍物与发射器之间的间隔,并通过液晶屏显示,在小于或超出设定范围时,由蜂鸣器报警。系统采用单片机控制输入单片机的外部中断源,从超声波器件输出。在通过发射超声波的触发端定时系统后,定时器在STC89C52里面立刻开启,超声波传输电路开始工作,为了记录超声波发射到返回的时间,利用定时器来计算,得到这个时间差后,通过公式计算出仪器到障碍物的距离,结果输入到液晶屏显示。
1 超声波测距原理
1.1 超声波简介
当物体振动,它们都会发出声响。在物理学上,频率的定义为物体每一秒振动的次数,单位为赫兹。超声波是高于两万赫兹的声波。它可用于测量、清洁、电焊、砾石[4]。据长久以来的研讨可看出,超声波在传播的途径中,被介质所包围,它振动的频率很大,超声波每一小部分包含的能量也很大[5,6]。
1.2 超声波测距原理
超声波测距仪测量距离依照的是超声阻碍的特点。超声波从超声发射器的发射端发射后,在空气中传播,而超声波在遇到障碍物后返回输入到接收端,并且定时器停止计时。超声波从发射到返回接受这个阶段的连续检测后,可以算出发射出波和接收回波的时间差△t,声速已知为常数C,即可算出L。
基本的测距公式如式(1)所示:
式中:L为要测的距离;
△t为超声波发射和反射回接收的超声波这一阶段的时间差;
C为超声波在空气中传播的速度,常温下取为344m/s。
经过多方考量,本设计选取了已经集成好了发射电路和接收电路的HC-SR04超声波传感器来构成作为本设计的超声波测距模块,这样在电路和程序的设计上都可以节省很多精力。性能稳定,测度距离精确,模块高精度,盲区小是它的主要特点。在测量时,接收端‘ECHO’会在一个大于15us宽度的高电平由控制端‘TRIG’发送后收到高电平输出然后定时器开始计时。当该端口进入低功率状态时,停止计时并读出计时器的值,这个值就是超声波往返的时间,再根据传播速度可以计算出障碍物的距离。
2 系统整体方案设计
本次超声波测距仪的设计由单片机处理器、超声波发射探头、超声波接收探头、液晶显示模块、蜂鸣报警模块、温度补偿模块、按键控制模块组成。超声波测距仪由最小单芯片系统控制,超声波自超声波发射探头发射,接收探头接收遇到阻碍后反射回的超声波。该硬件分为七部分:最小单芯片系统、超声波传输和接收电路、按键控制电路、蜂鸣报警电路、数字显示电路和温度补偿电路。本设计选择用STC89C52即51单片机作为核心处理器,得到的距离数值将通过LCD1602所显示,在测得的距离超出程序中所指定的范围时,蜂鸣器发声。超声波信号通过52单片机P0.1端口发送到超声波发射电路。
超声波测距仪整体系统图如图1所示。
图1 整体系统图
2.1 系统硬件设计
硬件部分的设计主要包括最小系统,其又包含含时钟电路、复位电路、供电电源和接地端等电路;显示电路与超声波电路等。超声波电路里包括超声波发射电路与超声波检测接收电路。根据设计要求选择合适的硬件进行焊接与测试。
2.2 软件设计
测距仪的重要之处在于对距离的精准测量,然后再经过单片机来解决测量的数据。在距离上,包含温度等多样的信号都对速度存在一定的影响。超声波的超声信号接收电路的两个阶段:第一波信号传输探头时注入信号后,超声波接收端收到超声信号,其实就是超声发射信号。另一波信号的有效信号,在碰到阻碍之后立刻反射回来。由单片机计数功能完成对发射时间和接收时间的记录,接着利用数据来算出距离。有效信号需要检测回声反射对象,因此要防止检测到其他响应。超声发射超声信号直接对信号接收探头的影响,主要原因是同时测量测量盲区超声波信号的发生。
超声波接收电路接收到超声回波后送到HC-SR04集成电路模块对超声波检测塑造,并将一个有效的信号发送给单片机。单片机利用变更内部响应来将回波信号到达时间进行记录。端口接收到返回响应后,停止时钟运行,读取数值。主程序设计如图2所示。
图2 主程序流程图
3 小结
超声波在生活中用处很大,声呐探测、倒车雷达等等,无一不体现出它的不可缺少性。因此值得去多多研究与了解。本设计是建立在超声波测距的原理上以STC89C52单片机作为核心,包含显示模块、报警模块、测温模块等的一个仪器。超声波模块的发射端向障碍物发射超声波,与此同时,STC89C52单片机中的定时器开始定时计数功能。在检测到超声波模块接收到回波信号后,STC89C52单片机停止定时计数。之后将STC89C52单片机记录的两个数值进行计算,算出时间差,再与声速相乘,得到的数值就是超声波模块与障碍物之间的距离本次采用的超声波模块的测量范围为0.2厘米到500厘米,测量精度为毫米级别。此外,本设计在超声波测距的基础上加了一个报警模块,安全范围可通过按键设定。在安全范围内蜂鸣器物反应,当距离超出安全范围时,蜂鸣器报警。
本文设计的超声波测距仪在测量时对障碍物表面有所要求,为保证能够成功接收到反射回的超声波,需要被测量物体的表面光滑平整。经检测,此测距系统的测量范围在0.2 ~5米左右,最小显示单位为0.01米,并且其线性度、重复性和稳定性都很好,一般常用的测距需求均可以得到满足。