2012-08-21 | #1 (permalink) |
普通会员
注册日期: 2012-01-12
帖子: 50
|
基于GPRS的无线水质自动监测系统的研究
0 引言
随着人类工农业活动的增加,水体污染种类及毒性危害日益复杂化。目前,环保部门主要通过监测站点来采集检测数据,然后根据一定的水质模型对采集的数据进行处理监控河流水质状况。而这些站点比较分散,所采集的数据存在片面性;此外,传送分析手段落后,监测结果滞后,不能及时反映河流水质的动态状况。因而,建立一套完善的水质自动检测系统,克服理化检测的局限性、片面性,并缩短实验时间,动态实时的反映水质变化,保证工农业用水安全及疾病的防控,势在必行。基于此,本文设计了基于 GPRS的无线水质自动检测系统。 1 系统组成及工作原理 本系统主要由各类分站传感器(如温度、PH值、溶解氧 DO、生化需氧量 BOD、化学需氧量COD 及水文参数流速和流量等)、若干分站下位机、无线通讯网络、总站工控机等多级数据检测网络组成。 系统工作原理是将各分站传感器采集到的信号首先转化为可识别的电压信号,然后通过信息融合把同类传感器在空间或时间上可冗余的信息,依据“加权平均法”融合算法进行融合,得出初步结果,并把初次处理得到的数据送入下位机,下位机通过 DTU 无线传输单元与上位机进行通讯,最后把得到的数据再进一步传送到工控机进行分析处理。 2 部分系统硬件设计 1)下位机 下位机由微控制器、无线收发设备及显示单元组成。微控制器采用广泛使用的AT89C51 芯片,它是美国 ATMEL 公司生产的一种带 4K 字节ROM的低电压,高性能CMOS8位微处理器。 下位机主要用于数据采集等初步处理,打包后通过无线传输单元传送给监控中心。 2)温度传感器 温度传感器采用 DS18B20。在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20 的双向通讯,操作方便。测温范围-55℃~ +125℃,固有测温分辨率 0.1℃。 3)PH值传感器 PH值传感器采用ph复合电极。本PH分析仪的测量原理是电位测定法,是通过测量电池电动势来确定待测离子活度的方法。测量电池是由测量电极、参比电极和被测溶液构成,参比电极的电极电位不随被测溶液活度的变化而变化,指示电极对被测溶液中的待测离子很敏感,其电极电位是待测离子活度的函数,所以测量电池的电动势与待测离子的活度有一一对应的关系。所以,测量电池的作用就是把难以直接测量的化学量 ( 离子活度 ) 转换成容易测量的电学量 ( 测量电池的电动势 )。 PH电极输出信号通过ina116pa进行放大,信号范围为 -400mv~400mv。为适应 AD转换器的测量范围,进行电平抬升,Ina116pa 的基准电压采用 1.25V,使得 ina116pa 输出电压为825mv~1625mv。基准电压采用 mc161403 高精度基准电压源,并通过高精度、低温漂电阻分压得到,保证基准的稳定性;AD 转换器采用 ad7705 16位数模转换器,保证测量的精度;Ad7705 采用 4m晶振,内部分频,测量频率 20Hz。 4)数据无线传输 采用 DTU 数据传输模块。DTU 提供了串行通信接口,包括 RS232,RS485,RS422 串行通信方式。在设计上将串口数据设计“透明转换”的方式,也就是说 DTU 可以将串口上的原始数据转换成 TCP/IP 数据包进行传送,而不需要改变原有的数据通信内容,而接收上位机软件能将 TCP/IP 传输的数据包还原成串口数据。DTU 的主要功能是把远端设备的数据通过无线的方式传送回后台中心。要完成数据的传输需要建立一套完整的数据传输系统。在这个系统中包括:DTU、客户设备、移动网络和后台中心。在前端,DTU 和客户的设备通过 232 或者 485 接口相连。DTU 上电运行后先注册到移动的 GPRS 网络,然后去和设置在 DTU 中的后台中心建立 SOCKET 连接。后台中心作为 SOCKET 的服务端,DTU 是 SOCKET 连接的客户端。 3 下位机部分程序设计 编程时采用模块化编程。其中测温采用的元件对时序要求比较严格,编程时采用时间触发和状态机的编程思路。 /*********** 主函数 *****************/ void main(void) {…… write_reg(0x20);// 选择通道 1,下个设置时钟寄存器 write_reg(0x08);// 设置时钟寄存器,分频,(4m 变 2m),0x08,20hz;0x0a,100hz,速率 write_reg(0x10);// 选择通道 1,下个写设置寄存器 write_reg(0x44);//自校准,单极性,无缓冲,增益1,写设置寄存器……} /******* 向 ds18b20 写一个字节 ***********/ void writeb20(unsigned char dat) { unsigned char i=0;EA=0; for (i=8; i>0; i--) {b20io = 0; b20io = dat&0x01; delayus2x(25);b20io = 1;dat>>=1;} delayus2x(25); EA=1;} /********* 从 ds18b20 读一个字节 *********/ uchar readb20(void) { unsigned char i=0,dat =0;EA=0; for (i=8;i>0;i--) {b20io = 0; // 给脉冲信号 dat>>=1; b20io = 1; // 给脉冲信号 if(b20io) dat|=0x80; delayus2x(25);} EA=1; return(dat);} 4 监控中心系统的软件设计 监控中心的软件系统包含数据管理模块、系统管理模块、决策信息服务模块和系统维护模块 6个模块。 1)数据管理模块 数据管理模块主要包括对在线监测数据及分类数据实时显示,历史数据的查询、编辑、修改和删除等。 2)系统管理模块 该模块提供监测系统信息管理功能,传感器的采样周期的设定及通信端口的设置等。 3)决策支持服务模块 该模块主要提供历史水质数据统计报表、分析、归纳与综合;根据预测模型,预测水质变化趋势或水质参数,为领导层制定决策提供依据。 4)系统维护模块 系统的维护任务主要包括用户管理、权限设定,备份与恢复、安全管理、日志和审计等。 5 结束语 该水质自动监测系统可以完成各种水质参数的检测任务,具有功耗小、成本低、实时在线、不受地理位置限制等优点,具有很好的应用推广前景。 |