贾爱云
(南京市江宁生态环境局,江苏 南京 211100)
随着工业化进程的不断深入,人们在发展社会经济的同时,带来了严重的环境污染,尤其是对水环境的破坏,给人们的健康带来了极大的威胁。在我国提倡生态环保和可持续发展理念的大背景下,加强对水资源的保护势在必行,而水环境监测是一种行之有效的水资源保护手段。但传统的水环境监测系统成本较高、精准度低,在实际使用中有很大的局限性,尤其是在基础设施较为薄弱的地区,传统的水环境监测系统还存在着不适用的问题。为了实现对水环境的有效监测,需要升级和优化水环境监测系统。本文就基于无线传感技术对水环境监测系统进行了设计。
基于无线传感技术的水环境监测系统整体框架如图1所示。该系统主要是由水环境监测节点、信息汇聚节点、后台处理节点、互联网应用节点、环保信息查询、访问与查看环节以及后台处理环节七个部分组成[1]。其具体工作流程为:系统首先通过传感器采集监测的水源相关数据信息,并在信息数据收集完毕之后,通过汇聚节点将数据信息发送至后台处理服务器,并利用系统中的数据库对信息进行计算和分析,输出水资源监测的具体结果,然后系统会将该分析结果通过互联网络发送至水环境监测部门,为相关管理人员采取对应的处理措施提供数据支撑。
图1 水环境监测系统整体框架
在设计系统节点时,本文结合系统的监测需求设计传感节点和汇聚节点,并分析各个节点的功能结构与特点。首先,传感器节点主要是由水温测量、pH测量、电导率测量、溶解氧测量4种不同传感器组成,这些传感器所采集到的数据信息再通过ZigBee模块发送至汇聚节点。传感器节点的主要功能是集成模拟前端、ZigBee模块和高性能MCU[2]。该集成模拟前端主要实现了对水资源温度、pH值、电导率及溶解氧的测量。在该系统中引入ZigBee模块,是因其具有功耗较低、体积小及运行稳定性较高等优点,能大幅缩减系统的开发周期,降低系统的开发难度。而RTC可以为传感节点提供精准的数据信息采集时间,确保数据的精准度。扩展的外部存储器EEPROM、TF卡等则可以在ZigBee模块运行出现故障时,存储和备份数据信息。外接RS485等通信接口可以为传感节点与各种传感器模块进行直接相连提供方便,USB接口则能够为系统在计算机端的读取扩展提供便利,MCU内置的ADC和DAC能够通过外接信号单元实现对4种水质传感器的一般精度测量。
处理器是节点设备运算和处理的核心模块,主要任务是检测与采集传感器信号,计算和收发数据信息等。本文在选择控制器时,综合考虑了系统的工作环境及无线传感网络的特点,最终确定型号为STM32F107的处理器作为系统传感节点和汇聚节点的MCN单元。该型号处理器具有功耗低、运行稳定性高、抗干扰能力强及接口较丰富等优点,契合本系统的设计要求[3]。STM32E107处理器带有USB OTG、时钟、DAC、ADC等多种接口,并支持待机、停机等不同模式,可满足系统的不同设计要求。
2.3.1 ZigBee模块
本系统设计采用型号为DRF1609H的ZigBee无线模块,完成不同节点之间短距离信息数据传输。DRF1609H模块的内部芯片为双核ARM-32位的CC2630芯片,信号放大为双通道功率放大器,最大支持269字节的数据包。该型号的ZigBee无线通信模块具有体积小、使用便捷的优点,能够采用UART和MCU进行数据交换。此外,DRF1609H模块还能与DTK软件配套应用读取ZigBee网络结构,能够直观、清晰地看出整个ZigBee网络结构上所有节点关系及信号强度,为系统组网测试带来极大便利。DRF1609H模块电气参数见表1。
表1 DRF1609H电气参数
2.3.2 远程通信模块
本系统设计选用了型号为H7710S的DTU模块,该型号的远程通信模块可以通过移动网络搭建客户端和系统数据服务中心的无线链路,方便用户使用终端设备完成数据的远程通信。H7710S具有体积小、质量小、工作电压范围广以及支持多种传输协议的优点,因此,可以完全满足本系统的设计要求。
本文硬件系统设计所采用的模拟前端为AD5941,具有功耗低、精度高及稳定性强等优点,适合测量精度较高的系统。该模拟前端内部安装有两个高精度激励环路和一个通用的测量通道,因而可以对各种不同的传感器进行同时测量。本文基于AD5941所具有的水质分析检测功能和其高集成度,将其应用于对水质温度、pH值、电导率以及溶解氧的传感器数据参数测量中。
2.4.1 温度测量
考虑到本系统主要用于对河流、湖泊等水体进行监测,因此在选择用于测量温度的热敏电阻时,采用了阻值会随着温度的升高而降低的负温度系数电阻(NTC),但由于负温度系数电阻和温度之间呈现出了非线性的关系,并且随着温度的不断升高,电阻的变化率会逐渐变小,这就会导致电阻的测量精度发生变化,因此,在环境温度变化(-30 ℃~50 ℃)范围较小的情况下,采用负温度系数电阻较为合适。本系统设计所采用的负温度系数电阻电导率传感器探头中安装有10 KΩ大小的阻值,其材料系数B为3 950。电阻值大小与温度的关系用如下公式来表示:
通过公式(1)的计算可以得出在不同温度下的NTC电阻值,然后再将其代入如下公式:
经过计算可得到当前水质温度与AD值的二维数组,然后再采用查表法即可得出所要的温度数据[4]。在实际的水环境监测项目中,为了保证测量温度的精准度,通常都会使用分段线性化的方法来对负温度系数电阻温度进行测量。
2.4.2 pH值测量
pH值能够直观反映水质的酸碱程度,为了能够精准测量水质pH值,本次系统设计采用了功耗较低、运行稳定的LTC6078精密运放以及3.3 V直流电源来为pH测量电路供电,并选用复合型pH电极,其正极和LTC6078的正向输入端相连,以实现缓冲放大输出,pH负极和AD4941内部的DAC偏置输出VZERO端相连。该处两端电压经内部ADC转换后,能得到稳定的电压读数,再使用标准pH值校准液校准并对其进行线性化处理,即可得出精准的水质pH数据。
2.4.3 电导率测量
电导率反映的是水体传导电流能力的高低,但在水体中真正具有导电能力的是各种离子,因此,测量水体的电导率能够在很大程度上反映出水体中各种酸碱离子的浓度,进而体现出水质的化学污染程度。本文所设计的电导率测量原理是在电导池两端施加偏压,通过测量所产生电流的大小来确定电导率的大小。为了保证电导率的测量精度,本文采取了不锈钢同轴电导率传感器,其电导池常数K=0.1,线长2.5 m,该传感器内部自带负温度系数电阻值温度补偿输出,可以实现对电导率的温度补偿[5]。在对电导率进行测量时,首先需要对ADC分压电差进行测量,并依据如下公式进行计算便可得出电导率的值。
2.4.4 溶解氧测量
溶解氧反映的是水体中的氧浓度。本文选用了电极型溶解氧传感器来实现对水体中所溶解的氧含量进行检测。其具体的测量原理如图2所示。
图2 溶解氧测量原理图
由此图可以看出,溶解氧电极的一端和RE0相连,AD5941可以在RE0引脚上生成一个大小约为600 mV的偏压,而溶解氧电极的另一端则和SE0相连接,电流经过SE0端后,流入可编程电阻RTIA,然后会产生一个和溶解氧呈线性相关的电压信号VLPTIA,之后再经由ADC对差分电压进行采集之后得到具体的AD电压数值,再将该电压数值和标准溶解氧进行校准和温度补偿之后,便可得到较为精准的溶解氧数据。
3.1.1 传感节点程序流程
本文所设计的传感节点程序流程如下图3所示。由图3看出,该程序运行时先关中断,然后再对由汇聚节点发送过来的信号进行检测,待终端检测到信号之后,系统开始启动设备对该程序进行初始化,开启终端,设置时钟信号以及LCD显示信息等。然后程序进入任务主循环,从而判断是否有事件发生,如果有事件,则再对事件的优先级进行判断,然后调用系统中的事件处理函数对相关数据进行采集和处理。
图3 传感节点程序流程
得益于CC2630内部集成了多个ADC模块,可以实现对多个数据的同时测量,可以采用多通道测量,并在对应的采集函数中对每个传感器通道进行定义,然后对采集函数进行分时复用。可以先对温度进行测量,待温度数据被读取之后,再将其转换为对应的字符串,然后再对其他传感器数据进行采集,待采集完成之后将数据发送至AD转换器进行转换,再将其转换为字符串,最终得出真实的水质状况数据。等待对所有的传感器数据测量完成之后,会对该组数据进行发送。
3.1.2 汇聚节点程序流程
汇聚节点主要用于控制网络的开关,可以实现对多个终端数据采集的同时控制,具有操作简便、使用成本较低等优点。本文所设计的汇聚节点程序流程如图4所示。由图4看出,该程序开始于设备初始化,之后程序会对终端ID号码进行查找,待找出终端PIN码之后,将该终端设备加入至网络中。然后,汇聚节点会向终端发送控制命令,将终端开启,而后待终端设备初始化之后,运行事件。而传感器节点所采集的数据经由无线模块进行接收之后,会将数据进行存储并将其发送至PC上位机,显示在屏幕上。
图4 汇聚节点程序流程
上位机软件设计流程见图5,主要内容包含通信串口的检测、数据传输格式的设置、各种节点控制、数据接收以及温度变化曲线图等。该程序开始于初始化,然后对串口进行查询检测,判断是否为有效的串口,待程序确定串口有效后,再打开串口读取数据,并将其分段显示在文本框中。而温度数据则采取绘制曲线的方式,待绘满后,自动进行清屏重新绘制,直至将数据计算完毕。
图5 上位机软件流程
综上所述,本文基于无线传感技术,以无线传感网络和ZigBee无线技术为支撑,对水环境监测系统进行了设计。经过调试和测试后证明,该系统具有较强的实用性,能够在降低水质监测成本的同时,确保监测数据的精准度和数据传输的可靠性,从而为水环境治理提供数据的支撑。