《毕业设计论文超声波测距仪设计.doc》由会员分享,可在线阅读,更多相关《毕业设计论文超声波测距仪设计.doc(29页珍藏版)》请在三一办公上搜索。
1、本科毕业设计(2011届)题 目超声波测距仪设计学 院电子信息学院专 业电子信息工程班 级学 号学生姓名指导教师完成日期诚 信 承 诺我谨在此承诺:本人所写的毕业论文XXXXXXXX均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。 承诺人(签名): 年 月 日杭州电子科技大学本科毕业设计摘 要本设计主要利用单片机实现控制超声波测距系统,单片机控制定时器计时、软件产生约40KHZ的方波信号触发发射传感器,控制超声波的发射和接收。利用超声波传输中距离与时间的关系,采用AT89s52单片机进行控制及数据处理,设计出了能准确测量两点间距离的超声波测距仪
2、。发射电路由单片机输出端直接驱动超声波发送。接收电路使用三极管组成的放大,整形电路,该电路简单,调试工作较小。该测距仪主要由单片机控制电路、超声波发射器电路、超声波接收器电路及显示电路构成。利用所设计出的超声波测距仪,对不同距离进行了测试,并进行了的误差分析。该系统电路设计合理简单、工作稳定、性能良好、检测速度快、计算简单、易于做到实时控制,并且在测量误差方面能达到简单工业实用的要求。关键词:超声波测距;AT89s52;超声波传感器;定时器;方波信号ABSTRACT This ultrasonic ranging system designer mainly controlled by Mic
3、ro Control Unit, MCU controls the timer, the software produces about 40KHZ square wave signal triggered emission sensors, to control the transmit and receive ultrasound. The AT89s52 MCU to control the data process and design to accurately measure the distance between two points in the ultrasonic ran
4、ge finder. The Transmitter circuit drives the output from the MCU to send ultrasound directly. Receiver circuit consists of transistor amplification, the shaping circuit. The circuit is simple, less debugging. The range finder controller system is mainly included by the microcontroller, ultrasonic t
5、ransmitter circuit, ultrasonic receiver circuit and display circuit. Using the design of the ultrasonic range finder, for different distances were tested, and conducted the error analysis. The system is reasonably simple circuit design, stable, good performance, test speed, calculation is simple and
6、 easy to do real-time control, and measurement error terms to achieve a simple and requirements of practical industry.朗读显示对应的拉丁字符的拼音字典 Key words:ultrasonic distance;AT89s52;ultrasonic sensors;timer;square wave;目 录1 引言 -12 概述 -2 2.1超声波测距系统概述 -22.2 设计方案思路 -32.3 研发方向和技术关键 -32.4主要设计技术指标 -33 总体设计 - 4 3.1
7、 发射传感器触发-43.2 发射传感器驱动 -43.3接收信号处理-53.4超声波的衰减 - 113.5数码管驱动显示 - 54 硬件设计 -6 4.1 AT89s52单片机 -64.2超声波传感器-84.3超声波测距 -94.4数码管驱动-115 软件设计 -14 5.1 总体方案 -145.2 程序流程 -145.3 模块说明 -146 制作与调试步骤-18 6.1 硬件电路的布线与焊接 -186.2 调试步骤 -187 系统测试结果及误差分析 - 18 8 结论 -20致谢 -21参考文献 -22附录 -231 引言超声测距是一种非接触式的检测方式。与其它方法相比,如电磁的或光学的方法,
8、它不受光线、被测对象颜色等影响。对于被测物处于黑暗、有灰尘烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。因此在液位测量、机械手控制、车辆自动导航、物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式
9、,适用于测距仪。此次设计采用反射波方式。 本设计采用AT89s52单片机进行控制及数据处理,设计出了能精确测量两点间距离的超声波测距仪。该测距仪主要由单片机控制电路、超声波发射器电路、超声波接收器电路、及显示电路构成。2 概述2.1 超声波测距系统概述超声测距仪是根据超声波遇到障碍物反射回来的特性进行测量的。超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。 通过不断检测产生波发射后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的时间差T,然后求出距离L。基本的测距公式为:L=(t/2)*C式
10、中 L要测的距离 T发射波和反射波之间的时间间隔 C超声波在空气中的声速,常温下取为340m/s声速确定后,只要测出超声波往返的时间,即可求得距离L。超声波测距的方法有多种,如相位检测法、声波幅值检测法和渡越时间检测法等。相位检测法虽然精度高,但检测范围有限; 声波幅值检测法易受反射波的影响。本仪器采用超声波渡越时间检测法。其原理为: 检测从超声波发射器发出的超声波,经气体介质的传播到接收器的时间,即渡越时间。渡越时间与气体中的声速相乘,就是声波传输的距离。超声波发射器向某一方向发射超声波,在发射时刻的同时单片机开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就
11、立即停止计时。 超声波测距有以下几个方面的发展趋势:(1)价格比较低廉的超声波测距仪可用于固定物位或液位的测量,适用于建筑物内部、液位高度的测量等。(2)提高超声波测距精度的方法,根据测距系统应用具体环境的不同提高精度的方法,但基本都是围绕着减小测量渡越时间的误差和减小环境温度的影响两个方面提出的。2.2 本设计方案思路本设计以AT89s52单片机为控制核心,产生驱动信号,超声波发射电路,接收电路信号处理,检测,完成时间的测量为主要设计内容。单片机编程用引脚端口输出超声波换能器所需的40kHz的方波信号,去触发超声波发射传感器,接收传感器接收到微弱信号后进行多级放大,滤波,整形,检波,送到单片
12、机引脚判断低电平信号。计算测距时间采用定时器计时完成。由时间再转化成距离显示即可。2.3 研发方向和技术关键(1)三位数码管动态显示编程,软件消影技术(2)合理设计产生40KHZ的方波信号,提高超声波发射传感器的性能;(3)接收传感器收到微弱信号的处理,检测;(4)52单片机定时器,中断子程序的控制设计。2.4 主要技术指标(1)盲区: 小于30cm(2)测量范围: 30cm300cm(3)测距误差: 不超过1cm(4)显示电路: 三位 LED数码管显示- 24 -3 总体设计按照系统设计的功能的要求,初步确定设计系统由单片机主控模块、显示模块、超声波发射模块、接收模块共四个模块组成。单片机主
13、控芯片使用Atmel公司的AT89s52系列单片机,该单片机工作性能稳定,同时也是在单片机课程设计中经常使用到的控制芯片。发射电路由单片机输出端直接驱动超声波发送。接收电路使用三极管组成的放大电路,电路简单。硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路四部分。采用12MHz高精度的晶振,以获得较稳定时钟频率,从而减小测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,P1.1端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的3位共阳LED数码管,段码输出端口为单片机的P0口,位码输出端口分别为单片机的P2.0、P2.1、P2.2口,
14、数码管位驱运用PNP三极管8850三极管驱动。超声波接收头接收到反射的回波后,经过接收电路处理后,向单片机P1.1输入一个低电平方波。单片机控制着超声波的发送,超声波发送完毕后,立即启动内部计时器T0计时,当检测到P1.1由高电平变为低电平后,立即停止内部计时器计时。单片机将测得的时间与声速相乘再除以2即可得到测量值,最后经3位数码管将测得的结果显示出来。3.1发射传感器触发由于传感器的中心频率是40KHZ,本系统采用的是高精度的12MHZ晶振,方波的周期为1/40ms,即25s,半周期为12.5s。每隔半周期时间,让方波输出脚的电平取反,便可产生40kHz方波。由于单片机系统的晶振为12M晶
15、振,因而单片机的时间分辨率是1s,所以只能产生半周期为12s或13s的方波信号,频率分别为41.67kHz和38.46kHz。本系统在编程时选用了后者,让单片机产生约41.67kHz的方波信号来触发超声波发射传感器。3.2发射传感器驱动超声波发送部份为了简化电路,没加设置专门的超声波驱动电路,而是用单片机的P1.0引脚输出端加了一个上拉电阻后,从而增加驱动电流,就直接驱动超声波发送头。理论上,驱电电压只有5伏。3.3超声波的衰减超声波在介质中传播时,随着传播距离的增加,其能量逐渐减弱,这种现象叫超声波的衰减。引起超声波衰减的主要原因有: (1)扩散衰减:超声波在传播过程中,由于声束的扩散能量逐
16、渐分散,从而使单位面积内超声波的能量随传播距离的增加而减弱。超声波的声压和声强均随至声源的距离的增加而减弱。 (2)散射衰减:当声波要传播过程中遇到由不同声阻抗介质所组成的界面时,就将产生散乱反射,从而损耗了声波的能量,被散射的超声波在介质中沿着复杂的路径传播下去,最终变为热能。 (3)粘滞衰减:声波在介质中传播时,由于介质的粘滞性造成近质点之间的内摩擦从而使一部分声能转化热能。同时,由于介质的热传导,介质的稠密和稀疏部分之间进行热交换,从而导致声能的损耗,这就是介质的吸收现象。超声波的衰减有两种表示方法。一种是用底波多次反射的次数来表示。这种方法仅能粗略地比较声波在不同材料中的衰减程度,也就
17、是对同样厚度的不同材料在同样的仪器灵敏度下,观察它们的底面反射波的次数,底波次数多的材料,说明声波在该材料中衰减少,底波次数少,则声波衰减比较严重。另一种是理论上定量计算的表示方法,即用衰减系数来表示声波的衰减。3.4接收信号处理由于反射回来的超声波信号非常微弱,所以接收电路需要对其进行放大。接收到的信号加到BG1三极管、BG2三极管组成的两级放大器上进行放大。每级放大器的进行放大。放大的信号通过检波电路得到解调后的信号,即把多个方波波解调成多个大方波波。这里使用的是I N 4148检波二极管,输出的直流信号即两二极管之间电容电压。3.5 数码管驱动显示显示电路采用简单实用的3位共阳LED数码
18、管,段码输出端口为单片机的P0口,位码输出端口分别为单片机的P2.0、P2.1、P2.2口,数码管位驱运用PNP三极管8850三极管驱动。软件编程实现动态显示,并且软件消影。4 硬件设计4.1 AT89s52单片机主要性能(1)与MCS-51单片机产品兼容(2)8K字节在系统可编程Flash存储器(3) 1000次擦写周期(4) 全静态操作:0Hz33Hz(5)32个可编程I/O口线(6)三个16位定时器/计数器(7)八个中断源(8)全双工UART串行通道(9)l 低功耗空闲和掉电模式(10)掉电后中断可唤醒(11) 看门狗定时器 AT89S52管脚图功能特性描述AT89S52是一种低功耗、高
19、性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静
20、态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图4-1单片机最小系统超声波测距单片机系统主要由:A T 8 9s52单片机、晶振、按键复位电路、电源滤波部份构成。按键复位电路原理:按键后电容器被短路放电、RST直接和VCC相连,就是高电平,此时进入“复位状态”。松手后:电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到RST,仍然是“复位状态”;稍后,充电结束,电流降为0,电阻上的电压也将为0,RST降为低电平,开始正
21、常工作。4.2 超声波传感器超声波发生为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类: 一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等; 机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。4.2.1 压电式超声波发生器原理压电型超声波传感器的工作原理:它是利用压电效应的原理,压电效应有逆效应和顺效应,超声波传感器是可逆元件,超声波发送器就是利用压电逆效应的原理。所谓压电逆效应如图4-2所示,是在压电元件
22、上施加电压,元件就变形,即称应变。若在图a所示的已极化的压电陶瓷上施加如图b所示极性的电压,外部正电荷与压电陶瓷的极化正电荷相斥,同时,外部负电荷与极化负电荷相斥。由于相斥的作用,压电陶瓷在厚度方向上缩短,在长度方向上伸长。若外部施加的极性变反,如图c所示那样,压电陶瓷在厚度方向上伸长,在长度方向上缩短。图4-2压电逆效应图超声波传感器采用双晶振子,即把双压电陶瓷片以相反极化方向粘在一起,在长度方向上,一片伸长,另一片就缩短。在双晶振子的两面涂敷薄膜电极,其上面用引线通过金属板(振动板)接到一个电极端,下面用引线直接接到另一个电极端。双晶振子为正方形,正方形的左右两边由圆弧形凸起部分支撑着。这
23、两处的支点就成为振子振动的节点。金属板的中心有圆锥形振子。发送超声波时,圆锥形振子有较强的方向性,因而能高效率地发送超声波;接收超声波时,超声波的振动集中于振子的中心,所以,能产生高效率的高频电压。采用双晶振子的超声波传感器,若在发送器的双晶振子(谐振频率为40kHz)上施加40kHz的高频电压,压电陶瓷片就根据所加的高频电压极性伸长与缩短,于是就能发送40kHz频率的超声波。超声波以疏密波形式传播,传送给超声波接收器。超声波接收器是利用压电效应的原理,即在压电元件的特定方向上施加压力,元件就发生应变,则产生一面为正极,另一面为负极的电压。若接收到发送器发送的超声波,振子就以发送超声波的频率进
24、行振动,于是,就产生与超声波频率相同的高频电压,当然这种电压是非常小的,必须采用放大器放大。现以MA40S2R接收器和MA40S2S发送器为例说明超声波传感器的各种特性,表4-3示出的就是这种超声波传感器的特性。传感器的标称频率为40kHz,这是压电元件的中心频率,实际上发送超声波时是串联谐振与并联谐振的中心频率,而接收时各自使用并联谐振频率。表4-3超声波传感器MA40S2R/S的特性种类特性MA40S2R接收MA40S2S发送标称频率40kHz灵敏度74dB以上100dB以上带宽6kHz以上(80dB)7kHz以上(90dB)电容1600pF1600pF绝缘电阻100M以上温度特性20+6
25、0范围内灵敏度变化在10dB以内图4-4传感器的方向性图4-4表示传感器方向性的特性,这种传感器在较宽范围内具有较高的检测灵敏度,因此,适用于物体检测与防犯报警装置等。4.3超声波测距开始测量超声波信号开定时器关定时器数据运算显示器接收检测电声换能器电声换能器驱动电路超声波测距的方法有多种,如相位检测法、声波幅值检测法和渡越时间检测法等。相位检测法虽然精度高,但检测范围有限; 声波幅值检测法易受反射波的影响。本仪器采用超声波渡越时间检测法。其原理为: 检测从超声波发射器发出的超声波,经气体介质的传播到接收器的时间,即渡越时间。渡越时间与气体中的声速相乘,就是声波传输的距离。超声波发射器向某一方
26、向发射超声波,在发射时刻的同时单片机开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度随温度变化,其对应值如表4-5,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离( s ) ,即: s= vt/2表4-5声速与温度的关系温度()3020100102030100声速(m/s)313319325323338344349386 图4-6超声波发射和接收电路超声波发射、接收电路如图4-6。超声波发射部份由电阻R2及超声波发送头T40板成;接收电路由Q1,Q2组成的两组三级管放大电路组成;检波电路、比较整形电路由C6、D2
27、、D3及Q3组成。40kHz的方波由AT89s52单片机的P 1.0驱动超声波发射头发射超声波,经反射后由超声波接收头接收到40kHz的正弦波,由于声波在空气中传播时衰减,所以接收到的波形幅值较低,经接收电路放大,整形,最后输出一负跳变,输入单片机的P1.1脚。图4-7 超声波测距时序图4.4 数码管驱动数码管的结构数码管由7 个发光二极管组成,行成一个日字形,它门可以共阴极,也可以共阳极,通过解码电路得到的数码接通相应的发光二极而形成相应的字,这就是它的工作原理。基本的半导体数码管是由7 个条状的发光二极管(LED)按图1 所示排列而成的,可实现数字09及少量字符的显示。另外为了显示小数点,
28、增加了1 个点状的发光二极管,因此数码管就由8 个LED 组成,我们分别把这些发光二极管命名为a,b,c,d,e,f,g,dp。数码管按各发光二极管电极的连接方式分为共阳数码管和共阴数码管两种。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM 接到地线GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。共阴数码管内部连接如图3 所示。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM 接到+5V,当某一字段发光二极管
29、的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阳数码管内部连接如下图: 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8 个显示笔划“a, b, c, d, e, f, g, dp“的同名端连在一起,另外为每个数码管的公共极COM 增加位选通控制电路,位选通由各自独立的I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,
30、取决于单片机对位选通COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O 端口,而且功耗更低。静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O 端口进行驱动
31、,或者使用如BCD 码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O 端口多,如驱动5 个数码管静态显示则需要5840 根I/O 端口来驱动,要知道一个89S52单片机可用的I/O 端口才32 ,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。可以看出共阳,共阴数码管两个编码的各位正好相反。图4-5数码管驱动显示电路 为此本设计中采用动态显示驱
32、动数码管,并且软件消影。每一位数码管显示了它前一位要显示的字符和它本身要显示的字符的重叠效果。要想避免“拖影”就必须在每位数码管显示完后将其关闭,我们可以加入“P0=0xff;”,这样各位数码管都不会选中,然后下一位再显示时就不会有影响了,这就是所谓的消“影”。5 软件设计5.1 总体方案该系统的信号产生与数据处理传送部分,由AT89s52单片机主控芯片,方波信号产生,中断程序,定时器计时,低电平检测,数码管显示程序设计。5.2 主程序流图= 0 测量断码转换 开始 初始化 启动定时器 测量标志 超声波测距 距离上限值 显示值 = CCC = N 距离sj3)/大于时显示CCCbuffer2=
33、0x39;buffer1=0x39;buffer0=0x39; else if(ssj1)/小于时显示- - -buffer2=0x40;buffer1=0x40;buffer0=0x40; else timeToBuffer( );/调用转换段码功能模块 offmsd( );/调用判断百位数为零模块,百位为零时不显示scanLED( );/调用显示函数(2)数码管显示程序: digit=0x04; /用于选择位 for( i=0; i=1; /循环右移1位 (3)超声波测距程序:void csbcj( ) /超声波测距子程序if(cl=1) TR1=0;TH0=0x00;TL0=0x00; i=20;/超声波方波个数10个约40KHZwhile(i-)csbout=!csbout;TR0=1; i=150; while(i-) /此处延时防止超声波干扰i=0; while(csbint) /判断接收回路是否收到超声波的回波i+; if(i=2450)/如果达到一定时间没有收到回波,则将csbint置零,退出接收回波处理程序csbint=0;T
链接地址:https://www.31ppt.com/p-4872676.html