基于单片机的超声波测距系统的设计与实现毕业设计Word格式文档下载.docx

上传人:b****6 文档编号:22039336 上传时间:2023-02-02 格式:DOCX 页数:29 大小:715.73KB
下载 相关 举报
基于单片机的超声波测距系统的设计与实现毕业设计Word格式文档下载.docx_第1页
第1页 / 共29页
基于单片机的超声波测距系统的设计与实现毕业设计Word格式文档下载.docx_第2页
第2页 / 共29页
基于单片机的超声波测距系统的设计与实现毕业设计Word格式文档下载.docx_第3页
第3页 / 共29页
基于单片机的超声波测距系统的设计与实现毕业设计Word格式文档下载.docx_第4页
第4页 / 共29页
基于单片机的超声波测距系统的设计与实现毕业设计Word格式文档下载.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

基于单片机的超声波测距系统的设计与实现毕业设计Word格式文档下载.docx

《基于单片机的超声波测距系统的设计与实现毕业设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的超声波测距系统的设计与实现毕业设计Word格式文档下载.docx(29页珍藏版)》请在冰豆网上搜索。

基于单片机的超声波测距系统的设计与实现毕业设计Word格式文档下载.docx

图1.2系统设计框图

从效益和成本出发,HC-SR04超声波测距模块是一个非常好的选择。

由下图1.3可看出,T0时刻由超声波模块的发射端发射一束方波,并于此时定时器开始工作计时。

接收端收到回波后,产生一负跳变通到单片机的中断口。

之后单片机会响应中断程序,同时定时器会停止计数。

两次测得的时间差,就是我们所需要的超声波在媒介中的传播时间t,通过进一步计算便可以得出距离。

图1.3时序图

通过本次设计,完善自我,学习了解单片机的相关知识。

并且能够具体了解基于单片机的超声波测距的发展现状以及能进行简易测距仪器制作。

这对我们以后的工作生活是非常有意义的。

第二章超声波测距的原理

2.1超声波介绍

所谓超声波就是频率超过20KHz人耳不能辨识的音波。

如今超声波被应用到诸如工业、医疗、军事等各种行业当中。

超声波的特点:

(1)超声波传播过程中,方向性很强,能量集中。

(2)超声波的传播适应于各种不同媒质,传播距离够远。

(3)超声波载体性很强,可作为载体进行治疗操作。

(4)超声波能够在固、液、气、固熔等介质中传播。

(5)超声波传递的能量可以很强。

(6)超声波具有反射的现象。

这是其之所以能够成为测量距离的重要方法之一的原因之一。

(7)超声波不但是一种波动形式,可作为媒介如B超等进行医疗诊断;

同时也是一种能量形式,可对患者进行治疗。

2.2超声波传感器的介绍 

超声波发生器可分为两大类:

一是电气方式产生超声波;

二是机械方式产生超声波。

而压电式超声波发生器是目前常用的。

超声波传感器结构如下图2.1和图2.2。

图2.1超声波传感器外部结构图2.2超声波传感器内部结构

2.2.1传感器的选择

本课题设计选用的是HC-SR04超声波模块。

HC-RS04模块不但性能比较稳定、测度距离精确,而且该模块的测量精度高,盲区小。

可用于机器人避障,物体测距,液位检测,公共安全,停车场检测。

电气参数如下表2.1。

表2.1超声波模块HC-SR04的电气参数

电气参数

超声波模块HC-SR04

工作电压

DC5V

工作电流

15mA

工作频率

40KHz

最远射程

4m

最近射程

2cm

测量角度

15度

输入触发信号

10uS的TTL脉冲

输出回响信号

输出TTL电平信号,与射程成比例

规格尺寸

45*20*15mm

基本工作原理:

采用I/O口TRIG触发测距。

能够给出至少10us的高电平信号。

该模块将会自动向外界发送8个40KHz的方波。

并且还能够自动检测是否有信号返回。

当信号返回时,I/O口对此作出响应而输出一个高电平。

这个高电平所持续存在的时间就是超声波往返的时间。

本模块的使用方法非常简单。

通过控制口发一个10µ

s以上的高电平,然后在接收端等候高电平输出。

当高电平输出时,定时器开始计时。

这个端口的高电平经过一段时间后会变为低电平。

变为低电平的一瞬间我们所读取定时器的值,就是这次测量距离的时间。

这样就可以算出距离。

通过不断的进行周期测量,就可以得出移动测量的值。

2.2.2超声波测距的原理

超声波测距方法主要有三种:

(1)声波幅值检测法:

该方法虽然最廉价最简单但容易受反射波的影响,精确度却是最低,在此就不详细介绍了。

(2)相位检测法:

相位检测法是利用发射波与反射波之间的相位差来实现超声波测距。

设起始时刻为

,则发射波的强度为

(实际测量时的发射波是方波,为了方便计算说明所以在此用正弦波举例)。

接收调制波的强度为

,则接收与发射时刻的相位差为

,时间差为

根据时间和相位的关系,待测距离

可以转换为

其中

为波长,

为整周期数,

为非整周期的相位差值。

可用计数器测出。

该方法虽然测量精确度高精度高,但是检测范围有限。

(3)渡越时间法:

首先通过检测计数从超声波传感器的发射端发出声波的时刻记为t1,超声波返回到传感器接收端的时刻t2,两者的时间差t=t2-t1,这个时间差就是渡越时间。

设L为测量距离,t为往返时间差,超声波的传播速度为c,求距离L。

则有L=ct/2。

该方法简单而直接,极易实现。

虽然精度相对于相位检测法差点,但好在测量距离足够远。

综合以上分析,本设计将采用渡越时间法。

超声波测距原理如图2.3所示。

图2.3超声波测距原理图

2.2.3温度补偿

超声波也是声波,所以其声速c仍然与空气温度有关。

一般来说,c随着温度每升高1℃,就增加0.6m/s。

表2.2列出了几种温度下的声速。

表2.2超声波声速随温度的变化

温度(℃)

-30

-20

-10

10

20

30

100

声速(m/s)

313

319

325

323

338

334

349

386

测量时,若温度变化不大,则声速取值c=340m/s。

若要求高精度,则可通过温度补偿或者软件改进提高精度。

在本设计中用STC89C51中的定时器来测量超声波传播时间,用DS18B20测量环境温度,达到提高测距精度的目的。

空气中声速与温度的关系可表示为:

公式2-

(1)

声速确定后,只要得到超声波往返的时间,就可以求得距离:

公式2-

(2)

增加角度补偿可使得测量数值更加的精确。

公式2-(3)

2.2.4测量盲区

我们都知道,超声波模块发射探头和接收探头是并排放置到铜板上的。

而为了方便测量,再加上测量会有一个夹角,夹角越小越精确,因此他们离着很近。

显而易见,发射探头所发出的超声波必然会先传播到接收探头。

但该声波信号并不是反射回来的信号,只要检测到该信号,接收电路就会对其进行处理而产生中断信号,单片机也会跟着做出响应。

但所测得值并不是我们要测的,是错误的操作。

因此要等发送脉冲一段时间后才能让单片机接收中断信号。

然而,该短时间内所走过的长度我们是不能检测到的,即为测量盲区。

可用下图2.4表示。

图2.4超声波回波测距原理分析图

2.3本章小结

本章主要是介绍设计相关理论,对超声波和设计所用单片机作了简要概述,并对STC89C51的性能特点、外部结构和内部组成做了相关阐述。

超声波传感器的选择也很重要。

最重要的是超声波测距的原理方法,这是根本,因此本章对此进行了相关介绍,并为对测量时产生的误差进行减免措施。

第三章系统硬件设计

3.1系统硬件设计

系统硬件主要由以下六部分组成:

(1)单片机系统。

(2)超声波发射电路。

(3)超声波检测接收电路。

(4)温度补偿电路。

(5)显示电路。

(6)报警电路。

其结构框图如图3.1所示。

图3.1系统硬件设计结构框图

社会在发展,科技在提高,超声波测距技术也随之更进一步。

但超声波的发射和接收仍然是我们要研究的重要问题。

超声波传感器的工作原理都是一样的。

无论其大小、形状、灵敏度有什么不同。

而要提高超声波测量的精度,则必须要从设计要求的关键和难点出发,即对超声波的发射处理和超声波的接收处理这两个重要方面。

3.2单片机概述

单片机就是一块由诸多功能模块构成的集成电路芯片。

所以单片机会拥有一些特殊功能。

然而这些功能的实现需要人为控制,即通过编程来控制,进而实现各种不同的功能。

目前单片机应用领域很广泛:

工业自动化。

如数据采集、测控技术。

智能仪器仪表。

如数字示波器、数字信号源、数字万用表、感应电流表等。

消费类电子产品。

如洗衣机、电冰箱、空调机、电视机、微波炉、IC卡、汽车电子设备等。

通信方面。

如调制解调器、程控交换技术、手机等。

武器装备。

如战斗机、坦克和智能导弹等。

3.2.1STC89C51主要性能特点

STC89C51简单介绍:

(1)STC—前缀,表示STC公司生产的产品。

(2)8—表示该芯片为8051内核芯片。

(3)9—表示内部含FlashE²

PROM存储器。

(4)C—表示该器件为CMOS产品。

(5)5—固定不变。

(6)1—表示该芯片内部程序存储空间的大小为4KB。

算法其实就是5后面的这个数乘上4KB。

主要性能:

(1)STC89C51系列单片机是从引脚到内核都完全兼容标准8051的单片机。

(2)STC89C51系列单片机是新一代的8051单片机。

它具有高速/低功耗的优点,工作频率最高可达到25MHz~50MHz。

(3)STC89C51系列单片机有较宽的工作电压。

5V型号的可工作于3.4V~6.0V。

3.3V型号的可工作于2.0V~4.0V。

STC89C51单片机还具有以下特点:

(1)ISP与IAP编程方式。

(2)6时钟,机器周期模式。

(3)降低簟片机对外部电磁辐射。

(4)内部扩展RAM。

(5)双DPTR数据指针。

(6)扩晨P4口。

(7)内置看门狗电路。

(8)软复位功能。

(9)较高的性价比。

3.2.2STC89C51结构组成

其外形封装直插式40脚封装(DIP)如图3.2:

STC89C51的4个8位I/O口的功能说明如下:

(1)P0口(39~32脚):

P0口是一个8位漏极开路的双向I/O口。

每个口可独立控制。

51单片机的P0口并不能正常地输出高电平或者低电平。

这是由于在其内部没有上拉电阻的原因,会造成其其处于高阻状态而无法正常工作。

实际使用时,为使其能够正常工作我们需要为其添加上上拉电阻(一般选择10KΩ)。

高阻在程序校验时,输出指令字节。

程序校验时,需要外部上拉电阻。

(2)P1口(1~8脚):

是一个准双向8位I/O口,每个口可独立控制。

是一个“准”双向口。

这个“准”不是即将成为而差一点的意思,而是准备的“准”。

之所以称他为“准”双向I/O口,有两个原因。

一是是因为其内部含上拉电阻并且不能进行输入锁存。

二是首先要先向P2口写入1才能把P2口作为输入口使用,也就是在这之前会有一个“准”备程序。

(3)P2口(21~28脚):

P2口也是一个准双向8位I/O口。

每个口均可独立控制,内带上拉电阻,与P1口相似。

(4)P3(10~17脚)口:

是一个准双向8位I/O口。

每个口可独立控制,内带上拉电阻。

P3口拥有两个功能。

一是作为普通I/O口使用。

其第二功能如下表3.1所示。

表3.1P3口各引脚第二功能定义

标号

引脚

第二功能

说明

P3.0

RXD

串行输入口

P3.1

11

TXD

串行输出口

P3.2

12

INT0

外部中断0

P3.3

13

INT1

外部中断1

P3.4

14

T0

定时/计数器0外部输入端

P3.5

15

T1

P3.6

16

WR

外部数据存储器写脉冲

P3.7

17

RD

外部数据存储器读脉冲

图3.2STC89C51引脚排列

3.2.3STC89C51内部组成

STC89C51单片机内包含的具体部分如下:

(1)一个8位CPU。

(2)一个片内振荡器及时钟电路。

(3)4KBFlash程序存储器。

(4)128BRAM数据存储器。

(4)两个16位定时器/计数器。

(5)看门狗。

(6)32条可编程的I/O线(4组8位并行I/O端口)。

(7)一个可编程全双工串口通信。

(8)8个中断源、两个优先级嵌套中断结构。

如图3.3是单片机STC89C51各部件关系的的框图。

图3.3STC89C51内部组成

3.3超声波发射电路设计

要完成超声波测量,首先需要超声波发射电路能够向外界发射出40KHz的方波脉冲信号。

本系统设计使用软件(如用单片机软件编程)的方法输出该方波脉冲信号。

由电路可看出需要在单片机的P1.0端口输出该脉冲信号,但其输出功率却不不能够达到我们所需要的要求。

为了满足远距离测量,则脉冲信号的发射距离就需要够远也就要增大其功率。

所以该脉冲信号分成两路,用来增大传输功率,以满足设计要求。

最后送给超声波发射换能器TCT40-16T以声波形式发射到空气中。

发射部分电路,如图3.4所示。

图3.4超声波发射电路框图

3.3.1发射电路设计方案

对发射电路进行分析:

(1)发射波必须具备良好的重复性。

从而可以得到高分辨率。

(2)发射波尽量具备同一频率的振动。

从而达到可以消除干扰和接收同一振动波峰的目的。

(3)发射波需要用间断多脉冲发射的方式进行发射。

从而达到可以测量较远距离的要求。

(4)单片机正常工作输出最大电压5V。

要使得发射电路更合加理就需要进行功率放大。

综上所述,发射电路设计的主要解决问题是要提高发射到发射探头的输入电压和功率。

本设计系统发射的方波脉冲信号,输出波形稳定,但输出电流和功率却很低。

因此添加一个单电源乙类互补对称功率放大电路,如图3.5所示。

图3.5超声波发射电路

3.3.2超声波发射器的注意事项

超声波模块的工作原理:

首先由超声波发射器向测量目的地发出发射波,定时器同时开始计时。

到达目的地后会发生反射并立刻返回。

当超声波接收器接收到反射波后定时器就会马上停止计时。

限制该系统最大可测距离有四个因素:

(1)超声波的幅度。

(2)反射的质地。

(3)反射回波和入射声波之间的夹角。

(4)接收换能器的灵敏度 

测距误差主要来自以下四个方面:

(1)超声波波束与探测目标的入射角影响。

(2)超声波的回波强度受测量距离的直接影响。

一般来说,距离越远,强度越弱。

然而实际测量时,却不一定是第一个回波过零点触发。

(3)超声波的传播速度对测距有影响。

然而超声波在传播媒质中传播时会受到温度(其次还受压力和密度)的直接影响。

为提高测量精度需对声速进行修正。

(4)利用发射波的往返来进行距离计算是超声波测距的基本原理。

实际上这种测量方法存在发射和反射夹角,设这个夹角的大小为2θ。

当θ很小的时候,可近似的认为该夹角不存在,因此按公式

进行距离的计算;

当夹角很大时,就需要对距离进行修正,修正公式为:

公式3-

(1)

在实际测量过程中,超声波测距板块上的发射探头和接收探头是并排在铜板上的,因此都会存在一个有效测量夹角。

本设计所使用的超声波测距模块的有效夹角为15度。

3.4超声波接收电路设计

接收换能器晶片在接收到超声波垂直作用后,会产生谐振。

并因此会形成逐步加强的机械振动。

因压电效应晶片只可以提供微小的交变电压信号,却不能提供电流信号。

因此要用一个前置放大电路将该信号充分放大,并为了排除干扰信号,在放大有用信号的同时还应加入滤波电路。

为了后续电路的设计更合理实用,需要加一个前置放大电路。

该放大电路能够对我们所需要的信号进行放大,对噪声干扰信号抑制。

通过这样操作来达到所需要求的最大信噪比的目的。

图3.6前置放大电路

前置放大电路的电路图如图3.6所示。

为满足设计要求,前置放大器的输入阻抗要足够大。

同时还必须有高精度、小输入的偏置电压 

为减小该系统地线噪声的影响,需要采取相应的措施,通过采用前置放大器与其他元件组成反向比例放大电路是其中一种非常有效的方法。

该放大器电路结构简单,本次设计用到的放大器是用R2和R3来调节电压的放大倍数的。

图中Rp称为平衡电阻,是为了平衡两输入端的电阻而存在。

为了满足系统设计需要,通过放大电路将输入信号放大200倍。

3.5LCD显示部分

本设计系统所测量得到的距离会用LCD1602液晶显示屏来显示。

显示屏的参数如表3.2。

表3.21602参数

显示容量

16X2个字符

芯片工作电压

4.5~5.5V

芯片工作电流

2.0mA(5.0V)

模块最佳工作电压

5.0V

字符尺寸

2.95X4.35(WXH)mm

液晶显示屏具有小体积、低消耗、使用方便和显示内容丰富等优点。

比数码管更专业、美观。

在实际使用过程中,LCD的数据线要与单片机的P0口连接,LCD的控制线要与单片机的P2口连接。

如图3.7所示。

图3.71602液晶显示电路

第1脚:

vss为地电源。

第2脚:

VDD接5V正电源。

第3脚:

v0为液晶显示器对比度调整端。

接正电源时对比度最低,接地

电源时对比度最高。

对比度过高会产生“鬼影”,可通过一个1OK的电位器调整对比度。

第4脚:

RS为寄存器选择。

低电平选用指令寄存器,高电平选用数据寄存器。

第5脚:

RW为读写信号线。

低电平时进行写操作,高电平时进行读操作。

第6脚:

E端为使能端。

当E端由高电平跳变成低电平时,液晶模块执

行命令。

第7-14脚:

DO-D7为8位双向数据线。

第15-16脚:

空脚

为了布线方便,单片机端的D0~D7与LCD1602的D7~D0连接,正好反着接。

因此在编写软件时要记得做相应处理,才能读取正确。

3.6报警部分

采用一个蜂鸣器,由P1.2输出一定频率的信号。

在连接到蜂鸣器之前,先由一个三极管9012的放大。

报警部分的连线,如图3.8所示。

图3.8蜂鸣器报警电路

3.7DS18B20部分

DS18820内部结构主要由四部分构成。

分别为:

(1)64位光刻ROM。

(2)温度传感器。

(3)非挥发温度报警触发器TH和TL。

(4)配置寄存器。

因声速与空气的温度有关,所以为了提高系统精度,采用温度补偿功能。

本设计将采用DS18B20温度传感器进行环境温度采集。

该温度传感器具有简单体积小、精度高、连接方便和线路简单等特点。

将DS18B20的数据线与单片机的P1.1口相连,这样温度传感器就能将检测到的环境温度发送到单片机达到温度测量的目的。

如图3.9所示。

图3.9DS18B20温度测量电路

3.8本章小结

本章着重介绍了超声测距系统的具体硬件设计电路。

全面详细的对该系统硬件的各个部分(主要是发射、接收、检测以及显示这四部分)电路的电路原理进行分析阐述。

了解系统设计的一般情况。

第四章系统软件设计

4.1系统软件设计

系统程序结构:

(1)DS18B20温度传感器接口模块。

该模块首先要初始化程序,然后再写入命令最后进行读取子程序。

(2)基于TC1602的显示模块。

该模块和温度传感接口模块用法相似。

(3)温度补偿与距离计算模块。

该模块需要对超声波发送控制程序、接收处理程序、温度补偿子程序等进行程序编写。

(4)本次设计使用C语言编写程序,C语言相比汇编有许多的优势;

编译器使用Keil 

Version4进行程序编译,Keil功能强大使用方便。

系统软件的主程序可分为以下几部分:

(1)系统初始化。

(2)按键处理。

(3)各个子程序的调度管理。

本设计主程序的思想如下:

(1)温度为两位显示,距离为三位显示,单位为cm。

(2)温度每隔900ms就会进行一次采样。

900ms符合DS18B20在12位精度下转换周期。

所以满足该速度要求。

每隔60ms超声波就会发送一次。

(3)按键S为测量启动键。

(4)系统采用STC89C51的内时钟。

(5)没有使用看门狗功能。

(6)超声波发送一定时间后才开始启动检测,避免直达信号造成误判。

所以系统最小测量约为2cm。

如图4.1所示描述了各个模块的关系。

图4.1系统软件方框图

//主函数

voidmain()

{

Init_ultrasonic_wave();

//屏幕初始化

Init1602();

//温度初始化

tmpchange();

t_=tmp();

}

4.2外部中

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

当前位置:首页 > 考试认证 > 从业资格考试

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

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