《毕业设计论文超声波距离测量仪硬件设计.doc》由会员分享,可在线阅读,更多相关《毕业设计论文超声波距离测量仪硬件设计.doc(37页珍藏版)》请在三一办公上搜索。
1、嘉 应 学 院本科毕业论文(设计)(2010届)题目:超声波距离测量仪硬件设计导师姓名: 院 系:电子信息工程学院 专 业: 自 动 化 学生姓名: 学 号: 超声波距离测量仪硬件设计摘 要本系统采用AT89S51单片机作为主控制器,发出(产生)40kHz的脉冲波经放大电路后送到超声波发射探头T-40使其振荡发射出超声波,超声波在传送过程中碰到障碍物反射回来,接收探头收到声波后经集成芯片CX20106A放大滤波整形后回送到单片机计算,通过发射与接收的时间差以及当前温度对应的声速计算出距离。为了解决现场温度对测距产生的影响,在本系统中使用了DS18B20温度传感器对现场温度进行检测,并通过软件的
2、调试实现温度补偿,使测量误差降低,当物体移动时能迅速显示即时距离,而本系统使用LED显示距离的数值,为用户提供了很直观的界面,从而完美实现了由AT89S51为单片机主控芯片的超声波测距。关键词:AT单片机,超声波,测距,LED;AbstractThe system uses the AT89S51 microcontroller as the main controller, issue (create) 40kHz pulse wave by the ultrasonic amplifier is sent to T-40 to launch probe to emit ultrasonic
3、 oscillation,Ultrasonic obstacles encountered in the course of transmission reflected back, upon receiving probe received by the integrated sound chip CX20106A After amplifying and filtering back to the SCM calculation of plastic,By transmitting and receiving the time difference and the current temp
4、erature is calculated from the corresponding velocity。To address the on-site impact of temperature on the distance, in this system DS18B20 temperature sensor used to detect temperature on the spot,And debug software to achieve temperature compensation, so that measurement error decreased when the ob
5、ject can be moved quickly to show the real distance,Use of this system, LED display range of values, to provide users with a very intuitive interface,To achieve the perfect host by the AT89S51 microcontroller chip for the ultrasonic ranging。Keywords: AT MCU, ultrasonic, range, LEDII目 录1 前 言11.1论文研究的
6、背景和意义11.2超声波测距领域的历史和国内外发展现状21.3 论文的主要内容32 超声波测距的基本理论42.1超声波的定义42.2超声波传感器42.3 超声波测距计算43 系统硬件设计73.1 系统主要技术指标73.2 系统设计框图73.3 主控芯片的选择83.4 超声波的发射电路设计93.5 超声波接收电路设计103.6 超声波测距显示电路113.6.1 显示模块的选择113.6.2 显示电路113.7 温度补偿电路设计123.7.1 DS18B20的特性123.7.2 DS18B20引脚说明123.7.3 DS18B20的使用方法133.7.4 DS18B20温度补偿电路的设计133.8
7、 主电路原理图144 系统软件设计154.1 总体设计框图154.2 子程序设计框图164.3 温度补偿流程图165 系统的测试185.1 系统硬件测试185.2 系统的软件测试185.3 系统的整体测试185.4 系统测量与误差分析195.4.1 测量数据195.4.2 系统误差分析196 总 结21参考文献22附 录24附录A 原理图24附录B PCB图25附录C 实物图26附录D 程序28致 谢33III超声波距离测量仪硬件设计1 前 言1.1论文研究的背景和意义测距的原理和方法有很多1,根据信息载体的不同可分为光学方法、无线电方法和超声波方法。随着电子技术的发展,先后出现了激光、超声波
8、及红外线等非接触式测距方法。激光测距虽然测距精度高,操作简单,但是受环境的影响比较大,且系统检测维护不便,价格相对昂贵,一般多在军事领域应用。红外测距属于电磁波的一种2,超声波是声波测距,实现起来更容易且不受电磁干扰影响。红外传播速度为3108m/s,超声波在空气中的传播速度为340 m/s ,其速度相对电磁波是非常慢的,因此在同等距离的情况下,超声波的传播时间远大于红外,往返时间更易测量。超声波在测距方面具有以下突出的优点:(l)环境介质可为空气、液体或固体等,适用范围广泛;(2)对外界光线和电磁场不敏感,可用于黑暗、有灰尘或烟雾、电磁干扰强等恶劣环境中;(3)超声波传感器结构简单,体积小,
9、费用低,信息处理简单可靠,易于小型化和集成化。由于超声波具有以上特点被广泛应用于测量物体的距离、厚度、液位等领域。在超声波探伤、自动泊车系统和倒车雷达系统中3,超声波测距有其重要的应用。随着科学技术的发展,超声波测距技术在国防、汽车工业及日常生活中无处不在。目前超声波测距系统主要是采用微处理器为核心,使用微处理器内部的计时器计时,并结合温度补偿声速等处理手段提高测距精度。但由于超声波传播时间难于精确捕捉,温度对声速的影响等原因,使得超声波测距的精度受到了很大的影响,限制了超声测距系统在测量精度要求更高的场合下的应用。由于微处理计时精度有限和硬件设计的束缚,现有超声波测距系统在测量范围为0.22
10、0m的范围内,测量误差多为mm级,20cm以下基本为系统的测量盲区。现有超声波测距系统不仅测量范围有限制,且测量精度有限。超声波测距仪虽然原理简单,但是由于超声波测距受到许多外界因素制约,包括所测的超声波传播时间和超声波在介质中的传播速度,环境温度等等,如何选择合适的方法提高精度是技术开发的重要瓶颈,国内外的学者在提高超声波测距精度方面做了大量的研究。面对广阔的市场空间以及日益苛刻的测量要求,如何提高适用范围和测距精度就成为了当前超声波测距设备开发的关键所在。1.2超声波测距领域的历史和国内外发展现状一般认为,关于超声波的研究最初起始于1876年F.Galton的气哨实验,这是人类首次有效产生
11、的高频声波。在之后的三十年中,超声波仍然是一个鲜为人知的东西,由于当时电子技术发展缓慢,对超声波的研究造成了一定程度的影响。在第一次世界大战中,对超声波的研究逐渐受到重视。法国人Langevin使用一种晶体传感器在水下发射和接收相对低频的超声波。他提出的这种方法可以用来检测水中是否存在潜艇并进行水下通信4。1929年,Sokolov首先提出用超声波探查金属物内部缺陷的建议5。相隔2年,1931年Mulhauser获准一项关于超声检测方法的德国专利,不过他并未做更多的工作。4年之后,1934年sokolov首次发表了关于在液体槽子里用穿透法作实物试验的结果,他用了各种方法做了实验,用来检测穿过试
12、件的超声能量,其中之一是用简单的光学方法观察液体表面由超声波形成的波纹。德国人Bergmann在他的论著ULTRASONIC中,详细的论述了有关超声波的大量早期资料,该论著一直被认为是该领域的经典之作6。美国的Firestone7和英国的Sproule8首次介绍了脉冲回波探伤仪,使超声波检测技术发展到了更重要的阶段。在各种系统中,这是最成功的一种,因为它有最广泛的通用性,其检测结果也最容易解释。这种方法除可用于手工检测外,还可与采用先进技术的自动系统联用,自第一种脉冲回波仪器问世以来,根据相同的原理,有无数种其他仪器得到了发展,并有许多改进和精化。目前,在超声无损检测中,脉冲回波系统仍是使用最
13、为广泛的一种。 HuaHong,Wang Yongtian9阐述了其所研究的一种调幅连续超声波大范围动态测距系统。该系统的测距原理是利用超声波传感器发射和接收调幅连续超声波,基于接收信号于发射信号之间的相位差和两传感器之间的正比关系,用相位差法测量传感器之间的动态距离。文中给出了设计原理、硬件实施和测量结果。实验结果表明,该系统在15m的测距精度可达到lmm。中国测试技术研究所的李茂山在超声波测距原理及实践技术10中阐述了用超声波在空气里传播速度为已知条件,测量超声波行进于待测距离所耗费时间的超声波测距原理。文中分析了声波的传输特性和影响声速的因素,给出了超声波测距的框图。作者还进行了超声波测
14、距误差源分析以及超声波测距仪的检验。浙江师范大学的李鸣华、余水宝利用单片机开发了一种超声波料位测量系统11。作者介绍了超声波料位测量的原理以及超声波料位测量仪的软硬件设计,硬件设计主要分为超声波信号的产生发射电路、信号接收处理电路、AT89C2051单片机控制电路等。作者还分析了造成料位测量误差的几点原因,并给出了几种方法来减少测量误差。比如:在计数电路设计中,采用了“延迟接收,信号分离”的技术和相关计数法减小了计数误差,对于声速的测量误差,使用温度补偿法,在软件设计中采用了查表的方法,由单片机实现自动补偿校正。文中的一些方法对于设计超声波测量系统来说具有一定的参考价值。声速的测量在超声波测距
15、中对提高超声波精度有重要的作用,超声波在介质中的传播速度与温度、压力等因素有关,其中温度的影响最大,因此需要对其进行补偿。中国海洋大学的曹玉华在超声波测距系统设计及其在机器人模糊避障中的应用12提出了采用温度补偿的方法测量声速,来提高超声波测距精度。文中温度检测部分采用了美国DALLAS半导体公司生产的可组网单线数字温度传感器DS18B20测量环境温度,用以温度补偿以修正超声波速度,来减小温度变化对距离测量精度的影响。该超声波测距装置在1.5m的测量范围内,测量误差小于5cm。山东科技大学的王红梅在高分辨力超声测距系统的研究13中研究了己有超声波测距系统的优缺点,采用超声波多次发射,以多次测量
16、的平均值作为测量值的方法提高超声波测距精度,并使用了温度补偿声速的方法进一步提高了系统精度。为了提高仪器的分辨力,还采用了若干方法来减小随机误差。本文所设计的超声波测距系统在测量范围1cm10cm,精度可达到0.5%,分辨率优于0.1mm。1.3 论文的主要内容本次设计的工作包括:一、讨论和研究本设计的设计方向和功能;二、主芯片和传感器的选择;三、电路的设计以及电路板的制作;四、程序的设计;五、子程序与子模块的联合调试;六、总程序的调试;七、系统的测试与校正。332 超声波测距的基本理论2.1超声波的定义波是由某一点开始的扰动所引起的,并按预定的方式传播或传输到其他点上。声波是一种弹性机械波。
17、人们所感觉到的声音是机械波传到人耳引起耳膜振动的反应,能引起人们听觉的机械波频率在20Hz20kHz,超声波是频率大于20kHz的机械波14。超声波应用有三种基本类型:透射型用于遥控器,防盗报警器、自动门、接近开关等;分离式反射型用于测距、液位或料位;反射型用于材料探伤、测厚等。在超声波测距系统中,用脉冲激励超声波探头的压电晶片,使其产生机械振动,这种振动在与其接触的介质中传播,便形成了超声波15。2.2超声波传感器超声波传感器主要材料有压电晶体(电致伸缩)及镍铁铝合金(磁致伸缩)两类。电致伸缩的材料有锆钛酸铅(PZT)等。压电晶体组成的超声波传感器是一种可逆传感器,它可以将电能转变成机械振荡
18、而产生超声波,同时它接收到超声波时,也能转变成电能,所以它可以分成发送器或接收器。有的超声波传感器既作发送,也能作接收。这里仅介绍小型超声波传感器,发送与接收略有差别,它适用于在空气中传播,工作频率一般为2325kHz及4045kHz。这类传感器适用于测距、遥控、防盗等用途。该种有T/R-40-60,T/R-40-12等。另有一种密封式超声波传感器(MA40EI型),它的特点是具有防水作用(但不能放入水中),可以作料位及接近开关用,它的性能较好15。2.3 超声波测距计算超声波测距原理如图2-1所示。图2-1超声波测距原理图基于单片机的超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波
19、,从而测出发射和接收回波的时间差t,然后求出距离,如式2-1所示16。SCt2 (2-1)式中C超声波波速。限制该系统的最大可测距离存在4个因素:超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射接收的设计方法。由于超声波属于声波范围,其波速C与温度有关,如式2-2所示17。C=331.6+0.6107*T (2-2)式中 T当地温度。经过测量得出超声波的波速与温度的关系,如表2-1所示。表 2-1 超声波温度速度表温度()-30-
20、20-100102030声速c(m/s)313319325333338344349式2-2是根据测量的速度数据与温度数据进行一阶拟合得出的,拟合过程为:t=-30 -20 -10 0 10 20 30c=313 319 325 333 338 344 349m=1fxy1=polyfit(t,c,m)得到结果:fxy= 0.6107 331.5714图2-2是使用Matlab软件对温度数据和超声波速度数据进行拟合的数据处理。图2-2 温度与速度数据拟合图2-3为温度数据与超声波速度数据进行一阶拟合得到的拟合图形图2-3温度数据与超声波速度数据拟合图形在测距时由于温度变化,可通过温度传感器自动探
21、测环境温度、确定计算距离时的波速C。波速确定后,只要测得超声波往返的时间t,即可求得距离S,这洋能较精确地得出该环境下超声波经过的路程,提高了测量精确度。3 系统硬件设计3.1 系统主要技术指标本论文是研制一种超声波测距系统。其主要技术指标为:量程:10cm200cm;电源: 5V DC;超声波频率:4OkHz;测量误差:3%-4%; 显示方式: LED显示。系统具有温度校正功能。3.2 系统设计框图在整个超声波测距系统设计中占有很重要的位置的是超声波测距系统的硬件电路设计。硬件电路设计的合理性将直接影响系统运行的可靠性与稳定性。其中选择合适的器件和合理的电路布局将对系统有很大的影响,并且硬件
22、系统的性能是整个测距系统可靠性的最根本保证。因此,在能够保证实现超声波测距所需要功能的基础上,还应该需要重点考虑以下几个原则:(l)尽量选择一些典型芯片,典型的应用电路。这样可以保证电路设计模块的正确性,为系统的标准化、模块化打下良好的基础;(2)尽量减小硬件电路的复杂性,能在片内实现的功能,最好不要再外接电路,多选用集成度高的芯片;(3)在芯片选择和线路板排布时候尽量考虑系统的可靠性及抗干扰性能。本系统采用AT89S51单片机作为主控制器,使用LED数码管作为系统显示屏,超声波发射驱动需要的40kHz脉冲由单片机P1.0发出,使用定时器进行控制,超声波接收使用CX20106A作为接收主控芯片
23、,使用DS18B20作为温度校正系统核心。超声波测距器的系统框图如图3-1所示17:硬件设计从成本和性能两方面进行考虑,力求结构简单,成本合理,功能完善,稳定性好。整个系统采用模块化进行设计,使得每个模块都是一个独立的单元,方便后续调试工作。LED显示AT89S51电源信号产生与驱动电路信号处理集成芯片发射器接收器温度补偿障碍物图3-1系统设计框图3.3 主控芯片的选择方案一:开始考虑到低功耗的问题,想使用在研讨会发的MSP430系列的低功耗单片机,因为刚接触这系列的单片机不久,对其掌握不深所以放弃了该方案。方案二:使用STC系列的单片机,驱动能力强,运行相对稳定很多,抗磁场干扰能力强,与AT
24、系列的相比,性价比更高。方案三:使用最普遍的AT89S51,最大的优点就是相对比较便宜,而且很容易购买到,相关的资料非常丰富,使用的过程中有疑问很容易得到在网上或者资料书上得到解决,但是定时器、中断、ROM等较少,抗干扰能力较差18。综合各个方面的考虑最终选用方案三,使用AT89S51单片机作为主控芯片。芯片如图3-2图3-2 AT89S51引脚图3.4 超声波的发射电路设计超声波的产生与识别接收是非常重要的,所以发射和接收电路一样重要,任意一部分电路有缺陷就直接影响整个仪器的性能。所以对于这部份电路中有了很多的设计方案。在这次设计中采用单片机的P1.0端口直接发送40kHz的信号,这样能够精
25、确的计算出时间,得出精确的测量数据。而且这种方法比较简单而实用,在设计中可以避免出现不应该的影响与误差,让这次的设计能更加简单操作,而且得到预期的效果。该系统的超声波发送模块是由超声波发射探头组成的,使用74LS04做为驱动,超声波发射电路如图3-3所示19。图3-3 超声波发射电路74LS04为六组反向器,其系列共有 54/7404、54/74H04、54/74S04、54/74LS04 四种线路结构形式,其主要电特性的典型值如表3-1:表3-1 74LS04各型号的电特性比较表型号tPLHtPHLP05404/740412ns8ns60mW54H04/74H046ns6.5ns140mW5
26、4S04/74S043ns3ns113mW54LS04/74LS049ns10ns12mW图3-4为74LS04逻辑电路图:图3-4 74LS04逻辑电路图其中74LS04的引出端符号 :1A6输入端 1Y6输出端压电超声波转换器的功能:利用压电晶体谐振工作。内部结构如图3-5所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它就是一超声波发生器。如没加电压,当共振板接收到超声波时,将压迫压电振荡器作振动,将机械能转换为电信号,这时它就成为超声波接收转换器。超声波发射转换器与接收转换器其结构稍有
27、不同。图3-5 超声波转换结构图3.5 超声波接收电路设计在接收电路中使用了红外线接收处理芯片CX20106A,因为它处理的是38kHz的红外信号,而40kHz的超声波信号和它比较接近,并且CX20106A芯片具有很强的抗干扰能力,这个芯片的外围电路很简单而且通过外围电阻调节它的中心处理频率,通过改变外围电路电容的大小也可以改变接收电路灵敏度和抗干扰能力。经过试验后发现用单片机发40kHz信号与使用CX20106A的电路搭配更加简单合理,使得时间的计算更为精确。该系统的超声波接收模块是由超声波接收探头和红外线接收处理芯片CX20106A组成。如图3-6所示19。图3-6 超声波接收电路系统采用
28、集成电路CX20106A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38kHz与测距超声波频率40kHz较为接近,可以利用它作为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能力,适当改变外围电路电容的大小,可改变接收电路的灵敏度和抗干扰能力。3.6 超声波测距显示电路3.6.1 显示模块的选择在显示模块选择时有两种,一种是用液晶显示屏,一种则是选用数码管。液晶显示屏具有轻薄短小,低耗电量,无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点,可以显示汉字等各种符号。但一般需要利用控制芯
29、片创建字符库,编程工作量大。而数码管具有低能耗、低损耗、低压、寿命长、耐老化、对外界环境要求低,易于维护的特点,同时精度比较高,称量快,精确可靠,编程容易,操作简单。缺点是不能实现汉字显示,多数据多行显示。在本次设计中选择了方案二,选择了4位数码管显示。用PNP型三极管驱动数码管,并连接到单片机AT89S51的P2口上作位选。虽然显示上没有液晶显示屏那么完全,但是也能够完整直观地显示出需要的结果。本次设计由于条件的限制,只要求显示小数点后一位。3.6.2 显示电路图3-7为超声波测距硬件设计的显示电路。图3-7超声波测距显示电路其中数码显示管选用的是4位数码管,其引脚连上1K的电阻后与单片机的
30、P0脚连接,数码管的位选引脚与三极管9012连接。3.7 温度补偿电路设计超声波的声速与温度有直接的关系,所以在本次设计中采用温度校正的目的就是在于要选取当时现场温度下可用来计算的声速,从而提高超声波对距离测量的测量精度。在选取温度传感器时选择使用温度芯片DS18B20。这种芯片是单总线结构的,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20支持“一线总线”接口,测量温度范围为-55 125,在-1085范围内,精度为0.5。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量20。3.7.1 DS18B20的特性(1)适应
31、电压范围更宽,电压范围:3.05.5V,在寄生电源方式下由数据线供电。(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上实现组网多点测温。(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。 (5)温度范围55125,在-10+85时精度为0.5。(6)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(7)在9位分辨率时最多在93.75ms
32、内把温度转换为数字,12位分辨率时最多,在750ms内把温度值转换为数字,速度更快。(8)测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(9)负压特性:电源极性接反使芯片不会因为发热而烧毁,但不能正常工作。3.7.2 DS18B20引脚说明DS18B20使系统设计更灵活、方便,价格更便宜,体积更小。并且能用程序选取分辨率,因此可选更小的封装方式,更宽的电压适用范围。分辨率设定及用户设定的报警温度存储在EEPROM中,掉电后依然保存。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为2,适用于对性能要求不高,成本控制严格
33、的应用,是经济型产品。衡量其准确度和价格的优势最终确定DS18B20为此项目的温度传感器。其引脚图如图3-8所示, 图3-8 DS18B20集成电路DS18B20引脚说明如表3-2所示。表3-2 DS18B20的引脚说明引脚符号说明1GND接地2DQ数据输入/输出脚3VDD可选的VDD引脚3.7.3 DS18B20的使用方法DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据
34、的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收,数据和命令的传输都是低位在先。3.7.4 DS18B20温度补偿电路的设计温度补偿电路的设计如图3-9所示,数据输入/输出脚连接到单片机的P34脚,电源接口接入+5V的电压,外加4K的上拉电阻,因为DS18B20是单总线温度传感器,数据线是漏极开路,如果DS18B20没接电源,则需要数据线强上拉,给DS18B20供电;如果DS18B20接有电源,则需要一个上拉即可稳定的工作。图3-9温度补偿电路3.8 主电路原理图4位LED数码管该系统电路设计的比较简单,单片机采用AT89S51或其兼
35、容系列。采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。单片机用P1.0端口输出超声波转化器所需的40kHz方波信号,利用外中断P3.2口检测超声波返回接收电路输出的返回信号。显示电路采用简单实用的4位LED数码管,连接单片机AT89S51的P0口,而三极管连接P2口,作数码管的位选。USB电源接口超声波模块接口DS18B20接口图3-10 超声波测距主电路图4 系统软件设计4.1 总体设计框图主程序首先对系统环境初始化,设置定时器T0工作模式为16位的定时计数器模式,置位总中断允许位EA并给显示端P0和P2清零。然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射
36、器直接传送到接收器引起的直接波触发,需延迟0.1ms(这也就是测距器会有一个最小可测距离的原因)后,打开外中断0接收返回的超声波信号。由于采用12MHz的晶振,机器周期为1s,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计算即可测被测物体与测距仪之间的距离,设计时取20时的声速为344m/s,如式4-1所示。(C*T0)/2=172T0/10000cm (4-1)式中 T0计数器T0的计数值测出距离后结果将以十进制BCD码方式传送到LED显示,然后再发超声波脉冲重复测量过程。主程序框图如图4-1所示。开始结束存储调用显示子程序,显示距离开始发射,开始计时
37、计算发射时间调试测量子程序,补偿声速初始化输入扑捉功能有效NY图4-1 超声波测距总体设计框图4.2 子程序设计框图超声波发生子程序的作用是通过P1.0端口发送2个左右的超声波信号频率约40kHz的方波,脉冲宽度为12s左右,同时把计数器T0打开进行计时。超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序。进入该中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。超声波发射子程序设计框图如图4
38、2所示。定时器初始化发射超声波发射完否?停止发射开外部中断结果输出计算距离读取时间值关外部中断返回返回NYa)定时中断服务子程序b)外部中断服务子程序图4-2 超声波发射子程序设计框图4.3 温度补偿流程图 温度补偿是由温度传感器DS18B20检测现场的温度,由于DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内,检测的温度值在内部进行转换,温度测量结果直接以数字信号输出,单片机对由DS18B20输出的信号进行读取,经过软件对温度数字值实现处理,再由数码管对温度直观的显示 温度补偿流程图如4-3开始单片机发出温度转换DS18B20温度转换单片机读取
39、温度温度值处理显示温度结束图4-3 温度补偿流程图5 系统的测试5.1 系统硬件测试电路板焊接完毕后,使用万用表测量电路是否有短路、短路,元器件时候有+、-级焊接反向。若检查无误后,将单片机安装上,接通电源,此时应注意以下几点:一、指示灯是否点亮;二、单片机是否有电;三、晶振是否工作;四、超声波传感器是否工作。测试方法:一、使用万用表查看电源是否有电,查看整流电路是否将二极管焊接反向;二、使用万用表测量单片机的电源和地的引脚,看是否有电压;三、使用示波器看晶振是否有波形;四、使用示波器看是否有波形。在调试的过程中由于存在虚焊现象,导致电路板不能正常的工作。重新将元器件焊接后,电路板完全正常。由
40、于没有对全部管脚进行逐一测试,导致没有及时的查出问题所在。5.2 系统的软件测试软件调试过程采用模块化方案:一、测试LED显示是否正常,测试每位LED的各个段是否正常;二、测试超声波发射和接收正常;三、测试超声波距离显示是否正常。5.3 系统的整体测试超声波测距仪的制作和调试,其中超声波发射和接收采用15mm的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距48cm,其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容的大小
41、,以获得合适的接收灵敏度和抗干扰能力21。 硬件软件全部调试好后,便可将程序编译好下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的范围为0.11m1.50m,测距仪最大误差不超过4%。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。5.4 系统测量与误差分析经过所有的调试步骤完成后,对该系统进行实际的数据测量过程。由于测量过程中存在着许多外界因素的干扰,再次进行数据和误差的分析。5.4.1 测量数据由于实际测量工作的局限性,最后在测量中
42、选取了一米以下的15cm、30cm、45cm、50cm、60cm五个距离进行测量,得出测量数据,如下列表所示。表5-1 实际距离与测量距离的五次比较距离(CM)测量次数实际距离1530455060测量距离1143147526421530455063315314553624153046526251430465161从表中的数据可以看出,测量值一般都比实际值要大几厘米,但对于连续测量的准确性还是比较高的。针对测量过程,对每一组数据进行5次测量,对所测的每组数据去掉一个最大值和最小值,再求其平均值,用来作为最终的测量数据,最后进行比较分析。这样处理数据也具有一定的科学性和合理性。从表5-1中的数据来
43、看,虽然对超声波进行了温度补偿,但在比较远的距离的测量中其相对误差也比较大。对30cm和40cm的距离测量上,相对误差分别达到了3%和4%。但从全部测量结果看,本设计的绝对误差都比较小,也比较稳定。本设计盲区在11cm左右,基本满足设计要求。5.4.2 系统误差分析测距误差主要来源于以下几个方面22:一、超声波发射与接收探头与被测点存在一定的角度,这个角度直接影响到测量距离的精确值。二、超声波回波声强与待测距离的远近有直接关系,所以实际测量时,不一定是第一个回波的过零点触发。三、由于工具简陋,实际测量距离也有误差。影响测量误差的因素很多,还包括现场环境干扰、时基脉冲频率等等。四、启动发射和启动
44、计时之间的偏差。五、收到回波到被检测出的滞后。六、收到中断到中断响应停止计时之间的滞后。七、计时器本身的误差。八、在电路板与元件焊接做工不精细,有些元件焊接不好,所以造成某些地方接触不好,产生误差。九、在测试的时候在超声波发射与接收探头前面就开着电脑显示屏,可能就对测试的结果产生影响。6 总 结 基于单片机的超声波距离测量仪能够迅速的测出3米以内的短距离障碍物,本设计采用的是T/R-40-60,T/R-40-12这种超声波传感器,这种传感器的工作频率为40kHz-45kHz,因此在本次设计中采用的是单片机直接发出的40kHz的工作频率以满足传感器的工作需要,这种设计方法方便实用,不需要外加别的
45、外围电路,提高了超声波发射和接收的工作效率和准确率,接收到的超声波信号经过单片机的对数据进行快速计算,接收的信号经过软件处理,再由LED数码管直观的显示测量的数值。因为温度对超声波会产生一定的影响,因此在设计时要考虑解决这一方面,要求使温度对超声波的影响减到最小,所以在本次设计使用DS18B20温度传感器对现场温度进行检测,再由DS18B20输出的数字信号到单片机,通过软件对所得到的信号进行处理,实现温度补偿校正,使在计算距离的时候使用的是现场温度所对应的超声波波速,经过单片机计算使测出来的距离有较高的准确性。本设计具有简单实用,能耗低,成本低等特点,能更好利用于人们的日常生活。通过对本课题的研究学习,也有了以下体会。一、理解超声波技术的一些基本规律和必要的基本概念。二、了解超声技术与其他学科的关系与应用,扩大知识面。三、培养抽象思维能力,分析问题和解决问题的能力。四、掌握做人处事的方法技巧,成为真正的应用性、综合性人才。参考文献1 王慧基于总线的超声波测距仪的研究D哈尔滨:哈尔滨工程大学,20072 苏长赞,邹殿贵红外