李 越,杨 虎,袁 卫,王 峰
(渭南师范学院物理与电气工程学院,陕西渭南 714099)
水是人类生产生活中必不可少的物质资源,近几年来,随着自来水管网铺设覆盖率的提升,管网发生的安全事故日渐增多,在供水管网的日常维护中,需要对故障点进行精确定位,倘若仅靠人工检测会造成大量的人力物力资源消耗。为此,提出了基于GIS 的低功耗供水管网检测系统设计,实现了对供水管网实时运行数据的高精度采集,极大地降低了供水管网日常维护难度和维护成本,提高了工作环境的安全等级,能有效保障工人的人身安全。
系统由PC 上位机、ThingJS 平台以及无线通信网络三部分组成,其中ZigBee 网络中的终端设备以MSP430F149 单片机作为数据处理芯片,外围电路分别搭载了高精度传感器(YF-S201 流量传感器、流通式余氯传感器、IIC 输出压力变送压力传感器、霍尔传感器)、蓝牙模块和存储芯片(AT24C02),以实现对供水管网运行数据的高精度采集与存储。单片机负责处理传感器检测到的环境参数,ZigBee 网络以多跳的方式将数据发送至协调器结点,结点通过串口与GPRS 模块建立通信,最终通过GPRS 网络将数据发送至PC 上位机[1]。
使用CampusBuilder 软件导出监测区域的3D 模型数据,将数据上传至ThingJS 在线开发平台,平台通过JavaScript 请求服务器建立WebSocket 连接,用于实时接收GPRS 回传的现场数据,通过3D 视图将供水管网运行数据显示在屏幕上[2-4]。系统的硬件搭建框图如图1 所示。
图1 系统硬件电路搭建框图
系统采用YF-S201 流量传感器检测管道水体流速,当水流带动传感器磁性转子做不规律转动时,霍尔传感器对应输出不同频率的脉冲信号,使用单片机检测脉冲频率即可计算出该区域管道水体流速,进而得出流量,通过分析得出某一区域管网进出水总量的差值,从而判断该区域是否存在渗漏点[5-6]。传感器输出波形示意图如图2 所示,流量与脉冲对应关系如表1 所示。
图2 YF-S201流量传感器
表1 流量脉冲特性参照表
水中氨和氯组成的化合物(NH2Cl、NHCl2、NHCl3)称为化合性余氯,而水中的OCl+、HOCl、Cl2等离子称为游离性余氯[7]。
系统使用流通式余氯传感器检测水体中余氯浓度(0.00~20.00 mg/L),余氯浓度对应4~20 mV 电信号输出,输出信号线连接PCF8591 芯片完成模数转换,单片机通过经IIC总线获取数据,配合烧录的软件程序进行高精度实时检测(1.2% or±10 ppb HOCL),且具有动态温度补偿,进一步提高了检测精度,当检测到的数据接近预设警戒线时,系统发出警报。
为满足监测系统的高精度与低功耗设计要求,系统使用IIC 输出压力变送器,使用1.6~3.6 V DC 供电,其工作状态功耗不高于1.2 mA,睡眠状态功耗不高于30 nA(@1.6 V),输出精度为1~2.0%FSO,标准IIC总线最高传输速率可达400 kbps,采集速率50 次/s,24 位输出数据,可同时输出压力和温度数据。
上电后,单片机首先发送指令(0xAA)执行压力数据读取操作,在设备回应对指令后,通过串口寄存器发回数据,在这个过程中单片机内部产生串行时钟、确认信号以及停止条件。将读取到的数据帧按字节进行解析(第1 个字节为状态字节;第2-4 字节为24 位无符号压力数据,高字节在前,低字节在后;第5-7 字节为24 位无符号温度数据,高字节在前,低字节在后),将解析过的数据信息通过IIC 协议传递给MSP430 单片机[8],完成压力数据的高精度检测。
在IIC 通信协议里,需要用到数据线SDA 及时钟线SCL,通过软件模拟将MSP430F149 单片机P1^2 口(SCL)和P1^3口(SDA)端口设置为IIC通信端口,空闲状态将P1^2 口和P1^3 口上拉到电源电压(VDDA);起始条件将P1^2 口置高而P1^3 口由高电平下跳到低电平(GND);停止条件将P1^2 口置高而P1^3 口由低电平上跳到高电平;有效数据出现在有效的开始条件后,若P1^2 口置于高电位,并且P1^3 口处于一个稳定的电压水平,则传输数据有效。当P1^2 口处于低电位时,P1^3 口的电压才能改变[9-11]。其通信协议规则如图3 所示。
图3 IIC通信协议规则
系统在ZigBee 树状网络结构的基础上搭建了拓扑网格[12],使用的ZigBee 设备工作在2.4 GHz 频段的第9 信道以最高250 kbps 的速率传递数据。通过查阅资料可知,在一个独立的ZigBee 拓扑网络中,最多可容纳65 536 个设备[13],其优秀的自组网能力使得网络搭建更加灵活便捷,其网络结构如图4 所示。
图4 ZigBee拓扑网络结构
当ZigBee 协调器将数据通过串口发送至GPRS模块后,基站(BSS)将数据发送到网关结点(SGSN),并通过GPRS 网络把数据传递到GPRS 网关支持结点,并最终通过GPRS 网络发送至PC 上位机[14-15]。GPRS 与Internet 连接原理如图5 所示。
图5 PRS与Internet连接原理图
GPRS只有在有数据传输时进行收费,单台GPRS终端通信月费用可控制在20 元以内,而GSM 采用的是包月的方式,且最低每月基础套餐价格为15 元,另外在实时通信方面,GPRS 可以更好地完成数据实时传输的任务。单台终端设备的GSM 与GPRS 通信月费比较如表2 所示。
表2 单台终端设备的GSM与GPRS通信月费比较
首先使用CampusBuilder 搭建环境的3D 地图,并将地图数据导出上传至ThingJS 在线开发平台;然后使用JavaScript 语言通过WebSocket 协议获取GPRS 网络中的环境数据;最后将获取到的环境数据与模型建立联系,并搭建数据库用于存储分析监测到的环境数据,最终将管网运行状态实时显示在PC上位机屏幕上。
系统通过IP 地址(源IP 与目标IP)、端口号(源端口与目标端口)、协议号三部分来识别一个通信。IP 地址在系统搭建时确定,终端设备端口号可以根据需求灵活更改(在1 024~49 151 之间),由操作系统对PC 机端口号进行动态分配(在49 152~65 535之间)。TCP 协议数据格式如图6 所示。
图6 TCP协议数据格式
目前大部分浏览器支持WebSocket()接口,使用JavaScript 请求服务器建立WebSocket 连接,使用var Socket=new WebSocket(url,[Protocol]);这 一AIP 创 建WebSocket对象。为了绕过防火墙限制,默认使用80端口[16-17]。PC机与服务器三次握手的流程图如图7所示。
图7 PC机与服务器进行三次握手流程图
供水管网监测点电路采用自动温度补偿设计,满足系统对运行高稳定性的要求,经实测,系统可在-40~+85 ℃环境中长期稳定工作,且单个检测点的设备正常工作时采样电流小于3 mA,非采样电流小于20 μA,最大运行功耗小于10 mW。检测点每隔5 s 进行一次采样,每隔5 min 进行一次数据存储(可在5~60 min 内自行设置),每隔1 h 进行一次数据上报(可在30 min~12 h 内自行设置)。
供水管网检测系统正常运行时,ThingJS 平台可将各监测点数据实时显示在PC 机界面,管理人员可根据3D 地图数据判断供水管网是否稳定运行。当有异常数据产生时,系统及时发出警报,并指引维护人员到故障点进行检修。系统正常运行数据如表3所示。
表3 系统运行参数
该文供水管网监测系统的设计可实现对某一区域供水管网运行状态的高精度实时监测,可将监测点数据直观地显示在PC 上位机3D 地图界面。通过对大数据的记录分析以及突发异常数据的实时报警,可以极大地提高供水管网运行的安全等级。系统设计满足管网检测对数据精度、运行功耗、设备安全等各方面的要求,有效解决了管网维护中存在的渗漏检测难度大、供水水压不稳定、水质检测成本高等问题。