朱玉奇
摘 要:论文详细设计了超声波测距系统的硬件和软件系统。系统的硬件设计采用模块化设计,系统的软件设计分为主程序、温度检测子程序、超声波发射子程序、中断检测渡越时间子程序、发射脉冲宽度调节子程序、LED显示子程序,由主程序实现对各功能模块的调度管理。论文最后对系统的软硬件进行试验调试。试验表明该系统在100mm~5000mm范围内能够实现准确测距,本课题的研究具有一定的理论和实用价值。
关键词:超声波测距;单片机;温度补偿
1 引言
世界各国对精确测距技术的发展潜力及应用前景有着广泛共识,应用于工业测量、场地监视和交通管理等方面,如今在许多民用领域中开始需要近目标、无接触、无损伤的目标检测系统。目前一般测距的技术有激光测距、红外测距、微波雷达测距和超声波测距等。超声波测距虽然存在一些缺陷,最大问题就是抗干扰能力较差。但在近距离测距系统中,只要对其温度和湿度进行适当的补偿,其测距精度将高于微波雷达测距,达到精确测距的目的。所以,本文所采用的测距方法为超声波测距。
美国学者 David L于1998年实验研究了测量范围在1.5m以下的测量系统;国内学者对近距目标探测技术的研究主要集中在W波段的系统设计,测距精度≤ ±4m。随着超声波测距技术在社会生活中的广泛应用,超声波作为一种新型的工具在各方面都有很大的发展空间,未来超声波测距技术将朝着更高精度,更大应用范围,更稳定方向发展。
本文正是研究应用于精确施用机械中的超声波测距系统,研究设计实现精确测距系统的硬软件,并通过实验分析研究超声波测距系统的性能和效果,研制自动化传感装置。
2 精确测距系统设计
2.1 硬件设计
超声波测距硬件系统,由系统处理模块、驱动模块、接收模块、超声波传感器四大部分组成。具体包括CPU、电源电路、复位和晶振电路、温湿度补偿电路、显示接口等。其中CPU型号为W780E054D——作为整个系统的控制核心,控制超声波传感器的收发,将测得的距离通过LED进行显示。温度检测采用DS18B20,湿度检测采用DHT11。
系统的超声波发射电路至关重要,直接由12V供电,并且提供24Vpp驱动超声波发射器。24Vpp是通过一个二进制非门CD4069桥电路实现的,其电路图如图2.1所示。CD4069即6反相器电路,其由六个COS/MOS反相器电路组成。CD4069桥电路中有一个非门用来为驱动器的一侧提供180度的相移信号,另一侧由相内信号驱动。这种推挽结构使输出端的电压提高了一倍,为发射传感器提供了24Vpp电压。两个非门并联连接以便每一侧能够为传感器提供足够的驱动电流。因为CD4069工作于12V,而单片机工作于5V,单片机和输出驱动器之间的逻辑电平是不匹配的,双极性晶体管Q3就作为这两种逻辑电平之间的转换器。上拉电阻R83和R84一方面可以提高反相器输出高电平的驱动能力,另一方面可以增加发射传感器的阻尼效果,以缩短自由震荡的时间。
图2.1 超声波发射电路图
超声波发射器发射脉冲宽度决定了测距仪的测量盲区,也影响了测距精度,同时还与信号的发射能量有关。减小发射脉冲宽度,可以提高测量精度,减小测量盲区,但同时也减小了发射能量,对接收回波不利。本系统根据实际工作条件调整发射脉冲的宽度,针对不同的距离,发射合适能量的脉冲,并且采用自适应算法调节超声波发射脉冲串长度,根据目前的测距工况,发射合适的超声波脉冲串,使脉冲总能量增大,通过上述做法能够有效减小测量盲区,提高测量精度,并随着迭加效果的体现,更好地检测到回波信号。
2.2 软件设计
软件系统采用模块化思想,主要由两部分组成,即主程序部分和中断服务子程序。主程序在完成系统初始化后,循环执行温度检测、湿度检测、发射脉冲宽度调节、发射超声波、计算距离、显示等功能。
初始化程序包括:硬件初始化、软件变量初始化、功能模块寄存器初始化和中斷初始化。中断程序包括定时器中断子程序和外部中断子程序,其中定时器0中断主要完成键盘扫描和LED显示等功能,外部中断子程序完成渡越时间的检测。
在发射脉冲宽度调节子程序时,通过程序延时,在单片机引脚上输出40K HZ的方波信号,驱动系统选择的超声波发射探头。延时子函数delaypulse( )是用NOP指令编写的,可以做到精确定时,其延时长短可以通过Keil uVision4的观察窗口来观察。
3 系统调试
为保证测距系统正常工作,不仅需要保证硬件的设计和焊接没有问题,还需要对硬件和软件进行调试。
本系统进行测试时,均处于环境温度32℃情况下,选择墙面作为靶标,利用钢制米尺作为距离标准,测量测距仪到目标物的实际距离。
超声波测距仪置于平整的实验室地面,正对前方墙面,通过有、无温度湿度补偿两种方式,利用精度为1mm的钢制米尺测量下表中实际距离,分别在距离靶标30mm、50 mm、100 mm、200 mm、500 mm、1000 mm、2000 mm、3000 mm、4000 mm、5000 mm进行系统测试。
测试结果:无补偿测量值分别为27mm、47mm、97mm、193mm、486mm、974mm、1941mm、2920mm、3910mm、4894mm。有补偿测量值分别为28mm、49mm、101mm、199mm、501mm、1002mm、1999mm、3007mm、4025mm、5038mm。
试验结果分析:一是在无温湿度补偿的情况下,系统所测距离均低于实际距离;在距离靶标500mm以上,测量绝对误差呈上升趋势、相对误差在2.00%~3.00%;在距离500mm以下,测量相对误差偏大。二是在具备温湿度补偿的情况下,系统测距的绝对误差和相对误差均比无温湿度补偿情况下的测距误差明显减小。三是在具备温湿度补偿的情况下,测量距离对测量精度仍有一定影响,距离过近时相对误差较大,但在距离大于100mm时,相对误差均小于1.00%。四是当测量距离在100mm~5000mm时,测距仪重复测量结果相对稳定,重复测量结果之间差距不大,特别当测量距离在500mm~3000mm时,重复测量结果更加稳定准确。因此,通过上述测试可知,通过温湿度补偿,能够有效提高测距系统的测量精度,并且在温湿度补偿情况下,距离在100mm~5000mm范围内,相对误差均小于1.00%。能够满足精确施用机械测距系统的精度要求,特别在500mm~3000mm范围内测量精度更高。