基于AT89C2051的超声波测距系统
- 格式:pdf
- 大小:169.48 KB
- 文档页数:3
信息技术与信息化开发与应用
2006年第5期131 基于AT89C2051的超声波测距系统UltrasonicRangingSystemBasedonAT89C2051朱爱红3 朱宁文ZHUAi-hong ZHUNing-wen摘 要 本文介绍了一种基于AT89C2051单片机控制的超声测距系统的工作原理、系统构成和误差分析。文章详细叙述了系统的硬件设计,并给出了系统软件设计程序流程图,通过误差分析,说明了其应用的实用性。关键词 超声波测距 单片机 视觉系统 Abstract Thispaperintroducestheoperationalprinciple,systemstructureanderroranalysisofultrasonicrangingsystembasedonAT89C2051.Itdescribesthehardwaredesignofthesystemindetail,andprovicestheproceduralflowchartofsoftwaredesign.Itcanexplaintheappliedfunctionofthesystemthroughtheerroranaly2sis.Keywords Ultrasonicranging MCU Visualsystem
3山东神思电子技术有限公司 济南 2501001 引言测距现状:目前一般都采用波在介质传播速度和时间关系进行测量。常用的技术主要有激光测距、微波雷达测距和超声波测距三种。激光测距。这是利用激光的单色性和相干性好、方向性强等特点,以实现高精度的计量和检测,如测量长度、距离、速度、角度等等。手持式和便携式测距仪,作用距离为数百米至数十千米。一般应用到远距离测量。微波雷达测距是利用目标对电磁波反射来发现目标并测定其位置。根据微波雷达的用途不同,所测定的目标可能是飞机、导弹、车辆、建筑物、云雨等。微波测距一般应用于雷达系统,GPS定位系统。超声波测距就是利用其反射特性,超声波发生器不断地发射出40kHz超声波遇到障碍物后反射回反射波,超声波接收器接收到发射波信号,并将其转换为电信号[1-2]。相比于其它定位技术超声波定位技术体积小,成本低,制作容易,非常适合于短距离测量定位。超声波传感器以其价格低廉、硬件容易实现等优点,被广泛用作测距传感器,实现定位及环境建模[3]。超声波测距作为辅助视觉系统与其他视觉系统(CCD图象传感器)配合使用,可实现整个视觉功能。蝙蝠利用超声波定位可以在黑暗环境下准确判断障碍物和猎物,将超声波应用到机器人视觉定位中可以实现低成本高精度的定位。2 测距原理超声测距原理很简单,一般采用渡越时间法:超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差Δt,然后求出距离S。在速度v已知的情况下,距离S的计算,公式如下:S=vΔt/2在空气中,常温下超声波的传播速度是334米/秒,但其传播速度V易受空气中温度、湿度、压强等因素的影响,其中受温度的影响较大,如温度每升高1℃,声速增加约0.6米/秒。因此在测距精度要求很高的情况下,应通过温度补偿的方法对传播速度加以校正。已知现场环境温度T时,超声波传播速度V的计算公式可近似如下:V=331.5+0.607T这样,只要测得超声波发射和接收回波的时间差Δt以及现场环境温度T,就可以精确计算出发射点到障碍物之间的距离[3]。表1 声速与温度关系表温度(℃)-30-20-100102030100声速(米/秒)3133193253233383443493863 系统硬件设计为了能在测量距离的同时判断出物体的大致形状,应设计成多传感器测距系统。经分析可知,频率为40kHz左右的超声波在空气中传播的效率最佳;同时,为了方便处理,发射的超声波被调制成40kHz左右、具有一定间隔的调制脉冲波信号[2]。超声波测距仪的硬件电路如图1所示。3.1 超声波发射部分用AT89C2051的定时器产生脉冲宽度为250μs,载波为40kHz的10个脉冲的脉冲群通过外部引脚P1.7输出,经过开发与应用信息技术与信息化
132 2006
年第5期74HC04以推挽形式加到超声波换能器发射出去。右侧和左侧测距电路的输入端分别接P1.5和P1.6端口,工作原理与前方测距电路相同。本系统有三路测距通道,采用分时工作,按上、中、下的顺序循环测距。若在有效测距范围内有被测物的话,则在后一路超声波束发出之前应当接收到前一路发同的反射波,否则认为前一路无被测物。因此按有效测距范围可以估算出最短的脉冲间隔发送时间。例如:最大测距范围为5m时,脉冲间隔时间t=2s/v=2×5/340≈30ms,实际应取t≥30ms。
图1图中只画出前方测距电路的接线图,左侧和右侧测距电路与前方测距电路相同。3.2 超声波接收部分接收头采用与发射头配对的UCM40R,将超声波调制脉冲变为交变电压信号,经运算放大器IC4A和IC4B两级放大1000倍后加至IC2。IC2是带有锁定环的音频译码集成块LM567,内部的压控振荡器的中心频率:f0=1/1.1R6C5电容C7决定其锁定带宽。调节R6在发射的载频上,则LM567输入信号大于25mV,输出端8脚由高电平跃变为低电平,作为中断请求信号,送至单片机处理。3.3 时间计测超声波从发射到接收的间隔时间的测定是由单片机内部的计数器T1来完成的。在调试过程中出现的发送部分与接收部分的直接串扰问题是由于换能器之间的距离不大,有部分声波未经被测物就直接绕射到接收换能器上。从发射开始一直到“虚假反射波”结束这段时间,通过软件编程可有效躲避干扰,但也会形成所谓的“盲区”。本系统的盲区约为5cm左右。3.4 元器件选择供电电源VCC为5V,超声波发射和接收探头要选择配对的40KHz的专用探头;非门选择驱动电流较大的74HC04并联输出[7];运算放大器选择高速和高带宽的TL082,前级放大50倍,后级放大20倍。为尽量提高反应速度,减小盲区,晶振选择AT89C2051的极限工作频率24MHz。另外LM567音频锁相环的C7选2200pF,配合示波器将R6调节到10K左右时频率将锁定在40KHz。4 系统软件设计AT89C2051单片机和其开发应用系统具有语言简洁、可移植性好、表达能力强、表达方式灵活、可进行结构化设计、可以直接控制计算机硬件、生成代码质量高、使用方便等诸多优点[3-7]。超声波测距仪就是用AT89C51单片机开发设计的。它采用模块化设计,由主程序、发射子程序、接收中断子程序、定时子程序等模块组成。信息技术与信息化开发与应用
2006年第5期133
a
主程序流程图
b 定时中断服务子程序 c 外部中断服务子程序图2 超声波测距系统的软件设计 前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC5的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC5的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。5 误差分析本系统最大测距误差在2cm左右,测距的盲区为5cm。测距误差主要来源于以下几个方面:(1)超声波波束对探测目标的入射角的影响;(2)超声波回波声强与待测距离的远近有直接关系,所以实际测量时,不一定是第一个回波的过零点触发;(3)超声波传播速度对测距的影响。稳定准确的超声波传播速度是保证测量精度的必要条件,波的传播速度取决于传播媒质的特性。传播媒质的温度、压力、密度对声速都将产生直接的影响。因此需对声速加以修正。对于测距而言,引起声速变化的主要原因是媒质温度的变化[2]。影响测量误差的因素很多,还包括现场环境干扰、时基脉冲频率等。本系统硬件简单、容易实现、测距范围比较大、测量误差可以控制在±2cm左右。超声测距系统向上位机发送数据和下位机的数据采集相互独立,可以同时进行,保证了测距数据的实时性。6 结束语虽然用一个单独计时器电路也可以测量超声波的传输时间,但利用AT89C2051单片机可以简化设计,对上位机通讯简便和便于操作。该系统经实际测试证明,该超声波测距作为辅助视觉系统与其他视觉系统(CCD图象传感器)配合使用,可实现整个视觉功能。参考文献:[1] 张健,李钢.超声波测距系统的研究与设计.合肥工业大学学报(自然科学版),2004Vol.27No.6P.640-643[2] 王海松.基于超声波换能器的来人探测装置.传感器与微系统.2006Vol.25No.2P.64-66[3] 翟国富,刘茂恺.一种实时高精度的机器人用超声波测距处理方法[J],应用声学.1990(1):17-24[4] AtmelCorporation.AT89c2051产品手册.2005[5] 何希才.传感器技术及应用.北京航空航天大学出版社,2005.4[6] 沈红卫.基于单片机的智能系统设计与实现.电子工业出版社,2005.1[7] 王幸之等.AT89系列单片机原理与接口技术.北京航空航天大学出版社,2004.5[作者简介] 朱爱红(1978-),女,山东人,1999年毕业于山东工业大学电子工程系,现为神思电子技术有限公司售前技术工程师,硕士在读。朱宁文,男,山东神思子技术有限公司终端研发中心研发工程师。(收稿日期:2006-02-16)