基于GPRS的在线水质监测系统的研究
2010-05-18官洪运王志亮
刘 捷,官洪运,王志亮
(东华大学 信息学院,上海 201620)
在线水质监测系统是一种自动检测仪器,它能够实现水质的实时连续监测和远程控制。该系统以TI公司16位超低功耗单片机MSP430F149为核心,通过GPRS模块进行无线通信,并将数据传输到水质监控中心,监控中心软件对数据进行实时分析、存储。
1 系统工作原理与总体构架
本系统是针对目前在线水质监测系统的市场现状,分析监测系统的发展要求而设计出的一种基于GPRS的多参数实时在线水质监测系统。系统的主体部分是基于单片机的水质监测系统,能即时或定时进行水质数据采集,并对信号进行A/D转换,然后将转换结果通过GPRS模块传输至水质监控中心,实现实时在线水质监测。本系统由现场监测、网络通信、中心管理三部分构成。
现场监测部分是在选定的监测点用数据采集单元对水质传感器进行水质各参数的实时数据采集;网络通信部分基于中国移动公司的GPRS平台,将监测到的数据无线传输到水质监控中心;中心管理部分是由监控中心软件、数据库和服务器组成的管理平台,监控中心软件用VC结合SQL server进行编写,将采集到的数据进行实时分析、存储,并在水质指标出现异常时报警。系统总体构架如图1所示。
2 系统硬件电路设计
由于水质监测点比较分散,分布范围也较广,而且大多设置在野外,因此,低功耗与无线传输是在线水质监测系统必须考虑的问题。本系统选用TI公司的MSP430F149作为控制核心,选用BENQ公司的M22模块进行无线传输来实现整个系统的功能。
采集终端采用MSP430F149单片机。这款单片机是TI公司生产的16位超低功耗单片机,其低电源电压范围为 1.8 V~3.6 V,在 1 MHz时钟条件下工作时,工作电流为 0.1 μA~400 μA;共有 5 种低功耗模式,6 μs 内从待机模式唤醒;具有60 KB+256 B的闪速存储器和2 KB的RAM;具有丰富的片上资源,包括最多8路12位的快速A/D转换,两个内置16位定时器,两个通用串行同步/异步通信接口(USART)和48个I/O引脚。这些都比较符合本系统的设计要求。
本系统的数据采用无线传输,基于其设计要求,选择GPRS作为无线数据通信平台,M22作为GPRS通信模块。
2.1 电源模块
由于系统设备安装在野外,没有可靠的交流电保证,电池也不易进行频繁更换,而系统的应用场合要求该系统能够在连续20天阴天的情况下依然能正常供电,因此,采用蓄电池加太阳能的供电方法。
白天在光照条件下,太阳能电池组产生一定的电动势,通过充放电控制器对蓄电池进行充电,整个系统由蓄电池进行供电;另外,本系统具有智能的电源管理,能够根据电池的容量对数据采集、无线传输等模块进行电源的分级管理与控制。这样设计为系统运行的稳定性提供了可靠保障。
2.2 信号调理电路设计
水质监测的指标有多种,包括pH、温度、电导、溶解氧、COD、TOC、叶绿素、矿物油、色度、浊度、酸度、氯盐、溶氧硫化合物、重金属含量等。但常规的水质在线监测仅包括5个参数:pH值、溶解氧、电导率、浊度和温度。本系统只对最基本的5个水质参数来进行检测。
而合适的水质传感器是水质监测系统重要的组成部分。本系统选用美国GLOBAL WATER公司的WQ系列水质传感器作为整个监测系统的前端。WQ系统水质传感器的输出电流均为标准的 4 mA-20 mA,因此,信号调理电路较为简单,只要将标准输出电流转换成电压,并使该电压信号在单片机的转换范围内即可,具体电路设计如图2所示。
图2所示是其中一路水质信号的调理电路。该电路通过一个电阻将电流信号转换成电压信号。选用精度为1%的金属膜电阻来提高采样精度。由于选用的A/D转换范围为0~2.5 V,选用 124 Ω的电阻,简单计算可知将4 mA~20 mA电流转换成了0.496 V~2.48 V的电压,在电压转换范围之内。另外,为了防止ESD(静电释放),提高电路的抗干扰能力,采用二极管D1作为ESD保护电路,并且用电容C1进行滤波处理。
图2 信号调理电路
2.3 串口通信电路设计
在基于GPRS的在线水质监测系统中,串口通信部分具有双向通信功能,它既能将采集到的水质数据通过GPRS模块传输到监控中心,同时还可以接收水质监控中心发出的控制命令。本系统选用MAX3232作为串口通信芯片。它能够完成TTL电平和232电平间的转换,外部电路比较简单。具体的电路设计如图3所示。
图3中0.1 μF的电容能够实现充电作用,以满足相应的充电泵的要求。另外,考虑到减小电源的干扰,还需要在芯片的电源输入管脚加一个0.1 μF的瓷片电容和一个10 μF的电解电容来实现滤波,以减小输入端受到的干扰。
2.4 扩展SD卡(Secure Digital Card)电路设计
虽然本系统是基于GPRS的在线水质监测系统的研究,水质参数的各项数据似乎无需存储而直接远程传输至水质监控终端,但是必须考虑到特殊情况。如果无线链路出现中断,就要先将水质参数各项数据保存在存储介质中。因此,本系统预留了足够的数据存储空间。
基于SD卡小巧、容量大、传输速度快、安全性高等特点,本系统选用其作为存储介质。SD卡与MCU连接的电路如图4所示。
SD卡支持两种传输模式:SPI模式和SD模式。SPI接口协议首先是由Motorola公司提出来的,是一种同步串行外设接口,能使单片机与其外围设备以串行方式进行通信和数据交换。MSP430F149有现成的SPI接口硬件模块,另外考虑本系统需节省电路空间的要求,因此设计采用SPI模式来进行数据传输。
图4 SD卡接口电路
2.5 实时时钟电路设计
在该系统中,时间作为测量的参考数据是必不可少的一部分,因此,在水质监测系统中选用的DS3231作为本系统的实时时钟芯片。该芯片具有+3.3 V的工作电压,能保存秒、分、时、星期、日期、月和年信息,能进行闰年补偿与老化修正,是一款低成本、低功耗、高精度的I2C实时时钟芯片。
DS3231能够提供商用级和工业级温度范围,采用16引脚、300 mil的SO封装。其各个模块可以划分为四个功能组:TCXO(温补晶体振荡器)、电源控制、按钮复位功能和RTC(实时时钟)。实时时钟模块的硬件电路如图5所示。
3 软件设计
系统的软件设计包括监控中心软件设计和数据采集终端MCU程序设计。
单片机部分的程序实现A/D转换与串口通信,该部分程序用C语言编写,在IAR Embedded Workbench For MSP430平台上进行代码编写。水质监控中心软件用VC结合SQL server编写。
3.1 下位机部分
通信部分是连接水质监控中心和数据采集终端的纽带,其通信的可靠性和稳定性直接影响着整个系统的性能。下位机的软件部分主要介绍单片机与M22的通信过程。
对M22模块的控制是通过AT指令来实现的。在MCU发送AT指令前首先要对串口进行初始化,再通过AT指令与M22模块进行通信。利用AT指令控制M22模块建立无线信道进行数据传输的步骤如下:
(1)AT+CGDCONT=1,“IP”,“CMNET”:是设置 GPRS接入网关的 AT命令,其中“1”是定义 PDP(分组数据协议类型)上下文,“IP”表示采用IP协议,接入点名称(APN)为 CMNET。
(2)AT%CGPCO=1,“PAP,,”,1:用于上下文激活的PCO字符串,表示采用PAP验证,默认的用户名和密码。
(3)AT$NOSLEEP=1:设置模块处于非休眠状态。
(4)AT$DESTINFO=“219.228.79.10”,1,8080:设置登录的 IP 地 址和端口 号 ,其 中 “219.228.79.10”是为了调试本设备所申请的公网IP地址,“1”表示支持TCP协议,若为“2”则表示支持 UDP协议,“8080”为所用的端口号。
为了方便以后更改IP地址,并不将IP直接写入程序,而是将IP存入SIM卡的电话本里,通过一条读电话本的命令来获取所设置的IP地址。因此需先通过AT+CPBR=1这条AT指令来查询电话本中索引号为1的电话号码的相关信息。
(5)ATD*97#:发送拨号命令连接,进行数据传输模式。
按以上步骤与水质监控中心进行连接后,就可以进行数据的传输了。
3.2 上位机部分
水质监控中心软件对远程数据实现实时接收、显示、存储和统计分析等,总体实现以下功能:实时显示各监测终端各项监测指标的当前值;实时显示各监测终端监测设备的当前状态;对水质自动监测数据进行查询、编辑、统计分析等。上位机软件的功能框图如图6所示。
4 系统可靠性设计
由于该系统的水质监测终端均处于野外环境,因此对系统可靠性要求很高。本系统设计方案主要从以下几方面采取相关措施来实现系统的可靠运行。
(1)由于水质监测终端没有可靠的交流电保证,因此设备均选用低功耗设备。另外,出于低功耗考虑,该系统还具有智能的电源管理,能够根据电池的容量对数据采集、无线传输等模块进行电源的分级管理与控制,以保证系统的长期稳定运行。
图6 上位机软件功能框图
(2)该系统还采用了防潮、防雷击措施。由于系统设备可能安装在空气湿度大的地方,测量终端设备要求在高湿度环境保证系统正常运行;又由于设备处于湖面,雷电较多,水质监测终端所有接口都有雷电保护和防浪涌措施。
(3)水质监测系统的实时数据是系统运行和管理的基础,因此该系统建立后,确保数据的完整性非常重要。在该系统中,当无线链路中断时,可先将监测数据和监测时间保存于本地SD卡中;当恢复链路连接时,再分时将SD卡中保存的数据传回监测终端;另外,所有实时数据在中心服务器中都存有数据备份,所有写入水质数据库的数据也均有备份。
(4)单片机的复位电路一般采用R-C复位电路,然而这种方式虽然成本低,但可靠性不高。本设备要求长时间稳定工作,因此系统中采用MAX809作为复位芯片,以提高系统的可靠性。
[1]吴一多,曹亮.基于 MSP430与GPRS的远程数据采集系统[J].国外电子测量技术,2006,25(11):74-75.
[2]张朝龙,江巨浪.基于MSP430的无线采集系统设计[J].安庆师范学院学报,2009,15(2):29-31.
[3]秦飞.MSP430单片机常用模块与综合系统实例精读[M].北京:电子工业出版社,2007.
[4]魏芬.GPRS模块M23在无线数据传输方面的应用设计[J].工业控制计算机,2009,22(5):5-6.
[5]刘洪建,刘婧然.基于GPRS的水资源数据远程监控系统研究[J].节水灌溉,2009,9:55-57.