APP下载

基于STM32的超声波泄漏检测系统

2017-06-02陈星谕王思宇郭阳宽陈斯庚王艺瑄

数字技术与应用 2017年4期
关键词:STM32单片机超声波

陈星谕 王思宇 郭阳宽 陈斯庚 王艺瑄

摘要:以STM32处理器为控制核心设计了用于管道及容器泄漏检测的超声波泄漏检测系统。在系统硬件设计、软件设计的基础上,利用所研制的系统进行了测试,测试表明系统实现了泄漏检测。

关键词:STM32单片机;嵌入式处理器;超声波;泄漏检测

中图分类号:TP39 文献标识码:A 文章编号:1007-9416(2017)04-0202-02

超声波检测(Ultrasound Test简称UT)利用超声波的传播特性实现对非声学量(温度、距离、硬度、流速、流量、液位、缺陷等)的测定,具有适应性强,灵敏度高,环境适应能力强,成为无损检测中的重要方法。

利用超声波检测管道及容器的密封性能对于工业生产安全性具有重要意义。目前国内所使用的超声波泄漏检测仪多是针对于压力系统的,英国信固公司(CYGNUS)率先开发了一款可以用于检测非压力系统如船舱、机舱盖密封性能的超声波检漏仪,但价格昂贵。

本文基于 STM32设计了一种超声波泄漏检测系统,该系统具有操作简单、携带方便、测量快速、性价比高等优点。

1 检测原理

超声泄漏检测原理如图1所示。

当被检测管道或容器等壁面有破损时,超声波就会从破损处传递,在另一面就可以利用超声波接收器检测到该超声波,超声波接收器距离破损处越近,检测到的信号就越强。

根据超声波发生源的不同,可以分为主动泄漏检测和被动泄漏检测。

如图2所示当腔体内外有较大压力差或为流体时,在压力作用下,流体从破损处急速冲出形成湍流,产生振动频率与破损尺寸相关的声波。破损较小时产生频率较高的超声(破损较大凭人耳即可辨别)。

对非压力系统,如汽车轿厢、飞机门窗、船舱、雷达方舱等,由于容器内外无较强的压力差,因此即使容器有漏孔等瑕疵也不会形成湍流而产生超声波信号,超声波被动测量方式无法适用。一般超声波容器密封检测主动测量方法如图2所示,通过将超声波发射源置于容器内部,超声波接收机通过测量容器内部泄漏出来的超声波信号判断待检测容器的密封性能。

本文以非压力系统为检测对象,开展超声波泄漏检测仪的研制工作,但就超声波接收机而言仍然可以用于被动接收。

2 硬件系统设计

硬件系统如图3所示。系统调试时需要用到上位机,正常运行时可以脱离上位机独立运行。

硬件系统的核心部分主要有主控单片机、超声波发生和接收部分、以及二者的通信方式。单片机泛应用于工业控制、智能仪表、计算机网络通信、医疗、汽车等众多领域。单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两个分支。对于一个嵌入式系统,单片机的选型需要考虑众多因素,比如功能上是否满足应用的需求,功耗、价格、稳定性、开发难易程度等等。作为系统的控制核心,本系统采用单片机型号为STM32F 103RBT6;超声波发生和接收装置现在已有很多。考虑到收发匹配,本系统采用超声波发射与接收一体的对射式超声波收发模块KS102;二者的通信方式选择I2C。

2.1 主控单片机的选型

该主控单片机在系统中的作用有:控制超声波发射接受模块发射超声波,并处理其信号。在显示模块显示检测结果。通过串口或无线方式上传测量数据。

STM32简[1]:STM32微控制器使用来自于ARM公司具有突破性的Cortex-M3内核,该内核是专门设计用于满足集高性能、低功耗、具有竞争性价格于一体的嵌入式领域的要求。Cortex-M3在系统结构上的增强,让STM32受益无穷;Thumb-20指令集带来了更高的指令效率和更强的性能;通过紧祸合的嵌套矢量中断控制器,对终端时间的响应比以往更迅速;所有这些又都融入了业界的功耗水准。具业界领先架构的Cortex-M3内核哈佛结构与传统单片机相比,STM32的主频和定时器的频率可以通过PLL倍频高达72MHz,高分辨率的定时器为高精度的测量提供了保证。超声波的发射使用定时器的PWM功能来驱动,回波信号的接收使用定时器的输入捕获功能[2][3]。TM32FI03RBT6其内部还有硬件除法器,在计算时大大节约了时间。

2.2 超声波收发器KS102的电性能参数

(1)工作电压:3.0V~5.5V 直流电源,推荐 5.0~5.5V;

(2)工作时瞬间最大电流:100mA@5.0V,电流不足将影响量程;

(3)工作电流:20mA@5.0V, typical;

(4)休眠时最大耗电量:500uA@5.0V,typical(串口模式时不休眠);

(5)功耗:使用纳瓦技术省电,5s未收到I^2C控制指令自动进入 uA 级休眠,并可随时被主机I^2C控制指令唤醒。

2.3 I^2C通信

KS102使用I^2C接口与主机通信,自动响应主机的I^2C控制指令。指令为8位数据,指令发送流程如图4所示。

KS102 在发送完探测指令后,需要等待一段时间方可以获取正确的16 位 I^2C 数据。而用户只知道最大探测时间,但并不确知实际每次的探测时间。 KS102采用了探测结束智能识别技术。探测过程中SCL将一直保持为低电平,用户可以通过查询SCL线是否变为高电平即 while(!SCL)语句来等待,SCL线变为高则表明探测完毕,可以开始通过I^2C总线接收到 KS102探测到的16位数据。注意,发送完探测指令后,需要延时约 40us 以上再查询SCL线是否变高,所述 40us为KS102響应延迟。由于最快的探测指令0xa0也需要1ms的时间,因此建议延时约1ms后再判断SCL线,这样做既不会打断正在进行的探测,也不会降低探测效率。也可以通过延时一段时间再开始接收16位I^2C数据。

如果不希望SCL線在探测时被拉低,可以通过发送指令0xc3指令,之后断电重启KS102后SCL线仍然不会拉低。如果想恢复I^2C钳制及SCL拉低功能,发送0xc2指令即可。配置方法非常简单,向本模块发送指令时序:“I^2C地址+寄存器2+0xc2/0xc3”即可,发送完成后请延时至少2秒,以让系统自动完成配置。并开始按照新配置工作。

探测结束智能识别功能配置好之后会自动保存,并立即按照新配置工作。KS102在重新上电后将按新配置运行。

3 系统软件设计

系统软件设计的主要任务是控制超声波发射器发射超声波和超声波接收器接受超声波,并对是否接收到超声波做出响应,响应的方式为蜂鸣器发声,工作原理如流程图5所示。

首先程序初始化,由外部指令决定系统是否开始进行测试。开始测试时,单片机控制超声波发射模块发射超声波,然后超声波检测模块开始检测超声波,当检测模块检测到信号后,会反馈单片机一个激励信号,进而控制蜂鸣器发声,并重复执行发射超声波程序段;如果检测模块未检测到超声波信号,无激励信号反馈给单片机,系统则判定未检测到信号,执行发射超声波程序段。

4 系统测试与结论

对系统进行实际主动式泄漏测试表明,将超声波发生器置于容器内,当接收器接近容器缝隙附近时,报警越来越明显(报警声越来越强),而远离缝隙处,报警声音非常微弱。

本文设计的超声波泄漏检测系统成功实现了容器缝隙或破损的检测,能狗用于破损的定位寻找。该系统也可以用于被动式超声泄漏检测。

参考文献

[1]刘品,李松岩,徐赫.基于 ADS8364高速数据采集模块接口设计[J].现代电子技术,2011,34(8):138-140.

[2]Hua Hong,Wang Yongtian.Dynamic range finding device using amplitude-modulated continious ultrasonic wave[J].Journal of Beijing Institute of Technology, 1998,7(1):132-136.

[3]Takanori EMARU, Takeshi, TSUCHIYA. Research on estimating the smoothed value and different value of the distance measured by an ultrasonic wave sensor[J] Proceedings of the IEEE International Conference On Intelligent Robets and System. 2000:1291-1297.

猜你喜欢

STM32单片机超声波
基于Niosll高精度超声波流量计的研究
基于手机准超声波控制的智能灯
蝙蝠的超声波
超声波流量计的研究
超声波流量计在兰干渠上的应用