设计思路
1.1超声波测距仪的设计思路 超声波是指频率高于20KHz的机械波。为了以超声波作为 检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器 是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。 超声波测距的原理一般采用渡越时间法TOF(time of flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离 测量距 离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45米 /秒,由负责计时,单片机使用12.0MHZ晶振,所以此系统的测量精度理论上可以达到毫米级。 由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在 测量精度方面也能达到要求。 超声波发生器可以分为两类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。本课题属于近距离 测量,可以采用常用的压电式超声波换能器来实现。 12超声波测距原理 发射器发出的超声波以速度υ在空气中传 播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。由于超声波也是一种声波,其声速v与温度有关, 下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。 2.2 超声波测距仪原理框图 根据设计要求并综合各方面因素,可以采用AT89S51单片机作为主控制器,用动态扫描法实现 LED数字显示,超声波驱动信号用单片机的定时器完成,超声波测距器的系统框图如图1.
3.设计原理分析 3.1 系统组成 3.1.1硬件部分 主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用AT89S51来实现对超声 波发射和接受处理模块的控制。单片机通过 P1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所 计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。 3.1.2部分 主要由主程序、超 声波发生子程序、超声波接收中断程序及显示子程序等部分。 3.2 系统硬件电路设计 3.2.1 单片机最小系统 其作用主要是为了保证单片机系统能正常工作。如图2所示,单片机最小系统主要由AT89S51单片机、外部振荡电路、复位电路和+5V组 成。在外部振荡电路中,单片机的XTAL1和XTAL2管脚分别接至由12MHZ晶振和两个30PF构成的振荡电路两侧,为电路提供正常的时钟脉冲。在复位电路中,单片机RESET管脚一方面经20 F的电容接至电源正极,实现上电自动复位,另一方面经开关s接电源。其主要功能是把PC初始化为0000H,是单片机从0000H单元开始执行程序,除了 进入系统的初始化之外,当由于程序出错或者操作错误使系统处于死锁状态时,为了摆脱困境,也需要按复位键重新启动,因此,复位电路是单片机系统中不可缺少 的一部分。
3.2.2 单片机测距原理 单片机发出超声波测距是 通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差tr,然后求出距离S=Ct/2,式中的C为超声波波速。限制该系统的 {zd0}可测距离存在4个因素:超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小 的可测距离。为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射/接收的设计方法,限于实际需要,本电路只采用单路 超声波发射接收。由于超声波属于声波范围,其波速C与温度有关。 3.2.3 超声波发射电路 压电超声波转换器的功能:利用压电晶体谐振工作。内部结构上图所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有 振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它就是一超声波发生器;如没加电压,当共振板接受到超声波时,将压迫压电振荡器作振 动,将机械能转换为电信号,这时它就成为超声波接受转换器。超声波发射转换器与接受转换器其结构稍有不同。 压电式超声波换能器是利用压 电晶体的谐振来工作的。超声波换能器内部有两个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共 振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能 转换为电信号,这时它就成为超声波接收换能器。超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。本设计中发射器电路采用集成电 路模块不需考虑这些问题,主要是采用4069反相器在换能器两端提供脉冲信号。其原理图如图3所示。
3.2.4 超声波检测接收电路 集成电路 CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路(如图2-3)。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较 强的抗干扰能力。适当更改电容CS的大小,可以改变接收电路的灵敏度和抗干扰能力。此部分电路在集成芯片上。
3.2.5 LED显示电路 根据设计要求并综合各 方面因素,可以采用AT89S51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成,显示电路如下图5 3.3 系统软件的设计 本设计基于汇编语言,其软件设计思路如下: 3.3.1超声波测距仪的算法设计 超声波测距的原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反 射回来,就被超声波接收器R所接收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离的计算公 式为: d=s/2=(c×t)/2 (1) 其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。在启动发射电路的同时启动单片机内部的定时器T0,利用定时 器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信 号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。其部分源程序如下:
3.3.2 主程序流程图 软件分为两部分,主程序和中断服务程序,如图3-1(a)(b) (c) 所示。主程序完成初始化工作、各路超声波发射和接收顺序的控制。 定时中断服务子程序完成三方向超声波的轮流发射,外部中断服务子程序 主要完成时间值的读取、距离计算、结果的输出等工作。 主程序首先是对系统环境初始化,设置定时器T0工作模式为16位定时计数器模式。 置位总中断允许位EA并给显示端口P0和P1清0。然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触 发,需要延时约0.1 ms(这也就是超声波测距仪会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用的是12 MHz的晶振,计数器每计一个数就是1μs,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(2)计算,即可得被 测物体与测距仪之间的距离,设计时取20℃时的声速为344 m/s则有: d=(c×t)/2=172T0/10000cm (2) 其中,T0为计数器T0的计算值。 测出距离后结果将以十进制BCD码方式送往LED显 示约0.5s,然后再发超声波脉冲重复测量过程。为了有利于程序结构化和容易计算出距离。 3.3.3超声波发生子程序和超声波接收中断程序 超声波发生子程序的作用是通过P1.0端口发送2个左右超声波脉冲信号(频 率约40kHz的方波),脉冲宽度为12μs左右,同时把计数器T0打开进行计时。超声波发生子程序较简单,但要求程序运行准确,所以采用汇编语言编程。 超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。进入中断后就立即关闭 计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字 赋值2以表示此次测距不成功。前方测距电路的输出端接单片机INT0端口,中断优先级{zg},左、右测距电路的输出通过与门IC3A的输出接单片机INT1 端口,同时单片机P1.3和 P1.4接到IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。部分源程序如下:
3.3.4 系统的软硬件的调试 超声波测距仪的制作和调试都比较简单,其中超声波发射和接收采用模块直接实现。 硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以 适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的范围为0.07~5.5m,测距仪{zd0}误差不超过1cm。系统调试完后应对测量误差和 重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。 软件的调试程序见附录三. 4 总结和体会 由于时间和其它客观上的原因,此次设计没有成功做出实物。但是对设计有一个很好的理论基础。设计的最终结果是使超声波测距仪能够产生超声波,实现超声波 的发送与接收,从而实现利用超声波方法测量物体间的距离。以数字的形式显示测量距离。 超声波测距的原理是利用超声波的发射和接受,根据 超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物 体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。 超声波测距仪硬件电路的设计主要包括单片机系统及显示电路、超 声波发射电路和超声波检测接收电路三部分。单片机采用AT89S51或其兼容系列。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单 片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。显示电路采用简单实用的4个七段共阳 数码管组成动态扫描电路 。 超声波发射电路主要由反相器4069和超声波发射换能器 FSQ构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一 个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。超声波换能器内部有两 个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一 个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。 超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。 超声波检测接收电路主要是由集成电路CX20106A组成,它是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用 的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能 力。适当更改电容Cs的大小,可以改变接收电路的灵敏度和抗干扰能力。 在元件及调制方面,由于采用的电路使用了很多集成电路。外围元件 不是很多,所以调试不会太难。一般只要电路焊接无误,稍加调试应该会正常工作。电路中除集成电路外,对各电子元件也无特别要求。若能将超声波接收电路用金 属壳屏蔽起来,则可提高抗干扰能力。 我要感谢孔老师,邵老师和陈老师在设计中对我给予的悉心指导和严格要求,同时也感谢本班同学在设 计期间所给予我的帮助。在我论文写作期间,各位同学给我提供了种种专业知识上的指导,使我能够这么顺利的完成设计与制作,借此机会,向您们表示由衷的感 激。同时还要感谢系实验室在设计期间提供给我们优越的实验条件。 附录一:电气原理图 |