精密超声波测距仪的设计与实现.docx
- 文档编号:6433430
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:31
- 大小:180.08KB
精密超声波测距仪的设计与实现.docx
《精密超声波测距仪的设计与实现.docx》由会员分享,可在线阅读,更多相关《精密超声波测距仪的设计与实现.docx(31页珍藏版)》请在冰豆网上搜索。
精密超声波测距仪的设计与实现
精密超声波测距仪的设计与实现
学生:
指导教师:
内容摘要:
本文详细介绍了基于PIC16F873单片机的具有温度补偿的高精度超声波测距仪的硬件及软件设计。
它利用PIC16F873产生40KHZ的脉冲信号并转换成超声波发射,当超声波遇障碍物后返回,经超声波接收传感器接收返回信号送至PIC16F873的CCP1模块,得到超声波的传播往返时间。
即可实现对距离的测量。
但由于超声波是一种声波,其传播速度和环境温度有密切关系,当温度变化时声速也变化,导致测量不准确。
为提高测量的准确性就必须采用温度补偿。
即用DS18B20数字温度传感器测量环境温度,通过PIC16F873获取当前环境下温度的采样值,根据当前环境下的温度查找出与之对应的超声波速度。
即可精确计算出距离,送LCD显示(温度、速度和距离),或通过串口与PC机相连实现人机交互。
关键词:
高精度PIC16F873单片机超声波温度传感器
Designandrealizeaboutpreciseultrasonicrangefinder
Abstract:
ThispaperintroduceshardwareandsoftwaredesignofhighpreciseultrasonicrangefinderwithtemperaturecompensatebasedonPIC16F873MCU.ItusesPIC16F873producesimpulsesignalof40KHZ,andtransformsultrasonic.Ultrasonicreturnwhenitmeetsbar,sensortakesitoveranddeliversittoCCP1moduleofPIC16F873.Wewillgetthetimeofultrasonic’strip.Sowecangetthedistance,butultrasonicisasoundwave.itstransmitshasaffinitywithenvironmenttemperature,soundspeedchangeswiththechangesoftemperature,themeasurewillnotright.Itmustusetemperaturecompensatefortheveracityofmeasure.WemeasureenvironmenttemperaturebyDS18B20,andgetthehitsofcurrentenvironmentbyPIC16F873.Ultrasonicspeedcanbefoundbytheenvironmenttemperature.Distanceisworkedout,displayingbyLCD(temperaturespeedanddistance),man-machineconversationcomestruebyserialinterfaceconnecttoPC.
Keywords:
HighprecisePIC16F873MCUUltrasonicTemperaturesensor
一、绪论
(一)超声波的基本概述
人们能听到声音是由于物体振动产生的,它的频率在20HZ—20KHZ范围内,超过20KHZ称为超声波,低于20HZ的称为次声波。
常用的超声波频率为几十KHZ到几十MHZ。
超声波是一种在弹性介质中的机械振荡,有两种形式:
横向振荡(横波)及纵向振荡(纵波)。
在工业中应用主要采用纵向振荡。
超声波可以在气体、液体及固体中传播,其传播速度不同。
另外,它也有折射和反射现象,并且在传播过程中有衰减。
在空气中传播超声波,其频率较低,一般为几十KHZ,而在固体、液体中则频率可用得较高。
在空气中衰减较快,而在液体及固体中传播,衰减较小,传播较远。
超声波波长短,绕射现象小,而且其方向性好,穿透能力很强,且碰到杂质或分界面就会有显著的反射现象。
这一特性已被广泛用于超声波探伤、测厚、测距、遥控和超声成像等技术。
1.超声波的波型
(1)纵波是质点振动方向和传播方向一致的波,在固体、液体和气体中传播如图1所示。
图1纵波图2横波
图3表面波
(2)横波是质点的振动方向垂直于传播方向的波,它只能在固体中传播如图2所示。
(3)表面波是质点的振动方式介于纵波和横波之间沿着固体表面传播的波,其振幅大小随着传播深度的增加而迅速衰减。
表面波只能沿着固体表面传播,其质点运动轨迹为椭圆形,且椭圆的长轴垂直于传播方向,而短轴平行于传播方向如图3所示。
2.超声波的特性
(1)超声波在介质传播过程中,会发生衰减和散射。
由于受介质和介质中杂质的阻碍或吸收,其强度会产生衰减。
不论是超声波流量计还是超声波测距仪,对所接受的声波强度都有一定要求,所以都要对各种衰减进行抑制。
(2)超声波声束能集中在特定的方向上,可在气体、液体、固体等介质中有效传播,具有良好的指向性。
超声波可以在固体、液体和气体中以不同的速度进行传播,其速度受介质温度、压力等因素的影响,但在相同外部环境下,超声波在同一介质中的传播速度是一常数。
这是所有超声仪表进行测量的基础。
(3)超声波在异种介质的界面上会产生反射、叠加等现象。
尤其是不能通过气体固体界面。
利用超声波在异质界面上发生的反射特性,获得从异质界面反射回来的反射波,通过仪器内部的电路处理从而达到探测距离的目的。
(二)超声波测距的设计方案论证
测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等。
但传统距离测量方式在某些特殊场合存在不可克服的缺陷。
例如,液面测量就是一种距离测量,传统的电极法是采用差位分布电极,通过给电或脉冲来检测液面高度,电极长期浸泡在水里或其他液体中,极易被腐蚀、电解,失去灵敏性。
超声测距是一种非接触式的检测方式。
与其它方法相比,它不受光线、被测对象颜色等影响。
对于被测物处于黑暗、有灰尘、电磁干扰、有毒等恶劣的环境下有一定的适应能力,是作为间接测量距离的理想手段。
因此在液位测量、车辆自动导航等方面有广泛应用。
特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很容易检测出来,具有很高的分辨力,因而其准确度也较其它方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。
因此得到了广泛的应用。
(三)设计背景及工作原理
传统的利用固定电平判断回波到达时刻的超声波测距方法存在较大误差。
针对这种误差提出的可变阈值的超声波测距方法,由于干扰信号的存在,超声波测距主芯片会产生误判回波时刻的到来,从而导致测量数据不准确。
超声波传感器通过压电晶片的逆效应——电致伸缩,在空气介质中产生超声波。
测距所用超声波一般都是以间断的高压单脉冲发射,每测距一次,需要发射、接收一次。
所以在测距脉冲的发射过程中,传感器晶片经历了起震、加强和衰减三种状态,并产生多个谐振周期的超声波;接收过程中,传感器晶片在多个谐振周期的超声波脉冲作用下,通过压电效应在晶片两端产生起伏电压。
图4超声波测量距离原理示意图
超声波测量距离的原理可用上图4示意,简单描述为:
超声波发射器定期发送超声波,超声波经接收器接收并转化为电信号,测量声波在遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。
测距的公式表示为:
L=C×(T/2)
(1)
L为被测量的距离长度;
C为超声波在空气中的传播速度;
T为测量距离传播的时间差(T/2为发射到接收之间时间数值的一半)。
这样只要测出发射和接受之间的时间差T,即可求出距离。
二、系统总体设计要求及方案确定
(一)超声波测距仪的分析运用
超声波测距在实际运用中提高距离还比较困难。
限制该系统的最大可测距离主要存在4个因素:
超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。
接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。
由于超声波属于声波范围,其波速C与温度有关。
环境温度对超声波传播速度的影响最大。
如在0摄氏度时其传播速度为331.45m/s,在10摄氏度时其传播速度为337.462m/s,在20摄氏度时其传播速度为343.369m/s,在30摄氏度时其传播速度为349.176m/s。
不能一律用340m/s的速度取而代之。
为提高测量精度,需要对超声波在测量环境的传播速度加以校正。
在测距时由于温度变化,可通过温度传感器自动探测环境温度、确定计算距离时的波速C,较精确地得出该环境下超声波经过的路程,提高了测量精确度。
该系统是一个数据采集和处理系统,对数据采集和处理采用MICROCHIP公司的PIC16F873单片机,该单片机端口资源丰富,集成模块多,如:
16位宽的定时器TMR1,输入捕捉模块CCP1,AD模块等。
非常适合于本系统。
本设计就是充分利用了TMR1,CCP1,USART模块,实现了数据的采集,处理和传输。
配合PC或GSM无线模块,并可由PC控制,数据返回到PC。
超声波为40KHz,由PIC16F873产生并从RC4输出,经4069后驱动超声波发射头在发完4个周期的40KHz脉冲信号后启动定时器TMR1开始计时。
超声波遇障碍物后发射回来由超声波接收头接收。
接收到的信号非常微弱,需要放大并整形为TTL脉冲信号送到CCP1模块的输入引脚——RC2。
CCP1捕捉到4个脉冲时把TMR1寄存器的累计值抓取到CCPR1并引起中断并关闭定时器TMR1,此时可以由寄存器CCPR1的值便可知道超声波在空气中的传播用时。
由公式L=C×(T/2)即可计算出测量点与障碍物之间的距离。
测量得到的距离由LCD显示。
(二)超声波测距仪的硬件设计总揽
超声波测距仪主要包括:
温度检测电路、超声波发射及控制电路、超声波接收及信号处理电路、显示电路、单片机及辅助电路、RS-232通信接口电路等6个部分组成。
如下图5所示。
图5超声波测距仪结构图
(三)超声波测距方法的设计方案论证
方案一:
标准样距测速法简介
所谓标准样距测速法,就是在当时的环境下去测量一标准样距,从而得到在该测量环境下超声波的实际传播速度,以达到校正速度的目的。
设样距为d,测量样距用时t1,被测量距离用时t2,则该环境下的超声波传播速度为C=d/t1,被测量距离为:
L=C×t2=(d÷t1)×t2
(2)
以16cm样距设计,设超声波的传播速度为V0=340m/s,16cm用时为T0=470.58us。
设MCU的晶振为4MHz,其时间分辨能力为1us。
MCU测量出这16cm用时为471us。
则得出在该环境下的超声波传播速度为
C=16cm÷471us=339.7m/s
速度误差为:
ΔV=-0.3m/s
在实际操作中,16cm的样距很难摆放准确,操作和携带都有不便。
设16cm样距在摆放时为15.9cm,测量样距用时为:
t1=15.9cm÷340m/s=467.64us
MCU得出测量样距用时为t1=468us。
在计算速度时,MCU得出在该环境下的超声波传播速度:
C=16cm/468us=341.88m/s
此时的速度误差为:
ΔV=+1.88m/s
同理,当样距为16.1cm时,MCU得出在该环境下的超声波传播速度为:
C=337.55m/s
其速度误差为:
ΔV=-2.45m/s
由此可见16cm样距的摆放准确对测量得出的超声波传播速度有很大的影响。
就被测量距离为5m,我们来看一下它的误差有多大。
(设此时的超声波传播速度为V0=340m/s)5m标准用时为:
T0=5m÷340s=14705.88us
MCU得出的用时为:
T0=14706us
1.当样距为15.9cm时,即ΔV=+1.88m/s时,C=341.88m/s。
测量得出的距离误差
△d=+1.88m/s×14706us=+2.76cm
2.当样距为16.1cm时,即ΔV=-2.45m/s时,C=337.55m/s。
测量得出的距离误差
△d=-2.45m/s×14706us=-3.60cm
方案二:
温度补偿法简介
我们知道,超声波的传播速度受环境的影响,特别是环境温度对超声波传播速度的影响最大。
如在0摄氏度时其传播速度为331.45m/s,在20摄氏度时其传播速度为343.369m/s,在30摄氏度时其传播速度为349.176m/s。
由于超声波传播速度与环境温度有以下关系:
×
(3)
式中T为摄氏温度,C为在该温度下的超声波传播速度(单位为m/s)。
当温度知道的情况下,通过该式就可以知道该温度下超声波的传播速度了。
这就是温度补偿法。
可行性分析:
根据式子
×
在MCU中建一温度速度表(温度速度表精确到小数点后1位),由温度传感器输出的温度去查表,便找到了在该温度下的超声波传播速度C,再由L=C×t便可以得出被测量距离。
设环境温度为T0=25摄氏度,此时超声波传播速度为:
C0=346.285m/s
测量5m的距离用时
t0=14438.97us(取t0=14439us)
1.设温度传感器给出的温度为T=24.5摄氏度,得出超声波传播速度为:
C=345.9m/s
速度误差为:
ΔV=-0.3m/s
测量5m产生的距离误差为:
ΔD=ΔV×t0=-4.3mm(4)
2.设温度传感器给出的温度为T=25.5摄氏度,得出超声波传播速度为:
C=346.5m/s速度误差为:
ΔV=+0.3m/s测量5m产生的距离误差为:
ΔD=ΔV×t0=+4.3mm(5)
综上所述:
采用方案一标准样距测量法操作不便,测量误差大,可行性差,不满足设计要求。
采用方案二温度补偿法测量出的距离精度高,使用方便。
由此选择方案二实为测距的理想方案
(四)超声波传感器的选择
以超声波作为检测手段,必须产生超生波和接收超声波。
完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。
超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。
超声波传感器是利用压电效应的原理将电能和超声波相互转化。
方案一:
采用“NU40C16TR-1”型传感器,此传感器参数如下:
表1NU40C16TR-1型传感器参数
零件号码
NU40C16TR-1
中心频率
40.0±1.0KHZ
择向性
60o(-6db)
敏感
最小-66db
操作温度
-20oC--70oC
方案二:
采用“NU40C12TR-1”型传感器,此传感器的方向图和参数如下:
表2NU40C12TR-1型传感器参数
零件号码
NU40C12T-1
NU40C12R-1
中心频率
40.0±1.0KHZ
40.0±1.0KHZ
择向性
80o±15o(-6db)
80o±15o(-6db)
敏感
------------
最小-70db
操作温度
-20oC--70oC
-20oC--70oC
综上所述:
从上面的表中的数据我们可以看出NU40C12TR-1的敏感性更好,更容易接收信号,再加上NU40C12TR-1为通用型传感器,在购买方面也比较容易,价格也相对较便宜。
由此方案二为本设计的最佳方案。
(五)RS232异步串行通信协议和接口规范
串行通信是指把一个数据字逐位顺序分时进行的传输方式。
其突出优点是需要数量很少的传输线,特别适合远距离传输。
对于单片机而言,串行通信的另一个重要优点就是,需要占用的引脚资源较少。
PIC16F87X单片机内部的USART模块具有异步和同步通信能力。
其异步通信能力主要用于与其他计算机系统或单片机系统进行远程通信,而同步通信能力主要用于本单片机电路系统之内的片外器件串行扩展。
本设计是利用了MCU的USART模块的双向异步串行通信方式与计算机系统进行远程通信的。
1.异步通信方式
在线路上,异步传送的数据是以字符为单位来传送的(即面向字符)。
其特点是数据在线路上的传送,各个字符可以是断续的,也可以是连续的,这完全由发送方根据需要来控制。
另外,在异步传送时,起同步作用的时钟脉冲,并不传送到接收方,即收发双方各自使用自己的时钟源,来控制发送的速率和接受的检测(采样)时刻。
为了克服数据传输时,双方时钟的不一致性以及时钟偏差的积累而引起数据接受的错误,异步传送过程中采用了两项技术:
一是通信双方在通信速率,每个字符的总长度上,必须要做预先的约定;二是接受方需要采用字符再同步技术,即每接受一个字符都要进行一次起始位的识别和定位。
从物理线路的连接上看,进行异步通信的双方之间的连线,只有信息传输线,而没有时钟传输线。
由于字符的发送是随机进行的,因此,对于接受方来说就是一个判断何时有字符送来,何时是一个新的字符开始的问题。
所以,在异步通信过程中,必须预先规定一种双方认可的信息格式,即每个字符的信息格式由四个部分组成:
起始位,数据位串,奇偶校验位和停止位。
这样一组信息就被称为一个数据帧或简称一帧。
一帧信息的传送有起始位开始,停止位结束。
(1)起始位:
是一个逻辑0,占用一位的时间,用来通知收信方一个新的字符的到来。
线路上在不传送期间,线路电平应该一直保持为逻辑1。
接收方不断检测线路上的状态,如果连续检测到逻辑1之后,又检测到逻辑0,就断定开始发来一个新的字符,立刻准备接收数据。
字符的起始位还被用来同步接收方的时钟,以保障后面的接收能够按照正确的节奏和正确的检测时刻进行。
(2)数据位串:
起始位后面紧接着就是多位数据,它可以是5位,6位,7位,8位或9位等。
由于串行通信速率是与数据的位数有关,所以要根据实际需要来确定数据的位数,一般采用8位或9位居多,尤其在单片机中更是如此。
另外,在发送时,通常是数据的最低位在前,即紧接起始位的是数据的最低位(LSB,leastsignificantbit),其最高位(MSB,mostsignificantbit)后面紧接奇偶校验位。
(3)奇偶校验位:
占用一位,但是它不是必须的,也可以规定奇偶校验位,或者将奇偶校验位替换为其他控制位,例如,用该位来确定这个字符所代表信息的性质(如地址,数据,命令或状态信息等)。
该位的利用,需要通信双方预先做好软件上的约定。
(4)停止位:
用来表示一个字符的结束。
它被规定为逻辑1。
停止位可以是一位,1.5位,或者2位,采用一位的情况较为多见。
接收方收到停止位时,便得知一个字符接收完毕,同时为接收下一个字符做好准备,即只要再收到一位0,就是一个新的字符的起始位。
如果停止位后面不是紧接着传送下一个字符,则让线路上保持逻辑1,如下图6。
图6时序图
2.串行通信中的数据传送方向
在同步或异步串行通信过程中,通常通信的内容(即数据或字符)是在双方之间双向传送的,只有少数的情况是只能单向传送的。
其传送方式可分为:
单工传送方式,半双工传送方式,全双工传送方式。
本设计是采用的全双工传送方式,即在同一时刻,A,B双方即能发送信息也能接收信息。
也就是,发送信息和接收信息在双方之间能够同时进行,如下图7。
图7串行通信原理图
RS-232C接口被大量的应用,该接口的全称为EIARS-232C(其中“EIARS”意思是ElectronicsIndustriesAssociationRecommendedStandard,美国电子工业协会推荐标准),实际上是串行通信接口的一种标准和规范。
它采用DB-25连接器或DB-9连接器,其中每一插针的信号功能都是标准的,对于各种信号的电平规范也是标准的,因而便于各种数字设备之间的兼容和互相连接。
DB-9引脚如表3。
表3DB-9引脚说明
DB-9脚位
信号名称
方向
含义
3
TXD
输出
数据发送端
2
RXD
输入
数据接收端
5
GND
-----
信号地
其中,只有TXD,RXD是数据通信信号,其余基本是实现控制目的的握手信号或互锁信号。
对于各种信号电平规定如下:
·数据信号逻辑1=-3到-25V(一般常用-12V);
·数据信号逻辑0=+3到+25V(一般常用+12V);
·控制信号ON=-3到-25V(一般常用-12V);
·控制信号OFF=+3到+25V(一般常用+12V)。
大多数的电脑设备都具有RS-232C接口,它紧需要3根线(TXD,RXD和SG)便可以在两个数字设备之间进行全双工的传送数据。
其他的握手信号可以做适当的处理或直接悬空。
在单片机通信中经常采用的就是这种最简单的连接方式。
模拟通信的主要特征就是信号幅度的取值是连续的,也是无限的;而数字通信的主要特征则是信号幅度的取值是离散的,也是有限的。
数字信号的每一位编码(也叫码元)可以是任意进制的,不过,以二进制常见,其每个码元只有两种编码状态“0”和“1”,信号幅度也只有0V和3V两种。
在数字通信系统的主要性能指标中,衡量传输速率的指标一般有两个:
信息传输速率和符号传输速率。
(1)信息传输速率
信息传输速率(通常记作R)指的是,每秒传送的位数,单位是位/秒(bit/s)。
信道或线路上传输速率通常是以每秒所传送的信息量多少来衡量的。
信息论中定义信源发生信息量的度量单位是位(bit)。
一个二进制码元所包含的信息量是一位,所以信息传输速率的单位是位/秒(bit/s)。
(2)符号传输速率
符号传输速率(通常记作N)指的是,单位时间内传送的符号(即码元)个数,单位是波特(baud)。
也就是俗称的“波特率”的概念。
这里的码元可以是二进制的,也可以是多进制的。
在二进制通信系统中,符号传输速率N就等于信息传输速率R;而对于多进制通信系统,两者不等。
信息传输速率R和符号传输速率N的关系是:
(6)
其中,M为符号编码的进制。
三、系统电路设计要求及方案确定
(一)主控制芯片的选择
方案一:
采用PIC16F877控制外围元件及对超声波距离的计算,PIC16877内部模块多,功能强大,易于外围设计,是一般小中型控制芯片的理想选择。
方案二:
采用PIC16F877的兄弟模块PIC16F873来进行控制,既然是兄弟模块,在功能上基本上相同,唯一欠缺的是外围端口相对较少,但适用于本设计。
PIC16F873是一个4k字节可编程EPROM的高性能单片机。
它对很多嵌入式控制应用提供了一个高度灵活有效的解决方案。
PIC16F873有以下特点:
4k字节EPROM、28根I/O线、3个定时/计数器、具有3V至5V的电压工作范围。
充分利用PIC16F873的片内资源,即可在很少外围电路的情况下构成功能完善的超声波测距系统。
综上所述:
采用方案一不但价格偏高增加了成本,并且浪费了PIC16F877的大部分资源,实为大材小用。
采用方案二价格相对较低,并且使资源得到了合理的利用。
由此选择方案二是此设计的理想方案。
(二)测温补偿电路方案论证确定
常用的测温补偿方法有:
热敏电阻、铂电阻、热电偶以及集成温度传感器(如AD590)补偿。
使用传统温度传感器,硬件电路复杂,而且传统温度传感器大都输出的是模拟信号(电压或电流),不能直接送入单片机等处理器进行处理,这样就需要经过采样保持、A/D转换然后再与单片机相连,经过数据处理得出温度,这样设计的硬件电路复杂,成本也高。
在本设计中,采用了DALLAS半导体器件公司生产的一种高性能,低价格,数字化的可编程数字温度传感器芯片DS18B20来采集温度,该数字温
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精密 超声波 测距仪 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)