基于单片机的超声波测距仪设计
2015-01-22席雪君苏圣超
□ 席雪君 苏圣超
一、引言
传统的超声波汽车倒车测距仪是在常见的汽车倒车预警装置的基础上采用计算机控制技术和超声波测距技术研制出来的,它解除了驾驶员泊车和起动车辆时前后左右探视所引起的困扰,提高了驾驶安全性。超声波作为一种非接触的测量方式[1~3],包含以下的优点:高性能、结构简单、可控性好、易开发等,同时它在深海探测、汽车倒车雷达等领域具有广泛的用途。但不同的温度环境对超声波测距精度有较大的影响,温度平均每变化1℃的会使声速变化0.607m/s。选取C8051F作为测距系统的核心,采用温度补偿的方法,用温差来补偿声速,从而提升超声波测距系统的精度。为了克服超声波测距系统中环境温度波动对系统的测距造成的误差,采用了温度传感器DS18B20[4]实时采集温度数据,当环境温度变化时,温度传感器DS18B20测量温度,根据温度值与超声波对应的关系采用计算机及时修正波速,以纠正温度的变化引起超声波测距系统产生的误差。
二、硬件设计
根据设计要求并综合各方面因素,选取C8051F单片机作为主控制器,设计一种精度较高的超声波测距仪。同时在超声波测距基础上通过增加温度传感器对超声波测距进行补偿,达到更高精度,进一步保障行车驾驶的安全性。
图1 汽车倒车测距仪电路原理图
通过单片机的定时器和计数器产生超声波驱动信号。超声波测距系统硬件[4]主要有:发射部分电路、接收部分电路、温度感应电路、内部控制部分、数字显示部分。工作流程:测距开始,测距系统向发射电路输出脉冲信号,随即关闭发射信号,计数器打开并开始计时,使计数器与实际测距时间同步;当所有脉冲都被接收到后,计数器停止计数,得到时间t,由公式S=vt/2计算出测得的距离S,经温度T补偿后超声波的实际波速计算公式为:v=331.5+0.607T,最后得到测距公式:[2]S=(331.5+0.607T)*t/2。最后藉由 TFT显示屏,实现数字显示,如图1所示。
图2 温度检测电路图
图2为改进后的温度检测电路,温度的测量采用DS18B20传感器,其抗干扰能力强、精度高、测量范围宽。P1.3接温度传感器的数据总线,用来控制数据的传输并进行温度转换。在总线电路上接上拉电阻,使得P1.3在温度转换期间变为低电平。温度值、温度转换指令、读写指令都是通过数据总线来实现控制器与温度传感器之间的交互。
三、软件设计
图3 主流程图
图3为主流程图,包括:中断服务程序、温度测量、距离计算、显示等子程序。开机后屏幕上先显示“----”,约0.5s的亮灯和发声之后,测距仪开始工作。T0为计时器,记录超声波从发射到接收的时间间隔t(单位为ms)。程序先进行系统初始化的操作,随后触发温度检测程序测量现场环境温度,由公式v=331.5+0.607T算出经由温度补偿后的波速后,然后再触发超声波程序,发出超声波脉冲,当主程序确认接收到所有超声波脉冲后,立即产生INT0中断,定时器T0停止计时。将T0中的数代入公式S=vt/2计算,完成测距操作。需要指出的是,t为计时器T0的计数值,v为经由温度补偿后现场的实际波速,T为温度传感器测得的实际温度,最终测得的距离由液晶TFT液晶屏显示出来。
四、结语
基于单片机的超声波测距仪解决了超声波由于温度变化引起测距精度不高的问题,可以安装在各种车型的尾部,用于观察车后障碍物情况,功能良好。
[1]兰羽,周茜.超声波测距系统接收电路研究[J].电子设计工程,2012,20(14):81 ~83
[2]兰羽.具有温度补偿功能的超声波测距系统设计[J].电子测量技术,2013,36(2):85 ~87
[3]李建中.单片机原理及应用[M].西安:西安电子科技大学出版社,2007
[4]何希才.传感器及其应用电路[M].北京:电子工业出版社,2001