无线超声波测距仪.docx
《无线超声波测距仪.docx》由会员分享,可在线阅读,更多相关《无线超声波测距仪.docx(47页珍藏版)》请在冰点文库上搜索。
无线超声波测距仪
无线超声波测距仪
摘要:
本文介绍一种基于两片AT89S52单片机作为主控单元的超声波测距系统,主AT89S52通过测量输出脉冲宽度(即发射与接收超声波的时间间隔)从而计算距障碍物的距离,并将计算的距离以无线方式发送给从单片机,从单片机通过无线方式接收到距离数据,通过LCD以及PM5020语音芯片实时显示并且读出所测的距离,同时,该系统采用DS18B20实时采集环境温度,来修正超声波的传输速度因温度变化所发生的变化。
这套系统软硬件设计合理、抗干扰能力强、实时性良好,经过系统扩展和升级,可以有效地解决汽车倒车、建筑施工工地以及一些工业现场的位置监控。
关键词单片机超声波测距语音功能显示功能温度传感器
Wirelessultrasonicrangefinder
Abstract:
ThispaperdescribesamicrocontrollerAT89S52basedontwomaincontrolunitastheultrasonicrangingsystem,themainAT89S52bymeasuringtheoutputpulsewidth(ie,transmitandreceiveultrasonictimeinterval)inordertoestimatethedistancefromtheobstacles,andcalculationDistancefromwirelesslysenttothemicrocontrollerfromthemicrocontrollerwirelesslyreceivedistancedata,throughtheLCDandthePM5020voicechip,real-timedisplayandreadoutthemeasureddistanceatthesametime,thesystemusesreal-timecollectionDS18B20ambienttemperature,tofixthetransmissionofultrasoundvelocitychangesduetotemperaturechanges.
Thesystemhardwareandsoftwaredesignisreasonable,anti-interferenceability,goodreal-time,afterthesystemexpansionandupgrades,caneffectivelysolvethecarparking,constructionsites,aswellasthelocationofanumberofindustrialon-sitemonitoring.
Keywords:
SCMUltrasonicRangingvoicedisplaytemperaturesensor
目录
第一章绪论1
1.1选题背景1
1.2超声波测距技术在国内外的发展状况1
1.3现阶段几种常用的超声波发生方法2
本章小结:
2
第二章方案论证3
2.1超声波测距系统的基本组成3
2.2超声波测距系统工作原理3
2.3实现功能及控制系统方案的确定4
本章小结:
5
第三章硬件电路设计6
3.1超声波发射电路及驱动6
3.2超声波检测接收电路7
3.3测温电路的设计8
3.4单片机系统设计9
3.4.1CPU的介绍9
3.4.2复位电路的设计13
3.4.3时钟电路设计14
3.4.4单片机最小系统设计14
3.4.5看门狗的设计15
3.5LCD显示电路的设计17
3.6无线收发模块的设计22
3.7语音模块的设计23
3.8电源的设计26
本章小结:
27
第四章单片机软件设计28
4.1软件设计28
4.2子程序流程图29
4.2.1无线发射流程图30
4.2.2无线接收流程图31
4.2.3测温模块流程图32
4.2.4液晶显示流程图33
本章小结34
参考文献35
附录136
附录237
第一章绪论
1.1选题背景
传感器技术是现代信息技术的主要内容之一。
信息技术包括计算机技术、通信技术和传感器技术,计算机技术相当于人的大脑,通信相当于人的神经,而传感器就相当于人的感官。
比如温度传感器、光电传感器、湿度传感器、超声波传感器、红外传感器、压力传感器等等,超声波测距作为一种典型的非接触测量方法,在很多场合,诸如工业自动控制,建筑工程测量和机器人视觉识别等方面得到广泛的应用。
和其他方法相比,如激光测距、微波测距等,由于声波在空气中传播速度远远小于光线和无线电波的传播速度,对于时间测量精度的要求远小于激光测距、微波测距等系统,因而超声波测距系统电路易实现、结构简单和造价低,且超声波在传播过程中不受烟雾、空气能见度等因素的影响,超声波传感器在测量方面有着广泛、普遍的应用。
利用单片机控制超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且测量精度较高。
超声波测距系统主要应用于汽车的倒车雷达、机器人自动避障行走、建筑施工工地以及一些工业现场例如:
液位、井深、管道长度等场合。
因此研究超声波测距系统的原理有着很大的现实意义。
对本课题的研究与设计,还能进一步提高自己的电路设计水平,深入对单片机的理解和应用。
1.2超声波测距技术在国内外的发展状况
随着技术的发展,在短短几十年中,超声波技术得到迅猛发展,超声波测距相对其他测距技术而言成本低廉,测量精度较高,不受环境的限制,所以应用十分广泛,将它与红外、灰度传感器等结合共同实现绕障、自动寻线、测距等功能。
超声波是一种频率在20KHz以上的机械波,在空气中的传播速度约为340m/s(20°C时)。
超声波由于指向性强、能量消耗缓慢且在介质中传播的距离较远,因而经常用于距离的测量。
它主要应用于倒车雷达、测距仪、物位测量仪、移动机器人的研制、建筑施工工地以及一些工业现场等,例如:
距离、液位、井深、管道长度、流速等场合。
利用超声波检测往往比较迅速、方便,且计算简单、易于做到实时控制,在测量精度方面也能达到工业实用的要求,因此得到了广泛的应用。
本课题的研究是非常有实用和有商业价值的。
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,然而超声波测距在实际应用也有很多局限性,这都影响了超声波测距的精度。
一是超声波在空气中衰减极大,由于测量距离的不同,造成回波信号的起伏,使回波到达时间的测量产生较大的误差;二是超声波脉冲回波在接收过程中被极大地展宽,影响了测距的分辨率,尤其是对近距离的测量造成较大的影响。
其他还有一些因素,诸如环境温度、风速等也会对测量造成一定的影响,这些因素都限制了超声波测距在一些对测量精度要求较高的场合的应用,如何解决这些问题,提高超声波测距的精度,具有较大的现实意义并且在测量精度方面能达到工业实用的要求,因此在移动机器人的研制上也得到了广泛的应用。
为了使移动机器人能自动避障行走,就必须装备测距系统,以使其及时获取距障碍物的距离信息(距离和方向)。
超声波测距系统,就是为机器人了解其前方、左侧和右侧的环境而提供一个运动距离信息。
1.3现阶段几种常用的超声波发生方法
为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。
总体上讲,超声波发生器可以分为两大类:
一类是用电气方式产生超声波,一类是用机械方式产生超声波。
电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。
它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。
目前较为常用的是压电式超声波发生器。
本章小结:
超声波具有指向性强,能量消耗缓慢,传播距离较远等优点,所以,在利用传感器技术和自动控制技术相结合的测距方案中,超声波测距是目前应用最普遍的一种,它广泛应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。
第二章方案论证
2.1超声波测距系统的基本组成
本系统采用两片AT89S52单片机作为主控单元,主AT89S52通过测量输出脉冲宽度(即发射与接收超声波的时间间隔)结合环境温度来计算距障碍物的距离,并将计算的距离以无线方式发送给从单片机,从单片机通过无线方式接收到距离数据,通过LCD和语音电路实时显示和播报测量结果。
其结构如图1所示
图1超声波测距系统框图
2.2超声波测距系统工作原理
人能听到的声音频率为:
20Hz~20kHz,即为可听声波,超出此频率范围的声音,即20Hz以下的声音称为低频声波,20kHz以上的声音称为超声波。
超声波是一种只有少数生物(如蝙蝠、海豚)才能感觉的机械波,其频率在20kHz以上,波长短,绕射小、能定向传播。
超声波为直线传播方式,频率越高,绕射能力越弱,但反射能力越强。
为此,利用超声波的这种性能就可制成超声波传感器。
超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。
由此可见,超声波测距原理与雷达原理是一样的。
测距的公式表示为:
L=C×T式中L为测量的距离长度;C为超声波在空气中的传播速度;T为测量距离传播的时间差(T为发射到接收时间数值的一半)。
由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为液体高度测量的理想手段。
在精密的液位测量中需要达到毫米级的测量精度,但是目前国内的超声波测距专用集成电路都是只有厘米级的测量精度。
通过分析超声波测距误差产生的原因,提高测量时间差到微秒级,以及用LM92温度传感器进行声波传播速度的补偿后,我们设计的高精度超声波测距仪能达到毫米级的测量精度。
根据超声波测距公式L=C×T,可知测距的误差是由超声波的传播速度误差和测量距离传播的时间误差引起的。
时间误差当要求测距误差小于1mm时,假设已知超声波速度C=344m/s(20℃室温),忽略声速的传播误差。
测距误差σ△t<(0.001/344)≈0.000002907s即2.907μs。
在超声波的传播速度是准确的前提下,测量距离的传播时间差值精度只要在达到微秒级,就能保证测距误差小于1mm的误差。
使用的12MHz晶体作时钟基准的89C51单片机定时器能方便的计数到1μs的精度,因此系统采用89C51定时器能保证时间误差在1mm的测量范围内。
超声波传播速度误差超声波的传播速度受空气的密度所影响,空气的密度越高则超声波的传播速度就越快,而空气的密度又与
温度有着密切的关系,如表1所示。
已知超声波速度与温度的关系如下:
温度C
-30
-20
-10
0
10
20
30
100
声速m/s
313
319
325
332
338
344
350
388
表1超声波的传播速度与温度关系表
2.3实现功能及控制系统方案的确定
本系统可实现以下功能:
(1)测量距离:
0.01m~6.00m,测距精度:
±0.3cm;
(2)具有温度补偿功能;
(3)具有测量距离数值和环境温度的无线传输功能;
(4)实时显示测量的距离,精确度为0.001m;
(5)实时测量环境的温度;
(6)汉字提醒显示:
当超声波测距模块没开启时显示“请打开测距模块!
”,当测距进行时显示“超声波测距中!
”,距离在0.00m~1.00m,显示“危险”并用红色LED灯指示;距离在1.00m~2.00m,显示阿“保持”并用黄色LED灯指示;距离在2.0m以上,显示“安全”并用绿色LED灯指示。
(7)具有实时语音播报功能,实时播报测量距离数值,实时播报声音清晰明亮、无失真,在5m距离处人耳能准确分辨。
语音播报与显示同步。
系统方案确定:
我们知道,由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波经常用于距离的测量。
利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到日常使用的要求。
超声波发生器可以分为两类:
一类是用电气方式产生超声波,一类是用机械方式产生超声波。
本课题属于近距离测量,可以采用常用的压电式超声波换能器来实现。
根据设计要求并综合各方面因素,可以采用AT89S52单片机作为主控制器,用动态扫描法实现液晶显示,超声波驱动信号用单片机的定时器完成
本章小结:
本章主要介绍了超声波测距系统的设计方案,主要以AT89S52单片机为核心,并配有温度传感器,超声波传感器,语音电路,显示等控制电路组成,能够根据需求测得障碍物的实时距离。
第三章硬件电路设计
硬件部分主要由分为单片机系统及显示电路、超声波发射电路和超声波检测接收电路、无线收发模块、语音模块、LCD模块、测温模块等部分组成。
3.1超声波发射电路及驱动
超声波发射电路主要由超声波换能器和反向器74LS04构成,单片机P1.2端口输出的40KHz方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推挽形式将方波信号加到超声波换能器两端可以提高超声波的发射强度。
输出端采用两个反向器并联,用以提高驱动能力。
上拉电阻R1、R2一方面可以增加超声波换能器的阻尼效果,以缩短其振荡的时间,提高反向器74LS04输出高电平的驱动能力;另一方面可以提高反向器74LS04输出高电平的驱动能力。
超声波发射原理图如图3所示。
图表2超声波发射电路原理图
超声波换能器,要解决的技术问题是设计一种作用距离大、频带宽的超声波换能器。
它由外壳、匹配层、压电陶瓷圆盘换能器、背衬、引出电缆和Cymbal阵列接收器组成。
压电陶瓷圆盘换能器采用厚度方向极化的PZT-5压电材料制成,Cymbal阵列接收器由8~16只Cymbal换能器、两个金属圆环和橡胶垫圈组成。
压电陶瓷圆盘换能器用作基本的超声波换能器,由它发射和接收超声波信号;Cymbal阵列接收器位于圆盘式压电换能器之上,作为超声波接收器,用于接收圆盘换能器频带之外的多普勒回波信号。
本发明的作用距离大于35m,频带宽度达到10kHz,能检测高速移动的远距离目标。
超声波换能器,包括外壳、匹配层即声窗、压电陶瓷圆盘换能器、背衬、引出电缆,其特征在于它还包括Cymbal阵列接收器,它由引出电缆、8~16只Cymbal换能器、金属圆环和橡胶垫圈组成;Cymbal阵列接收器位于圆盘式压电换能器3之上;压电陶瓷圆盘换能器用作基本的超声波换能器,由它发射和接收超声波信号;Cymbal阵列接收器位于圆盘式压电换能器之上,作为超声波接收器,用于接收圆盘换能器频带之外的多普勒回波信号。
3.2超声波检测接收电路
集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机的红外接收器。
因为红外遥控常用的载波频率38KHz与测距的超声波频率40KHz比较接近,所以本设计利用它制作超声波检测接收电路,如图4所示。
实验证明,用CX20106A超声波(无信号时输出高电平)具有很高的灵敏度和较强的抗干扰能力。
适当改变电容C1的大小,可以改变接收电路的灵敏度和抗干扰能力。
图表3超声波检测接收电路
CX20106A的引脚注释:
引脚号
说明
1
超声波信号输入端,该脚的输入阻抗约为40kΩ
2
该脚与GND之间连接RC串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。
增大电阻R或减小C,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。
但C的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R=4.7Ω,C=3.3μF。
3
该脚与GND之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为3.3μF
4
接地端
5
该脚与电源端VCC接入一个电阻,用以设置带通滤波器的中心频率f0,阻值越大,中心频率越低。
例如,取R=200kΩ时,fn≈42kHz,若取R=220kΩ,则中心频率f0≈38kHz
6
该脚与GND之间接入一个积分电容,标准值为330pF,如果该电容取得太大,会使探测距离变短
7
遥控命令输出端,它是集电极开路的输出方式,因此该引脚必须接上一个上拉电阻到电源端,该电阻推荐阻值为22kΩ,没有接收信号时该端输出为高电平,有信号时则会下降
8
电源正极,4.5V~5V
3.3测温电路的设计
由于超声波波速V与温度有关,不同温度下超声波在空气中传播速度随温度变化的关系:
V=331.4+0.61T
通过上式可知,温度对声速的影响较大,若不采取补偿措施,将会带来较大的测量误差,为了提高系统的测量精度,设计了温度补偿电路。
本设计采用数字温度传感器DS18B20来采集温度,不需要进行模数换,DS18B20数字温度计提供9位(二进制)温度读数,指示器件的温度。
信息经过单线接口送入DSl8B20或从DSl8B20送出,因此从主机CPU到DSl8B20仅需一条线(和地线)。
DS18B20与单片机的接口电路如图4所示。
图表4DS18B20与单片机的接口电路
DS18B20的特性
DS18B20可以程序设定9-12位的分辨率,精度±0.5度。
可选更小的封装方式,更宽的电压适用范围。
分辨率的设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
DS18B20的性能是新一代产品中最好的!
性价比也非常出色!
DS18B20新特点:
使用电压为3V-5V,9-12位分辨率可调。
3.4单片机系统设计
3.4.1CPU的介绍
AT89S52是一种带8K字节闪烁可编程可擦除只读存储(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,AT89S52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图3.7所示。
一、主要特性:
(1)与MCS-51兼容;
(2)8K字节可编程闪烁存储器;
(3)寿命:
1000写/擦循环;
(4)数据保留时间:
10年;
(5)全静态工作:
0Hz-33Hz;
(6)三级程序存储器锁定;
(7)看门狗定时器;
(8)32可编程I/O线;
(9)三个16位定时器/计数器;
(10)8个中断源;
(11)全双工UART串行通道;
(12)低功耗的闲置和掉电模式;
(13)双数据指针。
二、管脚说明:
图表5AT89S52引脚图
VCC:
供电电压。
GND:
接地。
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收/输出4个TTL门电流。
当P3口写入1后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如表3-4所示:
表3-4P3口的一些特殊功能口
口管脚
备选功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
\INT0(外部中断0)
P3.3
\INT1(外部中断1)
P3.4
T0(记时器0外部输入)
P3.5
T1(记时器1外部输入)
P3.6
\WR(外部数据存储器写选通)
P3.7
\RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取址期间,每个机器周期两次\PSEN有效。
但在访问外部数据存储器时,这两次有效的\PSEN信号将不出现。