超声波测距仪的设计剖析Word格式文档下载.docx
《超声波测距仪的设计剖析Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《超声波测距仪的设计剖析Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。
1、课题背景、目的和意义
传感器技术是现代信息技术的主要内容之一,信息技术主要包括计算机技术、通信技术和传感器技术,计算机技术相当于人的大脑,通信相当于人的神经,而传感器就相当于人的感官。
比如温度传感器、光电传感器、湿度传感器、超声波传感器、红外线传感器、压力传感器等等,其中超声波传感器在测量方面有着广泛、普遍的应用。
利用单片机控制超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且测量精度较高。
超声波测距系统主要应用于汽车的倒车雷达、机器人自动避障行走、建筑施工工地以及一些工业现场例如:
液位、井深、管道长度等场合。
因此研究超声波测距系统的原理有着很大的现实意义。
对本课题的研究与设计,还能进一步提高自己的电路设计水平,深入对单片机的理解和应用。
2、课题主要内容
通过上节介绍我们知道,以单片机AT89C52为核心的超声波测距系统设计简单、方便,而且测精度能达到工业要求。
本课题研究的测距系统就是用单片机控制的。
通过超声波发射器向某一方向发射超声波,单片机在发射时刻同时开始计时,超声波在空气中传播,途中碰到障碍物就立即反射回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为V,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离。
本系统利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时。
电路的输出端接单片机的外部中断源输入口。
系统定时发射超声波,在启动发射电路的同时启动单片机内部的定时器,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。
当收到超声波的反射波时,接收电路输出端产生一个负跳变,在单片机的外部中断源输入口产生一个中断请求信号,单片机响应外部中断请求执行外部中断服务子程序,读取时间差,计算距离,结果输出给LED显示。
二、超声波测距仪的原理及设计方案
1、超声波传感器及测距原理
1.1超声波传感器
超声波是指频率高于20KHz的机械波。
为了以超声波作为检测手段,必须产生超声波和接收超声波。
完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。
超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。
超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换成超声振动发射超声波;
而在收到回波的时候,则将超声振动转换成电信号。
压电式超声波换能器是利用压电晶体的谐振来工作的。
超声波换能器内部结构如图1所示,它有两个压电晶片和一个晶振板。
当它的两极外加脉冲信号,其频率等于压电陶瓷片的固有震荡频率时,压电陶瓷片将会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;
反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片做振荡,将机械能转化成电信号,这时它就成为超声波接收换能器了。
超声波发射换能器与接收换能器其结构上稍有不同,使用时应分清器件上的标志。
图1超声波传感器结构
超声波传感器里面有一个圆形的薄片,薄片的材料是塑料,在其正面涂了一层金属薄膜,在其背面有一个铝制的后板。
薄片和后板构成了一个电容器,当给薄片加上频率为40kHz、电压为200VACpk-pk的方波电压时,薄片以同样的频率震动,从而产生频率为40kHz的超声波。
当接收回波时,超声波传感器内有一个调谐电路,使得只有频率接近40kHz的信号才能被接收,而其它频率的信号则被过滤。
超声传感器发送的超声波具有角度为30度的波束角,如图2所示:
图2波束角
1.2超声波测距原理
1.2.1超声波
超声波是人耳听不见的一种机械波,其频率在20KHz以上,波长较短,绕射小,能够成为射线而具有一定的方向性来传播。
超声波频率越高,就越与光波的某些特性(如反射、扩散等)相似。
超声波的这些特性使其在检测技术中获得广泛的应用。
图3声波的频率界限
表4超声波检测技术应用表
行业
具体应用产品和事物
工业
金属材料和部分非金属材料的探伤,超声振动切削加工,超声波清洗零件,超声波焊接,超声波流量计,超声波料位及液位检测,浓度检测,硬度计
通讯
定向通讯
医疗
超声波成像仪器,超声波血流计,超声波洁牙器等
家用电器
遥控器,加湿器,防盗报警器,超声波驱虫器
其他
盲人防撞装置,汽车倒车测距报警器,维修工程测距(计算用料)
1.2.2超声波测距方法
超声波是一种一定频率范围的声波。
它具有在同种媒质中以恒定速率传播的特性,而在不同媒质的界面,会产生反射现象。
利用这一特性,就可以根据测量反射波与发射波之间的时间间隔,从而达到测量距离的作用。
其主要有三种测量方法:
①.相位检测法
相位检测法虽然精度高,但检测范围有限
②.声波幅值检测法
声波幅值检测法易受反射波的影响
③.渡越时间检测法
超声波测距的原理一般采用渡越时间法TOF(timeofflight)。
首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离,即
其中D为传感器与被测障碍物之间的距离,c为声波在介质中的传输速率。
在空气中声波传波传输速率为:
其中T为绝对温度
在测距精度不是很高的情况下,一般认为c为常数340m/s。
超声波传感器既可以作为发射器又可以作为接收器,传感器用一段时间发射一串超声波束,只有待发送结束后才能启动接收,设发送波束的时间为D,则在D时间内从物体反射回的信号就无法捕捉;
另外,超声波传感器有一定的惯性,发送结束后还留有一定的余振,这种余振经换能器同样产生电压信号,扰乱了系统捕捉返回信号的工作。
因此,在余振未消失以前,还不能启动系统进行回波接收,以上两个原因造成了超声传感器具有测量一定的测量范围。
此超声波最近可以测量37cm。
表5列出了几种不同温度下的声速。
在使用时,如果温度变化不大,则可认为声速是基本不变的。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
表5不同温度下超声波声速表
温度/℃
-30
-20
-10
10
20
30
100
声速c/m/s
313
319
325
323
338
344
349
386
2、超声波测距仪的设计方案论证
2.1超声波测距方式选择
实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;
一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。
此次设计采用反射波方式。
测距仪的分辨率取决于对超声波传感器的选择。
超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。
由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比;
而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。
2.2超声波测距仪综合设计
根据设计要求并综合各方面因素,决定采用AT89C52单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成,超声波测距器的系统框图设计如图6所示。
图6超声波测距电路原理框图
2.3超声波测距仪电源设计
2.3.1单相桥式整流及滤波电路
本电源采用单相桥式整流电路,它由四个整流二极管和负载组成。
属全波整流电路。
因为它的二极管个数比单相半波整流增加了,结果使负载上的电压与电流都比单相半波整流提高一倍,其它参数没有变化。
2.3.2集成稳压器
输入电源经过VD1—VD4桥式整流及平滑电容C1滤波后得到非稳定8—12V直流电压加到7805输入端,C2为输入稳定电容,当稳压器输入阻抗降低时,防止发生振荡,可采用0.1—1uF的陶瓷电容,若平滑电容C1离7805很近时,此电容可省去。
C3为输出稳定电容,对于降低输出纹波、输出噪声及负载电流变化的影响有较好的效果,采用0.1uF的陶瓷电容。
此外,有时还接入保护二极管电源原理图如图7:
图7电源原理图
2.4单片机概述及外围电路
众所周知,近几十年来微型计算机的发展速度是十分迅速的,其发展方向主要有两个方面:
其一是不断推出高性能的通用微型计算机系统。
从20世纪80年代的286、386直到今天的P4,字长已从原来的8位扩展到64位;
CPU的处理速度和处理能力大大增强;
先进的系统结构,使微机适合组成网络。
通用微型计算机系统主要用于信息管理、科学计算、辅助设计、辅助制造等。
其二是面向控制型应用领域的单片微型计算机的大量生产和广泛应用。
如Intel、ZILOG、NEC等公司都生产单片微型计算机。
由于单片机具有可靠性高、体积小、价格低、易于产品化等特点,因而在智能仪器仪表、实时工业控制、智能终端、通信设备、导航系统、家用电器等自控领域获得广泛应用。
2.4.1单片机的概念
单片微型计算机简称单片机。
它是把组成微型计算机的各种功能部件:
中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通信接口等制度在一块集成芯片上,构成一个完整的微型计算机。
单片机主要应用于控制领域,它的结构与指令功能都是按照工业控制要求设计的,故又称控制器(MicroControllerUnit)。
在国际上,“微控制器”的叫法更通用些,在我国比较习惯“单片机”这一名称。
由于单片机在应用时通常是被控制系统的核心并融入其中,即以嵌入的方式工作,为了强调“嵌入”的特点,也常常将单片机称为嵌入式微控制器。
2.4.2AT89S52系统单片机
AT89系统单片机是ATMEL公司的8位Flash单片机系统。
这个系统单片机的最大特点是在片内含有FLASH存储器,而其他方面和MCS-51没有太大的区别。
该系统有着十分广泛的用途,特别是在便携式,省电和特殊信息保存的仪器和系统中显得更为有用。
AT89C52是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89C52具有如下特点:
40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡。
此外,AT89C52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
表8AT89S52主要功能特性
兼容MCS-51指令系统
8k可反复擦写(>
1000次)ISPFlashROM
32个双向I/O口
4.5-5.5V工作电压
3个16位可编程定时/计数器
时钟频率0-33MHz
全双工UART串行中断口线
256x8bit内部RAM
2个外部中断源
低功耗空闲和省电模式
中断唤醒省电模式
3级加密位
看门狗(WDT)电路
软件设置空闲和省电功能
灵活的ISP字节和分页编程
双数据寄存器指针
图9AT89C52管脚图
2.4.3P1—P3口功能
VCC:
供电电压
GND:
接地
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
2.4.4控制信号引脚
ALE/PROG—地址锁存允许/编程脉冲输入
在访问外部程序存储器和外部数据存储器时,该引脚输出一个地址锁存脉冲ALE,其下降沿可降低8位地址锁存于片外地址锁存器中。
在编程时,向该引脚输入一个编程负脉冲。
在正常操作时,该引脚输出恒定频率脉冲信号ALE,其频率为晶振频率的1/6。
应注意,每访问一次片外RAM时,便会丢失一个ALE脉冲。
PSEN—外部程序存储器读选通,低电平有效。
当AT89C52执行片外程序存储器的指令代码时,PSEN在每个机器周期内两次有效。
在访问外部数据存储器时,该脚无效。
EA/VPP—片外程序存储器访问允许。
如果EA接地,则单片机只执行外部程序存储器的指令,地址为0000H—FFFFH
如果EA接VCC,则单片机执行片内程序存储器的指令(0000H—1FFFH);
如果需要,可自动转到执行片外程序存储器中的指令(2000H—FFFFH)。
在Flash编程时,该引脚可连接12V的编程电源。
XTAL1和XTAL2—XTAL1是片内振荡器反相放大器和时钟发生器的输入端,XTAL2是片内振荡器反相放大器的输出端。
AT89C52的振荡器有两种组成方式:
片内振荡器和片外振荡器。
片内振荡外器接晶体谐振器或陶瓷谐振器。
片外振荡器:
XTAL1是外部时钟信号的输入端,XTAL2可悬空。
由于外部时钟信号经过片内一个2分频的触发器才进入片内时钟电路,因此对外部时钟信号的占空比没有严格要求,但高、低电平的时间宽度应不小于20ns。
三、硬件电路的设计
超声波测距器的系统框图设计如图11所示,主要由单片机及数码管显示电路、超声波发射电路、超声波接收电路组成。
图11超声波测距器电路原理框图
1、电源电路
电源电路如图12所示,输入交流经VD1~VD4桥式整流及平滑电容C1滤波后得到不稳定8~12V直流电压,经过稳压模块7805后稳定的直流电压。
图12电源原理图
2、单片机系统及显示电路
单片机系统及显示电路如图15所示,单片机采用89S52或其兼容系列,用12MHz高精度的晶振,以获得较稳定的时钟频率,减少测量误差。
单片机用P1.0端口输出超声波换能器所需的40KHz的方波信号,经反相器后来控制超声波的发送;
单片机利用外中断0口检测超声波接收电路输出的返回信号,它不断检测INT0引脚的情况,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。
计数器所计的数据就是超声波发、收所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。
显示用4位数码管,数码管位选信号用PNP三极管8550驱动。
图15单片机系统及显示电路
3、超声波发射电路
超声波发射电路原理图如图16所示。
发射电路主要由反向器CD4069和超声波发生换能器T构成,单片机P1.0的端口输出40KHz方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极。
用这种推挽形式将方波信号加到超声波换能器两端,可以提高超声波的发射强度。
输出端采用两个反向器并联,用以提高驱动能力。
图16超声波发射电路原理图
4、超声波(检测)接收电路
超声波(检测)接收电路原理图如图17所示。
集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。
考虑到红外遥控常用的载波频率38KHZ与测距的超声波频率40KHZ较为接近,可以利用它制作超声波检测接收电路。
实验证明用CX20106A接收超声波(无信号时输出高电平),具有很高的灵敏度和较强的抗干扰能力。
适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。
图17超声波(检测)接收电路原理图
5、超声波测距的算法
超声波测距的原理如图18所示,即超声波发生器T在某一时刻发出一个超声波信号,当这个超声波信号遇到被测物体后反射回来,就被超声波接收器R所接收到。
这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可以计算出超声波发生器与反射物体的距离。
图18超声波测距的示意图
距离的计算公式:
d=s/2=(c×
t)/2(3-1)
其中d为被测物与测距器的距离,s为声波的来回路程,c为声波速度,t为声波来回所用的时间。
由于超声波也是一种声波,其声速c与温度有关,在使用时,如果温度变化不大,则可认为声速是基本不变的,如果测距精度要求很高,则应通过温度补偿的方法加以校正。
四、软件设计
1、主程序
主程序首先是对系统环境初始化,设定定时器T0工作模式为6位定时计数器模式,置位总中断允许位EA并给显示端口P0和P2清0。
然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1ms(这也就是超声波测距器会有一个最小测距离的原因)后,才打开外中断0接收返回的超声波信号。
由于采用的是12MHz的晶振,计算器每计一个数就是1us,,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(4-1)计算,即可得被测物体与测距器之间的距离,设计时取20℃时的声速为344m/s则有
D=(c*t)/2=172T0/10000cm(4-1)
其中T0为计数器T0的计数值。
测出距离后结果将以十进制BCD码方式送往LED显示约0.5s,然后再发超声波脉冲重复测量过程。
为了有利于程序结构化和容易计算出距离,主程序采用C语言编写。
图19为主程序流程图。
图19主程序流程图
系统程序流程图如图20所示:
图20超声波测距程序流程图
工作时,微处理器AT89C52先把P1.0置0,启动超声波传感器发射超声波,同时启动内部定时器T0开始计时。
由于我们采用的超声波传感器是收发一体的,所以在发送完16个脉冲后超声波传感器还有余震,为了从返回信号识别消除超声波传感器的发送信号,要检测返回信号必须在启动发射信号后2.38ms才可以检测,这样就可以抑制输出得干扰。
当超声波信号碰到障碍物时信号立刻返回,微处理器不停的扫描INT0引脚,如果INT0接收的信号由高电平变为低电平,此时表明信号已经返回,微处理器进入中断关闭定时器。
再把定时器中的数据经过换算就可以得出超声波传感器与障碍物之间的距离。
2、超声波发生子程序和超声波接收中断程序
超声波发生子程序的作用是通过P1.0端口发送2个左右超声波脉冲信号(频率约为40kHz的方波),脉冲宽度为12us左右,同时把计数器T0打开进行计时。
超声波发生子程序较简单,但要求程序运行时间准确,所以采用汇编语言编程。
超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平)立即进入中断程序。
进入该中断程序后立即关闭计时器T0停止计时,并将测距成功标志字赋值1。
如果当计时器溢出是还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示本次测距不成功。
五、元器件清单及实物图
1、超声波测距仪