毕业设计(论文)超声波测距器的设计.doc

上传人:仙人指路1688 文档编号:3984979 上传时间:2023-03-30 格式:DOC 页数:26 大小:573.50KB
返回 下载 相关 举报
毕业设计(论文)超声波测距器的设计.doc_第1页
第1页 / 共26页
毕业设计(论文)超声波测距器的设计.doc_第2页
第2页 / 共26页
毕业设计(论文)超声波测距器的设计.doc_第3页
第3页 / 共26页
毕业设计(论文)超声波测距器的设计.doc_第4页
第4页 / 共26页
毕业设计(论文)超声波测距器的设计.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《毕业设计(论文)超声波测距器的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)超声波测距器的设计.doc(26页珍藏版)》请在三一办公上搜索。

1、 目录第一章 前言11.1超声波测距器的当前发展情况11.2方案论证21.2.1提出方案2第二章.超声波测距的原理42.1超声波的介绍42.1.1什么是超声波42.1.2超声波的特点42.1.3超声波的应用42.2超声波测距器的原理42.2.1超声波发生器52.2.2压电式超声波发生器原理52.2.3超声波测距原理6第三章.系统的组成73.1系统硬件电路设计73.1.1单片机系统及显示电路73.1.2超声波发射电路83.1.3超声波检测接收电路93.2 系统程序设计103.2.1超声波测距器的算法设计103.2.2主程序123.2.2 超声波发生子程序和超声波接收中断程序13第四章.软硬件调试

2、及性能144.1调试144.2性能分析14第五章.结论15致谢18参考文献19附录20超声波测距器的设计学号 081308215 姓名 李明威 指导老师 王春彦 职称 讲师第一章 前言1.1超声波测距器的当前发展情况 超声波作为一种传输信息的媒体,由于其本身的直射性和反射性,以及不易受光照、电磁波等外界因素影响的特性,在探伤、测距、测速等多种领域越来越受到重视。超声波是频率高于20K赫兹的声波,它方向性好,穿透能力强,易于获得较集中的声能,在水中传播距离远,可用于测距、测速、清洗、焊接、碎石、杀菌消毒等。在医学、军事、工业、农业上有很多的应用。超声波因其频率下限大约等于人的听觉上限而得名。 目

3、前国内超声波测距器的设计大多采用汇编语言设计。由于单片机应用系统的日趋复杂。要求所写的代码规范化,模块化,并便于多人以软件工程的形式进行协同开发,汇编语言作为传统的单片机应用系统的编程语言,已经不能满足这样的实际需要了,而C语言以其结构化和能产生高效代码满足了这样的需求,成为电子工程师进行单片机系统编程时的首先编程语言。本设计就是一种基于STC89C52单片机、采用C语言和汇编语言混合编程来实现的超声波测距器。 超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。应用范围十分的广泛。超声波是指频率高于20KHz的机械波。为了以超

4、声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。1.2方案论证1.2.1提出方案由于超声波的指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测的距离,设计比较方便,计算处理也比较简单,并且在测量精度方面也能达到日常使用的要求。根据设计要求提出如下方案。方案:

5、选用AT89S51单片机(如图1.2)作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成。图1.1超声波测距器系统设计框图图1.2 主控芯片89C51电路原理图第二章.超声波测距的原理2.1超声波的介绍2.1.1什么是超声波 超声波是指频率高于20KHz的机械波。2.1.2超声波的特点 1、超声波在传播时,方向性强,能量易于集中。 2、超声波能在各种不同媒质中传播,且可传播足够远的距离。3、超声与传声媒质的相互作用适中,易于携带有关传声媒质状态的信息2.1.3超声波的应用 在全球,超声波广泛运用于诊断学、治疗学、工程学、生物学等领域。1、 工程学方面的应用:水下定

6、位与通讯、地下资源勘查等 2、生物学方面的应用:剪切大分子、生物工程及处理种子等 3、诊断学方面的应用:A型、B型、M型、D型、双功及彩超等 4、治疗学方面的应用:理疗、治癌、外科、体外碎石、牙科等2.2超声波测距器的原理 2.2.1超声波发生器为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。本设计属于近距

7、离测量,可以采用常用的压电式超声波换能器来实现。2.2.2压电式超声波发生器原理 压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构如图2.1所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。 图2.1 超声波转化结构图2.2.3超声波测距原理 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回

8、来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 。超声波测距的原理一般采用渡越时间法TOF(timeof flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离 。测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。图2.2

9、超声波测距原理图 第三章.系统的组成3.1系统硬件电路设计 主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用AT89S51来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。单片机通过P1.6引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。 3.1.1单片机系统及显示电路 单片机采用89S51或其兼容系列。采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。单片

10、机用P1.6端口输出超声波转化器所需的40KHz方波信号,利用外中断0口检测超声波接受电路输出的返回信号。显示电路采用简单实用的1602液晶显示。如图3.1图3.1 单片机及显示电路原理图3.1.2超声波发射电路原理图3.2: 图3.2 超声波发射电路原理图压电超声波转换器的功能(如图3.2): 超声波发射电路主要由反相器74LS04和超声波发射换能器FSQ构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端用两个反向器并

11、联,用以提高驱动能力。超声波换能器内部有两个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。3.1.3超声波检测接收电路 采用集成电路CX20106A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可

12、以利用它作为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能力。适当改变C4的大小,可改变接受电路的灵敏度和抗干扰能力。原理图如图3.3所示。 图3.3 超声波接收电路图3.2 系统程序设计 主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序等部分超声波测距软件设计主要由主程序,超声波发射子程序,超声波接受中断程序及显示子程序组成。C语言程序设计有利于实现较复杂的算法,汇编语言程序则具有较高的效率并且容易精确计算程序运行的时间下面对超声波测距器的算法,主程序,超声波发射子程序和超声波接受中断程序逐一介绍。 3.2.1超声波测距器的算法设计 图3.4示意了超声波测距的原理,

13、即超声波发生器T在某一时刻发出的一个超声波信号,当超声波遇到被测物体后反射回来,就被超声波接收器R所接受。这样只要计算出发生信号到接受返回信号所用的时间,就可算出超声波发生器与反射物体的距离。 图3.4 超声波测距原理图距离计算公式:d=s/2=(c*t)/2 d为被测物与测距器的距离 s为声波的来回路程c为声速t为声波来回所用的时间 声速c与温度有关,如温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返时间,即可求得距离。在系统加入温度传感器来监测环境温度,可进行温度被偿。这里可以用DS18B20测量环境温度,根据不同

14、的环境温度确定一声速提高测距的稳定性,如表1所示。为了增强系统的可靠性,应在软硬件上采用抗干扰措施。 表1 不同温度下的超声波声速表3.2.2主程序 主程序首先对系统环境初始化,设置定时器T0工作模式为16位的定时计数器模式,置位总中断允许位EA并给显示端P0和P2清0。然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟0.1ms(这也就是测距器会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用12MHz的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计

15、算即可测得被测物体与测距仪之间的距离,设计时取20时的声速为344 m/s则有: d=(C*T0)/2 =172T0/10000cm(其中T0为计数器T0的计数值) 测出距离后结果将以十进制BCD码方式LED,然后再发超声波脉冲重复测量过程。主程序框图3.5 :图3.5 主程序框图3.2.2 超声波发生子程序和超声波接收中断程序 超声波发生子程序的作用是通过P1.6端口发送2个左右的超声波信号频率约40KHz的方波,脉冲宽度为12us左右,同时把计数器T0打开进行计时。超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序。进入该

16、中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。 图3.6流程图第四章.软硬件调试及性能4.1调试超声波测距仪的制作和调试,其中超声波发射和接收采用15的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距48cm,其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C4的大小,以获得合适的

17、接收灵敏度和抗干扰能力。 4.2性能分析硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,由于功率限制,测距仪能测的范围为0.211.3m,测距仪最大误差不超过2cm。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。 第五章.结论由于时间和其它客观上的原因,此次设计没有成功做出实物。但是对设计有一个很好的理论基础。设计的最终结果是使超声波测距仪能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测

18、量物体间的距离。以数字的形式显示测量距离。超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。超声波测距器硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。单片机采用AT89S51或其兼容系列。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出

19、的返回信号。显示电路采用简单实用的4个七段共阳数码管组成动态扫描电路 。超声波发射电路主要由反相器74LS04和超声波发射换能器FSQ构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端用两个反向器并联,用以提高驱动能力。超声波换能器内部有两个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加

20、电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。超声波检测接收电路主要是由集成电路CX20106A组成,它是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38 kHz与测距的超声波S频率40 kHz较为接近,可以利用它制作超声波检测接收电路。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改电容Cs的大小,可以改变接收电路的灵敏度和抗干扰能力。在元件及调制方面,由于采用的电路

21、使用了很多集成电路。外围元件不是很多,所以调试不会太难。一般只要电路焊接无误,稍加调试应该会正常工作。电路中除集成电路外,对各电子元件也无特别要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。 本设计采用ATS89S51单片机作为计时及主控制器、用TCT40l0Fl作超声波发射器、用TCT40l0Sl和CX20106A构成超声波检测接收电路。将相关控制编程,写入单片机,实现了以单片机控制的超声波测距器。本超声波测距器采用硬件电路和软件控制相结合,电路结构简单,低成本,操作方便,工作稳定,测量精度较。可用于日常生活及工农业生产中距离的测量及位置监控。例如管道长度、油井深度、液面高度

22、,建筑施工各点定位等。本超声波测距器只具有测量显示功能,没有反馈与控制功能。其设计思想可以应用于智能安全系统。例如,在车辆智能自动安全系统中, 检测车辆左、右动、静态障碍物,并显示距离,至危险区域后与智能模糊控制器通信以采取最佳避让措施等。 致谢时间在忙碌中进行着,工作中弄着设计,大四就这样不知不觉的过去了,在即将到来的答辩时间里,我相信我能顺利的通过,因为有王老师的悉心教导,感谢王老师在百忙之中抽出时间帮助我完成这次设计,在我工作的时候不断的督促我赶紧完成设计,不然不好毕业的。感谢王老师在我在我不知道该如何去开头的时候,给我光明,指引我一路走下去,让没有信心的我有了希望。车到山前必有路,可是

23、得有引路人,而王老师就是我的引路人。感谢我的团队,在我不能及时赶到的时候帮我准备了一些资料,让我回来能顺利的完成我的设计。团队的力量是无限的,我相信在以后的工作里,团队的力量能继续的鼓舞着我前行。再次感谢王老师和团队,希望在今后的工作里,王老师还能不遗余力的继续指导着我。参考文献1 余成波传感器与自动检测技术M北京高等教育出版社,2004:1242 李全利单片计原理及接口技术M北京高等教育出版社,2004:233 张毅刚单片机原理及应用M 北京高等教育出版社,2004:31 4 周航慈单片机应用程序设计技术M 北京北京航空航天大学出版,200:115 杨万海,多传感器数据融合及其应用,西安电子

24、科技大学出版社,20046 何友,多传感器信息融合及应用,电子工业出版社,20007 康耀红,数据融合理论与应用,西安电子科技大学出版社,19978 赵宗贵编译,数据融合方法概论,电子工业部二十八研究所,1998 9 韩崇昭,多源信息融合,清华大学出版社,2002 附录总电路图程序清单 #include #include #define uint unsigned int#define uchar unsigned char/引脚定义 sbit RX = P3 2; sbit TX = P1 6; sbit CS = P3 3;/片选 高电平有效 单片LCD使用时可固定高电平 sbit SID

25、 = P3 4;/数据 sbit SCLK = P3 5;/时钟sbit E=P12;sbit RW=P11;sbit RS=P10;unsigned int time=0; long S=0; bit flag =0;unsigned char disbuff4 = 0,0,0,0,;void delay()int i,j;for(i=0; i=10; i+)for(j=0; j=2; j+);void enable(uchar del)P0 = del;RS = 0;RW = 0;E = 0;delay();E = 1;delay();void write(uchar del)P0 = d

26、el;RS = 1;RW = 0;E = 0;delay();E = 1;delay();void L1602_init(void)enable(0x01);enable(0x38);enable(0x0c);enable(0x06);enable(0xd0);void L1602_char(uchar hang,uchar lie,char sign)uchar a;if(hang = 1) a = 0x80;if(hang = 2) a = 0xc0;a = a + lie - 1;enable(a);write(sign);void L1602_string(uchar hang,uch

27、ar lie,uchar *p)uchar a;if(hang = 1) a = 0x80;if(hang = 2) a = 0xc0;a = a + lie - 1;enable(a);while(1)if(*p = 0) break;write(*p);p+;void Delaynms(unsigned int di) /延时unsigned int da,db; for(da=0;dadi;da+) for(db=0;db10;db+); void Conut(void) time=TH0*256+TL0; TH0=0; TL0=0; S=time*1.87/10; /算出来是CM di

28、sbuff1=S/1000; disbuff2=S%1000/100; disbuff3=S%1000%100/10; disbuff4=S%10; L1602_char(2,1,disbuff1+48); L1602_char(2,2,disbuff2+48); L1602_char(2,3,disbuff3+48); L1602_char(2,5,disbuff4+48);void delayms(unsigned int ms)unsigned char i=100,j;for(;ms;ms-)while(-i)j=10;while(-j); void zd0() interrupt 1

29、 /T0中断用来计数器溢出,超过测距范围 flag=1; /中断溢出标志 void StartModule() /T1中断用来扫描数码管和计800MS启动模块 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; void

30、main(void) TMOD=0x01; /设T0为方式1,GATE=1TH0=0;TL0=0; TR0=1; L1602_init(); /设置液晶显示器Delaynms(1000);L1602_string(1,1,distance:);L1602_string(2,6,CM); L1602_char(2,1,disbuff1+48); L1602_char(2,2,disbuff2+48); L1602_char(2,3,disbuff3+48); L1602_string(2,4,.);while(1) StartModule(); StartModule(); /计算 while(!RX);/当RX为零时等待 TR0=1; /开启计数 while(RX);/当RX为1计数并等待 TR0=0;/关闭计数*/ Conut(); delayms(80);/80MS

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号