DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 659|回复: 0
打印 上一主题 下一主题

[工仪] 基于P89LPC932超声波测距仪

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 13:56:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要:为了克服一些传统距离测量方式在某些特殊场合无法测量的缺陷,设计以P89LPC932为核心,利用超声波传感器实现了无接触式空气测距的方法,充分考虑声速与温度的密切关系,进行温度补偿,进一步获得测距最远700 cm左右,精度最优达到1%。该设计具有较强的抗干扰能力,安装简单,体积小,功耗低,便于嵌入其他系统的特点。
关键词:P89LPC932;超声波;测距仪;无接触式空气测距

0 引言
??? 一些传统的距离测量方式在某些特殊场合存在不可克服的缺陷。例如,液面测量就是一种距离测量,传统的电极法是采用差位分布电极,通过给电或脉冲来检测液面,电极长时间浸泡于水中或其他液体中,极易被腐蚀、电解,失去灵敏性。利用超声波测量距离可以解决这些问题,因此超声波测量距离技术在工业控制、勘探测量、机器人定位和安全防范等领域得到了广泛应用。所谓超声波是指频率高于20 kHz的机械波,具有强度大、方向性好等特点。其一般由压电效应或磁致伸缩效应产生。
??? 本文设计的超声波测距仪用三种测距模式选择跳线J1(短距、中距、可调距)。其整体方案为当按下测量键,探头就发送超声波,当超声波遇到障碍物时将产生回波信号;系统将探头接收到的回波信号放大送入控制器;温度测量电路测出温度,通过计算得到所测距离,显示在数码显示器上,后4位显示距离,前2位显示温度。

1 超声波测距仪基本原理
??? 利用超声波测量距离的原理如图1示所示,简单描述为:定期发送的超声波遭遇到障碍物时发生反射,反射波经由接收器接收并转化为电信号,这样只要测出发送和接收的时间差△t,然后按照式(1)即可求出距离:
???


??? 式中:C为超声波在空气中的传播速度,0℃时C为331 m/s,25℃时C为347 m/s,其与环境温度T(单位:℃)的关系如式(2):
???


??? 由此可见,声速与温度有密切关系。在应用中,如果温度变化不大,并且无特殊精度要求,可认为声速是基本不变的,否则,必须进行温度补偿。温度补偿方法为每次先按照式(2)计算当时声速C,然后再按照式(1)计算距离。




??? 另外,从图1还可以看出,由于超声波利用接收反射波来进行距离的计算,因而不可避免地存在发射与反射之间的夹角,其大小为2a。当a很小时,可直接按式(1)进行计算得到距离;当a较大时,则必须进行距离修正,修正公式如式(3):
???



                          
                       
                          
                               
2 系统硬件
??? 超声波测距仪主要包括:温度检测电路,超声波发射及控制电路,超声波接收及信号处理电路,显示电路,微处理和其辅助电路以及RS 232通信接口电路,其结构框图如图2所示。




2.1 超声波发射及控制电路
??? 超声波探头的型号选用CSB40T,利用软件产生40 kHz的超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超声波,如图3所示。从图中可看出,40 kHz超声波信号是利用555时基电路震荡产生的。震荡频率计算式如下:
???


??? 将R10设计为可调电阻的目的是为了调节信号频率,使之与换能器的40 kHz固有频率一致。为保证555时基具有足够的驱动能力,宜采用+12 V电源。CNT为超声波发射控制信号,由微处理器进行控制。




                          
                       
                          
                               
2.2 超声波接收器的设计
??? 超声波接收器包括超声波接收探头、信号放大电路及波形变换电路三部分。超声波探头必须采用与发射探头对应的型号,这里采用CSB 40R。由于经探头变换后的正弦波电信号非常弱,因此必须经放大电路放大。正弦波信号不能直接被微处理器接收,因此必须进行波形变化。如图4所示,前级采用NE5532构成10 000倍放大器,对接收信号进行放大;后级采用LM311比较器对接收信号进行调整,LM311的3管脚的输入为比较电压,可由J1跳线选择不同的比较电压以选择不同的测距模式,如图5所示。







??? 模组提供了测距模式选择跳线J1,可以选择短距测量模式、中距测量模式或距离可调模式。跳线选择LOW时为近距测量模式,选择HIGH时为中距测量模式;选择SET时为距离可调模式。
                          
                       
                          
                               
2.3 温度测量电路
??? 当环境温度变化时,超声波波速会随之变化,所以要进行修正。因而系统中设置了一个温度检测电路,实时采集温度,对波速进行修正。测温电路使用的传感器为DS1820,如图6所示。具有9,10,11,12位转换精度,未编程时默认精度为12位,测量误差一般为0.5℃,软件处理后可达0.1℃。

3 系统软件
??? 系统流程图如图7所示。




??? 微处理器P89LPC932先把P1.6置0,启动超声波探头发射超声波,同时启动内部定时器T0开始计时。然后检测温度并进行温度补偿,当超声波信号遇到障碍物时信号立刻返回,微处理器不停扫描P2.7引脚,如果P2.7接收的信号由高电平变为低电平,表明信号已经返回,微处理器进入中断关闭定时器。再把定时器中的数据经过换算就可以得出所测距离。

4 结语
??? 本系统利用超声波传感器实现无接触式空气测距,并充分考虑到测量环境温度对超声波传递速度的影响,通过温度补偿的方法对速度予以校正,并具有三种模式跳线选择,因此具有测量准确度较高、抗干扰能力强、反应速度快等特点。实验表明,本测距仪实测精度最优达到1%,最远测距为700 cm左右。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-4-30 22:01 , 耗时 0.086339 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表