0 引言
近些年来,我国在国民经济快速发展的同时,也伴随着水资源的过度开发和生态环境的严重破坏。水质监测作为水资源保护重要的工作基础和技术支撑,其准确性、及时性、可靠性被赋予更高的要求。目前国内主要有实验室与自动监测站两种水质监测方式,这两种监测方式均需交流电供电,设备沉重复杂,造价和维护成本极高,使其在河流、湖泊等水域中使用受到限制。此外,国内流域众多,地形复杂,水质监测覆盖率低,现场采样能力不足。水质监测工作难以突破瓶颈。
为了提高水质监测覆盖率,提高水质监测工作效率,本文设计了一种水质监测终端,利用ZigBee无线模块传感技术,通过自组网方式在目标水域内形成动态拓扑、多跳传输、可自修复的无线水质自动监测网络。建立网络后,各终端利用水质传感器进行ZigBee数据采集水质数据,通过无线传感网汇总所有水质数据,上传到上级监测站进行处理。整个监测网络对水体影响小,监测范围广,监测密度大,能对大范围水域进行分布式实时自动监测。
1 整体框架
在水质监测中,PH、温度、电导率、混浊度、溶解氧是反应水体综合特征的重要参数,在水产养殖、污水处理、环境监测方面都必不可少,依此设计的水质监测终端的结构如图1 所示。
图1 终端整体架构
水质监测终端主要由CC2430主控制器、数据采集模块、供电模块、数据存储模块构成。CC2430 主控制器负责ZigBee数传模块网络管理和无线数据收发;数据采集模块由水泵、液位传感器、水质传感器调理电路组成,协同完成5 项水质常规参数的采集并发往CC2430 主控制器;终端的能源供应采用太阳能蓄电池供电;数据存储模块负责在通信不畅的情况下保存终端的水质数据,待网络恢复时重新发送数据,更好地维护水质数据的安全性。水质监测网络利用ZigBee 无线模块传感技术汇总多个监测终端的数据,并依据国家地表水环境质量标准对目标水体进行水质分类,最终实现对目标水域的全面监控与综合评测。
2 硬件设计
本文选用TI 公司的CC2430 作为监测终端的主控制器,数据采集模块、数据存储模块、供电模块等外接于主控制器构建硬件平台。由于水质传感器种类较多,原理各不相同,在此对主要的几类水质传感器及其接口电路的设计进行介绍。
2.1 PH 值测量电路
本设计采用玻璃电极法测量PH 值,其工作原理是:当目标水体的离子氢浓度发生变化时,指示电极和参考电极之间的电势差也会产生变化,由此可测得水溶液PH 值。本文使用的PH 电极型号为E201-C,其内阻较高,在109Ω 以上,PH 值与输出电压之间满足线性关系59 mV/PH,当PH=7 时输出电压约为0,输出电压呈两极性且范围较小。根据上述原理,设计PH 值测量电路如图2 所示。
图2 PH 调理电路
为了与PH 复合电极的高阻抗匹配,电路中选用了高输入阻抗低噪声的CA3140 运算放大器。利用TL431和CA3140 为PH 的参考电极提供一个合适的正向偏置电压,使其输出电压能适用于CC2430内的A/D转换电路。
在指示电极处接入一个电压跟随器进行阻抗匹配,然后经一正向比例放大器进行信号放大得到输出电压。PH 电极的电势差V 可用如下公式计算得出:
式中,Vout 为PH 测量电路的输出电压,Vref 为参考电极上的偏置电压。
溶解氧测量电路的设计方法类似,在此不再赘述。
2.2 电导率测量电路
电导率传感器根据测量原理不同可以分为电极型传感器、电感型传感器以及超声波型传感器。本文选用DJS-0.1C 电极型电导率传感器,采用电阻测量法来得到电导率,其测量电路如图3 所示。
图3 电导率测量电路
为了防止在测量过程中电极出现极化反应,本设计采用文氏电桥振荡器来产生一个频率为2 kHz、幅值为1 V 的正弦波作为电极的激励源。电极与水体组成电导池,并可等效成电阻RX,RX 与R9、CA3140 构成一个反比例放大器,将正弦激励源放大。由于不同水样的电导率不尽相同,通过对正弦波放大系数的计算就可以得到等效电阻,近而算出水样的电导率。由于A/D 无法处理交流信号,因而在电路中加入由双运放LM358 构成的峰值检波电路,提取峰值电压后再送给A/D。目标水体的电导率S 可用如下公式计算得出:
式中,Vout 为测量电路的输出电压,K 为电导池参数,取0.1 cm。
2.3 混浊度测量电路
在混浊度测量上,本文选用GE 公司的TS 光学浊度传感器,传感器内部采用红外发光二极管作为检测光源,穿透被测溶液,通过检测其透射光强度来检测溶液混浊度。由于不同溶液含有的杂质和尘埃颗粒的大小与密度不同,透射光强也有所不同,接收端的光电三极管则根据光强大小产生不同的光电流,经过滤波放大后即可得到与混浊度相关的检测信号。其测量电路如图4 所示。
图4 混浊度测量电路
为保证光源的稳定性,本设计采用基于精密电压基准芯片MAX6126 的恒流源驱动方式。在输出端用OP07 实现IV 转换,将光电三极管输出的微弱电流信号转换为0~500 mV 的电压信号。转换后的电压仍然非常微弱,所以接入了一个放大电路。放大电路使用AD623 和少量外部原件搭建一个改进的三仪表放大电路。IV 转换后的毫伏级电压由正相端输入,反向端由+5 V 分压后提供一个1 mV 参考电压。R7 为外置增益设置电阻,取为11 kΩ,设置输入信号放大10 倍。
2.4 供电模块
考虑到终端需要长期在户外工作,所以采用太阳能板和蓄电池供电的方式。设计中各个模块对电压需求不尽相同,供电模块如图5 所示。
图5 供电电路
由于监测终端上设计有水泵控制电路,水泵工作时的大电流可能影响主控芯片,使主控芯片出现异常,进而导致瘫痪。设计中使用隔离稳压、正负双路输出的DCDC 电源芯片AS1212,实现水泵和其他模块的隔离,以保证监测终端正常工作。两路输出电压,一路接入2596 可调开关稳压芯片输出10 V 电压供水泵使用,另一路分别经过7805、7905、1117 线性稳压芯片得到±5V 电压以及3.3 V 电压供CC2430 芯片和其他模块使用。
3 软件设计
监测终端的应用程序在Z-Stack 协议栈上进行开发。
Z-Stack 是TI 公司为ZigBee开发专门编写的基于事件轮询机制的协议栈,协议栈符合ZigBee2006 规范,并支持多种平台。协议栈由物理层、MAC 层、网络层、应用层4 个部分组成,自组网功能已在协议栈内实现,用户只需要在应用层添加特定的事件处理函数即可,开发简单而高效。
监测终端作为网络中的ZigBee数据采集终端节点,在上电后首先完成OSAL 系统初始化,然后搜索、筛选最可靠的ZigBee网络提出加入请求,成功加入后就准备随时接收协调节点的命令开展水质的ZigBee数据采集任务。
鉴于Z-Stack 是一个基于轮询机制的协议栈,而水质传感器的响应速率不高。短时间内频繁地采集水质数据,意义不大。长时间停留在一个任务处理函数内虽然可以采集有效的数据,但Z-Stack 协议栈内其他系统任务则无法正常运行。本设计充分利用了Z-Stack 多任务处理的特点,将水质采集任务划分为多个阶段性的任务,一方面保证了Z-Stack 协议栈运行的实时性,另一方面多个时间点对同一水样的ZigBee数据采集规避了数据的偶然性,提高了水质数据的准确性。水质采集任务的细化程序流程如图6 所示。
图6 水质采集任务细化流程图
本设计将水质的ZigBee数据采集任务划分为指令解析、水样抽取、水样检测、水质数据处理发送、水样排放5 个阶段性任务,分别编写事件处理函数,并对各个阶段任务定义了状态码,以说明监控终端当前的工作状态。终端可以根据每个阶段任务的完成情况,迅速决策下一阶段任务,并将其报告给网络内的协调器节点。
4 测试与结果
根据设计需求,针对水质监测终端的数据采集准确性和无线网络的通信性能进行了测试。按照水域环境功能的不同,分别从3 处水域收集水质样本。同样的水质样本分别使用本文设计的水质监测终端和实验室水质监测仪进行数次测量取得平均值,表1 为水质测试数据。
表1 水质测试数据
从表1中可看出,系统的水质测量值与实际值数据基本吻合,偏差很小,能够准确识别水样的水质类型,可靠性强。ZigBee 组网的稳定性和传输距离的测试结果如表2所示。
表2 ZigBee 组网通信测试
从表2 可看出,ZigBee数传模块网络在一定距离范围内可以实现稳定传输,通信距离达80 m 时,丢包率显著上升。
因此本文设计的系统ZigBee数传模块节点在60 m 左右组网丢包率低,符合设计要求。本文采用ZigBee模块传感技术和智能水质传感器设计了一种无线实时水质监测终端。利用无线传感网的技术优势,多个终端可以协同工作,迅速在目标水域布置水质监测网络,得到动态的水质监测数据。该终端结构紧凑,易于实现,工作稳定,非常适于在野外水域进行大面积、大数据量、连续、准确的水质监测,对现有水质监测技术做出较好的补充。