基于单片机的超声波测距系统的研究与设计_第1页
基于单片机的超声波测距系统的研究与设计_第2页
基于单片机的超声波测距系统的研究与设计_第3页
基于单片机的超声波测距系统的研究与设计_第4页
基于单片机的超声波测距系统的研究与设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 1 章 绪论1.1 课题背景目的及重要意义随着科学技术的快速发展,超声波将在传感器中的应用越来越广。在人类文明的历次产业革命中,传感技术一直扮演着先行官的重要角色,它是贯穿各个技术和应用领域的关键技术,在人们可以想象的所有领域中,它几乎无所不在M。传感器是世界各国发展最快的产业之一,在各国有关研究、生产、应用部门的共同努力下,传感器技术得到了飞速的发展和进步。但就目前技术水平来说,人们可以具体利用的传感技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。超声波测距与其它非接触式的检测方式方法相比,如电磁的或光学的方法它不受光线,被测对象颜色,电磁干扰等影响。超声波对于

2、被测物体处于黑暗,有灰尘,烟雾,电磁干扰,有毒等恶劣的环境有一定的适应能力。因此在液位测量,机械手控制,车辆自动导航,物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辩力,因而其准确度也较其它方法高,而且超声波传感器具有结构简单,体积小,信号处理可靠等特点。超声波是一种指向性强,能量消耗慢的波。它在介质中传播的距离较远。因而超声波经常用于距离的测量,可解决超长度的测量。 超声波作为一种特殊的声波,同样具有声波传输的基本物理特性,反射,折射,干涉,衍射,散射。与物理紧密联系,应用灵活。并且更适合与高温,高粉尘

3、,高湿度和高强电磁干扰等恶劣环境下工作。超声波可用于非接触测量,具有不受光、电磁波以及粉尘等外界因素的干扰的优点,是利用计算超声波在被测物体和超声波探头之间的传输来测量距离的,对被测目标无损害。而且超声波传播速度在相当大范围内与频率无关J。超声波的这些独特优点越来越受到人们的重视。在新的世纪里,面貌一新的传感器将发挥更大的作用课程设计目的是单片机原理与接口技术课程设计是在教学及实验基础上,对课程所学理论知识的深化和提高。通过单片机原理与接口技术的课程设计,使学生初步掌握设计的基本方法。 培养学生分析问题和解决问题的能力;培养学生应用计算机辅助设计和撰写设计说明书的能力。1.2 国内外研究现状目

4、前国内的超声波测距仪技术落后产品功能低端,专用集成电路都是只有厘米级的测量精度。通过分析超声波测距误差产生的原因,提高测量时间差到微秒级,以及用 LM92 温度传感器进行声波传播速度的补偿后,我们设计的高精度测距仪超声波测距仪能达到毫米级的测量精度。国外超声波测距仪技术领先,产品齐全,性能比较稳定,市场需求量大,测量精度高,测量误差小。1.3 论文研究思路及创新点1.3.1 主要思路 利用超声波作为定位技术是蝙蝠等一些无目视能力里的生物作为防御及捕捉猎物生存的手段,也就是由生物体发射不被人们听到的超声波(20KHz以上的机械波),借助媒质传播由被捕捉的猎物或障碍物反射回来的时间间隔长短与被反射

5、的超声波的强弱判断猎物性质或障碍位置的方法。由于超声波的速度相对于光速要小的多,其传播时间就比较容易检测,并且易于定向发射,方向性好,强度好控制,因而人类采用仿真技能利用超声波测距。超声波测距是一种利用声波特性,电子计数,光电开关相结合来实现非接触式距离的测量方法。它在很多距离探测应用中有很重要的用途,包括非损害测量,过程检测,机器人检测和定位,以及流体液面高度测量等。超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超声波和接收超声波。完成这种功能的装置就超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收

6、声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。超声波测距的工作方式利用超声波测距的工作, 就可以根据测量发射波与反射波之间的时间间隔, 从而达到测量距离的作用。其主要有三种测距方法:(1) 相位检测法, 相位检测法虽然精度高, 但检测范围有限;(2) 声波幅值检测法, 声波幅值检测法易受反射波的影响;(3) 渡越时间检测法, 渡越时间检测法的工作方式简单, 直观, 在硬件控制和软件设计上都非常容易实现。其原理为: 发射传感器发射超声波, 经气体介质传播到接收传感器的时间,这个时

7、间就是渡越时间。本设计的超声波测距就是使用了渡越时间TOF(time of flight)检测法。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源于障碍物之间的距离。测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为334.5米/秒(由于超声波速度受温度影响比较大,必须采用DS1820测量环境温度,再对超声波速度进行修正,进而计算出测量距离),由单片机AT89C51负责计时,单片机使用12.0MHz晶振,所以此系统的测量精度在理论上可以达到毫米级。由于超声波指向性强,能量消

8、耗缓慢,在介质中传播距离远,因此超声波可以用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也比较简单,并且在测量精度方面也能达到要求。超声波发生器可以分为两大类:一类是电气方式产生超声波,一类使用机械方式产生超声波。本文属于近距离测量,可以采用常用的压电式超声波换能器来实现。1.3.2 主要创新点本设计采用以 AT89C51 单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体

9、方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序流程图。1.4 本章小结本章主要介绍了超声波测距仪的国内外研究现状,研究该课题的意义及作用。 第 2 章主要介绍了该课题的研究方法和课题的任务。 第 3 章主要介绍了该课题的设计方案硬件的设计和硬件电路图。 第 4 章主要介绍了软件的设计和软件程序。 第 5 章主要介绍了误差分析和计算。第 2 章 课题的方案设计与任务2.1 超声波测距仪的原理单片机(AT89C51)发出短暂的 40KHz 信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,得

10、出时间 t,再由系统软件对其进行计算、判别后,相应的计算结果被送至 LED 显示电路进行显示。主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。发射器发出的超声波以速度 在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为 t,由 s=vt/2即可算出被测物体的距离。由于超声波也是一种声波,其声速 v 与温度有关,在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。其系统框图如图 2-1 所示: 超声波接收器超声波发射器放大电路放大电路锁相环检波电路计时器单片机控制显示器图 2-1 超声波测距系统框

11、图2.2 课题设计的任务和要求采用 40KHz 的超声波发射和接收传感器测量距离。可采用发射和接收之间的距离,也可将发射和接收平行放在一起,通过反射测量距离。设计任务:1. 了解超声波测距仪的原理。2. 根据超声波测距原理,设计超声波测距仪的硬件结构电路。设计要求:1 .掌握传感器的工作原理及相应的辅助电路设计方法。2 .独立设计原理图及相应的硬件电路。3 .设计说明书格式规范,层次合理,重点突出。并附上详细的原理图。4LED 数码管显示测量距离,精确到小数点后一位(单位:cm)。5测量方式可通过硬件开关预置。测量范围:20cm1000cm,误差 5cm。2.3 本章小结超声波测距的原理是利用

12、超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。 测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。第 3 章 系统的硬件结构设计3.1 系统的硬件设计 本次设计主要由单片机系统及显示电路、超声波

13、发射电路和超声波检测接收电路三部分组成。单片机部分采用 AT89C51 作为主控制器;显示电路采用的是动态驱动形式的 LED 数码显示器;超声波的发射电路用的是由压电式超声波转换器,发送器传感器由发送器与使用直径为 15mm 左右的陶瓷振子换能器组成,换能器作用是将陶瓷振子的电振动能量转换成超能量并向空中幅射;超声波检波接收电路采用的是由陶瓷振子换能器与放大电路组成,换能器接收波产生机械振动,将其变换成电能量,作为传感器接收器的输出,从而对发送的超进行检测。3.2 单片机的功能特点3.2.1 AT89C51 单片机 单片机 AT89C51 采用 40 引脚双列直插封装(DIP)形式,内部由一个

14、 8 位的80C51 微处理器,4KB 的程序存储器 Flash ROM,256 字节的 RAM,2 个 16 字节的定时/计数器 TO 和 T1,4 个 8 位的 I/O 端口:P0,P1,P2,P3,一个全双工UART 串行通信口等组成。特别是该系列单片机片内的 Flash 可编程、可擦除只读存储器(EPROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。单片机 AT89C51 提供以下功能:4 KB 存储器;256 字节 RAM;32 条 I/O 线;2 个 16 字节定时/计数器;5 个 2 级中断源;1 个全双向的串行口以及时钟电路。空闲方式

15、:CPU 停止工作,而让 RAM、定时/计数器、串行口和中断系统继续工作。掉电方式:保存 RAM 的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。单片机 AT89C51 为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。AT89C51 单片机封装图如下: 图 3-1 AT89C51 单片机封装图3.2.2 AT89C51 主要特性与 MCS-51 兼容;4K 字节可编程闪烁存储器(寿命 100 写/擦循环,数据保留10 年);全静态工作:024KHz;三级程序存储器锁定;1288 位内部 RAM;32位可编程

16、 I/O 线;两个 16 位定时器/计数器;5 个中断源;可编程串行通道;低功耗的限制和掉电模式;片内振荡器和时钟电路。3.2.3 管脚说明:VCC:供电电压。GND:接地。P0 口:P0 口为一个 8 位漏极开路双向 I/O 口,每脚可吸收 8TTL 门电流。当P1 口的管脚第一次写时,被定义为高阻输入。P0 能够用于外部程序数据储存器,它可以被定义为数据/地址的第八位。在 FLASH 编程时,P0 口作为原码输入口,当FLASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接受输出 4TTL 门

17、电路流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲区可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当由于外部程序储存器或 16 位地址外部数据存储器进行存取时了,P2 口输出地值的高八位。再给出地址“1”时,它利用内部上拉的优势,当对外部八位地

18、址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流,这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口,如下所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输入口)P3.2 (外部中断 0)P3.3 /INT1(外部中断 1)P3.4 T0(计时器 0 外部输入)P3.5 T1(计

19、时器 1 外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3 口同时为闪烁编程和编程娇艳接受一些控制信号。RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入变成脉冲。在平时,ALE 端以不变的频率周期正脉冲信号,此频率为振荡器频率的 1/6。因此它可以用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如果禁止 ALE 的输出可在 SFR8EH

20、地址上置 0。此时,ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。/PSEN:外部程序储存器的选通信号。在有外部程序存储器取值间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH)不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为RESET:当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源

21、(VPP)。XTAL1:反向震荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.3 超声波发射和接收电路超声波传感器的主要性能指标包括:(1)工作频率。工作频率就是压电晶片的共振频率。当加到它两端的交流电压的频率和晶片的共振频率相等时,输出的能量最大,灵敏度也最高。(2)工作温度。由于压电材料的居里点一般比较高,特别时诊断用超声波探头使用功率较小,所以工作温度比较低,可以长时间地工作而不失效。医疗用的超声探头的温度比较高,需要单独的制冷设备。(3)灵敏度。主要取决于制造晶片本身。机电耦合系数大,灵敏度高;反之,灵敏度低。系统的特点是利用单片机控制超声波的发射和对超声

22、波自发射至接收往返时间的计时。本超声波测距系统以 AT89C51 为中央处理器,系统上电工作后,由脉冲发生器发出脉冲信号。该脉冲信号一方面通过驱动的电路推动脉冲发生器发出超声波脉冲;另一方面触发 AT89C51 内部定时器 T1 开始定时,同时等待接受信号,关闭定时器。3.3.1 超声波发生器与超声波发射角超声波发送脉冲信号由单片机产生, 将脉冲信号放大用以驱动超声波换能器发送超声波。并由单片机控制脉冲群的脉冲个数及脉冲群之间的时间间隔, 其发送间隔取决于要求测量的最大距离。若在有效测距范围内有被测物, 则在后一路探测波束发出之前应当接收到前一路发出的反射波, 否则认为前一路没有探测到物体。按

23、有效测距范围及最大测量距离可以算出最短的脉冲群间隔发送时间。例如, 最大测距距离为5 m 时, 脉冲间隔时间t= 2 D/C = 25/340 30 m s, 实际应取t30 m s。超声波的发射是利用逆压电效应,在压电晶片上施加交变电压,使其产生电致伸缩振动而发射超声波。根据共振原理,当外加交变电压的频率等于晶片的固有频率时就产生共振,此时发射的超声波最强。图 3-2 超声波发生器内部结构压电超声波转换器的功能:利用压电晶体谐振工作。超声波发生器内部结构如图 3-2 所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共

24、振板振动产生超声波,这时它就是一超声波发生器;如没加电压,当共振板接受到超声波时,将压迫压电振荡器作振动,将机械能转换为电信号,这时它就成为超声波接受转换器。超声波发射转换器与接受转换器其结构稍有不同。 超声波发散角选用型号 401 型时超声波的发散角为 45 度(选用各种不同型号探头时,发散角有所变化)。超声波传感器即可以作为发射器又可以作为接收器,传感器用一段时间发射一束超声波束,只有待发射结束后才能启动接收,设发送波束的时间为 D,则在 D 时间内从物体反射回的信号就无法捕捉;另外,超声波传感器有一定的惯性,发送结束后还留有一定的余振,这种余振经换能器同样产生电压信号,扰乱了系统捕捉返回

25、信号的工作。因此,在余振未消失前,还不能启动系统进行回波接收,以上两个原因造成了超声波传感器具有一定的测量范围。此超声波最近可测量 20 cm。超声波发射电路原理图如图 3-3 所示。发射电路主要由反相器 74LS04 和超声波发射换能器 T 构成,单片机 P1.0 端口输出的 40kHz 的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。上位电阻 R1O、R11 一方面可以提高反向器 74LS04 输出高电平的驱动能力,另

26、一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部有两个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。3.3.2 超声波检测接收电路集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。

27、考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路(图3-4)。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改电图 3-3 超声波发射电路原理图 容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。图3-4 超声波检测接收电路3.3.3 用于通用音调译码器LM567 为通用音调译码器,当输入信号于通带内时提供饱和晶体管对地开关,电路由 I 与 Q 检波器构成,由电压控制振荡器驱动振荡器确定译码器中心频率。用外接元件独立设定中心频率带宽和输出延迟。LM567 为通用音调译码器,

28、当输入信号于通带内时提供饱和晶体管对地开关,电路由 I 与 Q 检波器构成,由电压控制振荡器驱动振荡器确定译码器中心频率。用外接元件独立设定中心频率带宽和输出延迟。主要用于振荡、调制、解调、和遥控编、译码电路。如电力线载波通信,对讲机亚音频译码,遥控等。用外接电阻 20 比 1 频率范围 逻辑兼容输出具有吸收 100mA 电流吸收能力。 可调带宽从 0%至 14% 宽信号输出与噪声的高抑制 对假信号抗干扰 高稳定的中心频率 中心频率调节从 0.01Hz 到 500kHz 电源电压 5V-15V,推荐使用 5V。3.4 显示电路及显示器接口一个单片机应用系统中,显示是人机通道的重要组成部分。目前

29、广泛使用的显示器件主要有LED(二极管显示器),LCD(液晶显示器)和VFD(真空荧光管)。而LED显示器造价低廉,与单片机接口方便灵活,技术上易与实现,但只能形式阿拉伯数字和少数字符,通常用于对形式要求不高的场合。本次设计采用LED。LED 显示器有静态和动态两种形式方式。由于静态功耗大,占用 CPU 的 I|O 口线多,切成本高。所以我选用动态显示。所谓动态显示,实质上是多个 LED 显示器按照一定的顺序轮流显示。它利用了人眼的“视觉暂留现象”,只要多个 LED 显示器的选通扫描速度足够快,人眼就观察不到数码管的闪烁现象。动态扫描方式的所有LED 段选线并联在一起,只由一个 8 位的 I|

30、O 口控制,而各个 LED 的未选线则由另外一组 I|O 口控制。动态 LED 显示方式的优点是功效较低,占用 CPU 的 I|O 口线少,外围接口简单,但程序编制较之静态显示方式略显复杂。3.5 超声波测距原理超声测距从原理上可分为共振式、脉冲反射式两种。由于共振法的应用要求复杂,在这里使用脉冲反射式。超声波测距原理是通过超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为 C ,而根据计时器记录的测出发射和接收回波的时间差 t ,就可以计算出发射点距障碍物的距离 S ,即

31、: S = Ct/2 。这就是所谓的时间差测距法3.6 声波测距系统的硬件电路设计超声波测距系统主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用AT89C51来实现对超声波转换模块的控制。单片机通过P3.5引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。设计的原理框图如图3-5。设计的原理图见附录B。定时器控制显示器调制器计时器振荡器接收检超声波发生器超声波接收器障碍物图 3-5 超声波测距原理框图3.

32、7 本章小结本章是该课题的重点,全面介绍了超声波测距系统的原理和设计思路,给出了硬件电路设计。在硬件电路设计中,分别详细介绍了发射电路,接收电路及显示模块的设计方法。本章详细介绍了超声波传感器的原理和特性,以及 Atmel 公司的AT89C51 单片机的性能和特点,并在分析了超声波测距仪的原理的基础上,指出了设计测距仪系统的思路和所需考虑的问题,给出了以 AT89C51 单片机为核心的低成本,高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。该系统电路设计合理、工作稳定、检测速度快、计算简单、易于做到实时控制,并且在测量精度方面能达到工业使用的要求。第 4 章 系统软件设计软件设计的

33、主要思路是将预置、发射、接收、显示、声音报警等功能编成独立的模块,在主程序中采用键控循环的方式,当按下控制键后,在一定周期内,依次执行各个模块,调用预置据处理结果决定显示程序的内容以及是否调用声音报警程序。当测得距离小于预置距子程序、发射子程序、查询接收子程序、定时子程序,并把测量的结果进行分析处理,根离时,声报警程序被调用。AT89C51 单片机和其开发应用系统具有语言简单,可移植性好,表达能力强,表达方式灵活,可进行结构化设计,可直接控制计算机硬件,生成代码质量高,使用方便等诸多优点。超声波测距软件设主计要由主程序,超声波发射子程序,超声波接受中断程序及显示子程序组成。下面对超声波测距器的

34、算法,主程序,超声波发射子程序和超声波接受中断程序逐一介绍。超声波测距系统的软设计超声波测距系统的软设计图 4-1 (a)主程序流程图 (b) 定时中断服务子程序 (c) 外部服务中断子程序 返回软件分为两部分,主程序和中断服务程序,如图 4-1(a) (b) (c) 所示。主程序完成初始化工作、各路超声波发射和接收顺序的控制。主程序首先对系统环境初始化,设置定时器 T0 工作模式为 16 位定时计数器模式,置位总中断允许位 EA 并给显示端口。P0 和 P2 清零。然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时 0.1MS(这也就

35、是超声波测距仪会有一个最小可测距离的原因)后,才打开外中断 0 接收返回的超声波信号。LED 超声波发送电路输入端接单片机 P3.7 端口。单片机执行程序时,在 P3.5端口输出一个 40KHZ 的脉冲信号,通过超声波发射电路发射出去,同时启动单片机内部定时器 T0,定时器开始计数。延时 2.0MS 后,当障碍物将超声波发射回来,超声波接收电路就开始接受处理。定时中断服务子程序完成三方向超声波的轮流发射,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。4.1 超声波测距器的算法设计 下图示意了超声波测距的原理,即超声波发生器 T 在某一时刻发出的一个超声波信号,当超声波遇到

36、被测物体后反射回来,就被超声波接收器 R 所接受。这样只要计算出发生信号到接受返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离计算公式:d=s/2=(c*t)/2d 为被测物与测距器的距离,s 为声波的来回路程,c 为声速,t 为声波来回所用的时间声速 c 与温度有关,如温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返时间,即可求得距离。在系统加入温度传感器来监测环境温度,可进行温度被偿。这里可以用 DS1820 测量环境温度,根据不同的环境温度确定一声速提高测距的稳定性。为了增强系统的可靠性,应在软硬件

37、上采用抗干扰措施。表 4-1 不同温度下的超声波声速表测出发射和接收回波的时间差t,然后求出距离 S。在速度 v 已知的情况下,距离 S 的计算公式如下:/2Sv t 在空气中,常温下超声波的传播速度是 340 米秒,但其传播速度 V 易受空气中温温度/oC-30-20-100102030100波速/m/s313319325323338344349386度、湿度、压强等因素的影响,其中受温度的影响较大,如温度每升高 1 oC,声速增加约 0.6 米/秒。因此在测距精度要求很高的情况下,应通过温度补偿的方法对传播速度加以校正。已知现场环境温度 T 时,超声波传播速度 V 的计算公式可近似如下:3

38、31.50.607VT在超声波的两个探头旁边需要放置温度传感器,测出环境温 T,由单片机控制器进行修正。4.2 主程序主程序首先对系统环境初始化,设置定时器 T0 工作模式为 16 位的定时计数器模式,置位总中断允许位 EA 并给显示端口 P1 和 P3 清 0。然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟 0.1ms(这也就是测距器会有一个最小可测距离的原因)后,才打开外中断 0 接收返回的超声波信号。由于采用 12MHz 的晶振,机器周期为 1us,当主程序检测到接收成功的标志位后,将计数器 T0 中的数(即超声波来回所用的时间)

39、按下式计算即可测得被测物体与测距仪之间的距离,设计时取 20时的声速为 344m/s 则有: d=(C*T0)/2=172T0/10000cm(其中 T0 为计数器 T0 的计数值)测出距离后结果将以十进制 BCD 码方式 LED,然后再发超声波脉冲重复测量过程。对所要求测量范围20cm1000cm 内的平面物体做了多次测量发现,其最大误差为 5cm,且重复性好。可见基于单片机设计的超声波测距系统具有硬件结构简单、工作可靠、测量误差小等特点。4.3 超声波发生子程序和超声波接收中断程序超声波发生子程序的作用是通过 P3.5 端口发送 2 个左右的超声波信号频率约40KHz 的方波,脉冲宽度为

40、12us 左右,同时把计数器 T0 打开进行计时。超声波测距器主程序利用外中断 0 检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序。进入该中断后就立即关闭计时器 T0 停止计时,并将测距成功标志字赋值 1。如果当计时器溢出时还未检测到超声波返回信号,则定时器 T0 溢出中断将外中断 0 关闭,并将测距成功标志字赋值 2 以表示此次测距不成功。4.4 BCD 码转换子程序得到的距离值是二进制数,要显示输出,必须进行 BCD 码的转换。由于测距时定时器 T0 的最长的定时时间为 58765US,则得到的距离最大值为 S=VT/2=58765*340/2=9

41、86FA2(16 进制,3 个字节)UM=9990050UM(10 进制)=9.99M。所以需要 4 个字节来存放十进制转换结果。其实现过程如图 4-2 所示。图 4-2 BCD 码转换子程序4.5 软硬件调试及性能超声波测距仪的制作和调试,其中超声波发射和接收采用 15 的超声波换能器TCT40-10F1(T 发射)和 TCT40-10S1(R 接收),中心频率为 40kHz,在安装时应当要 保持两换能器中心轴线平行并相距 48cm,其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容 C4 的大小,以获得合

42、适的接收灵敏度和抗干扰能力。N开始结果单元清零3*8-位计数器距离单元左移一位CY结果单元*2+CY结果单元位计数器-1=0?返回Y硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的范围为0.210m,测距仪最大误差不超过 5cm。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。第 5 章 误差分析5.1 超声波回波声强的影响回波的声强与障碍物距离的远近有直接的影响,实际测量时,不一定是第一个回

43、波的过零点触发。这种误差不能从根本上消除,但可以通过根据障碍物的距离调整脉冲群的脉冲个数以及动态调整比较电压来减小误差。另一方面将求距离公式D=CT/2 后加一个补偿系数,来补偿计时误差 D=CT/2+a(a 与距离,脉冲个数有关)。5.2 超声波波束入射角的影响如果系统是用来测量面与点的距离,则被测物,换能器及换能器所在测量面三者之间存在一个几何角度,即反射波入射到换能器的角度,当这个角度不是 90C 时,系统测量到的距离是障碍物与换能器之间的距离而不是和测量参考平面之间的距离,这就会造成误差。 障碍物的距离较小时,这个误差就会成为近距离时的主要误差来源,可以用多个换能器测量,利用几何关系来

44、计算的出实际距离,消除误差。 (5-2a)1S=( 123)2yyy (5-2b)1(1)(2)(3)2sysysy (5-2c)2 /xz 式中,是换能器 a,b 到被测物之间的距离。y1y2Z换能器 a,b 之间的距离X被测物到测量面的距离5.3 超声波传播速度的影响稳定准确的声波传播速度是保证测量精度的必要条件,传播介质的温度压力及密度对声速都有影响,对于在大气中传播的声波而言,引起声波变化的主要原因是温度的变化。采用声速预置和传播介质温度测量结合的方法对声速进行修正,可有效的降低温度变化产生的误差。在对距离的精度要求不高的应用中可以不进行温度补偿,选择室温 20C 左右时的声速 340

45、 作为固定参数,当温度在-1040C 变化时声速误差在-5%5%之间变化。如果在室外测量,对于季节温差大的地区,还可采用预置该地区12 个月的统计温度,用意于温度进行补偿,即可提高精度,又不增加成本。影响测量误差的因素很多,包括现场环境干扰,时基脉冲频率等。在实际应用中可以根据系统测量精度要求,采用合理的补偿手段。超声波的传播速度受空气的密度所影响,空气的密度越高则超声波的传播速度就越快,而空气的密度又与温度有着密切的关系。 已知超声波速度与温度的关系如下: (5-3a) 2Dct m/s (5-3b) 0 1/273CCT式中:D传感器与被测物之间的距离C为在介质中的传播速率 T 绝对温度,

46、273K+T。 近似公式为:C=C0+0.607 T式中:C0 为零度时的声波速度 332m/s; T 为实际温度()。对于超声波测距精度要求达到 1mm 时,就必须把超声波传播的环境温度考虑进去。例如当温度 0时超声波速度是 332m/s, 30时是 350m/s,温度变化引起的超声波速度变化为 18m/s。若超声波在 30的环境下以 0的声速测量 100m 距离所引起的测量误差将达到 5m,测量 1m 误差将达到 5mm。5.4 时间误差当要求测距误差小于 1mm 时,假设已知超声波速度 C=344m/s (20室温),忽略声速的传播误差。测距误差 st(0.001/344) 0.s 即

47、2.907ms。在超声波的传播速度是准确的前提下,测量距离的传播时间差值精度只要在达到微秒级,就能保证测距误差小于 1mm 的误差。使用的 12MHz 晶体作时钟基准的 89C51 单片机定时器能方便的计数到 1s 的精度,因此系统采用 89C51 定时器能保证时间误差在 1mm 的测量范围内。第 6 章 总结与展望6.1 总结虽然用一个单独计时器电路也可以测量超声波的传输时间,但利用 AT89C51 单片机可以简化设计,便于操作和直观读数。该设计经过实际测试证明,可以满足大多数场合的测距要求。经实验证明,这套系统软硬件设计合理、抗干扰能力强、实时性良好,经过系统扩展和升级,可以有效地解决汽车

48、倒车、建筑施工工地以及一些工业现场的位置监控但同时它也存在一定的问题,比如测量误差,时间误差,超声波传播速度误差。但目前国内的超声波测距专用集成电路都是精确到厘米级的测量精度,所以在此次设计中可以忽略。通过这次设计,使我对三年多来所学的知识有了一个概括性的理解与融合。学以致用一直以来就是学习的主要目标。这次机会对我来说就是学和用融合的机会。由于本人知识水平有限,再此次设计中难免出现漏洞,希望您能给予批评和指正。冷静分析,不气馁,不急躁,持之以恒。设计过程中要注意设计模块化,便于设计,便于检测。检测要注意方法,合理的利用推测和验证结合的方式,确定错误之处。硬件调试要灵活运用示波器和信号发生器等一切可能用到的仪器。想要更好的理解知识,更好的运用实践的最好的方法即认真思考然后多次尝试。6.2 展望

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论