高精度超声波测距系统设计作者:宋永东周美丽白宗文来源:《现代电子技术》2008年第15期摘要:提出了一种基于AT89S51单片机的超声波测距系统的设计方案。
详细分析了影响测距系统精度的主要因素,设计出了各单元电路和整体电路,重点介绍了提高测量精度的方案和具体实现电路,采用单片机技术进行控制,并给出了控制流程图。
设计出的超声波测距系统精度可达毫米数量级,电路具有结构简单、操作方便、精度高、应用广泛的特点。
关键词:测距系统;AT89S51;误差分析;硬件设计;流程图中图分类号:TP302.1 文献标识码:B 文章编号:1004373X(2008)1513703Design of High Precision Ultrasonic Distance Measurement SystemSONG Yongdong,ZHOU Meili,BAI Zongwen(College of Physics and Electronic Information,Yan′an University,Yan′an,716000,China)Abstract:A plan of ultrasonic distance measurement system based on AT89S51 is derived in this paper, the main factors impact of precision are analyzed in detail and the unit circuit and complete circuit are given.The plan of improving the accuracy and specific circuit is introduced.The system′s accuracy is reached millimeters orders of magnitude.All of the component is controlle by AT89S51,and the control program flow is presented.Circuit have many advantages such as simply structure,easy to use,high accuracy and wide application.Keywords:distance measurement system;AT89S51;error analysis hardware design;program flow1 引言利用超声波测量距离的原理可简单描述为:超声波定期发送超声波,遭遇障碍物时发生反射,发射波经由接收器接收并转化为电信号,这样测距技术只要测出发送和接收的时间差,然后按照下式计算,即可求出距离:S=CΔt/2(1) 由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此,广泛应用于倒车提醒、建筑工地、工业现场等的距离测量。
目前的测距量程上能达到百米数量级,测量的精度往往能达到厘米数量级。
本文在分析现有超声波测距技术基础之上,给出了一种改进方案,测量精度可达毫米级。
2 系统方案分析与论证2.1 影响精度的因素分析根据超声波测距式(1)可知测距的误差主要是由超声波的传播速度误差和测量距离传播的时间误差引起的。
对于时间误差主要由发送计时点和接收计时点准确性确定,为了能够提高计时点选择的准确性,本文提出了对发射信号和加收信号通过校正的方式来实现准确计时。
此外,当要求测距误差小于1 mm时,假定超声波速度C=344 m/s (20 ℃室温),忽略声速的传播误差。
则测距误差sΔt超声波的传播速度主要受空气密度所的影响,空气的密度越高则超声波的传播速度就越快,而空气的密度又与温度有着密切的关系。
温度与超声波的速度之间的近似公式为:C=C O+0.607×T ℃(2)式中:C O为零度时的声波速度332 m/s; T为实际温度(℃)。
由此可见,测量精度与温度有着直接的关系,本文采用DS18B20温度传感器,对外界温度进行测量,并在软件中实现温度补偿。
2.2 整体方案设计本文主要采用单片机控制技术,实现精确的超声波测距方案,整个系统由超声波收发单元、波形校准单元、温度测量单元、显示单元和控制单元5个单元组成。
其中,超声波收发单元主要实现超声波的接发送和接收;信号处理单元主要实现去除干扰、波形整形、锁相环等功能,便于实现准确计时;温度测量单元主要测量外界温度,实现温度补偿;显示单元实现测量数据的显示;单片机为控制单元,完成指令发送,接收数据,进行计算等任务。
3 系统硬件设计3.1 超声波发射部分本文中脉冲发射采用软件方式,利用AT89S51的P1.0口发射40 kHz的方波信号,经过74HC04放大后输出到超声波换能器,产生超声波。
74HC04是一个高速CMOS六反相器,具有放大作用,具有对称的传输延迟和转换时间,而相对于LSTTL逻辑IC,它的功耗减少很多。
对于HC 类型,其工作电压为2~6 V,它具有高抗扰度,可以兼容直接输入LSTTL逻辑信号和CMOS逻辑输入等特点。
本系统将40 kHz方波信号分成两路,分别由74HC04经两次和一次反向放大,从而构成推拉式反向放大。
电路图如图2所示。
3.2 超声波接收部分超声波接收部分采用集成芯片CX20106A,这是一款红外线检波接收的专用芯片。
内部电路由前置放大器、自动偏置电平控制电路、限幅放大器、带通滤波器、峰值检波器和整形输出电路组成。
可以利用它作为超声波检测电路。
接收的回波信号先经过前置放大器和限幅放大器,将信号调整到合适的幅值;再经过带通滤波器滤波得到有用信号,滤除干扰信号;最后由峰值检波器和整形电路输出到锁相环路,实现准确的计时。
CX20106A的外部接线图如图3所示。
图3中1脚是接收信号输入端,2脚是调节接收信号灵敏度,电阻越小,灵敏度越高。
电容越大,灵敏度越高。
电容一般取1 μF,电阻50~300 Ω的,在干扰较大的场合增加电阻阻值可将灵敏度调低,干扰小的场合减小阻值将灵敏度调高。
5脚主要用来调节中心频率,这里取200 kΩ,7脚接上拉电阻,这里取1 kΩ左右。
3.3 显示部分显示部分采用共阴极数码管,由单片机实现控制,单片机的P0口输出段码,P2口用作位码,用PNP型三极管驱动(本设计采用9018),由于单片机I/O口的驱动能力非常小,P0口需外接上拉电阻来增加驱动能力,应用时要注意,在低电平时,可能由于电流直接经电阻流进I/O的灌流太大而烧毁单片机,所以提升电阻一般取600~1 000 Ω。
实验证明,数码管亮度合适。
其原理图如图4所示。
3.4 温度测量部分DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。
因此用它来组成一个测温系统,具有线路简单,将其数据线与单片机的P1.3相连,就可以实现温度测量。
测量的温度精度可以达到0.1 ℃,测量的温度的范围在-20~+100 ℃。
电路如图5所示。
4 系统软件设计测距系统软件采用汇编语言,由发射脉冲子程序、用中断实现回波接收子程序、计算距离子程序、数码管显示子程序和计时单元延时子程序几部分组成,采用模块化编程。
其软件流程图如图6所示。
程序首先初始化需要用到的寄存器,内存单元,设置中断触发方式,并初始化DS18B20,然后控制P1.0口输出12 μs的高电平,再输出13 μs的低电平,循环10次便可发射10个频率为40 kHz的脉冲信号。
经过一段延时后,CPU开放中断,开始计数,将计数器初值设为延时所经过的距离,计数器每过一个计时单元加一。
中断产生,停止计数,最后将计数器中的值数据处理后显示到数码管上。
如果计数器中的值小于预定值就由软件产生一定频率的信号到蜂鸣器报警,并启动报警灯。
当需要所存数据时,由外部中断判断键盘是否按下,通过不断显示上次测量数据来锁定数据。
当检测到键盘再一次按下时,按取消锁存,并继续测量距离。
5 结语应用本系统3 mm~20 m内的目标做了多次测量,测量结果为,其最大误差为1.5 mm,且重复性好。
可见基于单片机设计的超声波测距系统具有硬件结构简单、工作可靠、测量误差小等特点。
因此,它可用于许多对测量要求精度高,测量范围适当的设备和各种检测系统中。
参考文献[1]应崇福.超声学[M].北京:科学出版社,1990.[2]阮成功,蓝兆辉,陈硕.基于单片机的超声波测距系统[J].应用科技,2004,31(7):22-24.[3]罗庆生,韩宝玲.一种基于超声波与红外线探测技术的测距定位系统[J].计算机测量与控制, 2005,13(4):304-305.[4]莫树彬.湘江航道工程勘测方法综述[J].湖南交通科技,1994,20(3):41-46.[5]李丽霞.单片机在超声波测距中的应用[J].电子技术,2002,29(6):7-9.[6]张珂,刘刚海.提高超声波测距精度方法的研究[J].现代电子技术,2007,30(15):139-141.[7]姜道连,宁延一,袁世良. 用AT89C2051设计超声波测距仪[J].国外电子元器件,2000(12):31-34.[8]宋学坤,陈迎春,赵进创.一种具有双重输出功能的超声波测距系统[J].微计算机信息,2007,23(16):168-170,167.[9]刘成安,孙涛.智能超声波测距仪的研制[J].微计算机信息,2007,23(17):101-102,107.作者简介宋永东男,1957年出生,陕西户县人,延安大学信息学院副教授,学士。
研究方向为数字图像处理。
周美丽女,1981年出生,陕西横山人,延安大学信息学院信号与信息处理硕士研究生。
研究方向为雷达信号处理。
白宗文男,1979年出生,陕西镇安人,延安大学信号与信息处理专业研究生。
主要从事信号传输与处理研究。