基于单片机的超声波测距系统的设计与实现毕业论文.docx
- 文档编号:14141262
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:32
- 大小:716.32KB
基于单片机的超声波测距系统的设计与实现毕业论文.docx
《基于单片机的超声波测距系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的超声波测距系统的设计与实现毕业论文.docx(32页珍藏版)》请在冰点文库上搜索。
基于单片机的超声波测距系统的设计与实现毕业论文
基于单片机的超声波测距系统的设计与实现毕业论文
第一章绪论
1.1研究的背景和意义
随着科技的发展,超声波已经可以对实物做出精确测量。
伴随着社会经济的蓬勃发展,电子测量技术也逐渐被应用到各个领域,而超声波测距技术因拥有测量精确度高、成本消耗低、性能稳定度高等优点则成为其中的佼佼者。
频率在20KHz以上的声波是超声波。
也正是因为这些特性超声波才会被应用到测量距离中。
科技在不断发展,人们的需求也在不断提高,因此,超声波逐渐被人们应用到生活和个行业(如医疗、工业、航天等)当中。
超声波是一种非常实用有效的测量方法,人们借用它不需要接触物体就可以进行精确测量。
它还对环境因素(如光线、高温、腐蚀气体和潮湿等)的测量影响具有较高的抵抗性。
而且还有测量精确度高,对环境无污染,基本上不用维护,使用寿命长等好处。
所以能够广泛应用于化工、污水、环境监测等诸多具有腐蚀性的行业中。
对环境适应能力强,无论在什么样的环境中,都能够进行精确测量并标定准确度。
可对多种液体(如水、酒和饮料等)进行液位控制,设定差值。
还有一个很大的优点,能够对盛装液体的液位罐直接显示其液位高度。
因此,超声波测距在空气和特殊环境中拥有较广泛的应用。
超声波在机器人的研制和倒车雷达等实例中也被广泛使用。
1.2国内外研究现状
实际上,在工程应用当中超声波检测技术存在两个突出的问题,一是:
由于超声波自身传播的特性和某些材料的吸收特性,使得超声波在传播距离加长的同时,回波信号也随着变的异常微弱;二是:
回波信号中夹杂着许多干扰信号,而回波信号自身较为微弱,很容易被噪声所淹没。
因此传统方法对提取回波信号已无效。
人们一直很重视如何降低输入信号的信噪比。
从19世纪末,傅里叶变换理论和傅里叶级数问世,人们就高度重视对频率信号的检测,第一台锁相放大器在1962年问世,从而使提取淹没在噪声中的信号成为现实。
在此之后不断涌现出新的检测理论和方法,成功研制出许多性能优良的测量仪器,并不断成功的降低微弱信号的测量下限。
自20世纪90年代开始,经过十多年的发展,混沌理论作为一种新的检测方法出现,并在在微弱信号检测中具有巨大的潜力。
自从进入21世纪开始,国内的广大学者和科研人员就对超声波测量精确度的提高方面进行了大量的尝试研究。
其中有对超声波发射脉冲的选取和对新型超声波换能器的研发。
主要研究方向是如何提高超声波回波信号精度的处理方法。
更是针对影响超声波测距精确度的措施提出了温度补偿等方法。
就目前来说,国内虽然对超声波回波信号的处理有了较为成熟的研究发展,由于它对超声波测距的探测定位具有关键性作用,因此国内学者仍然将它作为重要研究方向之一。
1.3课题研究内容和意义
本设计系统打算实现在实验室内进行小范围的测距。
测距量程约为0.02m—4m,测量精度可达到毫米级。
系统整体结构如图1.1所示。
图1.1系统设计方案图
由图可知本系统硬件设计是由六部分组成,分别为:
(1)发射电路。
(2)接收电路。
(3)单片机控制器。
(4)LCD显示电路。
(5)温度测量电路。
(6)声音报警电路。
实际测量时,在LCD液晶显示屏上显示出所在地的实时环境温度。
发射电路发射超声波经反弹后被接收电路接收。
经过STC89C51单片机进行数据处理后将距离也显示到LCD上。
如果距离超出设定的值,报警电路就会鸣叫,即提醒测量距离超出量程。
超声波测距器的系统框图如下图1.2所示。
图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
0
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
10
RXD
串行输入口
P3.1
11
TXD
串行输出口
P3.2
12
INT0
外部中断0
P3.3
13
INT1
外部中断1
P3.4
14
T0
定时/计数器0外部输入端
P3.5
15
T1
定时/计数器0外部输入端
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();
tmpchange();
t_=tmp();
tmpchange();
t_=tmp();
}
4.2外部中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 超声波 测距 系统 设计 实现 毕业论文