首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
测试测量
» 结合温度补偿的超声波测距系统设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
结合温度补偿的超声波测距系统设计
发短消息
加为好友
Bazinga
当前离线
UID
1023230
帖子
5213
精华
0
积分
2607
阅读权限
70
在线时间
158 小时
注册时间
2013-12-20
最后登录
2015-10-22
金牌会员
UID
1023230
1
#
打印
字体大小:
t
T
Bazinga
发表于 2014-12-22 21:10
|
只看该作者
结合温度补偿的超声波测距系统设计
无损检测
,
超声波
,
机器人
,
单片机
,
机械
0 引言
超声波是一种在弹性介质中的机械震荡,它是由与介质相接触的震荡源所引起的,其频率在20kHz以上。由于超声波的速度相对于光速要小得多,其传播时间就比较容易检测,并且易于定向发射,方向性好,强度好控制,因而利用超声波测距在很多距离探测应用中有很重要的用途,包括无损检测、过程测量、机器人测量和定位,以及流体液面高度测量等。利用单片机控制超声波检测往往比较迅速、方便、计算简单、易于实现,并且测量精度高。
1 系统设计
超声波测距的最远距离和分辨能力,不仅需要良好的换能器,也需要合理的驱动电路及回波探测电路。对发射而言,为了使电能到机械能的转换效益最大,换能器必须工作在它的共振频率处。对接收电路而言,为了使机械能到电能的转换效率最大,最佳工作点必须取在反共振频率处,在传感器系统中,发射部分的共振频率要与接收部分的反共振频率相匹配。同时,温度对声速有着较大的影响,温度补偿无疑是减少误差的很好方法。本设计选用T40-16T/R超声波传感器,设计了一种以AT89C2051单片机为核心的低成本、高精度、微型化数字显示超声波测距仪。为了进一步提高系统测量精度和系统稳定性,在硬件上增加了温度传感器测温电路,采取声速预置和媒质温度测量相结合的办法对声速进行修正,降低了温度变化对测距精度的影响。有力提高了超声波测距系统的测量精度。
设计系统由单片机主控模块、显示模块、超声波发射模块、接收模块、温度测量补偿模块等五个模块组成,组成框图如图1所示。
超声波发射电路由单片机输出端直接驱动超声波发送,超声波接收电路输出端与单片机相连接,单片机的输出端与显示电路输入端相连接。单片机在TO时刻发射方波,同时启动定时器开始计时,当收到回波后,产生一负跳变到单片机中断口,单片机响应中断程序,定时器停止计数。计算时间差即可得到超声波在媒介中传播的时间t,由此便可计算出距离。
2.1超声波测距单片机控制系统
单片机AT89C2051采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机P3.5端口输出超声波换能器所需的40kHz的方波信号,P3.6端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的3位共阳LED数码管,段码输出端口为单片机的P1口,位码输出端口分别为单片机的P3.2、P3.1、P3.0口,数码管位驱运用PNP三极管S9012三极管驱动。而温度测量采用简单的DS18B20温度传感器,测量结果送入P3.4口,利用公式算出声速。
2.2超声波发射、接收电路
超声波发射、接收电路如图2所示。超声波发射电路由电阻R2及超声波发送头T40组成;接收电路由BG1、BG2X组成的两组三级管放大电路组成;检波电路、比较整形电路由C7、D1、D2及BG3组成。
40kHz的方波由AT89C2051单片机的P3.5驱动超声波发射头发射超声波,经反射后由超声波接收头接收到40kHz的正弦波,由于声波在空气中传播时衰减,所以接收到的波形幅值较低,经接收电路放大、整形,最后输出一负跳变,输入单片机的P3.7脚。由于单片机系统的晶振为12M晶振,所以只能产生半周期为12μs或13μs的方波信号,频率分别为41.67kHz和38.46kHz.本系统在编程时选用了后者。接收到的信号加到BG1、BG2组成的两级放大器上进行放大。每级放大器的放大倍数为70倍。放大的信号通过检波电路得到解调后的信号。这里使用的是IN4148检波二极管,输出的直流信号即两二极管之间电容电压。该接收电路结构简单,性能较好,制作难度小。
2.3温度测量补偿电路
在空气中,常温下超声波的传播速度是334m/s,但其传播速度受空气中温度、湿度等因素的影响,其中受温度影响较大,如温度每升高1℃,声速就会增加约0.6m/s.因此在相同的间隔测量距离,由于波的传播时间是相同的,不同温度下的声速不同,所以最终造成测量出来的距离不相等,在距离测量精度要求很高的情况下,必须要对温度进行测量和补偿,以避免温度对测量精度的影响。本系统选用DS18B20温度传感器作为温度测量、误差补偿装置,与单片机交换信息仅需要一根I/O口线,其供电电源可来源于单片机I/O口数据线,而无需额外电源。不同温度下超声波在空气中传播速度随温度变化的关系如下:v=331.4+0.61T (1)
式中,T为实际温度(℃),v为当前环境下声速,单位为m/s.
3 系统软件设计
软件设计部分采用模块化设计,由主程序、发射子程序、接收子程序、中断子程序、温度测量等组成。超声波测距的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序采用C语言编程。主程序完成初始化工作、超声波发射和接收顺序的控制、距离上下限超限报警。定时中断服务子程序完成超声波回波接收,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。
主程序首先是对系统环境初始化,设定时器0为计数,设定时器1定时。置位总中断允许位EA.进行主程序后,进行定时测距判断,当测距标志位c1=1,即进行测量一次,程序设计中,超声波测距频度是2次/秒。测距间隔中,整个程序主要进行循环显示测量结果。当调用超声波测距子程序后,首先由单片机产生6~8个频率为38.46kHz超声波脉冲,加载至超声波发送头上。超声波头发送完超声波后,立即启动内部计时器T0进行计时,为了避免超声波从发射头直接传送到接收头引起的直射波触发,这时,单片机需要延时约1.5~2ms时间(这也就是超声波测距仪会有一个最小可测距离的原因,称之为盲区值)后,才启动对单片机P3.7脚的电平判断程序。当检测到P3.7脚的电平由高转为低电平时,立即停止T0计时。
当停止计时时,立刻启动测温程序,通过对温度的读取,算得此时声速。由于采用单片机采用的是12MHz的晶振,计时器每计一个数就是1μs,当超声波测距子程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)计算,即可得被测物体与测距仪之间的距离。测出距离后结果将以十进制BCD码方式送往LED显示约0.5s,然后再发超声波脉冲重复测量过程。我们知道,温度对声速的影响是很大的,因而应该先测量温度,再计算出此温度下的声速。
4 调试及数据分析
系统组装调试时先焊接各个模块,再进行模块的单独测试,原件安装完毕后,将写好程序的AT89C2051机装到测距板上,通电后将测距板的超声波头对着墙面往复移动,观察数码管在测量范围内能否正常显示。超声波发送功率较大时,测量距离远,则相应的下限值(盲区)应设置为较高值。
系统测距实验时在不同的实测温度下,整个系统在11个特定的距离都测量7次,共计77次测量。每组7个数据,去掉一个最大值和最小值,再求其平均值,用来作为最终的测量数据。
由图4可见,不同的实测温度下,在30~300cm范围内测量线和实际线几乎完全重合,此时测量的精确度最高。所以本设计系统的可测距离为28~400cm,但是最佳测量距离为30~250cm.
5结论
本设计完成的测距系统进行了有效的温度补偿,测量精度可达0.01m,而且测量结果清晰稳定,响应时间短,0.5s刷新一次数据,测量的实时性和连续性好。本系统可在做细微调整、改进后用于多个应用领域,比如简单的移动机器人、汽车防碰撞等。
收藏
分享
评分
the king of nerds
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议