APP下载

超声波测距仪的制作

2009-09-18

新媒体研究 2009年11期
关键词:子程序传播速度测距

周 彪

[摘要]设计一种基于AT89S51单片机的超声波测距电路,实现超声波点对点的测量,并采用DS18820测温,减小温度对超声波传播速度的影响。

[关键词]单片机超声波测距温度补偿

中图分类号:TN98文献标识码:A文章编号:1671-7597(2009)0610013-01

一、引言

超生波技术是一门以物理、电子、机械及材料学为基础的通用技术之一。它是通过超声波产生、传播及接收的物理过程而完成的。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。

二、超声波测距的基本原理

超声波发生器在某一时刻发出超声波信号,当超声波遇到被测物体后反射回来,测出超声波信号从发射到接收到回波信号的时间,利用超声波在介质中的传播速度,就可以计算出被测物体的距离:

d=v×t/2(1)

其中,d为被测物体到测距仪之间的距离,v为超声波在介质中的传播速度,t为超声波从发射到接收所用的时间。为了提高精度,需要考虑不同温度下超声波在空气中传播速度随温度变化的关系:

v=33114+0161T(2)

式中:T为实际温度(℃),v为超声波在介质中的传播速度(m/s)。

三、超声波测距系统的设计

(一)整体方案设计。本文主要采用单片机控制技术,实现精确的超声波测距方案,整个系统由超声波收发单元、波形校准单元、温度测量单元、显示单元和控制单元5个单元组成。其中,超声波收发单元主要实现超声波的接发送和接收;信号处理单元主要实现去除干扰、波形整形、锁相环等功能,便于实现准确计时;温度测量单元主要测量外界温度,实现温度补偿:显示单元实现测量数据的显示:单片机为控制单元,完成指令发送,接收数据,进行计算等任务。

(二)单片机控制与显示模块。单片机选用AT89S51单片机,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且廉价的方案。它的外部引脚多,程序存储容量大,同时也具有内部

定时、计数和全双工串口。AT89S51的最大计数分辨率为振荡器频率的1/12,对于12MHz晶振来说,距离不确定度约为1mm,因此满足本设计要求。此单片机响应快,寿命长,性能稳定,功耗低,价格低廉。使用数码管LG50118SR作为显示部分,其功耗低,操作简单,体积小。

(三)超声波发射电路。超声波发射器包括超声波产生电路和超声波发射控制电路两部分,由功率放大电路和超声波发射传感器组成。超声波探头的型号选用CSB40T,利用软件产生的超声波信号,通过输出引脚输入至驱动器。经驱动器驱动后推动探头产生超声波。通过空间向外传播出去。

(四)超声波接收部分。超声波接收部分采用集成芯片CX20106A,这是一款红外线检波接收的专用芯片。内部电路由前置放大器、自动偏置电平控制电路、限幅放大器、带通滤波器、峰值检波器和整形输出电路组成。可以利用它作为超声波检测电路。接收的回波信号先经过前置放大器和限幅放大器,将信号调整到合适的幅值;再经过带通滤波器滤波得到有用信号,滤除干扰信号;最后由峰值检波器和整形电路输出到锁相环路,实现准确的计时。

(五)温度测量部分。DS18B20数字温度计是DALLAS公司生产的12Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,将其数据线与单片机的P1.7相连,就可以实现温度测量。测量的温度精度可以达到0.1℃,测量的温度的范围在一20~+100℃。

四、系统的程序设计

在程序设计过程中一般有四个步骤:初始化命令:传送ROM命令:传送RAM命令;数据交换命令。在系统安装及工作之前,应将主机与DS18820挂接。其工作过程为:主机发出一个脉冲,待“0”电平大于480μs后,复位DS18820,在DS18820所发响应脉冲由主机接收后,主机再发读ROM命令代码33H,然后发一个脉冲(15μs),并接着读取DS18820序列号的一位。用同样方法读取序列号的56位。另外,由于DS18820单线通信功能是分时完成的,遵循严格的时隙概念,因此,系统对DS18820和各种操作必须按协议进行,即初始化DS18820(发复位脉冲)一发ROM功能命令一发存储器操作命令一处理数据。在正常测温情况下,DSl8820的测温分辨力为0.5℃。采用下述方法可获得高分辨率的温度测量结果:首先用DSISB20提供的读暂存器指令(BEH)读出以0.5℃为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分Tz,然后再用BEH指令取计数器1的计数剩余值Cs和每度计数值CD。考虑到DS18B20测量温度的整数部分以0.25和0.75℃为进位界限的关系。

该系统的主程序处于键控循环工作方式,当按下测量键时,主程序开始调用发射子程序、查询接收子程序、定时子程序,并把测量结果用显示子程序在数码显示器上显示出来。

五、结论

应用本系统15mm~5m内的目标做了多次测量,其最大误差为1.5mm,且重复性好,可以用于实际使用。可见基于单片机设计的超声波测距系统具有结构简单、功耗低、易于操作、灵活性高的特点外,还具有操作方便、运行可靠的优点,它有良好的人机界面,能方便地实时显示测距数据。

猜你喜欢

子程序传播速度测距
新雷
一类广义canmassa—Holm方程的无限传播速度与渐近行为
应用子程序车削梯形螺纹方法
新闻客户端传播优势分析
在数控车床上加工软轴零件
数控车床加工螺纹编程方法探讨
电力电缆故障测距分析与应用
220 kV电网行波测距系统组网运行实践探讨
传媒全球化语境下的媒介话语批判