基于51单片机的超声波测距系统.docx
- 文档编号:6908563
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:37
- 大小:551.27KB
基于51单片机的超声波测距系统.docx
《基于51单片机的超声波测距系统.docx》由会员分享,可在线阅读,更多相关《基于51单片机的超声波测距系统.docx(37页珍藏版)》请在冰豆网上搜索。
基于51单片机的超声波测距系统
基于51单片机的超声波测距系统
LT
摘要
基于传统的测距方法在很多特殊场合:
如带腐蚀的液体,强电磁干扰,有毒等恶劣条件下,测量距离存在不可克服的缺陷,超声波测距能很好的解决此类的问题。
本系统主要以STC89C52单片机为核心,结合超声波测距模块HC-SR04、液晶屏LCD1602、温度传感器DS18B20,蜂鸣器等硬件平台,对超声波测距系统的原理、液晶显示显示、温度补偿、单片机的应用等进行了分析和验证。
关键词:
超声波测距模块,STC89C52,LCD1602,温度补偿。
Abstract
Inmanyspecialoccasions,traditionalmeasuringdistancemethodsbasedontheexistenceofinsurmountabledistancemeasuringdefects,suchasthemeasurementofcorrosionintheliquidwithstrongelectromagneticinterference,toxicandotheradverseconditions.Theultrasonicrangecanbeaverygoodsolutiontotheproblem.ThissystemmainlyusesSTC89C52microcontrollerasthecore,hardwareplatformcombinedwiththeHC-SR04ultrasonicrangingmodule,LCD1602,DS18B20,buzzeretc.Analyzedandvalidatedtheprincipleofultrasonicran,LCDdisplay,Temperaturecompensation,theapplicationofsingle-chipmicrocomputeretc.
Keywords:
ultrasonicrangingmodule,STC89C52,LCD1602,Temperaturecompensation.
一.绪论
随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。
但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。
展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:
研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。
无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。
随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。
在新的世纪里,面貌一新的测距仪将发挥更大的作用。
在基于传统的测力距离存在不可克服的缺陷。
例如,液面测量就是一种距离测量,传统的电极法是采用差位分布电极,通过给电或脉冲来检测液面,电极长期浸泡于水中或其他液体中,极易被腐蚀、电解,失去灵敏性。
由于超声波具有强度大,方向性好等特点,利用超声波测量距离就可以解决这些问题,因此超声波测量距离技术在工业控制、勘探测量、机器人定位和安全防范等领域得到了广泛的应用。
超声波测距电路可以由传统的模拟或者数字电路构建,但是基于这些传统电路构建的系统往往可靠性差,调试困难,可扩展性差,所以基于单片机的超声波测距系统被广泛的应用。
通过简单的外围电路发生和接收超声波,单片机通过采样获取到超声波的传播时间,用软件来计算出距离,另外加入温度补偿,使其测量电路小巧,精度高,反映速度快,可靠性好。
二.超声波测距的原理
2.1超声波的基本理论
超声波是一门以物理、电子、机械、以及材料科学为基础的、各行各业都要使用的通用技术之一。
该技术在国民经济中,对提高产品质量,保障生产安全和设备安全运作,降低生产成本,提高生产效率特别具有潜在能力。
因此,我国对超声波的研究特别活跃。
超声技术是通过超声波的产生、传播以及接收的物理过程完成的。
超声波具有聚束、定向及反射、投射等特性。
按超声波振动辐射大小不同大致可以分为:
用超声波使物体或物性变化的功率应用,称之为功率超声;用超声波获取信息,称为检测超声。
超声波是听觉阈值之外的振动,其频率范围在10
——10
Hz,其中通常的频率大约在10
——3
之间。
超声波在超声场(被超声波充满的范围)传播时,如果超声波的波长与超声场相比,超声场很大,超声波就像处在一种无限的介质中,超声波自由地向外扩散;反之,如果超声波的波长与相邻介质的尺寸相近,则超声波受到界面限制不能自由的向外扩散。
于是超声波在传播过程中有如下的特性和作用:
2.1.1超声波的传播速度
超声波在介质中可以产生三中形式的振荡波:
横波——质点振动方向垂直于传播方向的波;纵波——质点振动方向与传播方向一致的波;表面波——质点振动介于纵波和横波之间,沿表面传播的波。
横波只能在固体中传播,纵波能在固体液体中和气体中传播,表面波随深度的增加其衰减很快。
为了测量各种状态下的物理量多采用纵波形式的超声波。
超声波的频率越高,越与光波某些特性相似。
超声波与气其他声波一样,其传播速度与介质密度和弹性特性有关。
超声波在气体和液体中,其传播速度C
=(
)
式中
——介质的密度;
——绝对压缩系数。
可以推导出超声波在空气种传播速度
。
(T为环境温度)。
超声波在固体中的传播速度分两种情况:
(1)纵波在固体介质中的传播速度
其传播与介质的形状有关。
(细棒)
(薄板)
(无限介质)
式中E——杨氏模具;
——泊松系数;
K——体积弹性模具;
G——剪片弹性模。
(2)横波声速公式为
(无限介质)
在固体中,
介于0——5之间,因此一般可视为横波声速为纵波的一半。
2.1.2超声波的物理性质
当超声波传播到两种特性不同的介质的平面上时,一部分被反射;另一部分透射过界面,在相邻的介质内部继续传播;这样的两种情况称之为超声波的反射和折射,如图2.1.2所示:
图2.1.2超声波的反射和折射
(1)超声波的反射和折射
当超声波传播到两种特性阻抗不同介质的平面分界面上时,一部分超声波被反射;另一部分透射过界面,在相邻介质内部继续传播;这样的两种情况称之为超声波的反射和折射,如图2.1.2所示。
声波的反射系数和透射系数可以分别由如下两式求得:
式中:
——分别为声波的入射角和反射角;
——分别为两介质的特征阻抗,其中
为反射波和折射波的速度。
反射角、折射角与声速
满足折射定律关系式:
。
当超声波垂直入射界面时,即
,则:
如果sin
>
,入射波完全被反射,在相邻两个介质中没有折射波。
如果超声波斜入射到两个固体介质面或两粘滞弹性介质面时,一列斜入射的纵波不仅产生反射纵波和折射纵波,而且还产生反射横波和折射横波。
(2)超声波的衰减
超声波在一种介质中传播,其声压和声强按指数函数规律衰减。
在平面波的情况下,距离声源x处的声压p和声强I的衰减规律如下:
式中:
——距离声源x=0处的声压和声强;
——超声波与声波间的距离;
A——衰减系数,单位为
(奈培/厘米)。
(3)超声波的干涉
如果在一种介质中传播几个声波,于是产生波的干涉现象。
若以两个频率相同,振幅
和
不等,波程差为d的两个波干涉为例,该两个波合成振幅为
,其中
为波长。
从上式看出,当d=0或d=
(
为整数)时,合成振幅
达到最大值;当d=
时,合成振幅
为最小值。
当
时,
;当d
的奇数倍时,两波相互抵消合成幅度为0。
由于超声波的干涉,在辐射器的周围形成一个包括最大最小的扬声场。
2.1.3超声波对声场产生的作用
(1)机械作用
超声波传播过程中,会引起介质质点交替的压缩与伸张,构成了压力的变化,这种压力的变化将引起机械效应。
超声波引起质点的运动,虽然位移和速度不大,但是与超声波振动的频率的平方成正比的质点的加速度却很大。
有时足以达到破坏介质的程度。
(2)空化作用
在流体动力学指出,存在于液体中的微气泡在声场的作用下振动,当声压达到一定的值时,气泡将迅速膨胀,然后突然闭合,在气泡闭合时产生冲击波,这种膨胀、闭合、振动等一系列动力学过程称为空化。
(3)热学作用
如果超声波作用于介质时被介质所吸收,实际上也就是有能量吸收,同时,由于超声波的振动,使介质产生强烈的高频振荡介质相互摩擦产生热热量,这种能量使介质温度升高。
2.1.4超声波传感器
超声波传感器主要有电致伸缩和磁致伸缩两类,电致伸缩采用双压电陶瓷晶片制成,具有可逆特性。
压电陶瓷片具有如下特性:
当在其两端加上大小和方向不断变化的交流电压时,就会产生“压电效应”,使压电陶瓷也产生机械变形,这种机械变形的大小以及方向与外加电压的大小和方向成正。
也就是说,若在压电晶片两边加以频率为
的交流电电压时,它就会产生同频率的机械振动,这种机械振动推动空气的张弛,当
落在音频范围内时便会发出声音。
反之,如果由超声波机械振动作用于陶瓷片使其发生微小的形变时,那么压电晶片也会产生与振动频率相同的微弱的交流信号。
超声波传感器结构如下:
图2.1.4.1元件内部结构图2.1.4.2超声波外部结构
2.2超声波测距系统原理
在超声探测电路中,发射端得到输出脉冲为一系列方波,其宽度为发射超声的时间间隔,被测物距离越大,脉冲宽度越大,输出脉冲个数与被测距离成正比。
超声测距大致有以下方法:
①取输出脉冲的平均值电压,该电压(其幅值基本固定)与距离成正比,测量电压即可测得距离;②测量输出脉冲的宽度,即发射超声波与接收超声波的时间间隔t,故被测距离为S=1/2vt。
本测量电路采用第二种方案。
由于超声波的声速与温度有关,如果温度变化不大,则可认为声速基本不变。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
超声波测距适用于高精度的中长距离测量。
因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。
超声波测距的算法设计:
超声波在空气中传播速度为每秒钟340米(15℃时)。
X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,则有340m×0.03S=10.2m。
由于在这10.2m的时间里,超声波发出到遇到返射物返回的距离如下:
图2.2测距原理
三.系统硬件的具体设计与实现
3.1系统原理和框图
超声波测距系统硬件组成如图3-1所示。
本系统主要由STC89C52单片机及其外围电路、超声波发送接收模块、液晶显示电路、温度采集电路、蜂鸣器报警电路、按键控制电路和电源等七部分组成。
图3-1系统设计框图
测量实时温度,启动超声波模块发送,计时等待接收,并根据温度经过计算,将测到的结果通过液晶屏显示出来,当超时没有接收到超声波回复时,液晶屏显示三个负号,表示距离太远,当测量距离低于设置距离时,启动蜂鸣器和LED报警。
3.2功能模块的设计
3.2.1单片机介绍
单片机是把微型计算机主要部分都集成在一个芯片上的单芯片微型计算机,即将运算器,控制器,输入输出接口,部分存储器以及其他一些逻辑部件集成在一个芯片上,故可以把单片机看成是一个不带外部设备的微型计算机,相当于一个没有显示器,没有键盘,不带监控程序的单板机。
由于单片计算机具有体积小,重量轻,耗电少,功能强和价格低等特点,又由于数据大多是在芯片内传送处理,所以运行速度快,抗干扰能力强。
单片机从七十年代问世以来,在二十多年的时间里,发展异常迅速,并已广泛应用于各种领域。
单片机具有通讯接口,用单片机进行接口的控制与管理,单片机与主机可并行工作,大大地提高了系统的运行速度,所以在网络通讯领域也得到了越来越多的应用。
STC89C52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的STC89C52是一种高效微控制器,AT89C2051是它的一种精简版本。
STC89C52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
STC89C52外形及引脚排列如图2-1所示。
图3.2.1STC89C52外形及引脚图
3.2.1.1STC89C52管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
在实际应用中,大多数情况下都使用P3口的第二功能。
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信号将不出现。
EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
3.2.1.2STC89C52主要特性
*与MCS-51兼容
*4K字节可编程闪烁存储器
*寿命:
1000写/擦循环
*数据保留时间:
10年
*全静态工作:
0Hz-24Hz
*三级程序存储器锁定
*128*8位内部RAM
*32可编程I/O线
*两个16位定时器/计数器
*5个中断源
*可编程串行通道
*低功耗的闲置和掉电模式
*片内振荡器和时钟电路
3.2.1.3芯片擦除
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,STC89C52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
3.2.2超声波测距模块HC-SR04
3.2.2.1产品特点
HC-SR04超声波测距模块可提供2cm—400cm的非接触式距离感测功能,测距精度可高达3mm,模块包括超声波发射器、接收器与控制电路。
原理图如图2.2.1所示:
图3.2.2.1HC-SR04模块电路图
3.2.2.2基本原理
(1)采用IO口TRIG触发测距,提供至少10us的高电平信号;
(2)启动后,模块会自动发送8个40KHz的方波,自动检测是否有信号返回;
(3)如果有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
(4)测试距离=(高电平时间*声速(340m/s))/2;
3.2.2.3电气参数
表3.2.2.3HC-SR04电气参数
电气参数
HC-SR04超声波模块
工作电压
DC5V
工作电流
15mA
工作频率
40KHz
最远射程
4m
最近射程
2cm
输入出发信号
10us的TTL脉冲
输出回响信号
输出TTL电平信号,与射程成比例
规格尺寸
45*20*15mm
3.2.2.4超声波时序图
图3.2.2.4超声波模块时序图
如图2.2.4为超声波模块发送接收的时序图,表明只要提供一个10us以上脉冲触发信号,该模块内部将发出8个40KHz周期电平并检测回波。
一旦检测到有回波信号则输出回响信号。
回响信号的脉冲宽度与所测的距离成正比。
由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。
3.2.3LCD1602液晶显示
3.2.3.1.引脚说明
本设计中用到的液晶屏,其管脚图如图3.2.3.1所示。
图3.2.3.1LCD1602管脚图
3.2.3.2字符显示地址说明
图3.2.3.2LCD1602字符显示地址
如上图所示,LCD1602总共有两行16个字符的位置可供显示,首行首字符地址为0x80,第二行首字符地址是0x80+0x40,比如要在第二行第二个位置显示,则可将写指令地址设为0x80+0x40+1即可。
3.2.3.3.读写时序操作
单片机需要编写驱动程序,必须严格按照LCD1602的读写时序来操作,才能实现数据的更新和显示,还要进行初始化设置等。
单片机分别控制LCD1602的RS、RW、E端,再进行DB0~DB7的数据操作,具体读写时序图如图3.2.3.3.1和图3.2.3.3.2所示。
1读操作时序
图3.2.3.3.1LCD1602读操作时序图
2写操作时序
图3.2.3.3.2LCD1602写操作时序图
3.2.4DS18B20温度传感器
3.2.4.1.芯片简介
(1)适应电压范围更宽,电压范围:
3.0V~5.5V,在寄生电源方式下可由数据线供电。
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(3)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(4)测温范围-55℃~+125℃,在-10℃~+85℃时精度为±0.5℃。
(5)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(6)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(7)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(8)负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
3.2.4.2DS18B20外形和内部结构
DS18B20内部结构如图3.2.4所示,主要由4部分组成:
64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的外形及管脚排列如图3.2.4.1和表3.2.4.1所示。
图3.2.4.1DS18B20的管脚排列
表3.2.4.1DS18B20引脚定义:
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
VDD
可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
(1)64位ROM
ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。
64位ROM的循环冗余校验码(CRC=X8+X5+X4+1)。
ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。
DS18B20温度值格式表3.2.4.2如下所示。
表3.2.4.2DS18B20温度值格式表
bit7bit6bit5bit4bit3bit2bit1bit0
LSByte
2
2
2
2
2
2
2
2
bit15bit14bit13bit12bit11bit10bit9bit8
MSByte
S
S
S
S
S
2
2
2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 超声波 测距 系统