ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:1.41MB ,
资源ID:8121616      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8121616.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(超声波测距仪设计正文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

超声波测距仪设计正文.docx

1、超声波测距仪设计正文1 前言1.1课题的研究背景和意义超声波是指频率高于20KHz的声波,属于机械波的范畴,遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介质吸收而发生衰减等,正是因为有这些性质,使得超声波可以用于距离的测量,随着经济的发展,科技水平的不断提高,电子测量技术应用越来越广泛,超声波测量精度高,成本低,性能稳定则备受青睐,超声波测距技术被广泛的应用于人们生活和工作中。由于超声波测距是一种非接触检测技术,不受光线、被测对象颜色的影响,比其他仪器更卫生,具有不污染、高可靠、长寿命等特点,被广泛应用于纸业、矿业、电厂、化工业、污水处理厂、食品、

2、水文、等行业中,可在不同环境中进行距离的准确度在标定,可直接用于水酒精、糖等液位控制,能达到工业实用的指标要求。还可以用于移动机器人的视觉系统中,这样可使机器人自动躲避障碍物行走,及时获得障碍物的位置信息,同时超声波测距系统具有以上的这些特点,在汽车倒车雷达的研制方面也得到了广泛应用。1.2 课题的国内外研究现状目前国际国内,在超声波测距方面的研究方向和水平的不同,主要体现在对测距原理、超声波信号处理方法和超声波测距处理器的选用上。常见的超声波测距原理分为渡越时间法和相位差法两种。信号的处理方法大致分为阈值检验法、互相关延时估计法、伪随机码扩频测距法和最小均方法四种。在处理器方面大多以单片机为

3、主,其中以51系列应用最为广泛,采用运算速度更快,效率更高dsp芯片作为处理器,也正成为一个非常活跃的研究方向。目前已研制的超声波测距仪中,量程一般为3-12m,美国AIRMAR公司生产的airducer AR30超声波传感器的作用距离可达30m,但价格昂贵,准确度方面已控制在测量误差的0.4%左右,与真值的差距在厘米级的范围内,若采用互相关或伪随机法,最高可控制在0.05m内,在提高精确度方面,超声波测距还有很大的发展潜力和上升空间。1.3 课题设计的任务和要求通过本课题的研究,将所学到的知识用在实践中并有所创新和进步。该设计可广泛应用在生活、军事、工业等各个领域,它需要设计者有较好的数电、

4、模电知识,并且有一定的编程能力,综合运用所学的知识实现对超声波发射与接收信号进行控制,通过单片机程序对超声波信号进行相应的分析、计算、处理最后显示在1602液晶上。1、 利用单片机的优势设计该超声波测距仪。2、该测距仪可直接从LCD显示屏上读出所测得的距离值,测量范围为2cm-450cm,该测距仪的测量精度高达0.3cm+1%。3、利用按键设置测距的上下限,并进行声光报警提示。4、设计产品用途:广泛应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。2 总体方案设计2.1 本设计的研究方法本设计选用US-100超声波测距模块。了解超声波测距的原理,只有对理论知识有一定的学习才能运用到

5、实际操作中。根据US-100超声波测距模块的硬件结构电路。对电路进行分析能够产生超声波,实现超声波的发送和接收,从而实现利用超声波测距的方法测量物体之间的距离。具体设计一个基于单片机的超声波测距器,包括单片机控制电路,发射电路,接收电路,液晶显示电路。2.2系统整体方案的设计由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统

6、笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率、和声波特性各不相同,因而用途也各不相同。目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本文采用STC89C52单片机作为控制器,用动态扫描法实现液晶数字显示,并通过按键设置系统报警的最小值和安全范围。报警电路主要作用是对距离较近时进行报警。根据实际情况,当距离大于3.5m时,可认为是安全状态,液晶显示“”标志;在3.5m和1m之间时认为是正常的,显示实测距离;小于1m时,系统发出报警功能。2.3 系统整体方案的论证超声波测距的原理是利用超声波的发射和接收,根据超声波传播的时间来计算出传播距离。实用的测距方法有

7、两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。2.4 超声波测距原理2.4.1 超声波概述超声波是一种频率超过20的机械波。超声波作为一种特殊的声波,同样具有声波传输的基本物理特性反射、折射、干涉、衍射、散射。超声波具

8、有方向性集中、振幅小、加速度大等特点,可产生较大力量,并且在不同的媒质介面,超声波的大部分能量会反射。利用超声检测往往比较迅速,方便,易于做到实时控制,并且在测量精度方面能达到工业使用的要求,主要应用于倒车雷达、建筑施工工地以及一些工业现场,例如:液位、井深、管道长度等场合。超声波测量在国防、航空航天、电力、石化、机械、材料等众多领域具有广泛的作用,它不但可以保证产品质量、保障安全,还可起到节约能源、降低成本的作用。超声波与光波、电磁波、射线等检测相比,其最大特点是穿透力强,几乎可以在任何物体中传播,了解被测物体内部情况。超声检测设备还具有结构简单,成本低廉的优点,有利于工程实际使用。2.4.

9、2 超声波传感器介绍超声波传感器是一种将其他形式的能转变为所需频率的超声能或是把超声能转变为同频率的其他形式的能的器件。目前常用的超声波传感器有两大类,即电声型与流体动力型。电声型主要包括压电传感器、磁致伸缩传感器、静电传感器。流体动力型包括有气体和液体两种类型的哨笛。由于工作频率与应用目的不同,超声波传感器的结构形式是多种多样的,并且名称也有不同,例如在超声检测和诊断中习惯上都把超声波传感器称为探头,而工业中采用的流体动力型传感器称为“哨”或“笛”。压电传感器属于超声波传感器中电声型的一种。探头由压电晶片、楔块、接头等组成,是超声检测中最常用的实现电能和声能相互转换的一种传感器件,是超声波检

10、测装置的重要组成部分。压电材料分为晶体和压电陶瓷两类。属于晶体的如石英、铌酸锂等,属于压电陶瓷的有锆钛酸铅,钛酸钡等。其具有下列的特性:把这种材料置于电场之中,它就产生一定的应变;相反,对这种材料施以外力,则由于产生了应变就会在其内部产生一定方向的电场。所以,只要对这种材料加以交变电场,它就会产生交变的应变,从而产生超声振动。因此,用这种材料可以制成超声传感器。传感器的主要组成部分是压电晶片。当压电晶片受发射电脉冲激励后产生振动,即可发射声脉冲,是逆压电效应。当超声波作用于晶片时,晶片受迫振动引起的形变可转换成相应的电信号,是正压电效应。前者用于超声波的发射,后者即为超声波的接收。超声波传感器

11、一般采用双压电陶瓷晶片制成。这种超声传感器需要的压电材料较少,价格低廉,且非常适用于气体和液体介质中。在压电陶瓷上加上有大小和方向不断变化的交流电压时,根据压电效应,就会使压电陶瓷晶片产生机械变形,这种机械变形的大小和方向在一定范围内是与外加电压的大小和方向成正比的。也就是说,在压电陶瓷晶片上加有频率为f0交流电压,它就会产生同频率的机械振动,这种机械振动推动空气等媒介,便会产生超声波。如果在压电陶瓷晶片上有超声机械波作用,这将会使其产生机械变形,这种机械变形是与超声机械波一致的,机械变形使压电陶瓷晶片产生频率与超声机械波相同的电信号。压电式超声波发生器实际上是利用压电晶体的逆向压电效应来工作

12、的。超声波发生器内部结构如图2.1所示,它有两个压电晶片和一个锥形振子,当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动锥形振子振动,便产生超声波。反之,如果两极间未外加电压,当锥形振子接收到超声波时,将压迫压电晶片作振动,将机械能转化为电信号,这时它就成为超声波传感器。图2.1 压电式超声波传感器结构图压电陶瓷晶片有一个固定的谐振频率,即中心频率f0。发射超声波时,加在其上面的交变电压的频率要与它的固有谐振频率一致。这样,超声传感器才有较高的灵敏度。当所用压电材料不变时,改变压电陶瓷晶片的几何尺寸,就可非常方便的改变其固有谐振频率。利用这一特性可制作成

13、各种频率的超声波传感器。一般常用的超声波传感器有两种:专用型和兼用型。专用型是发送器用作发送超声波,接收器用作接收超声波;兼用型就是发送器和接收器是一体的传感器,既可以发送超声波,又可以接收超声波。2.4.3 超声波测距的原理超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到发射波就立即停止计时。假设超声波在空气中的传播速度为,根据计时器记录的时间,发射点距障碍物的距离,如图2.2所示 图2.2 超声波测距原理 图2.2中被测距离为H,两探头中心距离的一半用M表示,超声波单程所走过的距离用表示,由图可得: (1) (2)将式

14、(2)带入式(1)得: (3)在整个传播过程中,超声波所走过的距离为: (4)式中:为超声波的传播速度,为传播时间,即为超声波从发射到接收的时间。将式(4)带入式(3)可得: (5)当被测距离H远远大于M时,式(5)变为: (6)这就是所谓的时间差测距法。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离2。由于是利用超声波测距,要测量预期的距离,所以产生的超声波要有一定的功率和合理的频率才能达到预定的传播距离,同时这是得到足够的回波功率的必要条件,只有得到足够的回波频率,接收电路才能检测到回波信号和防止外界干扰信号的干扰。经分析和大量实验表

15、明,频率为40左右的超声波在空气中传播效果最佳,同时为了处理方便,发射的超声波被调制成具有一定间隔的调制脉冲波信号。3 单元模块设计硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路、声光报警输出电路、供电电路等几部分,如图3.1所示。单片机采用STC89C52,系统晶振采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P3.6端口产生10us高电平的触发信号, US-100超声波测距模块发射探头循环发出8个40kHz的方波信号,P3.7端口监测超声波接收电路输出的返回信号。显示电路采用简单实用液晶1602显示超声波测得距离。图3.1 系统整体框图

16、3.1单片机主芯片电路STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时

17、器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。图3.2 单片机芯片STC89C52的电路图3.1.1 时钟电路首先介绍一下单片机的晶振电路,即时钟电路。单片机的工作流程,就是在系统时钟的作用下,一条一条地执行存储器中的程序。单片机的时钟电路由外接的一只晶振和两只起振电容,以及单片机内部的时钟电路组成,晶振的频率越高,单片机处理数据的速度越快,系统功耗也会相应增加,稳定性也会下降。单片机系统常用的晶振频率有6MHz、110592MHz、12MHz、本系统采用110592M

18、Hz晶振,电容选30pF,电路如图3.3 。图3.3 晶振电路图3.1.2复位电路系统刚上电时,单片机内部的程序还没有开始执行,需要一段准备时间,也就是复位时间。一个稳定的单片机系统必须设计复位电路。当程序跑飞或死机时,也需要进行系统复位。复位电路有很多种,有上电复位,手动复位等,电路如图3.4 。 图3.3 复位电路图3.2 US-100超声波测距模块3.2.1 概述US-100超声波测距模块可实现2cm4.5m的非接触测距功能,拥有2.45.5V的宽电压输入范围,静态功耗低于2mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠。本模块如图

19、3.4和图3.5所示: 图3.4 US-100正面图 图3.5 US-100背面图3.2.2 主要技术参数表3.1电气参数US-100超声波测距模块工作电压DC 2.4V5.5V静态电流2mA工作温度-20+70度输出方式电平或UART(跳线帽选择)感应角度小于15度探测距离2cm-450cm探测精度0.3cm+1%UART模式下串口配置波特率9600,起始位1位,停止位1位,数据位8位,无奇偶校验,无流控制。3.2.3 接口说明本模块共有两个接口,即模式选择跳线和5 Pin接口。模式选择跳线的间距为2.54mm,当插上跳线帽时为UART(串口)模式,拔掉时为电平触发模式。5 Pin接口从左到

20、右依次编号1,2,3,4,5。它们的定义如下:1号Pin:接VCC电源(供电范围2.4V5.5V);2号Pin:当为UART模式时,接外部电路UART的TX端;当为电平触发模式时,接外部电路的Trig端;3号Pin:当为UART模式时,接外部电路UART的RX端;当为电平触发模式时,接外部电路的Echo端;4号和5号Pin:接外部电路的地。3.2.4 电平触发测距工作原理在模块上电前,首先去掉模式选择跳线上的跳线帽,使模块处于电平触发模式。电平触发测距的时序如图3.6所示: 3.6 US-100测距时序图图3.6表明:只需要在Trig/TX管脚输入一个10US以上的高电平,系统便可发出8个40

21、KHZ的超声波脉冲,然后检测回波信号。当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX管脚输出。在此模式下,模块将距离值转化为340m/s时的时间值的2倍,通过Echo端输出一高电平,可根据此高电平的持续时间来计算距离值。即距离值为:(高电平时间*340m/s)/2。注:因为距离值已经经过温度校正,此时无需再根据环境温度对超声波声速进行校正,即不管温度多少,声速选择340m/s即可。3.2.5 超声波测距的系统及其组成单片机STC89C52通过P3.6端口产生10us高电平的触发信号, 使US-100超声波测距模块发射探头循环发

22、出8个40kHz的方波信号,然后检测回波信号。当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX管脚输出,同时单片机P3.7端口监测超声波接收电路输出的返回信号。电路如图3.7所示:图3.73.3 显示电路模块1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以它不能显示图形。1602采用标准的16脚接口,其中:第1脚:VSS为电源地

23、;第2脚:VDD接5V电源正极;第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度);第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器;第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作;第6脚:E(或EN)端为使能(enable)端; 第714脚:D0D7为8位双向数据端;第1516脚:空脚或背灯电源,15脚背光正极,16脚背光负极。液晶1602接口电路如图3.8所示:图3.8 液晶1602接口电路3.4 声光报警当所测得的距离小于设置

24、的报警距离时,P1.3口为低电平,红色发光二极管D6亮,提醒司机注意;当所测得的距离在安全距离范围内时,P1.4口为低电平,黄色发光二极管D8亮,从而可以起到光报警的作用。当P1.2口输入低电平时三极管Q1导通蜂鸣器响,当P1.2口输入高电平时三极管Q1截止蜂鸣器不响,从而起到声音报警的作用。电路如图3.9 和 3.10 。 图3.9 声音报警 图3.10 光报警3.5 电源电路电源电路主要是为系统提供电源,在本设计中,为了使电路简单,我们直接用USB接口提供5V直流电源为电路供电。图3.11中的第2个图是电源指示灯电路,指示是否给系统加电, 图3.11 电源电路3.6 按键设置通过按键设置系

25、统报警的最小值和安全范围。报警电路主要作用是在距离较近时进行报警。根据实际情况,当距离大于3.5m时,可认为是安全状态,液晶显示“-”标志;在3.5m和1m之间时认为是正常的,显示实测距离;小于1m时,应提醒注意,系统发出报警功能。通过按键S2选择最小值L或最大值H的设定;S5和S4设定其大小。按键电路如3.12所示:图3.12 按键电路4 软件设计4.1 主程序设计超声波测距的软件设计主要由超声波发生与接收程序及显示子程序组成。超声波测距的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言编程。主程序首先是对系统环境初始化,设定时器/计数

26、器T0工作方式为方式1且为定时模式,开总中断允许位EA和T0中断允许位ET0。所有的流程框图如下所示: 图4.1 主程序设计框图4.2 超声波测距主程序的程序#include /器件配置文件#include sbit RX=P37;sbit TX=P36;sbit LCM_RW=P16; /定义LCD引脚sbit LCM_RS=P15;sbit LCM_E=P17;sbit SET=P32;sbit UP=P26;sbit DOWN=P27;sbit BUZ=P12;sbit D1=P13;sbit D2=P14;#define LCM_Data P0#define Busy 0x80 /用于

27、检测LCM状态字中的Busy标识#define uchar unsigned char#define uint unsigned int unsigned long SET_H=35,SET_L=10;void LCMInit(void);void DisplayOneChar(uchar X, uchar Y, uchar DData);void DisplayListChar(uchar X, uchar Y, uchar code *DData);void Delay5Ms(void);void Delay400Ms(void);void Decode(uchar ScanCode);v

28、oid WriteDataLCM(uchar WDLCM);void WriteCommandLCM(uchar WCLCM,BuysC);uchar ReadDataLCM(void);uchar ReadStatusLCM(void);uchar code mcustudio =Set:L1.0M H3.5M ;uchar code email = 153607297;uchar code Distance= Distance: ;uchar code Cls = ;uchar code ASCII15 = 0,1,2,3,4,5,6,7,8,9,.,-,M;static uchar Di

29、sNum = 0; /显示用指针 uint time=0; unsigned long S=0; bit flag =0; uchar disbuff4 = 0,0,0,0,;/写数据void WriteDataLCM(uchar WDLCM) ReadStatusLCM(); /检测忙 LCM_Data = WDLCM; LCM_RS = 1; LCM_RW = 0; LCM_E = 0; /若晶振速度太高可以在这后加小的延时 LCM_E = 0; /延时 LCM_E = 1;/写指令void WriteCommandLCM(uchar WCLCM,BuysC) /BuysC为0时忽略忙检测

30、 if (BuysC) ReadStatusLCM(); /根据需要检测忙 LCM_Data = WCLCM; LCM_RS = 0; LCM_RW = 0; LCM_E = 0; LCM_E = 0; LCM_E = 1; /读数据uchar ReadDataLCM(void) LCM_RS = 1; LCM_RW = 1; LCM_E = 0; LCM_E = 0; LCM_E = 1; return(LCM_Data);/读状态uchar ReadStatusLCM(void) LCM_Data = 0xFF; LCM_RS = 0; LCM_RW = 1; LCM_E = 0; LCM

31、_E = 0; LCM_E = 1; while (LCM_Data & Busy); /检测忙信号 return(LCM_Data);void LCMInit(void) /LCM初始化 LCM_Data = 0; WriteCommandLCM(0x38,0); /三次显示模式设置,不检测忙信号 Delay5Ms(); WriteCommandLCM(0x38,0); Delay5Ms(); WriteCommandLCM(0x38,0); Delay5Ms(); WriteCommandLCM(0x38,1); /显示模式设置,开始要求每次检测忙信号 WriteCommandLCM(0x08,1); /关闭显示 WriteCommandLCM

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1