基于STM32的超声波测距平台的设计
2018-11-07李昊林徐磊潘少杰王禄祥蔡大维
李昊林 徐磊 潘少杰 王禄祥 蔡大维
摘要:该文在分析超声波测距原理的基础上,设计了一种以超声波换能器为核心,采用STM32F407单片机来实现声波发送与回波接收的测距装置,并将回波数据传送至上位机,回波强弱采用不同颜色进行区分,实现可视化。实验结果表明,设计的测距系统运行稳定,方便安装,测量精度高,人机交互界面良好,能够准确地传送数据,具有较高的应用价值。
关键词:超声波测距;换能器;STM32F407;回波信号
中图分类号:TH717 文献标识码:A 文章编号:1009-3044(2018)21-0271-02
目前,市场上测距的方法多种多样,先后出现了激光、微波雷达、红外线及超声波测距方式[1]。其中,激光测距精度较高但存在易受环境因素影响、成本较高、维护不便等缺点;微波雷达的造价则非常高昂,一般用于某些特定场合;红外测距虽然简单、安全、易制,但精度较低、方向性差。而超声波测距几乎不受被测物体颜色、光线、粉尘、烟雾、电磁干扰和有毒气体的影响,而且价格低廉、使用方便,因此超声波测距作为一种典型的非接触式测距方式,拥有其他测距方式无可比拟的优点,受到了人们广泛的关注和研究。在物位测量、机器人避障、倒车雷达、航海测深等许多领域,超声波测距技术都得到了非常普遍的应用[2]。
1 超声波测距原理
基于超声波信号的测距方法,主要包括基于接收信号强度的测距方法、基于到达角度的测距方法和基于到达时间差的测距方法[3]。
本文采用测量超声波在介质中传播时间的方式来计算距离,即超声波传播速度为v,传播时间为t,距离d=v*t。若采用收发一体的超声波换能器,则实际距离还需除以2,即距离d=v*t/2。由此可知超声波测距必须确定声波在介质中的传播速度以及准确测量声波的传播时间。而声波在空气中的传播速度与温度、湿度、气压等因素有关,通常情况下主要是受到温度影响,声波在空气中的传播速度可近似表示为:
声波的传播时间一般采用“阀值法”来测算,其基本原理是捕获回波信号的幅值第一次超过所设定阈值的瞬间,但回波信号幅值超过阈值的时间会因波形幅值的不同而不同,从而造成测量上的误差[5]。故而采用动态阈值法,又称作包络线峰值检测法,其检测依据为接收信号峰值所在的相对位置不随待测距离的改变而改变,可以较好地弥补此误差[6]。
2 系统总体方案设计
本系统分为上位机平台与下位机,下位机主要由微控制器、超声波发射电路、超声波接收电路、测温模块、通讯模块、电源模块等组成。微控制器负责产生200kHz驱动信号、采集回波、数据处理等任务,最后将相关数据发送到上位机,其总体结构框图如图1所示。
3 硬件电路设计
3.1 超声波发射电路设计
单片机输出两路相位相反,频率同为200kHz,幅值3.3V的方波,经三极管导通后,电压幅值为5V,考虑到后期拓展多通道超声波换能器,故采用CD4052开关选择输出,之后经74LS08与门输出,其原理图如图2所示。
74LS08与门经N沟道MOS场效应晶体管2SK2937连接至中心抽头变压器,实现输出±15V电压方波驱动超声波换能器,其原理图如图3所示。
3.2 超声波回波接收电路设计
如图4,采用ML1350集成运放芯片对回波信号进行放大和整形。ML1350线性中频放大器具有宽范围的自动增益控制、单极性电源工作、输出恒定、工作稳定等优点,满足对超声波回波接收的使用场合。通过调节AGC电压可以改变增益以适应不同量程的回波接收需求。
4 系统软件设计
4.1 单片机软件设计
程序通过TIM3输出两路互补200KHz方波,发射完毕后均输出高电平;采用ADC来采集收到的回波信号,ADC由TIM4触发,同时使用DMA进行ADC的数据采集。待回波数据采集完毕,遍历存储采集信号的数组,寻找到回波信号峰值,减去设定的参数由此确定阈值,再寻找到幅值第一次超出阈值时的数组位置,根据ADC采样频率可换算出开启ADC采集后至回波信号幅值第一次超出阈值的时间,结合温度补偿,由此计算出距离,最后将处理后的值发送至上位机进行显示。系统程序流程如图5所示。
4.2 上位机软件设计
利用C#对上位机软件进行编写,在可视化界面上显示距离及详细图表数据,对回波信号强弱采用不同颜色进行区分。
下位机发射超声波并接收回波,并将回波数据发送至上位机,每次的回波强弱采用不同颜色进行区分,回波色标从强至弱依次为红、橙、黄、黄绿、绿、湖蓝、浅蓝、灰,小于一定幅值的回波信号进行隐藏,显示白色,以便清晰观察。每次回波信号显示为最右侧的从上至下的一条线,当下一次回波信号需要显示时,该线自右向左移动,之后将最新的回波添加至最右侧,由此不断向左移动回波构成一幅动态图像。
程序运行结果如图6所示,回波信号显示在软件界面左侧,中间以曲线图的形式显示每次回波信号,软件接收到的全部信息显示在界面文本框中,软件右侧为控制面板,用于程序的运行控制、参数调整、数据保存等。
在室温下,采用平整混凝土墙壁作为反射面进行测量,使用钢卷尺测量实际距离作为标称值,其中卷尺精度1mm,测量距离为该位置上3次测量数据的平均值。测试结果如表所示。
对数据进行分析,得到本次测试结果的最大偏差为0.2cm,最大相对误差为0.43%,平均相对误差为0.31%,总体上达到了对精度的要求。
使用Matlab进行数据拟合并绘图,如图7所示,可知测量值与标称值也有较好的线性关系,曲线拟合度高,误差小。同时在上位机观察到,当距离较近时,可清楚地观察到二次回波甚至三次回波。
5 結论
本文设计的超声波测距装置,经过实验测试,在一定范围内满足了测距要求,工作可靠,测量精度较高,安装方便,设计的上位机界面人机交互良好,实现了回波强度可视化,可应用于工业非接触测距等场合,具有很好的使用价值。
参考文献:
[1] 苑洁. 基于STM32单片机的高精度超声波测距系统的设计[D]. 北京:华北电力大学,2012.
[2] 潘仲明.大量程超声波测距系统研究[D]. 长沙:国防科学技术大学,2006.
[3] 李戈,孟祥杰,王晓华,等. 国内超声波测距研究应用现状[J]. 测绘科学,2011,36(4):60-62.
[4] 高韵沣,何少佳,邓子信,等.高精度嵌入式超声波测距系统的研究[J].计算机测量与控制,2015,23(1):25-26.
[5] 张成,田建艳,吕迎春,等.基于超声波测距的高精度室内位置感知系统研究[J].仪表技术与传感器,2018(1).
[6] 杨令晨,周武能,汤文兵,等.超声波测距系统的研究及其硬件设计[J].仪表技术与传感器,2018,(第2期).
[7]李云龙.新型嵌入式超声波测距系统[J].仪表技术与传感器,2012(1):97-99.
[8] Karli Watson、Christian Nagel.C#入门经典[M].4版.北京:清华大学出版社,2006.
【通联编辑:代影】