新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 结合温度补偿的超声波测距系统设计

结合温度补偿的超声波测距系统设计

作者:时间:2013-01-24来源:网络收藏

主程序首先是对系统环境初始化,设定时器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个数据,去掉一个最大值和最小值,再求其平均值,用来作为最终的测量数据。

本文引用地址:http://www.eepw.com.cn/article/170604.htm

e.JPG


由图4可见,不同的实测温度下,在30~300cm范围内测量线和实际线几乎完全重合,此时测量的精确度最高。所以本设计系统的可测距离为28~400cm,但是最佳测量距离为30~250cm。

5 结论
本设计完成的测距系统进行了有效的温度补偿,测量精度可达0.01m,而且测量结果清晰稳定,响应时间短,0.5s刷新一次数据,测量的实时性和连续性好。本系统可在做细微调整、改进后用于多个应用领域,比如简单的移动机器人、汽车防碰撞等。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭