基于CC1310的供水管道泄露检测定位系统设计

2019-06-11 03:39贺帆李玲辛云宏
计算技术与自动化 2019年1期

贺帆 李玲 辛云宏

摘要:基于TI公司的无线通信芯片CC1310,设计和实现了一个低成本的供水管道无线泄露检测定位系统。该系统由传感器节点?集中器以及无线网关组成。其中传感器与集中器节点采用CC1310芯片实现,网关由ESP8266模块实现。检测数据由ESP8266模块传输到PC上位机,最后上位机对传感器节点与集中器的测量数据进行互相关性计算,并由此进行泄漏的判定与定位。初步的实验测试表明,该系统能够发现供水管道的泄漏状况,同时其定位能力也满足实际需求。

关键词:泄漏检测;CC1310模块;ESP8266模块;互相关计算

中图分类号:TP274

文献标识码:A

水是生物生存的日常生活主要必需品,在现代世界,水的问题被认为是最大和最严重的挑战,生活中由于管道基础设施老化,管道泄漏是不可避免的,因此对管道漏泄检测具有深远的意义。 传统的泄漏检测方法主要是音听检漏法[1],这种方法主要依赖于人工判断,效率比较低,可靠性差。现较多的方法是无线系统检测法,如基于Zig-Bee的建筑排水系统立管压力监测方案设计检测方法[2-3],它的频段为2.4 GHz,通信距离较短,通过实际测试,空旷地段通信距离为100 m,埋藏地底下通信距离小于20 m。Michael Allen等提出了一种基于无线传感网络的管道检测系统[4-5],采用3G网络通信技术,但成本较高。综合以上方法均不适合作为埋藏地底下的管线泄漏检测。本文设计了一种基于CC1310远距离的无线网络系统,部署于地下供水管道网络中,用于检测与定位漏水点位置。

1 泄漏检测定位原理

图1给出了一个通用的泄漏信号模型。

3 供水管道泄露检测定位系统架构

图2所示为供水管道泄露检测系统架构框图。图2a为无线传感器网络系统结构图,整个检测系统由传感器节点、集中器节点、无线Wi-Fi、PC上位机组成;图2b为节点整体框图,由图可知节点主要由加速度传感器,信号调理模块,CC1310模块组成。由于管道漏水信号频率处于2000 Hz之内[11]因此系统采用朗斯公司的LC0134TB加速度传感器实现对泄漏信号采集,LC0134TB特性:频率范围为0.5-2500 Hz,灵敏度为10.13 V/g。

系统主要工作过程如下:压电加速度传感器对漏水信号进行采集,信号调理模块为加速度传感器提供恒流源,并对压电加速度传感器采集的信号进行调理。通过滤波电路过滤掉高频噪声干扰信号,输出低频漏水信号,然后经过放大电路进行放大,节点和集中器分别对泄漏信号进行AD采样,最后通过无线传输网络系统发送到PC上位机进行处理,上位机对传感器节点与集中器泄漏信号进行互相关运算,计算出泄露点的位置。

3 硬件设计

3.1 节点模块硬件设计

节点模块硬件实物图如图3所示,由CC1310模块、信号调理模块、加速度传感器、电源组成。

CC1310模块由CC1310芯片、天线、JTAG调试口、电源端口,usb串行口构成,CC1310芯片是TI公司生产的一款超低功耗、868MHz的无线通信MCU,基于强大的ARM⑧Cortex⑩-M3,搭载嵌入式RTOS系统,搭载天线最大传输距离可达2km。CC1310模块实现对信号调理模块传输的泄漏信号AD采样、处理以及无线通信。

信号调理模块由恒流源、放大器、滤波器组成。恒流源为加速度传感器提供(4mA)激励电流,放大器采用24V单电源供电,滤波器采用带通滤波器将信号输出在1-2000Hz带宽内。

3.2无线Wi-Fi模块硬件设计

系统中无线传感网络与上位机之间的通信由无线Wi-Fi模块ESP8266实现,其实物如图4所示。该模块由天线、Flash和ESP8266芯片组成,是一个超低功耗的UART-WiFi透传模块,内置TCP/IP协议栈,可使用两节5号干电池3.3V电源供电。

4 软件系统的实现

系统使用的软件平台为Code Composer Studio6.1.3,并采用了RTOS实时系统。RTOS系统是TI公司开发的嵌入式实时操作系统,其主要特征:1)高精度计时系统,2)实时调度机制,3)多级中断机制。

无线数据的发送与接收主要通过EasyLink层实现,EasyLink是TI公司开发的基于Sub IGhz无线通信层。

集中器的功能有以下几个方面:

1)组建检测网络;

2)启动一个测试过程;

3)收集传感器节点的测试数据,并对数据进行处理:

4)通过Wi-Fi网关与上位机进行信息交互。

在RTOS框架下,集中器的功能对应以下4个任务实现:

任务 1:CreatDectionNetworkTask。 通过EasyLink_init与SetFrequency函数设置物理层类型与通信频段分别为802.15.4g GFSK和868MHz,随后函数GenerateAddr开始查找地址列表并分配源地址,最后通过NetworkStartEvt函数启动建立网络后切换任务2執行。

任务2:BootTestTask。使用定时器回调机制,集中器固定周期30s轮询控制传感器节点与自身进行数据采集, 并通过EasyLink_transmit( &txAdcPacket)启动测试后切换任务3执行。txAdcPacket为数据采集启动数据包。

任务3:DataReceiveProcessTask。通过EasyLink_receiveAsync函数设置异步无阻塞接收模式侦听数据,进入挂起等待状态,并通过RxDoneCallback接收回调函数机制接收传感器节点泄漏信号数据包,然后对数据包进行处理并提取泄漏数据后切换任务4执行。