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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

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

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

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

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

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

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

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

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

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

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

11、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、定时器/计数器、串口、中断

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

13、F,电路如图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,串口等多种通信方式,内带看门狗,工作稳定可靠。本模块如图3.4和图3.5所示:

14、图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接口从左到右依次编号1,2,3,4

15、,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个40KHZ的超声波脉冲,然后

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

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

18、源正极;第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 声光报警当所测得的距离小于设置的报警距离时,P1.3口

19、为低电平,红色发光二极管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 按键设置通过按键设置系统报警的最小值和安全范围。

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

21、。所有的流程框图如下所示:图4.1 主程序设计框图4.2 超声波测距主程序的程序#include /器件配置文件intrins.hsbit 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 /用于检测LCM状态字中的Busy标识#define uchar unsigned

22、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);void WriteDataLCM(uchar WDLCM);void Writ

23、eCommandLCM(uchar WCLCM,BuysC);uchar ReadDataLCM(void);uchar ReadStatusLCM(void);uchar code mcustudio =Set:L1.0M H3.5M ;uchar code email = 153607297uchar code Distance= Distance: uchar code Cls = uchar code ASCII15 = 0,123456789.-Mstatic uchar DisNum = 0; /显示用指针 uint time=0; unsigned long S=0; bit f

24、lag =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 = 1;/写指令void WriteCommandLCM(uchar WCLCM,BuysC) /BuysC为0时忽略忙检测 if (BuysC) ReadStatusLCM(); /根据需要检测忙 LCM_Data = WCLCM; LCM_RS =

25、0;/读数据uchar ReadDataLCM(void) LCM_RW = 1; return(LCM_Data);/读状态uchar ReadStatusLCM(void) LCM_Data = 0xFF; while (LCM_Data & Busy); /检测忙信号void LCMInit(void) /LCM初始化 LCM_Data = 0; WriteCommandLCM(0x38,0); /三次显示模式设置,不检测忙信号 Delay5Ms(); WriteCommandLCM(0x38,1); /显示模式设置,开始要求每次检测忙信号 WriteCommandLCM(0x08,1); /关闭显示 WriteCommandLCM

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

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