- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于单片机带温度补偿的超声波测距仪设计
超声波具有指向性强,能量消耗缓慢,在介质中传播的距离较远等优点,因而超声波经常用于距离的测量,如物位测量仪和测距仪等都可以通过超声波来实现。利用超声波检测比较快速、方便、计算简单、易于实时控制,并在测量精度方面能达到工业实用的要求,性价比较高。因此在液位、井深、管道长度的测量、移动机器人定位和避障等领域得到了广泛应用。
本设计以脉冲回波法的超声波测距原理为依据,AT89S52单片机作为控制核心,结合超声波发送和接收模块HY—SRF05,实时LCD显示。系统采用DS18B20温度传感器,把温度值的变化补偿到超声波的波速中,从而提高超声波测距仪的精度,降低温度对测距结果的影响。
1 超声波测距原理
超声波测距的原理是通过超声波发射装置发出超声波,根据接收器接到超声波时的时间差就可判断出距离,这与雷达测距原理相似。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物则立即返回,超声波接收器收到反射波则停止计时。
根据计时器记录的时间t,就可以计算出发射点距障碍物的距离
d=s/2=(V×t)/2 (1)
V=331.4+0.61T (2)
其中,s是超声波往返通过的路程;V为超声波介质中传播速度;T为实际温度。所以超声波传播速度和温度密切相关,由此可见温度对于超声波测距系统的影响是不可忽略的。
2 系统硬件设计
该系统由5部分组成,以AT89S52单片机作为控制核心,温度传感器DS18B20用于温度的采集,LCD用于显示实时温度和障碍物的距离,超声波传感器HC-SRF05用于超声波的发送和接收。系统整体结构框图如图2所示。
2.1 超声波传感器
超声波传感器HC-SRF05集超声波的发送和接收功能于一体,可提供2~450 cm的非接触式距离感测功能。图3是HC—SRF05的实物图,图4是超声波模块电路图。1脚为5 V电源端;2脚为触发控制的信号输入端,与单片机的P3.7口相连;3脚为回响信号输出,与单片机P3.2口相连;4脚接地;5脚为开关量输出。
P3.7口向触发引脚发送≥10μs的脉冲触发信号,该模块内部将发出8个40 kHz周期电平并检测回波,一旦检测到有回波信号,则3脚输出回响信号,所测的距离与回响信号的脉冲宽度成正比,由此可通过发射信号到收到回响信号的时间间隔计算得到距离。超声波时序图如图5所示。
2.2 温度传感器DS18B20
由于声音的速度在不同的温度下有所不同,因此为提高精度,应通过温度补偿对超声波的传播速度进行校正。系统采用DS18B20传感器测量温度,DS18B20温度传感器具有不受外界干扰、精度高、测温范围宽等优点。检测电路如图6所示,单片机P3.7口接DS18B20数据总线,控制DS18B20进行温度转换和传输数据,数据总线接10 kΩ的上拉电阻,作用是使总线控制器在温度转换期间无需一直保持高电平。
2.3 LCD显示模块
LCD1602具有超薄、功耗低、体积小等优点,被广泛用于低功耗电子产品和智能仪表中。LCD显示电路如图7所示,3脚VL为对比度调整端,使用时通过接一个10 kΩ的电阻来调节。4脚RS为寄存器选择信号线,H为数据选择,L为指令选择,接单片机的P1.0口。5脚RW为读写信号线,接单片机的P1.1口。6脚E为使能端,当E由高电平跳变为低电平时执行命令,接单片机的P1.2口,8位数据线D0~D7,接单片机的P0口。
3 系统软件设计
3.1 主程序设计
系统软件采用模块化设计,系统初始化部分包括引脚的定义、中断和定时器的设置等,进而调用温度检测子程序,根据温度值对超声波速度进行校准,最终根据回波信号计算距离并显示,主程序流程如图8所示。
3.2 超声波测距子程序
超声波发送子程序采用定时器T0中断的方式由单片机P3.7引脚发送触发脉冲,由单片机P3.2引脚利用定时器T1来对回波信号进行检测计时,初始化T1后检测等待回波信号的到来,当信号由低变高后定时器T1开始计时,直到信号由高到低计时结束,根据温度校准后的超声波速度计算障碍物的距离,超声波测距流程如图9所示。
4 实验结果
硬件电路如图10所示,经过试验采集的数据如表1所示。由表1数据可看出,当测量范围在30~150 mm之间时,误差相对较小,此范围之外误差较大。
5 结束语
本系统通过引入DS18B20,使超声波测距系统的测量精度有了较大的提高。该系统具有结构简单、带温度补偿、实时LCD显示和报警等优点,并有一定的实用价值。