临沂大学2013届本科毕业设计说明书
温度(℃) 声速(m/s) -30 313 -20 319 -10 325 0 331 10 337 20 344 30 349 100 386 3课题设计的任务和要求
设计一超声波测距仪,任务: (1).了解超声波测距原理。
(2).根据超声波测距原理,设计超声波测距器的硬件结构电路。 设计一超声波测距器,要求:
(1).设计出超声波测距器的软件结构电路。
(2).对设计的电路进行分析能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离。 (3).以数字的形式显示测量距离。
第一章 超声波测距系统硬件设计 1 系统设计
利用超声波检测距离,设计比较方便,计算处理也较简单,其测量精度也能达到使用要求。超声波发生器可以分为两大类:一类是用机械方式产生超声波,一类是用电气方式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本设计采用 AT89C51 单片机作为控制器,用动态扫描法实现 LED 数字显示,超声波驱动信号用单片机的定时器。
单片机发出 40kHz 的信号经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为 t,再由软件进行判别、计算,得出距离数并送 LED 显示。如图 1 所示。
超声波接超声波发单片机 控制器 LED显示 扫描驱动
图1 超声波测距器系统方案
超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。本设计采用反射波方式。测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。
2
临沂大学2013届本科毕业设计说明书
2 51系列单片机的功能特点
51系列单片机以其高性能、高速度、体积小、价格低廉、可重复编程和方便功能扩展等优点,在市场上得到广泛的应用。因此此次设计采用51系列单片机,由于AT89C51在51系列单片机里有典型的代表性,所以本文选择AT89C51型号。
5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256 B的RAM,2个16b的定时/计数器TO和T1,4个8 b的I/O端I:IP0,P1,P2,只读存储器(E~PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息P3,一个全双功串行通信口等组成。特别是该系列单片机片内的Flash可编程、可擦除保存的仪器和系统中更为有用。该系列单片引脚与封装如图2-1所示。
51系列单片机封装图
5l系列单片机提供以下功能:4 kB存储器;256 BRAM;32条I/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。
空闲方式:CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作。 掉电方式:保存RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。
5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。
3系统硬件结构的设计
硬件电路主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用 AT89C51 来实现对 CX20106A 红外接收芯片和 TCT40-10 系列超声波转换模块的控制。单片机通过 P1.0 引脚经反相器来控制超声波的发送,然后单片机不
3
临沂大学2013届本科毕业设计说明书
停的检测 INT0 引脚,当 INT0 引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物 3.1 单片机显示电路原理
单片机采用AT89C51 或其兼容系列。为了获得较稳定的时钟频率,系统采用12MHz 高精度的晶振,以减小系统测量误差。单片机用P1.0 端口输出40KHz 方波信号,为超声波转化器所用,利用外中断0 口检测超声波接受电路输出的返回信号。显示电路采用简单实用的共阳LED 数码管,段码用单片机P0 口加限流电阻直接驱动,位码用PNP 三极管9012 驱动。 3.2 超声波发射电路
超声波发射电路原理图如图2-2所示。发射电路主要由反向器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。
图2-2 超声波发射电路原理图
压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部有两个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。 3.3 超声波检测接收电路
4
临沂大学2013届本科毕业设计说明书
集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路(如图2-3)。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。
图2-3 超声波检测接收电路
3.4超声波测距系统的总电路
本系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时,单片机选用AT89C51,经济易用,且片内有4K的ROM,便于编程。电路原理图如图附录1。
第二章 超声波测距系统的软件设计
超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。
1 超声波测距仪的算法设计
超声波测距的原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。这样只要计算出从发出超
5
临沂大学2013届本科毕业设计说明书
声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离的计算公式为:d=s/2=(c×t)/2其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。 在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。其部分源程序如附录2。
2主程序流程图
软件分为两部分,主程序和中断服务程序,如图3-1(a)(b) (c) 所示。主程序完成初始化工作、各路超声波发射和接收顺序的控制。
定时中断服务子程序完成三方向超声波的轮流发射,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。
返回 返回
外部中断子程序 有回波吗 三方向均发射完否? 单片机初始化 定时中断子程序 定时器初始化 关外部中断 开始 定时中断入口 外部中断入口 发射超声波 读取时间值 计算距离 结果输出 停止发射 开外部中断 (a)主程序流程图 (b)定时中断服务子程序 (c)外部中断服务子程序
超声波测距系统的软件设计 主程序首先是对系统环境初始化,设置定时器T0工作模式为16位定时计数器模式。置位总中断允许位EA并给显示端口P0和P1清0。然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1 ms(这也就是超声波测距仪会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用的是12 MHz的晶 振,计数器每计一个数就是1μs,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)
6