陆桂明,李 钊,王起龙
(华北水利水电大学,河南 郑州 450045)
水质监测作为水环境管理和保护的基础,在环境保护系统中具有十分重要的地位.近年来随着科技的进步和社会的发展,水资源污染的种类不断增多,程度也日益加深.因此,如何快速准确地实现对水质的监测和预警,已成为水资源保护工作的重中之重.进行水质监测,首先要确定检测的水质指标.所谓水质指标,乃是用于评价水域水质特性的一系列重要参数.水质指标已形成了比较完整的指标体系,常规检测的5 项指标(《水和废水监测分析方法》)包括温度、酸碱度、溶解氧、导电率、浊度.
现有水质监测系统主要有以下几种类型:①总线型监测系统,使用双绞线将若干测量仪连接成网络,通过适当的通信协议在现场测量仪与监测中心之间进行数据传输,这种系统线路较为复杂,特别是监测点较多的情况,给系统维护带来极大不便;②嵌入式监测系统,使用嵌入式芯片来处理TCP/IP 协议,通过RS232/485 接口实现数据通信,这种方式可靠性高、实时性强,但工作量较大;③局域网监测系统,以监测中心为服务器,在各监测终端设立视频服务器,以局域网的方式进行数据传递,但不能实现较远距离的监测.
针对传统水质监测系统中存在的系统过于复杂、工作量大、不能用于偏远地区监测等问题,提出一种基于GPRS(General Packet Radio Service)技术的新型监测系统,即通用分组无线业务.支持TCP/IP 业务,最高可提供约171.3 kb/s 的传输速度,远超现有GSM 网约9.6 kb/s 的速度.系统选用的GPRS 模块MC55 内嵌有TCP/IP 协议栈,省去了系统对协议的处理,同时GPRS 的传输范围较广,使系统能用于远距离监测,应用范围更广.
水质监测系统能够监测水质的温度、溶解氧、电导率、酸碱度以及浊度等5 个指标.系统由C8051F020单片机控制模块、GPRS 无线通信模块MC55、A/D转换模块、信号处理模块、信号采集模块以及电源模块等组成,监控中心界面由C#语言编写.工作时,首先由信号采集模块采集水质信息信号,经信号处理电路处理和A/D 转换模块进行A/D 转换后送至C8051F020 单片机主控模块,该模块对数据进行分析判断并将结果通过单片机串口传递至无线通信模块MC55,最后由MC55 将数据发送到监测中心.
考虑到实际工作条件的复杂性和多样性,系统中加入了键盘和显示液晶,使系统信号采集终端既能用作水质监测系统的信号采集部分,同时还能实现水质信息的现场显示,可用作水质信息采集仪单独使用.系统以Cygnal 公司的高性能混合信号SoC级微控制器[1]C8051F020 为主控芯片,主要包括单片机主控模块、GPRS 无线通信模块、A/D 转换模块、信号处理模块、信号采集模块、键盘显示模块以及电源模块等.系统硬件结构如图1 所示.
图1 系统硬件结构图
系统的GPRS 模块选用的是西门子公司的MC55,它被誉为当今世上最具价值、尺寸最小的三频GSM/GPRS 模块之一,性能可靠,稳定性较高.它不仅具有普通GSM 模块的通话、短信、CSD(电路交换数据传输)、电话薄管理和无线MODEM 的GPRS连接功能,还内嵌有完整的TCP/IP 协议栈,支持SOCKET 连接下的TCP/UDP 数据传输,以及HTTP、FTP、SMTP、POP3 等上层应用协议.它兼容标准的ITU-T 的AT 指令集[2],使用时只需调用适当的AT指令对其进行相应设置即可完成各项功能,使用方便,在无线通信中应用广泛.
系统单片机和MC55 的连接示意图如图2 所示.单片机的TX0 和RX0 分别与MC55 的RX0 和TX0 连接,二者通过UART0 进行通信,调用相应的AT 指令,从而实现数据的传输.
图2 通信电路示意图
系统主要对水质的温度、pH 值、电导率、溶解氧和浊度等5 个指标信息进行检测,综合考虑应用环境条件、精度要求、成本等几方面,所用传感器为美国Global Water 公司的WQ 系列的水质信号传感器[3].传感器的部分指标见表1.
表1 传感器部分指标表
软件部分按照结构可分为两个部分:单片机控制程序和MC55 控制程序.
单片机控制程序采用C 语言编写,以KEIL4 为编译器.按照该部分结构和实现的功能可将程序分为几个部分.
1)A/D 转换部分.用于完成与A/D 转换相关的操作,包括初始化、通道选择、转换开关与循环、转换状态查询、缓存设置等操作.
2)单片机主控部分.用于完成关于系统数据的逻辑运算与判断,例如监测结果与标准指标的比对等.
3)串口通信部分.用于实现单片机和MC55 之间的串口通信,从而实现整个系统的GPRS 无线通信,包括串行通信方式的选择、波特率的制定等.
4)键盘显示部分.在该部分设定了液晶显示芯片的工作情况,例如显示数据的设置和读取,延时等等.同时由于系统设计有大量按键,因此在这部分还编写了相应的去抖函数用以消除按键过程中的抖动现象.
5)电源控制部分.用于检查电池状态,保持系统的正常工作.
单片机控制部分的流程图如图3 所示.
图3 单片机控制流程图
系统中的通信通过MC55 以GPRS 接入互联网实现.为了确保数据的可靠传输,单片机与MC55 的通信以TCP 协议为传输协议.MC55 不存在所谓的在线模式和命令模式,它实现的所有操作均通过调用相应的AT 指令来实现.对MC55 的操作一般包括2 个步骤:①建立GPRS 连接服务,例如SOKET 服务、FTP 服务以及短信服务等;②数据传输操作[4].MC55 控制部分流程图如图4 所示.
图4 MC55 控制部分流程图
系统所用部分AT 指令及其功能如下所示:
AT^SICS=0,conType,gprs0//选定连接模式0,连接方式为GPRS
AT^SICS=0,user,cm
AT^SICS=0,passwd,gprs//设定用户名和密码
AT^SICS=0,apn,cmnet//选择接入APN
AT^SISS=1,srvType,socket//选择Socket 服务
AT^SISS=1,conId,0//设定网络连接模式0
AT^SISS=1,address,″socktcp://10.0.190.62:6060″//设置服务器IP 地址和TCP 端口
AT^SISO=1// 打开网络连接,开始收发数据
监控中心界面由C#语言编写,开发工具使用的Visual Stdio2010.C#是微软公司发布的一种面向对象、运行于.NET Framework 平台上的高级程序设计语言,它综合了C/C ++和Visual Basic 等语言的优点,既能使用户完成各种灵活的操作,同时又大大缩短了开发周期.
界面功能结构如图5 所示,系统的登录分为管理员和普通用户2 种权限.普通用户可以对监测数据进行查询、搜索、打印、统计分析等操作;管理员权限除了能进行上述操作外,还能进行用户管理、权限设定、通信端口设定、标准指标设定等系统维护操作.
图5 监控中心界面功能结构图
系统设计完成后对其进行了初步测试,图6 是使用该系统于2012 年11 月2 日对当地自来水水质的部分测量结果.
表2 是使用试纸得到的测试结果与该系统进行对比的情况.通过比较可以看出,二者平均误差不超过1%,说明该系统能够快速准确地实现水质监测功能.
图6 系统测试效果图
表2 结果对比情况表
提出了一种基于GPRS 技术的水质监测系统的设计方案,将目前无线通信领域传输速度较快的GPRS 技术和操作灵活、开发周期短的C#语言应用到水质监测方面,解决了现有水质监测系统存在的系统复杂、工作量大、监测范围小等问题,实现了水质信息快速、准确的监测.系统成本低、功耗小,同时覆盖面积广,特别适用于监测点分散、距离较远地区的监测工作,具有广阔的应用前景,对远程监测工作具有重要的参考价值.
[1]吴炳胜.80C51 单片机原理与应用技术[M].北京:冶金出版社,2001.
[2]李继超.基于GPRS 的河流水位实时检测系统的研究[J].黑龙江科技信息,2008(32):51-52.
[3]唐慧强,徐芳.基于GPRS 的水情自动测报仪[J].仪表技术与传感器,2007(1):74-76.
[4]刘西秀,张民,刘勇.GSM 技术在远程监测系统中的应用[J].仪表技术与传感器,2012(10):79-84.