《超声波测距实习报告(共16页).doc》由会员分享,可在线阅读,更多相关《超声波测距实习报告(共16页).doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 信息科学与工程学院 计算机辅助综合设计实习报告 班级:通信12-2班 姓名:覃模广 组员:何* 学号: 指导老师:陈小琴 时间:2015年1月专心-专注-专业1.超声波概述 1.1超声波基本理论1.1.1超声波发展史人类直到第一次世界大战才学会利用超声波,这就是利用“声纳”的原理来探测水中目标及其状态,如潜艇的位置等。40年代末期超声波治疗在欧美兴起,直到1949年召开的第一次国际医学超声波学术会议上,才有了超声治疗方面的论文交流,为超声治疗学的发展奠定了基础。医学上最早利用超声波是在1942年,奥地利医生杜西克首次用超声波技术扫描脑部结构,以后到了60年代医生们开
2、始将超声波应用于腹部器官的探测。1956年第二届国际超声医学学术会议上已有许多论文发表,超声治疗进入了实用成熟阶段。如今,超声波已广泛应用于测距、测速、清洗、焊接、碎石、杀菌消毒等,在医学、军事、工业、农业上有很多的应用。1.1.2超声波的本质声波是声音的类别之一,属于机械波,是人们能感觉得到的纵波,频率大小范围为16Hz-20KHz。当声波的频率小于16Hz时就称为次声波,大于20KHz则叫做超声波。其中超声波是种波动形式,它能作为探测和负载信息的载体;超声波也是种能量形式,如果其强度超过一定程度时,它能与传播超声波媒质的相互作用,去影响,甚至破坏后者的状态,性质及结构(用作治疗)。超声波的
3、反射、折射、衍射、散射在媒质中等传播规律,和可听声波的传播规律没有本质区别。但超声波波长短,达到厘米,甚至达到毫米。1.1.3超声波的应用正因为超声波在物理化学方面的独特特性,因此,超声波在许多方面都有广泛的应用。归结起来,超声波主要应用在以下几个方面:(1) 在检验方面的应用超声波的波长比一般声波要短,具有较好的方向性,而且能透过不透明物质,这一特性已被广泛用于超声波探伤、测厚、测距、遥控和超声成像技术。而超声波的测距原理:采用了超声波在空气中的传播速度为已知条件,测量的声波在发射后碰到障碍物反射的回来的时间,用发射和接收的时间差确定出发射点至障碍物的实际测量距离。超声波的测距主要应用在倒车
4、提醒、工业现场等距离测量,虽然目前测距量程上能有百米,但测量精度只可以到厘米的数量级。 (2) 在超声处理方面的应用利用超声的机械效应、温热效应、理化效应,可进行超声焊接、钻孔、固体的粉碎、乳化 、脱气、除尘、清洗、灭菌、促进化学反应和进行生物学研究等,在工矿业、农业、医疗等各个部门获得了广泛应用。(3) 在基础研究方面的应用超声学是研究超声的科学,它是声学的一个重要分支。超声学是研究超声的产生、接收和在媒质中的传播规律,超声的各种效应,以及超声在基础研究和国民经济各部门的应用等内容的声学重要分支。机械运动为一种最简单、最一般物质的运动,它较之其他的物质运动和物质的自身结构之间关系非常紧密。超
5、声振动本来就属于种机械运动,因此,利用超声学也是研究物质的结构的一个重要的途径之一。2超声波测距方法与原理 2.1超声波测距方法2.1.1方法种类介绍和说明目前,市场上利用超声波测距原理制成的测距系统种类繁多,但是超声波的测距方案总下来有下面几种:(1)相位的检测法相位的检测法可分2种:一方法是用发射不同频率超声波来显现的。先开始发射波长为的超声波。检测出回波相位为 。假设所用的波周期数 ,则能求的目标物体的距离为: (3-1)同样道理可以算出第二束波形测距的计算公式为: (3-2)其中: 为第二束波的相位角, 是波长, 是周期数。又由于 和 都为正数,与此同时再一次进行时间补偿算法,可准确求
6、目标距离值。但是因为超声波探头是有固定频率,假设改变频率,系统衰减会大,需要两套信号的检测电路,实施难度加大,不适宜采用。二方法是使用单一超声波的探头来进行相位的检测法检测,这种方法是待测距离在一个周期内使用,若过选用40kHz超声波为传播介质,一个周期对应检测距离为 ,因此,这种方法的准确度很高。(2)幅值的检测法幅值德检测法是开始发射固定频率的超声波,接着使用反射或对射法的检测接收得到的超声波脉冲的强度,从超声波回波衰减理论,认真对回波脉冲强度的进行分析,从而求得目标距离。(3)渡越时间法(也是本实习的做法)渡越时间意思是开始从传感器发射出超声波开始计时,经气体的介质传播,达到传感器接收到
7、回波时计时的停止。因为在一定的环境下,温度不会变化,或变化较缓慢,可近似认为常数,这时声速是保持不变的。所以能通过检测渡越的时间,结合现场声速,从而求得传感器和目标之间的距离。 2.2超声波测距原理与超声波传感器2.2.1超声波测距原理超声技术是一门以物理、电子、机械及材料学为基础的通用技术之一。超声技术是通过超声波产生、传播及接收的物理过程而完成的。超声波具有聚束、定向及反射、透射等特性。超声波遥控近距离遥控中的一种的实际方法,人们可以听到的声音的频率估算为20Hz20kHz,低于20Hz和高于20kHz的声音,人耳一般都听不到,人把高于20kHz声波叫做超声波。它属于一种机械振动波,能够在
8、气体与液体、固体中传播,它在空气中的传播的速度是340m/s,与光波及电磁波相比较是极度缓慢的。超声波拥有方向性,即传播能量相对于其他波而言很集中,这一点和可听见声波相异。另外,超声波在传播途中若遇到不同的媒介,大部分能量会被反射。超声波测距从原理上可有共振式与脉冲反射式两种。因为应用要求十分限定,这里用脉冲反射式,即是利用超声的反射的特性。超声波测距的原理是经过超声波发射传感器向某方向发射出超声波,在发射的时刻同时开始计时间,超声波在空气传播,途中要是遇到障碍物立即返回,当超声波接收器收到反射波时就停止计时。平常温度下超声波在空气中传播速度是 C=340m/s,依据计时器记录时间 t,就能计
9、算到发射点距离障碍物距离(S),即为S=C*t/2=C*t0,其中,t0 就是所谓渡越的时间。在超声波测量的系统中,若频率取得太低,外界杂音干扰的较多;若频率取得太高,在传播的过程中衰减得较大。所以在超声波测量中,常使用 40KHz 的一种超声波。现在超声波测量的距离一般是几米至几十米,是种适合室内的测量方式。因为超声波的发射与接收器件拥有固有频率的特性,有很高抗干扰的性能。所谓的超声波测距的原理属于一种种时间差测距法,超声波发射器向某方向发射出超声波,在发射的时刻的同时计算传播时间,超声波在空气中传播,若是遇到障碍物会返回来,每当超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度
10、是340m/s,根据计时器记录时间t,就能够计算出发射点距离障碍物的距离(s),即为:s=340t/2.超声波测距原理是采用超声波在于空气中传播的速度为已知条件,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算发射点到障碍物的实际距离。2.2.2超声波传感器超声传感器是把其他形式的能转换为所需的超声能或者把超声能转换为同频率的其他形式的能的器件。目前常用的超声传感器有两类,即电声型与流体动力型。电声型主要有:1.压电传感器;2.磁致伸缩传感器;3.静电传感器。压电传感器属于超声传感器中电声型的一种。探头由压电晶片、楔块、接头等组成,是超声检测中最常用的实现电能和声能相互转换
11、的一种传感器件,是超声波检测装置的重要组成部分。传感器的主要的组成部分为压电晶片。每当压电晶片受到发射电脉冲激励后产生振动,即是可发射声脉冲,为逆压电效应。每当超声波作用于晶片时侯,由晶片受迫振动造成的形变可转变成相应电信号,为正压电效应。前者是用在超声波发射,后者即是超声波接收。超声波传感器一般是采用双压电陶瓷晶片制作成的。这一种超声传感器需要的是压电材料较少,价格的低廉,并且非常适用的气体与液体介质中。在压电陶瓷晶片上有个固定谐振频率,即中心频率f0发射出超声波时,附在其上的交变电压频率要和它固有的谐振频率一样。这样的话,超声传感器会有较高灵敏度。超声波传感器内部的结构是由压电陶瓷晶片、锥
12、形辐射喇叭、底座、引线、金属壳和金属网构成的,值得一提的是,压电陶瓷晶片便是传感器的核心,锥形辐射喇叭能使发射与接收超声波的能量集中,并且使传感器会有一定指向角,金属壳可以防止外界力量对于压电陶瓷晶片及锥形辐射喇叭的损坏。金属网同样是起保护作用的器件,同时不影响发射和接收超声波。3系统电路设计(系统总方案两人共同完成,经过讨论确定方案如下) 3.1总体方案设计超声波测距仪整体结构图包括超声波发射电路,超声波接收电路,单片机电路,显示电路与温度测量电路等几部分模块组成。利用单片机来实现对超声波和超声波转换模块的控制。具体见图所示。超声波接收超声波发送扫描驱动LED显示单片机控制超声波测距系统结构
13、框图 3.2硬件部分利用Altium Designer 09进行各模块电路原理图的绘制及PCB设计制作 3.2.1单片机系统及显示电路 用超声波发射器向某一方向发送超声波,同时在放射的时候开始计时,在超声波遇到障碍物的时候反射回来,超声波接收器在接收到反射回来的超声波时停止计时。通过公式S=VT/2可以测出汽车与障碍物之间的距离通过LED显示屏显示出来。单片机采用STC89C52或其兼容系列。采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。单片机用外中断1口输出超声波转化器所需的40KHz方波信号,利用外中断0口检测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳
14、LED数码管,段码用74HC573驱动,位码用PNP三极管驱动。单片机系统及显示电路如下图所示 图1-1单片机控制电路原理图3.2.2 51单片机P0口为什么要接上拉电阻? p0口内部没有上拉电阻,如果没有加外部上拉电阻的话,几乎没有什么驱动能力。外上拉电阻的问题。是否需要上拉电阻,对于TTL电路输入端来说并不是关键,加与不加是要看你的单片机IO口的属性。如果单片机的输出端口是推挽输出的,那么这个上拉电阻根本没有必要,但如果单片机的IO口是开漏输出或者是内部弱上拉输出的,那这个时候就需要接一个上拉电阻。上拉电阻的大小一般参照后级电路所需要驱动电流的510倍来选取,可大不可小,一般现在用10K或
15、者4K7的比较多,但如果对功耗要求比较严格,这个电阻就需要去计算,阻值太大那么容易受干扰,太小功耗不能满足,不需要去权衡.在这里要驱动,需要的电流是510MA,但是P0口输出电流不到1个毫安,是无法点亮的。如果接上上拉电阻,阻值为10k,然后数码管下端如果是,5-0=5v。573为锁存器,输入并行信号输出并行信号。74HC573输出电流是正负20ma,单LED数码管的一般电流为10ma,可直接驱动。 3.2.3 共阳极四位七段数码管(12个引脚)怎么连接到单片机上? 正面看的话,上面6脚,下面6脚,共12脚 上面从左到右是1,a,f,2,3,b 下面从左到右是e,d,dp,c,g,4 其中1,
16、2,3,4是4个数码管的位选,因为是共阳,所以这几脚高电平时才有可能点亮数码管,记得要三极管驱动,9012就可以了。9012的C加个限流电阻接电源,B接单片机,E接1,2,3,4。单片机给高电平时选中。 a,b,c,d,e,f,g,dp是段码,低电平有效,一般也送单片机控制4.外围电路设计4.1.1超声波发射电路: 超声波发射电路设计:在超声探测电路中,发射端得到输出脉冲为一系列方波,其宽度为发射超声的时间间隔,被测物距离越大,脉冲宽度越大,输出脉冲个数与被测距离成正比。经过电阻分压后到达基极通过集电极输出后经过中周变压器组成谐振回路,最终将频率为40KHZ的信号作用于发射探头上,使其产生共振
17、后,发射出超声波。4.1.2超声波接收电路: 超声波检测接收电路:对于本系统的设计,其难点在于40KHz信号的产生。由于超声波传感器的中心工作频率为40KHz,当偏离这个频率时,其接收器的灵敏度将明显降低,具体可以从超声波传器的特性曲线中得知。当发送40KHz的频率时,接收到的信号最强,因此距离也就最大,而当偏离时,探测距离也将缩短,这一点是本设计总的设计思路。对于产生40KHz的驱动信号,方法有多种,可以选用电感、电容振荡元件来完成驱动信号的发生器,但是其频率稳定性较差,不容易调准,因此制作成功的可能性相对较小。参考红外转化接收电路,本设计采用集成电路CX20106A,这是一款红外线检波接收
18、的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用它作为超声波检测电路。启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能便记录超声波的发射时间与受到反射波时间。每当收到一个超声波反射波的时侯,接收电路的输出端产生出一个负跳变,并在或端产生出一个中断的请求信号,单片机响应这个外部中断请求,自动执行外部中断的服务子程序,并读取时间差与计算距离。接收超声波换能器用ucm-r40k1,发送超声波换能器用ucm-t40k1,超声波接收集成电路用CX20106A芯片,发送端用6非门(反相器)HD74LS04P图1-2
19、发射与接收电路原理图图1-3发射与接收电路PCB印刷图 4.1.3报警电路设计方案系统报警电路由一个运算放大器(9012三极管)、一个发光二极管和一个5V有源蜂鸣器组成。用9012 pnp 是因为主芯片刚通上电的时候,引脚会产生瞬间高电平,用pnp的话,就不会一开始蜂鸣器就蜂鸣了。 图1-5 报警电路 4.1.4 电源电路设计由自锁开关、DC电源插口、和两个电容组成。 图1-6 电源电路 3.2.5系统复位电路设计单片机复位全靠外部电路实现,每当在时钟电路工作后时,一旦在单片夹中的RST引脚上表现出24个时钟振荡脉冲以上高电平,单片机就会实现初始化状态的复位。为了保证并可靠复位,在设计复位电路
20、时,RST须高电平。只要RST电平不变,单片机就循环复位。 考虑本设计结构简单,干扰小,故采用上电自动复位。在通电瞬间,由于RC电路充电过程中,RST端出现正脉冲,从而使单片机复位。 图1-7 上电复位电路3.2.6超声波测距电路图汇总(不包含发射和接收电路) 3.3.1超声波测距仿真用Proteus进行超声波测距仿真图1-8 超声波测距仿真原理图图1-9 超声波测距仿真实现 注意事项:1.因为在我的protues软件中没有stc89c52,所以我用80c51代替,虽然各引脚分布不一样,但是具有的功能基本上是一样的,只要把它们相应功能的引脚接上就可以了,之后就要给主芯片导入程序。2.这个问题也
21、是我刚开始最纠结的问题,就是在仿真中他如何实现发送超声波和接收超声波呢?带着这个疑问我在网上看了好多资料。原来如此,由于仿真软件中没有超声波发射、接收头的仿真模型,这给单片机超声波测距仿真带来困难,为验证单片机超声波测距系统单片机部分及相应程序的正确与否,在单片机发出超声波信号后,用555时基电路产生一个延时信号,来模拟超声波头发送后遇到回波返射回来的这阶段时间,来对单片机超声波测距单片机系统进行模拟。或者用芯片加程序来实现接收信号经过时延后再返回信号来实现,这就是这次仿真使用的方法,在第二部分使用时延程序来实现。左边两个按键是用来控制时延程序的时延间隔(加减),这样间接达到了测量距离的加减。
22、还有个问题是:在protues默认的电源电压是5v,所以不用设置。3.3.2 PCB印刷电路板图(不含发射和接收模块)经过仿真后能实现了预定功能所以电路和程序应该没什么大问题,接下来就是印制电路版。总的原件清单:7*9万用板、HC-SR04超声波模块、STC89C51单片机、74hc573、40P IC座、20P IC座、4p母座、四位一体共阴数码管、9012三极管*5、2.2k电阻*5、220电阻*8、10k电阻、5V有源蜂鸣器、103排阻、10uf电解电容、30pf瓷片电容*2、12MHZ晶振、按键*3、自锁开关、DC电源插口、导线若干、焊锡若干、USB电源线或电池盒+DC电源插头、接收超
23、声波换能器ucm-r40k1、发送超声波换能器ucm-t40k1,超声波接收集成CX20106A芯片,6非门(反相器)HD74LS04P3.3.2软件部分:运用keil软件进行C语言编程超声波发生子程序的作用是通过INT1端口发送两个左右的超声波脉冲信号(频率约40KHz的方波),脉冲宽度为12s左右,同时把计数器T0打开进行计时。超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入超声波接收中断程序。就立即关闭计时器T0,停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关
24、闭,图1-10主程序流程图并将测距成功标志字赋值2,图1-11 超声波子程序流程图以表示本次测距不成功。 4.1超声波测距程序清单:#include /器件配置文件#include /传感器接口sbit RX = P32;sbit TX = P33;/按键声明sbit S1 = P14;sbit S2 = P15;sbit S3 = P16;/蜂鸣器sbit Feng= P20;/变量声明unsigned int time=0;unsigned int timer=0;unsigned char posit=0;unsigned long S=0;unsigned long BJS=50;/报
25、警距离50CM/模式 0正常模式 1调整char Mode=0;bit flag=0;unsigned char const discode =0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff/*-*/; /数码管显示码-和不显示unsigned char const positon4=0xfd,0xfb,0xf7,0xfe; /位选unsigned char disbuff4=0,0,0,0; /数组用于存放距离信息unsigned char disbuff_BJ4=0,0,0,0; /报警信息/延时100ms(不精确)v
26、oid delay(void) unsigned char a,b,c; for(c=10;c0;c-) for(b=38;b0;b-) for(a=130;a0;a-);/按键扫描void Key_()/+if(S1=0)delay(); /延时去抖while(S1=0)P1=P1|0x0f;BJS+; /报警值加if(BJS=151) /最大151BJS=0;/-else if(S2=0)delay();while(S2=0)P1=P1|0x0f;BJS-; /报警值减if(BJS=2)/加到2时清零Mode=0;/*/扫描数码管void Display(void) /正常显示if(Mod
27、e=0)P0=0x00; /关闭显示if(posit=0)/数码管的小数点P0=(discodedisbuffposit)|0x80;/按位或,最高位变为1,显示小数点elseP0=discodedisbuffposit;P1=positonposit;if(+posit=3)/每进一次显示函数,变量加1posit=0;/加到3时清零/报警显示elseP0=0x00;if(posit=0)/数码管的小数点P0=(discodedisbuff_BJposit)|0x80;else if(posit=3)P0=0x76;/显示字母elseP0=discodedisbuff_BJposit;P1=p
28、ositonposit;if(+posit=4)posit=0;/*/计算void Conut(void)time=TH0*256+TL0; /读出T0的计时数值TH0=0;TL0=0; /清空计时器S=(time*1.7)/100; /算出来是CMif(Mode=0) /非设置状态时if(S=700)|flag=1) /超出测量范围显示“-”Feng=0; /蜂鸣器报警flag=0;disbuff0=10; /“-”disbuff1=10; /“-”disbuff2=10; /“-”else/距离小于报警距if(S=400)/400次就是800mstimer=0;TX=1; /800MS 启
29、动一次模块_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); _nop_(); _nop_();TX=0; /*/主函数void main(void) TMOD=0x11; /设T0为方式1,GATE=1;TH0=0;TL0=0; TH1=0xf8; /2MS定时TL1=0x30;ET0=1;/允许T0中断ET
30、1=1; /允许T1中断TR1=1; /开启定时器EA=1;/开启总中断while(1)while(!RX);/当RX为零时等待TR0=1;/开启计数while(RX);/当RX为1计数并等待TR0=0;/关闭计数Conut();/计算 4.2焊接电路(两人一起) 按照这个图焊接,红色的为跳线。4.3电路调试与分析 供电电路是否正常是系统能否正常工作的前提,因此首先对电源部分进行调试,接上电源,测得电源电压输出应该是5V。并且测得外部中断1口的输出信号频率为38.46 KHz,接近40 KHz,满足实际要求。超声波测距仪制作与调试,其中,超声波发射与接收采用15超声波换能器TCT40-10F1
31、(T发射)与TCT40-10S1(R接收),中心频率是40kHz,安装的时侯应保持两换能器的中心轴线平行不变且相距48cm,其余的元件便无特殊要求。若是将超声波的接收电路能用金属壳屏蔽起来,便会提高其抗干扰能力。根据测量的范围要求不同,可适当调整和接收换能器并接入的滤波电容C4大小,以便获得更合适的接收灵敏度与抗干扰能力。硬件电路制作完成并调整好后,便可将程序编译好下载到单片机运行。根据实际情况,可以修改超声波发生子程序每次发送的脉冲个数和两次测量的间隔时间,以适应不同距离的测量需要。4.4预期达到的目标 1.实现超声波测距仪超声波放送的成功 2.实现超声波测距仪接收的功能 3.用动态扫描法实
32、现LED数字显示 4.测距在1米内,显示变化范围小,精确度较高,大于1米后,显示变大,误差高。 5.报警系统工作正常,报警范围可以正常调节。5. 实习总结: 眼看为期三周的计算机辅助综合设计实习就要结束了,今天回想一下自己在这个实习中所得到的和在这过程中所解决的问题。从一开始得到实习通知,接着是分组和选题目。我这组就选了超声波测距,本以为这是别人做最多的项目,那么很容易做,但是去网上查资料时,才发现资料了是满天飞,虽然方案很多,但是这正是迷茫之处,那个方案好,那个更精准,那个更适合参考与我们的要求。当方案决定了之后,就是仿真。仿真可说是真正第一次接触,之前用的都是表面的功能。边学边做,每找个原
33、件都是通过百度查找,不过通过几天早起晚睡,还是把它做好了。画pcb就比较容易一点了,因为之前比较熟练的用过dxp了。问题真是在实践中才更能发现,我们是用蒸汽熨斗来印制pcb的,由于印制时间和方式不正确,导致印制效果不好。于是用纱布察干净后中新印,但是在腐蚀的时候又出了问题,有些地方的铜一早就腐蚀完了,而有些地方的铜怎么腐蚀也腐蚀不掉。分析原因:1.铜板在一直之前没有把氧化膜擦干净;2.印制时间过长,导致铜面受人过久。3.浸泡时没有不停的摇溶液。第二次是通过pdf去打印pcb,接过整体小了一点点,可是输出是按1:1比列了。第三次做的时候就成功了,焊接基本上没什么问题。难的是程序,查了很多资料并且自己也修改了好多次,才能对应上。成品所能实现的功能:距离测试,距离显示(通过数码管,单位是cm),距离小于警报范围(通过三个按键来调节大小),蜂鸣器会响。如果距离超过700cm,即超过测距范围,警报也会响。回顾这三周实习,有优也有喜。优在成品没有想象中的那么好,精确度不高,变换较大。喜在通过十几天的努力,最终成品出来了,能实现基本功能。通过这次实习,我知道了如何对要解决的问题建立系统的分析,通过团队合作和分工来完成。现在更发现自己有太多东西不懂,以后得更加强知识的积累和实践的结合。
限制150内