第3章超声波测距器的设计说明_第1页
第3章超声波测距器的设计说明_第2页
第3章超声波测距器的设计说明_第3页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、第 3 章 超声波测距器的设计3.1 功能要求由于超声波具有指向性强、 能量消耗缓慢, 在介质中传播的距离较远等特点, 超声波被 经常用于距离的测量。 利用超声波测量距离设计较方便, 计算处理较简单, 而且在测量精度 上也能达到日常使用的要求。本项目设计的超声波测距器可应用于汽车倒车、 建筑施工工地及一些工业现场的位置监 控,也可用于诸如液位、井深、管道长度、物体厚度等的测量。测量围为 0.104.00m , 测量精度为 1cm ,测量时与被测物体无直接接触,能够清晰、稳定地显示测量结果。设计的主要功能:在检测围, 与障碍物的远近, 用五盏 LED 灯显示说明。 当测得的距离小于设定距离时,

2、主控芯片将测得的数值与设定值进行比较处理,然后控制蜂鸣器和 LED 报警,用 5 个发光 二极管来显示距离长短的趋势。(1)当被测距离大于等于 100cm 时, 5个灯全亮,且不发声。( 2 ) 当被测距离小于 100cm 时,离障碍物的距离是否越来越近或越来越远,来改 变蜂鸣器发声越来越快或越来越慢。 当被测距离大于等于 75cm 小于 100cm , 亮4 个灯;( 3) 当被测距离大于等于 50cm 小于 75cm ,亮 3 个灯;( 4) 当被测距离大于等于 30cm 小于 50cm ,亮 2 个灯;( 5) 当被测距离小于 30cm ,亮 1 个灯,蜂鸣器急促报警。3.2 主要器件介

3、绍 超声波传感器1、超声波的特性人类能听到的声音频率围为: 20Hz-20kHz ,即为可听声波,超出此频率围的声音, 即 20Hz 以下频率的声音称为低频声波, 20kHz 以上频率的声音称为超声波。当声音的频 率高到超过人耳听觉的频率极限时, 人们就会觉察不出周围声音的存在, 因而称这种高频率 的声为“超”声。超声波是一种在弹性介质中的机械振荡,其频率超过20kHz ,分横向振荡和纵向振荡两种,超声波可以在气体、液体及固体中传播,其传播速度不同。它有折射和反射现象,且 在传播过程中有衰减。超声波的主要基本特性:(1) 波长波的传播速度是用频率乘以波长来表示。电磁波的传播速度是3 xi08m

4、/s ,而声波在空气中的传播速度很慢,约为 344m/s (20C时)。在这种比较低的传播速度下,波长很短,这就意味着可以获得较高的距离和方向分辨率。 正是由于这种较高的分辨率特性, 才使我们 有可能在进行测量时获得很高的精确度。(2) 反射要探测某个物体是否存在,超声波就能够在该物体上得到反射。由于金属、木材、 混凝土、玻璃、橡胶和纸等可以反射近乎 100 的超声波, 因此我们可以很容易地发现这些物体。 由于布、棉花、绒毛等可以吸收超声波,因此很难利用超声波探测到它们。同时,由于不规 则反射, 通常可能很难探测到凹凸表面以及斜坡表面的物体, 这些因素决定了超声波的理想 测试环境是在空旷的场所

5、,并且测试物体必须反射超声波。(3) 温度效应声波传播的速度 C”可以用下列公式表示。c=331.5+0.607t (m式中,t=温度(C )也就是说, 声音传播速度随周围温度的变化而有所不同。 因此, 要精确的测量与某个物体之 间的距离时, 始终检查周围温度是十分必要的, 尤其冬季室外温差较大, 对超声波测距的精 度影响很大,此时可用 18B20 作温度补偿来减小温度变化所带来的测量误差,考虑到本设 计的测试环境是在室, 而且超声波主要是用于测距功能, 对测量精度要求不高, 所以关于温 度效应对系统的影响问题在这里不做深入的探讨。(4) 衰减传播到空气中的超声波强度随距离的变化成比例地减弱,

6、 这是因为衍射现象所导致的在 球形表面上的扩散损失, 也是因为介质吸收能量产生的吸收损失。 超声波的频率越高, 衰减 率就越高, 超声波的传播距离也就越短, 由此可见超声波的衰减特性直接影响了超声波传感 器有效距离。(5) 灵敏度特性灵敏度是表示声音接收级的单位,使用下列公式予以表示。灵敏度=20log E/P (dB) 式中,E”为所产生的电压 (Vrms) , P”为输入声压(pbar),超 声波传感器的灵敏度直接影响着系统测距围。当频率在 40kHz 时传感器所对应的灵敏度最2、器超声波传感器完成产生超声波和接收超声波这种功能的装置就是超声波传感器,习惯上称为超声换能或者超声波探头。超声

7、波传感器主要由压电晶片组成,既可以发射超声波,也可以接收 超声波。小功率超声探头多用作探测方面。它有许多不同的结构,可分直探头(纵波)、斜 探头(横波)、表面波探头(表面波)、兰姆波探头(兰姆波)、双探头(一个探头反射、 一个探头接收)等。超声传感器的核心是其塑料外套或者金属外套中的一块压电晶片。 构成晶片的材料可以 有许多种。由于晶片的大小,如直径和厚度也各不相同,因此每个探头的性能都是不同的, 我们使用前必须预先了解清楚该探头的性能参数。超声波传感器的主要性能指标包括:(1)工作频率。工作频率就是压电晶片的共振频率。当加到它两端的交流电压的频率 和晶片的共振频率相等时,输出的能量最大,灵敏

8、度也最高。(2)工作温度。由于压电材料的居里点一般比较高,特别是诊断用超声波探头使用功 率较小, 所以工作温度比较低, 可以长时间地工作而不失效。 医疗用的超声探头的温度比较 高,需要单独的制冷设备。(3)灵敏度。主要取决于制造晶片本身。机电耦合系数大,灵敏度高。 超声波为直线传播方式,频率越高,绕射能力越弱,但反射能力越强。为此,利用超声波的这种性能就可制成超声波传感器。 另外,超声波在空气中的传播速度较慢, 为 340m/s,这就使得超声波传感器使用变得非常简便。 我们选用压电式超声波传感器。 它的探头常用材 料是压电晶体和压电瓷, 是利用压电材料的压电效应来进行工作的。 逆压电效应将高频

9、电振 动转换成高频机械振动, 从而产生超声波,可作为发射探头; 而利用正压电效应, 将超声振 动波转换成电信号,可作为接收探头。为了研究和利用超声波,人们已经设计和制成了许多种超声波发生器。总体上讲, 超声波发生器大体可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式 产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液 哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器部结构如图3.1所示,它有两个压电晶片和一个共振板。当

10、它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时, 将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。图3.1超声波传感器结构3.3硬件电路设计硬件电路主要分超声波发射接收器、单片机控制电路、 显示电路和报警电路四部分。超声波测距器用 STC89C52 单片机作为核心控制单元,当测得的距离小于设定距离时,主控 芯片将测得的数值与设定值进行比较处理,然后控制蜂鸣器和 LED报警。设计框图如图3.2所示。图3.2系统设计方框图3.3.1超声波模块超声波模块采用现

11、成的HC-SR04 超声波模块,该模块可提供2cm-400cm 的非接触式距离感测功能,测距精度可达高到 3mm。模块包括超声波发射器、 接收器与控制电路。 基本工作原理:采用10 口 TRIG 触发测距,给至少10阳的高电平信号;模块自动发送 8个 40kHz的方波,自动检测是否有信号返回;有信号返回,通过10 口 ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340m)/2 。实物如图3.3所示。其中VCC供5V电源,GND为地线,TRIG触发控制 信号输入,ECHO回响信号输出等四支线。图3.3超声波模块实物图超声波探测模块 HC-S

12、R04的使用方法如下:IO 口触发,给TRIG 口至少10us的高 电平,启动测量;模块自动发送8个40kHz的方波,自动检测是否有信号返回;有信号返回,通过IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时 间,测试距离=(高电平时间*340 ) / 2,单位为m.程序中测试功能主要由两个函数完成。3.3.2 单片机系统及显示电路单片机与显示系统电路原理图如图3.4所示。图中VCC为5V的工作电源,5个发光二极管(D1D5 )显示被测距离长短的趋势。当大于等于100cm , 5个发光二极管全亮,且不发声。距离小于100cm 时开始报警,离障碍物的距离越近报警声越急

13、促。当被测距离 大于等于75cm小于100cm 时,4个发光二极管亮;当被测距离大于等于 50cm小于75cm ,npuse3个发光二极管亮;当被测距离大于等于30cm小于50cm时,2个发光二极管亮;当被IL器專0085q31C9rcbu4aeTSe-IT口接源电GV63I4P|iK4C2UBQOP(DOtytli ii rPjTTPpPl0h6W.7DXXDGC2C8TTS/Bco7APSeo4brocO1U9-08C6彳 aTOL4 cd. d3 2XJ K 侯c2 1i K1 Qin KOCCON 爸1YON c2口接波声超SrCGV12 3 441K9路电动测距离小于30cm , 1

14、个发光二极管亮,蜂鸣器急促报警。声音报警电路用一个蜂鸣器和三极管 8550、电阻接到单片机的P2.3引脚上,构成声音报警电路,其中三极管的放大作用就是:集电极电流受基极电流的控制(假设电源能够提供给集电极足够大的电流的话),并且基极电流很小的变化,会引起集电极电流很大的变化,且变化满足 一定的比例关系:集电极电流的变化量是基极电流变化量的B倍,即电流变化被放大了3倍,所以我们把 3叫做三极管的放大倍数(3一般远大于1,例如几十,几百)。如果我们 将一个变化的小信号加到基极跟发射极之间,这就会引起基极电流lb的变化,lb的变化被放大后,导致了 lc很大的变化。如果集电极电流lc是流过一个电阻 R

15、 (蜂鸣器相当于电阻R )的,那么根据电压计算公式U=R*I可以算得,这电阻上电压就会发生很大的变化。我们将这个电阻上的电压取出来,就得到了放大后的电压信号了。如图3.5示为声音报警电路:VCC图3.5声音报警电路图3.4系统的程序设计3.4.1 测距分析最常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时, 超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来, 超声波接收器收到反射回的超声波就立即停止计时。由于超声波也是一种声波,其声速v与空气温度有关,一般来说,温度每升高1C,声速增加0.6m/s 。表3.1列出了几种温度下的声速关系:表

16、3.1超声波波速与温度的关系表温度(C)-30-20-100102030100声速(m/s )313319325323338344349386在使用时,如果传播介质温度变化不大, 则可近似认为超声波速度在传播的过程中是基本不变的。如果对测距精度要求很高,则应通过温度补偿的方法对测量结果加以数值校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的基本原理。如图3.6所示:超声波发射超声波接收物图3.6超声波的测距原理3-13-2式中:L-两探头之间中心距离的一半.又知道超声波传播的距离为:3-3式中:v 超声波在介质中的传播速度;t超声波从发射到接收所需要的时间.将3-

17、2、3-3代入3-1中得:3-4其中,超声波的传播速度 v在一定的温度下是一个常数(例如在温度T=30度时,V=349m;当需要测量的距离H远远大于L时,则4-4变为:3-5所以,只要需要测量出超声波传播的时间t,就可以得出测量的距离H.超声波在空气中的传播速度一般为340m/s ,根据计时器记录的时间t,就可以计算出发射点距障碍物面的距离H,即:H=340t/2。3.4.2 主程序主程序流程图如图 3.7 所示。首先设计上电时让蜂鸣器叫一声,目的是提示已开机。等待 1ms 后执行任务。随后是 对系统环境初始化:设置单片机 IO 口 P0、P1、P2、P3 为高电平;设置 EA=1 ,开启总中

18、 断;设置TMOD = 0x11 ,使定时器0和定时器1工作方式为方式1 ;设置TR0=1和TR1=1, 允许定时器 0 和定时器 1 定时计数;设置 ET0=0 ,关闭定时器 0 的中断;设置 ET1=1 , 开启定时器 1 的中断。设置完毕后,发射超声波信号,待检测到超声波信号时,执行测距 报警。发送超声波准备接受超声波信号信号转换成可计算的物理量对于相应的设定值做 出相应的警报或者是 保持不变图3.7 主程序流程图3.4.3 超声波测距程序单片机发送端c_send ( P3.2 口)向TRIG (触发信号输入) 发送10宙的高电平触发, 这时发射超声波,也关闭了定时器0并且把定时器0清零

19、,保证定时器 0准确计数,由于采用的是12MHz的晶振,计数器每计一个数就是1 Q。然后单片机发送端 c_recive ( P3.3口)等待,待检测到EHCO (回响信号输出)为高电平时,开启定时器0定时计数,读取高电平持续时间,并比较是否大于40ms,如果大于40ms,就关闭定时器0 ,反之,就计算出距离,再关闭定时器 0。超声波发射探测流程如图3.8所示:图3.8超声波发射探测流程图344报警程序报警工作流程如图3.9所示:开总中断设置定时器0和定时器1的工作方式为1关定时器0中断,开 定时器1的中断定时器1设置为2ms中断- 次,中断150次为一个周期,时间为300ms求得距离Y 30c

20、m ?N 50cm ?N 75cm ?NY 100cm ?N亮五个灯,蜂鸣器不发声Y I=r亮一个灯图3.9报警程序流程图亮两个灯亮三个灯亮四个灯定时器1中断中较离障碍物的 距离是否越来越近或越来越远越近蜂鸣器发声频率越快,越 远蜂鸣器发声频率越快#include #define uchar unsigned char #define uint unsigned int#include sbit c_se nd= P3A2;sbit c_recive =卩3人3; sbit beep = P2A3;bit flag_300ms ;long distance; uint set_d;uchar

21、flag_csb_juli;uint flag_time0;/ 超声波发射 超声波接收/ 蜂鸣器 IO 口定义/*5 个 LED/ 距离/ 距离/ 超声波超出量程/ 用来保存定时器 0 的时间指示灯 */定时器 1 设 TH1=(65536-2000)/256 , TL1=(65536-2000)%256 ,即设置为 2ms中断一次, 中断 150 次为一个周期, 即 300ms ,就是一个周期执行一次超声波发射探测流 程,为了使超声波模块能测的得距离更加准确。 然后来比较超声波探头离障碍物的距离是否 大于等于 100cm :( 1)小于 100cm 时,通过定时器 1 的中断计的次数来比较离

22、障碍物的距离,是否越 来越近或越来越远,来改变蜂鸣器发声越来越快或越来越近;大于等于75cm小于 100cm ,亮 4 个灯,P1= 0xf0大于等于50cm小于 75cm ,亮 3 个灯,P1 =0xf8 ;大于等于30cm小于 50cm ,亮 2 个灯,P1 =0xfc ;小于 30cm ,亮1 个灯, P1 = 0xfe ,并且急促报警。2) 大于等于 100cm 时, beep=1 ,P1 = 0xe0 ,蜂鸣器不发声,亮 5 个灯。3.4.5 系统的参考程序/ 调用单片机头文件/ 无符号字符型 宏定义 变量围 0255/ 无符号整型 宏定义 变量围 065535sbit led1 =

23、 P1A0; sbit led2 = P1A1;sbit led3 = P1A2; sbit led4 = P1A3; sbit led5 = P1A4;*1ms延时函数 *void delay_1ms(uint q)uint i,j;for(i=0;iq;i+)for(j=0;j 40000) / 当超声波超过测量围时, TR0 = 0; flag_csb_juli = 2; break ; else flag_csb_juli = 1;if(flag_csb_juli = 1)TR0=0;distance =flag_time0; distance *= 0.017;(34000cm/1000000uS) / 2*定时器 0 、定时器1 初始化 */ 关定时器 0 定时/ 读出定时器 0 的时间/ 距 离 = 速 度 * 时 间 ; 0.017cm/uSvoid time_init

温馨提示

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

评论

0/150

提交评论