超声波测距实习报告_第1页
超声波测距实习报告_第2页
超声波测距实习报告_第3页
超声波测距实习报告_第4页
超声波测距实习报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

信息科学与工程学院计算机辅助综合设计实习报告班级:通信12-2班姓名:覃模广组员:何**学号:3120731231指导老师:陈小琴时间:2015年1月1.超声波概述1.1超声波基本理论超声波发展史人类直到第一次世界大战才学会利用超声波,这就是利用“声纳”的原理来探测水中目标及其状态,如潜艇的位置等。40年代末期超声波治疗在欧美兴起,直到1949年召开的第一次国际医学超声波学术会议上,才有了超声治疗方面的论文交流,为超声治疗学的发展奠定了基础。医学上最早利用超声波是在1942年,奥地利医生杜西克首次用超声波技术扫描脑部结构,以后到了60年代医生们开始将超声波应用于腹部器官的探测。1956年第二届国际超声医学学术会议上已有许多论文发表,超声治疗进入了实用成熟阶段。如今,超声波已广泛应用于测距、测速、清洗、焊接、碎石、杀菌消毒等,在医学、军事、工业、农业上有很多的应用。超声波的本质声波是声音的类别之一,属于机械波,是人们能感觉得到的纵波,频率大小范围为16Hz-20KHz。当声波的频率小于16Hz时就称为次声波,大于20KHz则叫做超声波。其中超声波是种波动形式,它能作为探测和负载信息的载体;超声波也是种能量形式,如果其强度超过一定程度时,它能与传播超声波媒质的相互作用,去影响,甚至破坏后者的状态,性质及结构(用作治疗)。超声波的反射、折射、衍射、散射在媒质中等传播规律,和可听声波的传播规律没有本质区别。但超声波波长短,达到厘米,甚至达到毫米。超声波的应用正因为超声波在物理化学方面的独特特性,因此,超声波在许多方面都有广泛的应用。归结起来,超声波主要应用在以下几个方面:(1)在检验方面的应用超声波的波长比一般声波要短,具有较好的方向性,而且能透过不透明物质,这一特性已被广泛用于超声波探伤、测厚、测距、遥控和超声成像技术。而超声波的测距原理:采用了超声波在空气中的传播速度为已知条件,测量的声波在发射后碰到障碍物反射的回来的时间,用发射和接收的时间差确定出发射点至障碍物的实际测量距离。超声波的测距主要应用在倒车提醒、工业现场等距离测量,虽然目前测距量程上能有百米,但测量精度只可以到厘米的数量级。(2)在超声处理方面的应用利用超声的机械效应、温热效应、理化效应,可进行超声焊接、钻孔、固体的粉碎、乳化、脱气、除尘、清洗、灭菌、促进化学反应和进行生物学研究等,在工矿业、农业、医疗等各个部门获得了广泛应用。(3)在基础研究方面的应用超声学是研究超声的科学,它是声学的一个重要分支。超声学是研究超声的产生、接收和在媒质中的传播规律,超声的各种效应,以及超声在基础研究和国民经济各部门的应用等内容的声学重要分支。机械运动为一种最简单、最一般物质的运动,它较之其他的物质运动和物质的自身结构之间关系非常紧密。超声振动本来就属于种机械运动,因此,利用超声学也是研究物质的结构的一个重要的途径之一。2超声波测距方法与原理2.1超声波测距方法方法种类介绍和说明目前,市场上利用超声波测距原理制成的测距系统种类繁多,但是超声波的测距方案总下来有下面几种:(1)相位的检测法相位的检测法可分2种:一方法是用发射不同频率超声波来显现的。先开始发射波长为的超声波。检测出回波相位为。假设所用的波周期数,则能求的目标物体的距离为:(3-1)同样道理可以算出第二束波形测距的计算公式为: (3-2)其中:为第二束波的相位角,是波长,是周期数。又由于和都为正数,与此同时再一次进行时间补偿算法,可准确求目标距离值。但是因为超声波探头是有固定频率,假设改变频率,系统衰减会大,需要两套信号的检测电路,实施难度加大,不适宜采用。二方法是使用单一超声波的探头来进行相位的检测法检测,这种方法是待测距离在一个周期内使用,若过选用40kHz超声波为传播介质,一个周期对应检测距离为,因此,这种方法的准确度很高。(2)幅值的检测法幅值德检测法是开始发射固定频率的超声波,接着使用反射或对射法的检测接收得到的超声波脉冲的强度,从超声波回波衰减理论,认真对回波脉冲强度的进行分析,从而求得目标距离。(3)渡越时间法(也是本实习的做法)渡越时间意思是开始从传感器发射出超声波开始计时,经气体的介质传播,达到传感器接收到回波时计时的停止。因为在一定的环境下,温度不会变化,或变化较缓慢,可近似认为常数,这时声速是保持不变的。所以能通过检测渡越的时间,结合现场声速,从而求得传感器和目标之间的距离。2.2超声波测距原理与超声波传感器超声波测距原理超声技术是一门以物理、电子、机械及材料学为基础的通用技术之一。超声技术是通过超声波产生、传播及接收的物理过程而完成的。超声波具有聚束、定向及反射、透射等特性。超声波遥控近距离遥控中的一种的实际方法,人们可以听到的声音的频率估算为20Hz~20kHz,低于20Hz和高于20kHz的声音,人耳一般都听不到,人把高于20kHz声波叫做超声波。它属于一种机械振动波,能够在气体与液体、固体中传播,它在空气中的传播的速度是340m/s,与光波及电磁波相比较是极度缓慢的。超声波拥有方向性,即传播能量相对于其他波而言很集中,这一点和可听见声波相异。另外,超声波在传播途中若遇到不同的媒介,大部分能量会被反射。超声波测距从原理上可有共振式与脉冲反射式两种。因为应用要求十分限定,这里用脉冲反射式,即是利用超声的反射的特性。超声波测距的原理是经过超声波发射传感器向某方向发射出超声波,在发射的时刻同时开始计时间,超声波在空气传播,途中要是遇到障碍物立即返回,当超声波接收器收到反射波时就停止计时。平常温度下超声波在空气中传播速度是C=340m/s,依据计时器记录时间t,就能计算到发射点距离障碍物距离(S),即为S=C*t/2=C*t0,其中,t0就是所谓渡越的时间。在超声波测量的系统中,若频率取得太低,外界杂音干扰的较多;若频率取得太高,在传播的过程中衰减得较大。所以在超声波测量中,常使用40KHz的一种超声波。现在超声波测量的距离一般是几米至几十米,是种适合室内的测量方式。因为超声波的发射与接收器件拥有固有频率的特性,有很高抗干扰的性能。所谓的超声波测距的原理属于一种种时间差测距法,超声波发射器向某方向发射出超声波,在发射的时刻的同时计算传播时间,超声波在空气中传播,若是遇到障碍物会返回来,每当超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度是340m/s,根据计时器记录时间t,就能够计算出发射点距离障碍物的距离(s),即为:s=340t/2.超声波测距原理是采用超声波在于空气中传播的速度为已知条件,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算发射点到障碍物的实际距离。超声波传感器超声传感器是把其他形式的能转换为所需的超声能或者把超声能转换为同频率的其他形式的能的器件。目前常用的超声传感器有两类,即电声型与流体动力型。电声型主要有:1.压电传感器;2.磁致伸缩传感器;3.静电传感器。压电传感器属于超声传感器中电声型的一种。探头由压电晶片、楔块、接头等组成,是超声检测中最常用的实现电能和声能相互转换的一种传感器件,是超声波检测装置的重要组成部分。传感器的主要的组成部分为压电晶片。每当压电晶片受到发射电脉冲激励后产生振动,即是可发射声脉冲,为逆压电效应。每当超声波作用于晶片时侯,由晶片受迫振动造成的形变可转变成相应电信号,为正压电效应。前者是用在超声波发射,后者即是超声波接收。超声波传感器一般是采用双压电陶瓷晶片制作成的。这一种超声传感器需要的是压电材料较少,价格的低廉,并且非常适用的气体与液体介质中。在压电陶瓷晶片上有个固定谐振频率,即中心频率f0发射出超声波时,附在其上的交变电压频率要和它固有的谐振频率一样。这样的话,超声传感器会有较高灵敏度。超声波传感器内部的结构是由压电陶瓷晶片、锥形辐射喇叭、底座、引线、金属壳和金属网构成的,值得一提的是,压电陶瓷晶片便是传感器的核心,锥形辐射喇叭能使发射与接收超声波的能量集中,并且使传感器会有一定指向角,金属壳可以防止外界力量对于压电陶瓷晶片及锥形辐射喇叭的损坏。金属网同样是起保护作用的器件,同时不影响发射和接收超声波。3系统电路设计(系统总方案两人共同完成,经过讨论确定方案如下)3.1总体方案设计超声波测距仪整体结构图包括超声波发射电路,超声波接收电路,单片机电路,显示电路与温度测量电路等几部分模块组成。利用单片机来实现对超声波和超声波转换模块的控制。具体见图所示。超声波超声波接收超声波发送扫描驱动LED显示单片机控制超声波测距系统结构框图3.2硬件部分利用AltiumDesigner09进行各模块电路原理图的绘制及PCB设计制作单片机系统及显示电路用超声波发射器向某一方向发送超声波,同时在放射的时候开始计时,在超声波遇到障碍物的时候反射回来,超声波接收器在接收到反射回来的超声波时停止计时。通过公式S=VT/2可以测出汽车与障碍物之间的距离通过LED显示屏显示出来。单片机采用STC89C52或其兼容系列。采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。单片机用外中断1口输出超声波转化器所需的40KHz方波信号,利用外中断0口检测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用74HC573驱动,位码用PNP三极管驱动。单片机系统及显示电路如下图所示图1-1单片机控制电路原理图3.2.251单片机P0口为什么要接上拉电阻?p0口内部没有上拉电阻,如果没有加外部上拉电阻的话,几乎没有什么驱动能力。外上拉电阻的问题。是否需要上拉电阻,对于TTL电路输入端来说并不是关键,加与不加是要看你的单片机IO口的属性。如果单片机的输出端口是推挽输出的,则这个上拉电阻根本没有必要,但如果单片机的IO口是开漏输出或者是内部弱上拉输出的,那这个时候就需要接一个上拉电阻。上拉电阻的大小一般参照后级电路所需要驱动电流的5~10倍来选取,可大不可小,一般现在用10K或者4K7的比较多,但如果对功耗要求比较严格,这个电阻就需要去计算,阻值太大则容易受干扰,太小功耗不能满足,不需要去权衡.在这里要驱动数码管,需要的电流是5~10MA,但是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,2,3,4是4个数码管的位选,因为是共阳,所以这几脚高电平时才有可能点亮数码管,记得要三极管驱动,9012就可以了。9012的C加个限流电阻接电源,B接单片机,E接1,2,3,4。单片机给高电平时选中。a,b,c,d,e,f,g,dp是段码,低电平有效,一般也送单片机控制4.外围电路设计超声波发射电路:超声波发射电路设计:在超声探测电路中,发射端得到输出脉冲为一系列方波,其宽度为发射超声的时间间隔,被测物距离越大,脉冲宽度越大,输出脉冲个数与被测距离成正比。经过电阻分压后到达基极通过集电极输出后经过中周变压器组成谐振回路,最终将频率为40KHZ的信号作用于发射探头上,使其产生共振后,发射出超声波。超声波接收电路:超声波检测接收电路:对于本系统的设计,其难点在于40KHz信号的产生。由于超声波传感器的中心工作频率为40KHz,当偏离这个频率时,其接收器的灵敏度将明显降低,具体可以从超声波传器的特性曲线中得知。当发送40KHz的频率时,接收到的信号最强,因此距离也就最大,而当偏离时,探测距离也将缩短,这一点是本设计总的设计思路。对于产生40KHz的驱动信号,方法有多种,可以选用电感、电容振荡元件来完成驱动信号的发生器,但是其频率稳定性较差,不容易调准,因此制作成功的可能性相对较小。参考红外转化接收电路,本设计采用集成电路CX20106A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用它作为超声波检测电路。启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能便记录超声波的发射时间与受到反射波时间。每当收到一个超声波反射波的时侯,接收电路的输出端产生出一个负跳变,并在或端产生出一个中断的请求信号,单片机响应这个外部中断请求,自动执行外部中断的服务子程序,并读取时间差与计算距离。接收超声波换能器用ucm-r40k1,发送超声波换能器用ucm-t40k1,超声波接收集成电路用CX20106A芯片,发送端用6非门(反相器)HD74LS04P图1-2发射与接收电路原理图图1-3发射与接收电路PCB印刷图报警电路设计方案系统报警电路由一个运算放大器(9012三极管)、一个发光二极管和一个5V有源蜂鸣器组成。用9012pnp是因为主芯片刚通上电的时候,引脚会产生瞬间高电平,用pnp的话,就不会一开始蜂鸣器就蜂鸣了。图1-5报警电路4.1.4电源电路设计由自锁开关、DC电源插口、和两个电容组成。图1-6电源电路系统复位电路设计单片机复位全靠外部电路实现,每当在时钟电路工作后时,一旦在单片夹中的RST引脚上表现出24个时钟振荡脉冲以上高电平,单片机就会实现初始化状态的复位。为了保证并可靠复位,在设计复位电路时,RST须高电平。只要RST电平不变,单片机就循环复位。考虑本设计结构简单,干扰小,故采用上电自动复位。在通电瞬间,由于R•C电路充电过程中,RST端出现正脉冲,从而使单片机复位。图1-7上电复位电路超声波测距电路图汇总(不包含发射和接收电路)超声波测距仿真用Proteus进行超声波测距仿真图1-8超声波测距仿真原理图图1-9超声波测距仿真实现注意事项:1.因为在我的protues软件中没有stc89c52,所以我用80c51代替,虽然各引脚分布不一样,但是具有的功能基本上是一样的,只要把它们相应功能的引脚接上就可以了,之后就要给主芯片导入程序。2.这个问题也是我刚开始最纠结的问题,就是在仿真中他如何实现发送超声波和接收超声波呢?带着这个疑问我在网上看了好多资料。原来如此,,由于仿真软件中没有超声波发射、接收头的仿真模型,这给单片机超声波测距仿真带来困难,为验证单片机超声波测距系统单片机部分及相应程序的正确与否,在单片机发出超声波信号后,用555时基电路产生一个延时信号,来模拟超声波头发送后遇到回波返射回来的这阶段时间,来对单片机超声波测距单片机系统进行模拟。或者用芯片加程序来实现接收信号经过时延后再返回信号来实现,这就是这次仿真使用的方法,在第二部分使用时延程序来实现。左边两个按键是用来控制时延程序的时延间隔(加·减),这样间接达到了测量距离的加减。还有个问题是:在protues默认的电源电压是5v,所以不用设置。3.3.2PCB印刷电路板图(不含发射和接收模块)经过仿真后能实现了预定功能所以电路和程序应该没什么大问题,接下来就是印制电路版。总的原件清单:7*9万用板、HC-SR04超声波模块、STC89C51单片机、74hc573、40PIC座、20PIC座、4p母座、四位一体共阴数码管、9012三极管*5、2.2k电阻*5、220Ω电阻*8、10k电阻、5V有源蜂鸣器、103排阻、10uf电解电容、30pf瓷片电容*2、12MHZ晶振、按键*3、自锁开关、DC电源插口、导线若干、焊锡若干、USB电源线或电池盒+DC电源插头、接收超声波换能器ucm-r40k1、发送超声波换能器ucm-t40k1,超声波接收集成CX20106A芯片,6非门(反相器)HD74LS04P3.3.2软件部分:运用keil软件进行C语言编程超声波发生子程序的作用是通过INT1端口发送两个左右的超声波脉冲信号(频率约40KHz的方波),脉冲宽度为12µs左右,同时把计数器T0打开进行计时。超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入超声波接收中断程序。就立即关闭计时器T0,停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,图1-10主程序流程图图1-10主程序流程图图1-11超声波子程序流程图以表示本次测距不成功。图1-11超声波子程序流程图4.1超声波测距程序清单:#include<reg52.H>//器件配置文件#include<intrins.h>//传感器接口sbitRX=P3^2;sbitTX=P3^3;//按键声明sbitS1=P1^4;sbitS2=P1^5;sbitS3=P1^6;//蜂鸣器sbitFeng=P2^0;//变量声明unsignedinttime=0;unsignedinttimer=0;unsignedcharposit=0;unsignedlongS=0;unsignedlongBJS=50;//报警距离50CM//模式0正常模式1调整charMode=0;bitflag=0;unsignedcharconstdiscode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff/*-*/}; //数码管显示码0123456789-和不显示unsignedcharconstpositon[4]={0xfd,0xfb,0xf7,0xfe}; //位选unsignedchardisbuff[4] ={0,0,0,0}; //数组用于存放距离信息unsignedchardisbuff_BJ[4]={0,0,0,0};//报警信息//延时100ms(不精确)voiddelay(void)unsignedchara,b,c;for(c=10;c>0;c--)for(b=38;b>0;b--)for(a=130;a>0;a--);//按键扫描voidKey_() if(S1==0) delay(); //延时去抖 while(S1==0) P1=P1|0x0f; BJS++; //报警值加 if(BJS>=151)//最大151 BJS=0; elseif(S2==0) delay(); while(S2==0) P1=P1|0x0f; BJS--; //报警值减 if(BJS<=1) //最小1 BJS=150;//功能 elseif(S3==0) //设置键 delay(); while(S3==0) P1=P1|0x0f; Mode++; //模式加 if(Mode>=2) //加到2时清零 Mode=0;//扫描数码管voidDisplay(void) //正常显示 if(Mode==0) P0=0x00;//关闭显示 if(posit==0)//数码管的小数点 P0=(discode[disbuff[posit]])|0x80;//按位或,最高位变为1,显示小数点 else P0=discode[disbuff[posit]]; P1=positon[posit]; if(++posit>=3) //每进一次显示函数,变量加1 posit=0; //加到3时清零 //报警显示 else P0=0x00; if(posit==0)//数码管的小数点 P0=(discode[disbuff_BJ[posit]])|0x80; elseif(posit==3) P0=0x76; //显示字母 else P0=discode[disbuff_BJ[posit]]; P1=positon[posit]; if(++posit>=4) posit=0;//计算voidConut(void) time=TH0*256+TL0; //读出T0的计时数值 TH0=0; TL0=0; //清空计时器 S=(time*1.7)/100;//算出来是CM if(Mode==0) //非设置状态时 if((S>=700)||flag==1)//超出测量范围显示“-” Feng=0; //蜂鸣器报警 flag=0; disbuff[0]=10; //“-” disbuff[1]=10; //“-” disbuff[2]=10; //“-” else //距离小于报警距 if(S<=BJS) Feng=0; //报警 else//大于 Feng=1; //关闭报警 disbuff[0]=S%1000/100; //将距离数据拆成单个位赋值 disbuff[1]=S%1000%100/10; disbuff[2]=S%1000%10%10; else Feng=1; disbuff_BJ[0]=BJS%1000/100; disbuff_BJ[1]=BJS%1000%100/10; disbuff_BJ[2]=BJS%1000%10%10;//定时器0voidzd0()interrupt1 //T0中断用来计数器溢出,超过测距范围 flag=1; //中断溢出标志//定时器1voidzd3()interrupt3 //T1中断用来扫描数码管和计800MS启动模块 TH1=0xf8; TL1=0x30; //定时2ms Key_(); //扫描按键 Display(); //扫描显示 timer++; //变量加 if(timer>=400) //400次就是800ms timer=0; TX=1; //800MS启动一次模块 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0;//主函数voidmain(void) TMOD=0x11; //设T0为方式1,GATE=1; TH0=0; TL0=0; TH1=0xf8; //2MS定时 TL1=0x30; ET0=1; //允许T0中断 ET1=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.46KHz,接近40KHz,满足实际要求。超声波测距仪制作与调试,其中,超声波发射与接收采用Φ15超声波换能器TCT40-

温馨提示

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

评论

0/150

提交评论