曲春英
(海南师范大学 物理与电子工程学院,海南 海口 571158)
测距方法有很多,激光测距受环境影响大,价格昂贵;红外测距易受电磁干扰,且红外传播速度快,往返时间不易测量,而超声波测距可弥补以上不足,且结构简单、体积小,易于小型化、集成化.在国防、汽车工业、农业及日常生活中广泛应用.
但是超声波传播速度受温度影响,传播时间难于精确计量,在高精度要求的场合应用受到限制.本文的设计就是旨在提高超声波测距精度,以满足市场日益苛刻的测量要求.实验结果表明,该系统测试精度高,达到±1 mm,可靠性高.
系统结构见图1,由主控芯片STC89C52,超声波发射接收模块,测温模块,显示模块以及声光报警模块和键盘组成.采用多组超声波探头,用以测量不同方位障碍物,每组探头将进行多次测量,采用取平均值的方法,提高测量精度;测温模块将测得的实时温度反馈给主控芯片,进而修正超声波的传播速度;另外考虑到被测物表面粗糙度对测试精度的影响,对不同材料的障碍物进行测距;同时具有声光提示功能.
图1 系统总体设计框图Fig.1 Schematic diagram of system
超声波测距有时间差法、相位法等,其中时间差法成本低、实现简单、应用的测距范围大,因此选用该法.如图2,将超声波发射端和接收端同时装于同一高度,利用超声波遇到不同物质界面反射的特性,记录超声波发射端发出信号和接收端收到信号的时间t1、t2,利用公式:L=vt0/2得到被测面到发射端的距离,其中t0=t2-t1,v表示超声波在空气中的传播速度[1].
图2 超声波测距原理示意图Fig.2 Diagram of ultrasonic measurement principle
在空气中,超声波传播速度主要与温度有关:v=331.45+0.607T(m/s),式中T为温度(℃).
本系统采用宏晶科技公司推出的STC89C52型号单片机作为控制器;通过T/R40-16型收发分体式压电陶瓷超声波传感器测量距离;使用Dallas公司的数字型单总线温度传感器DS18B20采集温度,进行温度补偿;通过比较,采用LCD1602液晶显示屏.具体设计如下:
核心控制芯片要具有较快的处理速度,主要任务是能够精确计时,测量环境温度,计算被测面的距离.选用的STC89C52完全胜任,它价格低廉,40个引脚,3个定时/计数器,8k Flash存储,32个I/O口,4路外部中断等.
超声波换能器种类繁多,有的要求被测物表面光滑、平整,有的盲区大,精度不高;综合考虑采用T/R40-16型收发分体式压电陶瓷超声波传感器,其工作电压是5 V,正常工作时电流为30 mA,最大电流是50 mA[2].输入触发信号最小为10Ls TTL电平脉冲;回波信号为TTL电平正脉冲,脉宽与距离成比例.它的声压能级、灵敏度在40kHz时最大,测量距离2~3m.
STC89C52通过P1.0和P3.2控制T/R40-16.在TRIGGER引脚给T/R40-16一触发信号后,它将发射超声波.当超声波投射到物体而反射回来时,ECHO引脚输出一返回信号,给单片机一个中断,单片机开始读取测时时间,之后完成距离的计算.
温度测量使用Dallas公司的数字型单总线温度传感器DS18B20设计,其占用单片机的资源少,读写操作方便.DS18B20测量范围是-55~+125℃,在-10~+85℃间,测量精度达±0.5℃,而在整个温度测量范围内具有±2℃的测量精度.DS18B20采用+5 V电源供电,其数据总线DQ直接与STC89C52的P3.1引脚相连[3].
设计中采用的LCD1602液晶,本设计采用P0口输出;当P0口当I/O口用时需要外接上拉电阻,P0口与LCD1602的数据接口相连接,P3口与LCD1602的控制线相连.根据超声波发出到接收所获得的时间差,经过测距子程序的计算得出的距离值,通过P0口输入到液晶显示屏上显示所测的距离值,以便对数据的实时检测.同时也可显示实时空气温度.
本设计中蜂鸣器使用的压电式蜂鸣器.通过软件中的测距模块子程序测出的距离值,当所测得的距离小于设定的最小值时或者设定大于设定的最大值时;通过P1.6口输出一个脉冲信号经过PNP型三极管驱动蜂鸣器接口,蜂鸣器发出报警声音.
主程序是整个控制系统的核心,通过调用个模块子程序来驱动各个模块的硬件电路正常工作以此来达到实时测距报警的功能.主程序流程图见图3.
为了尽可能地减少测量误差,安装时传感器尽可能的与地面平行,且安装高度不能过低;为减小超声波旁瓣的影响,超声波传感器的两个探头之间的距离要大于3 cm,实验时距离为5 cm.在实验室进行距离的实地测量,以墙壁为障碍物,在室温25℃的情况下,单点多次测量值取平均值后测得的数据见表1.
通过实验可得,此系统的测量精度达到±1 mm,且重复性好.20 mm以内为测量盲区,相对来说较小.
引起误差的主要原因有:材料、零部件及焊接工艺的缺陷,环境温度和其他外界干扰因素.
另外,经过测量不同粗糙度障碍物的相同距离(实际值400 mm)时,所得数据见表2.
从表2对比中可以看出不同反射平面对超声波测距的准确度是影响的,越是光滑的反射面测量所得到的值越准确;以上的测试都是对垂直平面的测量得出的结果.
图3 系统主程序流程图Fig.3 Flow chart of system main program
表1 实验数据及误差Tab.1 Experimental data and errors of system
表2 不同障碍物时的测量数据Tab.2 Experimental data of different barriers
1)本文设计了一基于超声波传感器的测距系统.经过测试,系统精度较高,且测量精度受反射面的粗糙度影响.由于采用收发分体式超声波传感器,测量盲区较小.
2)此测距系统可满足任何测距需求,如辅助泊车,盲人导航,机器人避障,蓄水池液位监测等场合.
3)为进一步提高精度,应考虑环境的湿度,因为超声波在液体及固体中的传播速度更快;同时还应考虑基准误差,实际测量距离应当是压电晶片到障碍物之间的距离,由于压电晶片在探头内部,导致了基准的误差[4].
[1]贾伯年,俞朴,宋爱国,等.传感器技术[M].南京:东南大学出版社,2000.
[2]邹轶.近距离高精度超声波测距系统的设计[D].大连:大连理工大学,2009.
[3]朱向庆,陈志雄.带温度补偿的360°超声波测距测速系统设计[J].压电与声光,2011,33(2):315-319.
[4]渠笑纳.超声波测距在泊车辅助系统中的应用[D].大连:大连理工大学,2010.