基于单片机的超声波测距系统的设计.pdf
2 0 0 8 年7 月第3 6 卷第7 期机床与液压M A C H I N ET O O L&H Y D R A U L I C SJ u l 2 0 0 8V 0 1 3 6N o 7基于单片机的超声波测距系统的设计张春光(淮海工学院电子工程学院,江苏连云港2 2 2 0 0 5)摘要:介绍了利用单片机控制的超声波测距系统的原理,并给出了系统构成。该系统由单片机控制时间计数、控制超声波的发射和接收,并在数据处理中采用了温度补偿修正。此系统具有易控制、工作可靠、测量精度高的优点。关键词:测距系统;超声波;单片机;温度补偿中图分类号:T P 2 1 6+1文献标识码:B文章编号:1 0 0 1 3 8 8 1(2 0 0 8)7 2 0 8 4D e s i g no fU l t r a s o n i cD i s t a n c eM e a s u r e m e n t S y s t e mB a s e do nM i c r o p r o c e s s o rZ H A N GC h u n g u a n g(S c h o o lo fE l e c t r o n i cE n g i n e e r i n g,H u a i h a iI n s t i t u t eo fT e c h n o l o g y,L i a n y u n g a n gJ i a n g s u2 2 2 0 0 5,C h i n a)A b s t r a c t:T h ep r i n c i p l ea n ds t r u c t u r eo fu l t r a s o n i cd i s t a n c em e a s u r e m e n ts y s t e mc o n t r o l l e db ym i c r o p r o c e s s o rw e r ei n t r o d u c e d T h em i c r o p r o c e s s o rW a su s e dt oc o n t r o lt h et i m e-k e e p i n ga n dt h et r a n s m i t t i n ga n dr e f l e c t i n gb a c ko fu l t r a s o n i c,a n dt h et e m p e r a t u r ec o m p e n s a t i o nW a su s e di nt h ed a t ap r o c e s s i n g S ot h ed e s i g n e ds y s t e mh a st h ef e a t u r e s,s u c ha se a s yc o n t r o l,o p e r a t i o ns t a b i l i t ya n dh i g hp r e c i s i o ne t c K e y w o r d s:M e a s u r e m e n ts y s t e m;U l t r a s o n i c;M i c r o p r o c e s s o r;T e m p e r a t u r ec o m p e n s a t i o n0 引言目前基于超声波精确测距的需求越来越大,如油库和水箱液面的精确测量和控制、物体内气孔大小的检测和机械内部损伤的检测等。本文作者结合超声波精确测距的需要,分析了影响超声波测距精确的多种因素,进行了系统的硬件设计和软件设计,来有效提高超声波测距系统的精度。1超声波测距系统结构超声波测距的基本工作原理是:发射探头发出超声波,在介质中传播遇到障碍物反射后再通过介质返回到接收探头,测出超声波从发射到接收所需的时间,然后根据介质中的声速,就能算得从探头到障碍物的距离。超声波测距系统方框图如图l 所示。图l 超声波测距系统原理方框图本文硬件设计采用超声波往返时间检测法,其原理为:检测从超声波发射器发出的超声波(假设传播介质为气体),经气体介质的传播到接收器的时间,即往返时间。往返时间与气体介质中的声速相乘,就是声波传输的距离。而所测距离是声波传输距离的1 2。即:L=v t 2(1)式中:工为待测距离,t,为超声波的声速,t 为往返时间。对式(1)进行微分,得到关系式:=(t a r+v a t)2(2)由此可以知道,由于速率的变化或者测量误差、时间的误差都会给所测得的距离带来误差,其中。t a r 是由于速率的变化引起的误差,而v a t 则是由于计时不准确引起的误差。要保证测距系统的高精度,显然,直接用秒表测时间是不现实的。因此,实现超声波测距必须避开直接测量时间的方法,才能获得实用的测长精度。作者利用单片机计数法间接测量时间,可以把声波的时间精度提高到所需的准确度,也就是把超声波往返时间转化为对计数脉冲个数J 7、r 的测量,式(1)可改写成L=N s,2式中:S=t,f 为计数脉冲的频率,p 为声速。所以L=N v(2 f)收稿日期:2 0 0 8 0 1 1 5基金项目:江苏高校研究项目(0 3 K J I M 7 0 0 3 6)作者简介:张春光(1 9 6 4 一),男,河南商丘人,硕士,教授,主要从事计算机测控方面的教学与研究。电话:1 3 9 1 2 1 6 1 7 5 8,E m a i l*g n a n g e h u n c n y a h o o c o r n-c n,z h a n g _ e g s o h u c o m o 第7 期张春光:基于单片机的超声波测距系统的设计2 超声波测距系统的硬件设计2 1电路原理本方案以A T M E L 8 9 c 5 2 为核心,实现该单片机对外围电路的适时控制,并提供给外围电路各种所需的信号,包括频率振荡信号、数据处理信号和译码显示信号等,大大简化了外围电路的设计难度。同时更重要的是该设计方案大大节省了设计成本,并且由于是采用软件编程技术,所以其移植性能好,在设计电路V C C 卜:一I吒章I-IU lV C CC sG N D H k-2 7 p Fc l C N D I-I 卜7 T p F时可以将其它更多的功能设计进去。要提高仪器分辨力,就必须提高计数参考频率,本电路使计数参考频率直接取自单片机的主振频率1 2 M H z,具体电路如图2 所示。本设计中以D S l 8 2 0 为传感器、A T 8 9 C 5 2单片机为控制核心组成的多点温度测试系统。用1 只D S l 8 2 0 同时测控1 路温度(视实际需要还可扩展通道数)。V C CP O 0P 0 1P 0 2P 0 3P 0 4P 0 5P 0 6P 0 7E A,、7 P PA L E P RC GP S E NP 2 7P 2 6P 2 5P 2 4P 2 3P 2 2P 2 IP 2 0V C C。T+sD S图2 单片机硬件电路D S l 8 2 0 采用3 脚P R-3 5 封装或8 脚S O I C 封装的3 2 门控电路(R S 触发器)、发射驱动电路三部分组温度传感器,特点如下:硬件接口简单,性能稳定,成。单线接口,仅需一根口线与M C U 连接无需外围元件;由总线提供电源;测温范围为一5 5 7 5;精度为0 5 0 C:9 位温度读数;A D 变换时间为2 0 0 m s;用户自设定温度报警上下限,其值是非易失性的;报警搜索命令可识别D S l 8 2 0 超温度限。2 2 提高测距精度本文作者设计了单片机为核心的低成本、高精度、微型化数字显示超声波测距系统,以提高对时间t 的测量精度,以最终达到提高测距精度的目的。以单片机内部计数器来计数测量超声波传输时间时,其测量精度受单片机内部参考频率或主振频率的限制,若主振频率为1 2 M H z,则内部参考频率为l M H z,周期为1 斗s。参考频率计数误差的影响,往往就决定了测试系统的最高分辨力。提高分辨力的唯一方法就是提高计数参考频率。只有改进电路工作原理,才能提高测量精度。本电路直接取自由单片机的主振频率1 2 M H z,可升高计数参考频率,从而可提高超声波测距系统的测量分辨力。3 超声波发射电路发射电路如图3 所示,主要有频率产生电路、N K图3 超声波发射电路3 1频率产生电路本设计中用到三种频率。一是超声波的中心频率(4 0 k H z):二是门控信号频率(2 k H z),从单片机输出的时钟脉冲频率f=2 k H z,周期T:1 f=5 0 m s,经C 2、R 3 微分和限幅二极管D 1 的限幅后,变为正向尖脉冲,再由U 2 A、U 2 B 整形,便得到高电平宽度为0 2 5 m s 的脉冲信号,该脉冲控制与非门的开启。经u l 驱动超声发射器M A 4 0 L I S 发出0 2 5 m s 0 0 2 5 r t l s=1 0一一一一一一一引一挣一拈一”一拍一一“一拈一一一0I234567rDD 哪lAAD黜船嚣搿麓黑铲盆萎薹暑一一一一一一。匝m皿一一一止M一一博 2 1 0 机床与液压第3 6 卷个脉冲,即从P 1 4 输出时钟脉冲的每一个周期,超声发射器便发射出脉冲数为1 0 的脉冲串(1 4 0 k H z=0 2 5 m s);三是单片机送出来的计数频率,根据超声波测距精度为1 n 曲,超声波发射器的声波传播到反射物,再由反射物反射到接收器,所传播距离为2 倍测量距离的计算得出。声波在标准气压下1 5 的传播速度为3 4 1 m s,要设计一个时钟周期内超声波传播距离为0 0 2 m m,3 4 I 0 0 2 m=1 7 0 5X1 0 k H z,故一个时钟周期内所测距离便为0 0 1 m,N 个周期所测的距离为木0 0 1m。在软件编程能保证单片机在启停时三个频率信号同步,就具备了精确计数的最基本条件。3 2门控电路(R S 触发器)为了在本超声波测距电路中实现对超声波发射和接收的自动控制,必须在电路中加入门控电路。由S=v t 2,式中,口为声波在空气中的传播速度,它和空气的温度有关,温度每升高l 声速增加0 6 m s,如果t 已知,距离便可确定,如何测量时间t 呢?把输出脉冲作为一闸门信号,让已知频率乒的脉冲恰好能通过闸门,那么:t=N T e,式中,扎为已知脉冲的周期;N 为脉冲周期的个数或脉冲的个数。在本电路设计中门控电路由R s 触发器来完成,L I而R S 触发器是用D 触发器C D 4 0 1 3 中的一个D 触发器来完成。当R=l(S=0)时复位,即Q=0;S=1(R=0)时置位,即0=l,在原理分析中,就利用它的这一特性。当上电复位时,D 触发器C D 4 0 1 3 的Q 脚输出低电平加到单片机的P 3 3 口,不启动内部计数器,处于等待状态。3 3 发射驱动电路由于单片机的P 3 口最多只有2 0 m A 的拉电流,而从资料得知,超声波发射器需要的最小驱动电流比它要高,所以在与非门U IAC D 4 0 1l 的后级加入了一级三极管放大电路,由于工作频率比较高,所以这里选择了常用的高频管9 0 1 8,这样便很好地完成了超声波的发射。4 超声波接收电路运放7 4 1 的带宽以及抗干扰能力都比较强,但是为了防止产生一定的噪声,在设计超声波信号放大电路时,将放大电路设计成了两级同相交流放大器,通过参数设置,每一级放大接近2 0 倍,这样经过两级放大后,接收到的超声波信号就被放大了几乎是4 0 0倍,完全能够被后续检测电路检测到。超声波接收电路由运算放大器斗A 7 4 l 等组成,具体放大电路见图4所示。图4 超声波接收电路接收传感器M A 4 0 L I R 将反射的超声波转换为电还与超声波换能器的灵敏度及方向角度值和风速有关信号后,由放大器放大后再送到由u l B、u l c 等组系。本系统应用于空气介质中的无接触式测距。温度成的斯密特整形电路整理成规范的方脉冲。电阻R。变化,对测量结果有明显的影响,超声波传播速度和和电位器R。:为同相端提供直流偏置电位。需要注意温度的关系可以用以下公式来表示:C=3 3 1 4 5+的是这两个直流偏置电阻的作用是相当重要的,它可0 6 1 T(m s),随着温度的上升,声速变化增大,误以很好地稳定运放p A 7 4 1 的直流工作点,不致于使差也随之增加。还有一种误差是触发误差,触发误差其同相输人端出现浮动状态,而造成输入信号不稳由于被测信号经放大、整形,噪声信号、干扰信号的定。掺人,使触发的时间可能提前或滞后,给测量结果带5 误差分析来了随机误差。该误差与信号的触发波形有很大的关温度对测量结果的影响很大,在一定程度上限制系,可以证明,触发信号越平坦,误差越大,越陡了超声波测距的精度。另外,系统测试精度和分辨力蛸,误差越小,所以该电路采用了矩形波脉冲触发,第7 期张春光:基于单片机的超声波测距系统的设计2 1 l 其影响亦可忽略不计。由此得出,在本电路中给测量结果带来误差是鼍化误差,这也是不可避免的。6 进一步提高测距精度的硬件设计声音在2 5 空气中传播速度的理论值为3 4 4 m s,这个速度在0 时降为3 3 4 m s。因此超声波在媒质中的传播速度和温度关系很大,如果测距精度要求很高,必须要采取温度补偿措施,降低温度变化对测量精度的影响。在本设计中将采取声速预置和媒质温度测量相结合的办法对声速进行修正,可有效地消除温度变化对精度的影响。同时为了提高测距系统的可靠性,将采用A T M E L 公司的8 9 e 5 2 来替代原设计中由8 9 c 2 0 5 1 单片机,以提供足够多的端口。设计方案通过提高了变量移和t 的测量精度和可靠性,最终达到了提高测距精度的目的。基于提高测距精度和可靠性的分析,原设计系统中增加了温度传感器部分,温度传感器采用M A X I M公司的0 5 精度的1 W i r e 多点数字温度传感器;整个系统由发射、接收、系统控制、显示、温度传感、电源六个部分组成。发射部分的任务是将单片机产生的4 0 k H z 信号放大后提供给超声波换能器,由此将超声波发射出去。接收电路则接收由被测物反射回来的回波信号,然后经放大,整形后形成宽脉冲触发信号对判决电路进行触发。系统控制电路的作用是对整个系统进行控制和管理,显示部分负责将距离信息显示出来。7 软件设计在程序设计过程中一般有四个步骤:初始化命令;传送R O M 命令;传送R A M 命令;数据交换命令。无论是单点还是多点温度检测,在系统安装及工作之前,应将主机逐个与D S l 8 2 0 挂接,读出其序列号。其工作过程为:主机发出一个脉冲,待“0”电平大于4 8 0“s 后,复位D S l 8 2 0,在D S l 8 2 0 所发响应脉冲由主机接收后,主机再发读R O M 命令代码3 3 H,然后发一个脉冲(1 5 斗s),并接着读取D S l 8 2 0 序列号的一位。用同样方法读取序列号的5 6 位。另外,由于D S l 8 2 0 单线通信功能是分时完成的,遵循严格的时隙概念,因此,系统对D S l 8 2 0 和各种操作必须按协议进行,即初始化D S l 8 2 0(发复位脉冲)一发R O M 功能命令一发存储器操作命令一处理数据。在正常测温情况下,D S l 8 2 0 的测温分辨力为0 5。采用下述方法可获得高分辨率的温度测量结果:首先用D S l 8 2 0 提供的读暂存器指令(B E H)读出以0 5。C 为分辨率的温度测量结果,然后切去测量、结果中的最低有效位(L S B),得到所测实际温度的整数部分死,然后再用B E H 指令取计数器1 的计数剩余值c s 和每度计数值C D。考虑到D S l 8 2 0 测量温,度的整数部分以0 2 5 和0 7 5 为进位界限的关系。本系统采用模块化设计,由主程序、发射子程序、接收子程序、定时子程序、温度检测子程序、显示子程序等模块组成,图5 为主程序流程图。开始系统初始化调用温度检测了程序结合温度修正速度计算测量结果调用测距于程序调用显示子程序结束包括发射接受及定时部分图5 主程序流程图该系统的主程序处于键控循环工作方式,当按下测量键时,主程序开始调用发射子程序、查询接收子程序、定时子程序,并把测量结果用显示子程序在数码显示器上显示出来。8 结论设计的超声波测距系统具有结构简单、功耗低、易于操作、灵活性高的特点外,还具有操作方便、运行可靠的优点,它有良好的人机界面,能方便地实时显示测距数据。由于超声波测距的环境对测距精度的影响很大,其中如何降低温度变化对测量精度的影响,已经在设计中做了大量的工作。另外,大多数的测苣环境中还存在高斯噪声的干扰,也会直接影响着测量的精度。在今后的工作中,将研究在高斯噪声干扰的环境下,如何进行超声波测距。参考文献【l】房小翠,王金风单片机实用系统设计技术 M 北京:国防工业出版社,2 0 0 1【2】张春光微型计算机控制技术 M 北京:化学工业出版社,2 0 0 2【3】胡小平,朱萍玉,余以道一种实用的近距离测速仪的研制 J 仪表技术与传感器,2 0 0 7(3):2 4 2 6【4】曹建海,路长厚,韩旭东基于单片机的超声波液位测量系统 J 仪表技术与传感器,2 0 0 4(1):3 9 4 0【5】肖峻,牛炜,莫易敏,等收发同体型超声测距系统设计 J 传感器技术,2 0 0 3(8):3 2 3 4【6】赵广涛,程荫杭基于超声波传感器的测距系统设计 J 微计算机信息,2 0 0 6,2 2(I):1 2 9 1 3 0 基于单片机的超声波测距系统的设计基于单片机的超声波测距系统的设计作者:张春光,ZHANG Chunguang作者单位:淮海工学院电子工程学院,江苏,连云港,222005刊名:机床与液压英文刊名:MACHINE TOOL&HYDRAULICS年,卷(期):2008,36(7)被引用次数:2次 参考文献(6条)参考文献(6条)1.房小翠.王金风 单片机实用系统设计技术 20012.张春光 微型计算机控制技术 20023.胡小平.朱萍玉.余以道 一种实用的近距离测速仪的研制期刊论文-仪表技术与传感器 2007(03)4.曹建海.路长厚.韩旭东 基于单片机的超声波液位测量系统期刊论文-仪表技术与传感器 2004(01)5.肖峻.牛炜.莫易敏 收发同体型超声测距系统设计期刊论文-传感器技术 2003(08)6.赵广涛.程荫杭 基于超声波传感器的测距系统设计期刊论文-微计算机信息 2006(01)相似文献(10条)相似文献(10条)1.期刊论文 陈先中.张争.王伟.Chen Xianzhong.Zhang Zheng.Wang Wei 大量程超声波回波测距系统的研究-仪器仪表学报2004,25(z3)描述了超声波脉冲回波测距系统的基本组成;重点对大量程超声波发射电路进行了比较,提出了三种工业用大量程超声波测距系统的激励电路原理,并分析了电感瞬间放电法原理在大量程测距系统中的应用;设计了低噪声程控放大脉冲接收电路,实现大量程条件下信号的稳定接收;提出了在发射和接收电路之间设置硬开关和软开关的设计概念,彻底切断发射电路和其他回波信号对接收电路的干扰,提高回波信号的信噪比,实现大量程范围内距离的准确测量.最后,对智能回声接收软件的波形分析法进行了简单的介绍,并给出了一些智能化处理的实例.2.会议论文 陈先中.张争.王伟 大量程超声波回波测距系统的研究 2004 描述了超声波脉冲回波测距系统的基本组成;重点对大量程超声波发射电路进行了比较,提出了三种工业用大量程超声波测距系统的激励电路原理,并分析了电感瞬间放电法原理在大量程测距系统中的应用,设计了低噪声程控放大脉冲接收电路,实现大量程条件下信号的稳定接收;提出了在发射和接收电路之间设置硬开关和软开关的设计概念,彻底切断发射电路和其他回波信号对接收电路的干扰,提高回波信号的信噪比,实现大量程范围内距离的准确测量.最后,对智能回声接收软件的波形分析法进行了简单的介绍,并给出了一些智能化处理的实例.3.期刊论文 殷婷.杨辰 超声波传感器及其应用-商情2010,(16)本文主要介绍了超声波的特点,超声波传感器的原理与应用等多个方面.文中阐述了超声波与可听声波的区别,超声波传感器在医疗,工业生产,液位测量,测距系统等多个领域中得到了广泛的应用.因超声波具有的独特的特性,使得超声波传感器越来越在生产生活中体现了其重要性,具有一定的研究价值.4.期刊论文 谭进怀.冯地耘.陈立万.TAN JINHUAI.FENG DIYUN.CHEN LIWAN 超声波语音测距系统在车辆避障中的应用-微计算机信息2008,24(2)介绍了一种基于单片机控制的超声波语音测距系统.采用多路超声波语音测距电路的测量方法,提高了距离测量的精度和准确性,实现了车辆全方位避障的可能性.给出了超声波语音测距系统在车辆避障中的实际应用.5.期刊论文 卜坤亮.王建东.樊玮虹.王成友 基于FPGA芯片的超声波红外线测距系统-微处理机2006,27(2)介绍了基于FPGA芯片的超声波红外线测距系统的组成,工作原理和程序设计方法,并将本系统应用于智能机器人中,实现机器人的避障功能,辅助完成了智能化控制.6.期刊论文 冯德虎.FENG De-hu 基于超声波的高精度测距系统的研究-陕西科技大学学报(自然科学版)2007,25(4)设计了以单片机8051为核心的基于时差法的高精度测距系统.该系统放大电路的增益随距离而变化,接收采取了低通和带通滤波以消除干扰,对温度的影响进行了修正计算,回波增加了门限电压比较电路,采取上述措施提高了系统的测距精度.7.会议论文 张春光 基于单片机的超声波测距系统的设计 2008 介绍了利用单片机控制的超声波测距系统的原理,并给出了系统构成。该系统由单片机控制时间计数、控制超声波的发射和接收,并在数据处理中采用了温度补偿修正。此系统具有易控制、工作可靠、测量精度高的优点。8.期刊论文 黄丽.李雪梅.HUANG Li.LI Xue-mei 基于Multisim仿真的超声波测距系统的设计与实现-湖南工程学院学报(自然科学版)2009,19(2)以测量超声波发射与反射时间差作为测距的基本原理,设计并实现可自动测距系统.将系统分为超声波发射、超声波接收、计时电路等若干部分,分别进行设计,并进行适当优化.每一部分均使用Multisim软件进行仿真及验证.相比以往的测距电路,本系统不仅能给出测出的距离,还增加了报警系统的设计.实验结果表明,本系统具有稳定、灵敏度强、测量精度高的特点,并具备一定的应用和推广价值.9.期刊论文 陈先中.王伟.张争.程素森.CHEN Xianzhong.WANG Wei.ZHANG Zhen.CHENG Sushen 低噪声回波测距系统的电路设计与系统分析-北京科技大学学报2005,27(4)描述了超声波脉冲回波测距系统的基本组成,重点研究了超声波测距系统中的低噪声问题,设计了分时和分区的开关隔离式超声波发射和接收电路,彻底切断了发射电路和其他电干扰信号对接收电路的影响.低噪声能量球的设计,极大地提高了回波的信噪比,实现了超声波低功率发射条件下的信号稳定接收.同时介绍了软件滤波器在超声波的智能化低噪声处理方面的应用.10.期刊论文 牛余朋.成曙.NIU Yu-peng.CHENG Shu 基于单片机的超声波测距系统-兵工自动化2005,24(4)基于单片机的超声波测距系统,采用测量输出脉冲宽度,即发射与接收超声波的时间间隔,通过对单片机适时控制外围电路,并向外围电路提供频率振荡、数据处理和译码显示等信号.该超声波发射电路包括门控电路(RS触发器)及微分/整形电路,接收电路则由接收、放大及信号筛选、整形电路组成.引证文献(1条)引证文献(1条)1.阎焕忠.王长涛.王鑫.闵莉 便携式超声波测距仪设计期刊论文-科技广场 2008(12)本文链接:http:/