向虹坤 王孔嘉 张晓慧
(安徽理工大学地球与环境学院,安徽 淮南232001)
水环境监测技术是保护环境的一项关键性技术,在我国环境监测技术已经经过了几十年的实践与发展,取得了很大的进步。传统的水质检测需要人工实地取样,再拿回实验室检测,在一些偏远地区取样需要耗费大量的人力和物力,尤其是某些特殊水体或者环境恶劣的条件下传统水质检测方法往往无法实现。近些年,随着社会不断发展各种环境问题接踵而至,国家也加大了对水环境监测[1]和保护方面的监管和投入,大批学者在水质监测系统[2]、水质监测无人船[3]和水质监测无人机[4]等方面进行了深入的研究,提出了不少水环境的监测方法[5]。目前大型水域水质监测系统主要由众多微型传感器节点组网即WSN,加无线通信模块和数据处理模块组成,可以将实时水体数据通过云端传输到终端,从而达到水质监测的目的。目前,主流的数据传输方式都是采用2G/3G/4G网络,这些传输方式在一般水域大大方便了水环境的监测,但是在某些特殊水体尤其是没有网络的偏远地区就没有用武之地。因此,需要设计一些能对处于特殊环境的水体快速测试其水的装置,以便有效获取水环境参数,为水生态及其质量评估提供支撑。
本文实现了一种水环境参数自行走式测试装置,可以在无网络的情况下一次采集多个水体数据,并且加装了太阳能电池板增加系统的续航时间,其使用便捷且效果良好。
在《地表水环境质量标准》中,共列出24项水质监测参数指标[6],由于传感器技术的限制,目前大部分水质监测参数的获取仍需人工取样,少部分可用电化学传感器监测的水参数在很大程度上也受传感器精度的限制。本文选用电化学传感器测量精度相对较高的四种参数作为装置监测参数,即温度、浊度、pH和电导率,装置分为数据采集端和手持端两大部分。
数据采集端以浮动式船体为载体[7],船体内安置有主控模块、电源模块、运动控制模块、GPS模块、无线通信模块,以及电导率TDS传感器、温度传感器、pH传感器、浊度传感器。船体上方安装有小型太阳能电池板,与电源模块相连接,增加装置在野外的续航时间。数据采集端接收手持端的指令,根据指令执行相应的动作。若为运动控制指令则根据指令控制船体前进、左转、右转和暂停;若为数据采集指令则采集水体数据发送给手持端。
手持端主要包括电源模块、显示屏、无线通信模块和主控模块。手持端设置有不同的按键用以代表不同的指令,包括运动控制指令和数据采集指令,指令通过无线通信模块发送给数据采集端;手持端也可以接收数据采集端发送的水体数据,对数据处理后进行显示,同时可以通过串口将数据发送到PC。
1.2.1数据采集端硬件设计
数据采集端选用STC12C5A60S2为主控制器,STC12C5A60S2完全兼容51系列单片机,内置8路高速10位A/D转换可为传感器采集信息的模数转换提供方便,相比51系列其速度平均增加8~12倍[8],增加了SPI接口可以和NRF24L01实现快速传输,且看门狗可以防止船体因程序崩溃而失控;GPS模块选用NEO-7N,可提供精确的时间和经纬度信息,和单片机的RX引脚连接,将接收到的卫星信息发送给单片机,单片机提取其中的经纬度信息通过无线模块发送给手持端;温度传感器选用DS18B20,将读取到的温度信息以数字信号的形式发送给单片机;TDS传感器和浊度传感器选用维可思公司开发的传感器模块,和单片机的ADC引脚连接,读取到的信息以模拟信号的形式发送给单片机,单片机将模拟信号转换为数字信号再通过无线模块发送给手持端。
所有传感器都采用防水型探头,探头从船身两侧放入水中。由于装置需要在水面工作,必须要保证运动控制指令稳定传输,综合考虑数据传输的稳定性、传输距离和价格等因素,采用NRF24L01+PA+LNA无线透传模块作为数据采集端和手持端的无线通信模块,可靠传输距离达到500m。NRF24L01是Nordic公司的无线收发器芯片,工作于2.4~2.5GHz的ISM频段上,和STC12C5A60S2以SPI接口相连接,具有低功耗、传输速度快和稳定等优点。数据采集端硬件结构如图1所示。
图1 数据采集端硬件结构图
装置选用L298N模块作数据采集端的电机驱动来控制船体的运动,L298N内含有两个H桥的高电压大电流全桥式驱动器和光电耦合器,采用标准逻辑电平信号控制,具有两个使能控制端,可以在不受输入信号影响的情况下允许或禁止器件工作[9]。Vss为信号电源输入端,接5 V使L298N通电;Vs为电机电源输入端,输入12 V电压直接驱动电机,模块内的78M05也可以将12 V电压转为5 V使L298N通电。ENA和ENB为使能端,IN1、IN2、IN3和IN4与单片机I/O口连接,OUT1和OUT2连接一个电机,OUT3和OUT4连接另一个电机,其电机驱动电路如图2所示。L298N工作时发热较大,为了尽量减少发热,本装置共选用两个L298N模块,每个L298N模块驱动一个电机。
图2 电机驱动电路
数据接收端选用带过充保护的12 V电源,和太阳能电池板相连接。电源模块的电路图如图3所示,12 V电压经7805转为5 V为主控制器和传感器供电,5 V电压再经ASM1117转为3.3 V为NRF24L01供电。
图3 电源电路
1.2.2手持端硬件设计
手持端也选用STC12C5A60S2为主控制器,将数据采集端传回的数据处理后在显示屏上显示,选用11.0592MHZ晶振,电源模块的设计和数据采集端一样,显示器选用LCD12864。手持端按键后通过NRF24L01向数据采集端发送指令,为整个系统控制端,数据采集端为执行端。
1.3.1数据采集端软件设计
采用C语言完成程序的编写,开发环境为Keil。NRF24L01可以实现一对一和多对一的通信,但是在同一时刻只能一端发送一端接收,数据采集端无法在接收手持端控制信息的同时发送数据,因此NRF24L01在双向收发时极易出现收发混乱而造成程序卡死的情况。针对此问题本装置将数据采集端当作执行端,即在任意时刻都将NRF24L01设置为接收模式,根据接收的指令执行相应的动作,只有在接收到采集数据的指令后才转换为发送模式发送数据,发送完成后再转换为接收模式。在程序编写时,配置NRF24L01发送端和接收端的频率、通道、地址一致,其程序流程图如图4所示。
1.3.2手持端软件设计
手持端和数据采集端一样,将NRF24L01设置为接收模式,只有检测到按键时才转换为发送模式,发送指令完成后再将其转换为接收模式,接收到数据后将数据进行处理并在显示屏显示,其流程图如图5所示。
通过对NRF24L01双向收发信息的功能进行调试[10],保证数据采集端和手持端稳定的双向收发数据,再根据传感器的数据手册对浊度传感器和TDS传感器进行温度校准,最后到水域进行数据采集端和手持端的实际测试,如图6所示。
利用设计的自行走测试装置,选定20×19 m范围的研究区进行实验。数据采集方法为:按照1 m间隔,对水域方格网点进行数据采集,采集数据包括电导率、pH酸碱度、温度及浊度等。为了模拟不同的水环境,实验时分别在该水域长宽为7m和10 m处、长宽为15 m和5 m处、长宽为15 m和15 m处加入35%的食盐水溶液3 kg、1.5 kg和1.5 kg,目的是观测其电导率的差异。加入水溶液后立即遥控该装置按照上述方式采集整个水域的水环境参数。在本次实验中,不同区域的电导率变化明显,以该水域的长宽分别为x轴和y轴构建坐标系,将采集得到的电导率作为z参数,通过数据分析软件绘制出该水域的电导率等值线图,如图7所示,通过等值线图可以清晰地看出水域内各处的电导率特征分布,以上对电导率的数据处理方法对其余水环境参数同样适用。
图4 数据采集端程序流程图
本文实现了一种水环境参数检测装置并完成了相关水环境参数采集实验,该装置可以在无网络的情况下通过远程遥控完成数据采集。完成对温度、浊度、电导率和GPS参数的采集,经过实验检测该装置可以稳定应用,尤其适合在一些偏远地区或者环境恶劣的情况下采集水体参数,具有成本低廉、稳定可靠和操作简便等优点。
利用本装置可轻松得到水域内各点的水环境参数,从而得到各个水环境参数的特征分布,由特征分布可以更好地分析水域内各点的变化情况,根据不同的变化情况对水域采取不同的处理措施,从而实现对水域的全方位监控。
本装置也存在一些不足,比如采集的水环境参数有待增加,功能需更为完善,要进一步增加可采集的水体参数及其测量精度。
图5 接收端程序流程图
图6 装置实物图
图7 电导率等值线图