超声波由于其指向性强、能量消耗缓慢、传播距离较远等优点,而经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场。例如:液位、井深、管道长度等场合。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在测控系统的研制上也得到了广泛的应用。本文介绍一种以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。
1 超声波测距原理
1.1 超声波发生器
超声波是一种频率超过20kHz的机械波。为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波。一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。
它们所产生的超声波的频率、功率和声波特性各不相同。
因而用途也各不相同。目前较为常用的是压电式超声波发生器。
1.2 压电式超声波发生器原理
压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构如图1所示。它有两个压电晶片和一个共振板。发射超声波时,压电传感器中的压电晶片受发射电脉冲激励后产生共振,并带动共振板振动,便产生超声波。接收超声波时,两电极间未外加电,共振波接收到超声波,将压迫压电晶片作振动将机械能转换为电信号。
?
1.3 超声波测距原理
超声测距从原理上可分为共振式、脉冲反射式两种。由于共振法的应用要求复杂。在这里使用脉冲反射式。
超声波测距原理是通过超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时。超声波在空气中传播。途中碰到障碍物就立即返回来。超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为C,而根据计时器记录的测出发射和接收回波的时间差t。就可以计算出发射点距障碍物的距离s.即:S:Ct/2。这就是所谓的时间差测距法。由于超声波也是一种声波。其声速c与温度有关。表1列出了几种不同温度下的声速。在使用时,如果温度变化不大。则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。
声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距系统的机理。
2 系统硬件电路设计
ATMEL公司的AT89C51单片机,是一种低功耗、高性能的、片内含有4KB Flash ROM 的8位CMOS单片机,工作电压范围为2.7~6V(实际使用十5V供电)。
位数据总线。它有一个可编程的全双工串行通信接El,能同时进行串行发送和接收0通过RXD引脚(串行数据接收端)和TXD引脚(串行数据发送端)与外界进行通信。本超声波测距系统以的AT89C51为中央处理器,其系统原理框图如图2所示。
?
系统上电工作后,由脉冲发生器发出以脉冲信号,该脉冲信号一方面通过驱动的电路推动脉冲发生器发出超声波脉冲,另一方面,触发AT89C51内部定时器T1(由外部中断INT0实现)开始定时;同时由AT89C51控制按时间自动改变放大其增益,即按发射波未到达接收器的传播时问逐渐增大放大器增益。接收到的超身回波经过发大、滤波后,一是直接送给鉴幅器,二是经峰值保持电路提取回波峰值作为阈值的基准信息。AT89C51通过ADC0809采样回波峰值,经过软件加权处理后作为鉴别阈值,再经过DAC0832送给鉴幅器。当回波包络中某个波被鉴别出来时,则立即触发外部中断INT1关闭定时器T1,同时,P1.1设置检测窗口;由TO计数器窗口内鉴别回波个数12,根据n确定下次鉴别给定值的大小,闭环控制至n≤5为止。然后从补偿值表中取出与rl对应的补偿值,对T1的计时时问(实际上这是从发射超身波到接收到第一个鉴别回波之问的计数值,计数周期为lUS,12M品振)进行修正,获得超声波实际的往复传播时问,再通过3字节浮点运算求出距离,由AT89C51串行通信口送LED显示。本系统每隔5s采样一次环境温度,以修正声速,所以在系统还可以加入温度传感器来监测环境温度,把表l所列的数据做到程序中可进行温度补偿。