陈博行,马 俊,方卫强,刘承桥
(青海师范大学物理与电子信息工程学院,青海 西宁 810008)
随着工业化和信息化进程的加快,自然资源过度开发利用,生产生活用水不断增加[1],致使地下水位下降、水污染加剧、自然灾害频发,生态环境保护和治理问题日益突出[2]。如何对水环境作出科学、合理的评估,以保护人类生命财产安全,已经成为当前水环境保护研究的热点问题。传统的水质监测大多采用人工实地采样或串口通信的方式[3-4],虽然可以在一定程度上解决以上问题,但存在覆盖范围低、布线难和成本高等缺点[5],达不到预期的效果。本文以MSP430F149为控制核心,设计了一种水质监测数据采集系统,以达到远程实时监测水环境信息的目的。该系统具有同步性好、体积小、成本低、操作简单等特点。
图1为系统网络结构图。由图1可知,系统由传感器节点采集当前水环境的pH、温度和浑浊度数据,通过GPRS将实时数据上传至Internet后,经服务器处理,发送至用户手机客户端,以达到远程实时数据采集的目的。同时,系统在每个传感器节点设计有RS-232串口,用于传感器节点与计算机的实时交互。
图1 系统网络结构图
传感器节点由电源模块、传感器模块、存储模块、调理电路、核心处理器和数据传输模块组成[6]。传感器数据采集节点结构如图2所示。传感器模块包括pH、温度和浑浊度传感器。核心处理器选用MSP430F149芯片。该微控制器是由TI公司生产,具有低电压、超低功耗和自带12位A/D转换等特点[7]。数据传输模块采用RS-232串口和GPRS模块。其中:GPRS模块选用SIM900A模块[8],以实现无线传输功能。电源模块由太阳能电池板与锂电池组成,电压选择与稳压电路产生系统所需的±5 V电压,可为系统在野外长时间稳定工作提供电压保障。此外,系统还增设了SD卡存储模块,以防止系统出现意外时造成的数据丢失。
图2 传感器数据采集节点结构图
表1给出各传感器主要参数[9]。
表1 传感器主要参数
针对数据采集终端需要长时间工作在野外的特点,设计如图3所示的系统供电电路,以解决数据采集系统野外工作时的系统掉电问题。
图3 系统电源电路
考虑调理电路设计采用集成运放为OP07,该运放需要±5 V电源供电。因此,系统电源在设计时选用LM7805稳压芯片产生稳定的+5 V电压,选用MC34063芯片产生的-5 V电压,通过继电器实现两种供电方式的自动切换。在电路设计中,首先利用Multisim进行模拟仿真[10],采用开关的闭合与打开模拟12 V与9 V电源两种不同供电方式。仿真结果表明,两种电源供电方式均可以得到稳定的±5 V电压。实际电路设计中:12 V电源可采用太阳能光伏板,9 V电源可采用锂电池等。选用12 V工作电压继电器,当太阳能光伏板电压低于12 V时,系统自动选择锂电池供电方式,以确保传感器节点能够长期稳定工作。
调理电路集成运放选用OP07,设计四级放大电路。第一级为电压跟随,用于提高输入阻抗,同时避免前后级电压干扰[11];第二、三级均为反向放大电路,具有一阶低通滤波作用,可避免将噪声信号放大;第四级为二阶有源低通滤波器,主要滤除噪声信号,提高信号质量。
假设所有电容开路,可得调理电路通带放大倍数[12]为:
式中:Au为放大倍数。
在电路设计中,R5、R7为可变电阻,可以根据需要调节放大倍数,以增强调理电路的灵活性。
下位机采用MSP430F149作为主控芯片。该芯片具有超低功耗和灵活的时钟系统,对系统下位机程序的设计主要是对MSP430F149的程序设计。程序开发环境选用IAR for 430,编程选用C语言。
程序设计采用模块化编程。首先,分别完成对温度、pH和浑浊度各个模块的编程。以温度为例,编写程序包括MSP430F149的A/D转换程序初始化和电压值的获取等。以下为温度采集模块部分程序。
if (usCRCVal != usBufferVal)
{
ucRet = 0;
}
else
{
usTemp = (uint16_t)(RxBuffer[3] << 8)| RxBuffer[4];
usPH = (uint16_t)(RxBuffer[5] << 8)| RxBuffer[6];
usTemp = Hex2Dec(usTemp,ValueTemp);
if (usTemp> 32767)
{
usTemp = 65536 - usTemp;
ucpStr[2] = '-';
}
else
{
ucpStr[2] = '+';
}}
SD卡模块工作方式分为SD卡模式与SPI模式两种。为减轻CPU工作负担,本设计采用SPI总线工作模式。该总线模式下,读取速度可达几Mbit/s。对SD卡编程包括SPI函数的初试化,以及向SD卡发送CS片选与SCLK时钟信号等[13]。待各模块程序编写完成后,在main函数中调用即可。下位机程序流程如图4所示。
图4 下位机程序流程图
LabVIEW是NI公司开发的主要用于仪器控制的编程软件,其核心是采用数据流的图形化编程方式,具有上手快、函数库封装度高以及编程周期短等优点[14],在工业设计中得到广泛应用[15]。本文上位机程序采用LabVIEW编程,软件设置有图表显示、动态实时显示、数据保存、上限报警和查询历史等功能。
图5为上位机软件流程图。程序首先进行初始化,设置各个控件的初试状态以及为报警上限赋初值;其次是配置VISA串口接收下位机上传采集数据,判断是否进行数据保存,“是”则将采集数据保存为Excel文件,并以当前日期命名,以便用户查看和分析数据。图表显示是将采集信息以波形图表的形式显示。X轴为时间轴,Y轴为幅值。用户可以直观地观察水环境信息实时变化情况。上限报警是当采集数据超出设置的报警上限时,程序设置的报警信号灯点亮,提醒用户采集参数异常。同时,上位机还设计了查询历史数据功能,当用户输入文件日期后,点击查询按钮系统可现实历史数据,供用户分析。
图5 上位机软件流程图
系统各部分开发完成后,在实验室进行模拟测试。测试对象为自来水。将下位机与上位机通过RS-232串口连接。水质监测试验数据分析曲线如图6所示。
打开LabVIEW上位机软件,系统上电,设置每间隔3 min上传一次采集数据,将上位机保存的Excel数据在Origin2017中分析。由图6可知,系统经30 min测试后,温度、pH值、浑浊度值变化范围分别在0.5 ℃、0.3和0.2%内,各组数据波动在可接受范围,系统运行稳定。
水质监测试验数据分析曲线如图6所示。
图6 水质监测试验数据分析曲线
本文采用MSP430F149,设计了一种水质监测数据采集系统。该系统可实现对水温、pH和浑浊度等水质参数的采集;结合SIM900A,将采集数据以短信的方式发送至用户手机端,可实现远程实时监测;采用LabVIEW开发了系统上位机,并通过RS-232串口将采集数据发送至LabVIEW上位机,实现数据实时监测,为系统调试提供了便利。电源电路可以实现太阳能光伏供电与锂电池供电自动转换。模拟仿真结果表明,两种供电模式下均可产生稳定的±5 V电压,为系统在野外稳定工作提供电源保障。同时,采用SD卡存储模式,可避免系统出现突发状况时引发数据丢失。最后,在实验室对该水质监测数据采集系统进行试验。试验数据分析结果表明,该系统具有适用范围广、可靠性高和运行稳定等特点。
该系统在一定程度上实现了对水质环境的现场和远程实时监测,但仍存在不足之处。后续研究可在此基础上,增加采集参数、设计自组织网、加入云服务等;同时,可针对地域环境需要,设计适应性更好的水质监测节点架构。