浑浊传感器 基于Zig Bee 的水产养殖水质在线监测系统设计
基于Zig Bee 的水产养殖水质在线监测系统设计
第1章 绪论
1.1 课题研究背景及意义
中国作为一个农业大国,其经济的发展中最主要的制约因素就是农业经济,而农业的经济中的主要产业之一是水产养殖行业。水产养殖指的是以人工的方式去对水产生物的繁殖和培育进行控制,以此来获取其成品的过程[1]。
在养殖的方式中,粗养是在中型或小型的自然水域里依靠饵料来养殖水产品;精养是小范围水域里通过投饵的方式来养殖水产品;高密度水产养殖是通过控制水体温度、增加氧气和饵料的方式在小范围水域进行养殖[2]。
近几十年来,水产养殖行业的持续发展,对于未来我国的农村经济发展以及现代化渔业的建设意义重大。
随着水产养殖的面积不断的增长,大量的高价值水产生物被引入国内,养
殖的密度也不断的在增加,传统养殖方式不能满足水产养殖的质量和效益等要
求。不同的养殖模式与种类的交叉等问题变得越来越普及,而目前的水产养殖
中水环境的监测还是以人工的方式去对水质进行判断和调整来实现的,对系统
的管理还没有达到智能化的程度[3]。用于监测的设备比较简单,还不能准确地
实现水质实时的进行检测。
水产生物的数量产出、利益盈亏都与养殖的区域内水质的好坏有着直接的
关联。水产养殖发展的规模不断的在扩张,而其水质所导致的各种问题也变得
越来越多。如养殖区域的环境问题会直接的影响水产养殖产物的生长发育,当
其某些生长指标超标时,轻则会造成其生长速度变得迟缓,重则有可能对其造
成较大范围的死亡[4]。因此,水质监测变为水产养殖业急需要解决问题之一,
实现对养殖中水环境里水质的健康化、智能化管理也已经变为水产养殖行业中
提升其效益的关键。
为了实现水产养殖里水域水质的实时、准确在线的监测,一定要完成水产
养殖信息管理和水产养殖中水环境实时并在线的监测,并且满足节点覆盖面积
广、网络的自组织能力强、拓扑结构的动态性能比较高等要求,本文采用多路
水质传感器及ZigBee技术,构成自组织多跳无线网络,有效地解决养殖池水水
质数据的采集、处理以及传输等问题,实现对养殖水环境的远程在线监测与控
制,该项研究对于水产养殖的智能与信息化的管理具有实际意义。
1.2 国内外研究现状
1.2.1 国内研究现状
国内在早期养殖的方法仍是靠人为的监测为主要的方法,该方法比较繁琐
而且其成本也高,逐渐开始不被养殖户看好。为了将养殖的的水平能够与国外
持平,从上个世纪的八十年代起,我国就大量地对国外一些成熟的监控设备和
养殖技术进行引进,虽然获得了一定的成果,但其成本比较高。
为将水产养殖达到智能化的程度,我国倾入较多的精力与物力,并且也获
得了一定的效果。国内的一些高校也逐渐在着手水质监测方面的研究,西安交
通大学研究的水质自动监测仪可以实现同时监测多个水质参数;北京机械工业
学院在水质分析仪中已成功应用了 MODBUS 技术,可实现现场的水质采集及
储存;哈尔滨工业大学研究出一个功能较完善、价格较低廉且能够同时监测多
个参数的仪器[5]。虽说我国已经生产出水质监测仪器,但与国外的一些产品相
比,其在性能上还存在一些差距。
为了解决这方面的问题,必须增加大量的人力和物力,总体来说其性价比
不高。即使增加了人力和物力的投入,还是不能将智能化程度的养殖成本减
少,所以如果能将其养殖的成本降低,才能从根本上解决这个问题。养殖中的
成本大部分是用于购买监测的水质参数设备和能源的消耗等,所以如果能够按
照养殖的对象、养殖池的面积等多个影响因素,合理的对系统去规划和设计,
利用科学的方式去购买相关的监测设备,从而设计出的监测系统已经变成将水
产养殖达到智能化程度的关键。
水质监测系统的工作过程是:先采用各种水质传感器去采集养殖池中相关
的水质参数,然后对其进行调理放大、模数转换之后,经 RS485 串口将其发送
给 PC 端。PC 端的工作是将其接收到的数据进行实时的显示与存储,同时会下
发一些相关的控制命令给下位机。在接收到命令之后,下位机去对相应的设备
进行控制,达到调整的目的[6]。
国内的水质监控系统虽然可以满足水产养殖中对于智能化的要求,但还有
一些问题没有解决。比如水质采集的精度较低;传感器节点的使用寿命;采集
节点分布极不均匀;布线复杂,且线路维修困难;成本高,能耗大;无法长时
间在水中进行采集;上位机各功能不完善等问题。
最近几年,无线传感器网络的逐渐成长,使得它在水产养殖行业中的使用
中,其智能化程度较高、信息时效性较高、扩展性较好等优点日渐突出,同时
支持多路的传感器数据进行同步采集,将其进行结合并运用于水产养殖的水质
监控之中。该系统具有分布式、多协议兼容、自组织、信息流高的特点,能够
实现实时、准确、高效的信息处理目标。
1.2.2 国外研究现状
国外在水质的相关领域,研究的起步是相对较早的,于20世纪中叶时,
就出现相关的研究者将机器控制、生物工程等有关原理知识使用到水产养殖领
域之中,并且开始实现对养殖相关设备的控制[7]。
在 20 世纪 80 年代时,又开始将无线电子技术的知识和计算机技术进行结
合,然后将其用于水环境中水质的监测之中,并企图实现自动化。监测参数指
标包括水监测中水质的酸碱度、微生物的含量以及无机盐的含量等[8]。
Gempcsaw 和其他研究人员又开始通过计算机系统,来实现对养殖水域进
行模拟仿真分析,并逐渐开始慢慢的把计算机相关技术映射到水产养殖行业的
应用之中。后来,美国以及部分的欧洲相关国家,又逐渐开始通过微型计算机
来实现对养殖水的 pH 和电导率等水质参数的相关监测与控制,于是便开始了
对水质调节的自动化研究[9]。
目前常用的系统中,较规范的主要有两个:美国生产的 EMNET 系统与澳
大利亚生产的 Fleck 系统,可是两者所能够采集的水质参数种类比较少,而且
通信的速率较低、功耗较高,所以它们比较适合于研究[10]。随后一些国家,如
德国、瑞士、日本等,都开始研发相关的水质自动化监测的设备,而且把它们
开始应用到养殖水质参数的检测中。
国外在研究的水质实时并在线监测的系统中,对于水产养殖中的水环境,
其监测主要有两个主要应用:一个是基于定时和定点算法,某水质参数进行周
期性在线的监测,如 pH 和温度。例如对鱼塘的在线管理系统,英国的这个系
统的特点是可以利用无线通信对数据完成采集,从而对于一些数据上传与采集
方面的问题做了较好的处理[11]。
另一个是能够被普遍用到位处近海的一些水产养殖之中,它是以无线宽带
通讯技术为根本,且能够直观的进行显示和监控。如 Castelli Von 沿海养殖区
Castenllon 在西班牙沿岸的 Mediterranean 省。它是通过微波为 2.4GHz 、
5.8GHz,在内陆 3.4km 的室内和养殖区近岸海域 l0km,其带宽传输速率达到
了 1Mbps。该方案不但能够对水质数据实现传输,而且还能够对视频以及其图 像达到实时的传输的同时去进行可视化的管理[12]。
1.3 本课题主要研究内容及论文结构
通过对水产养殖水环境中水质的在线监测系统发展现状与未来的前景进行
了解后,对与其有关理论知识与技术进行研究,将各水质参数传感器与 ZigBee
无线网络相结合,设计了基于 ZigBee 的水产养殖水质在线监测系统。结合实
际需要、功能需求与经济上的成本等因素综合考虑,并结合相关的技术要求提
出了水产养殖水质在线监测系统总体设计方案。
论文结构如下:
第 1 章,介绍本论文选题的相关背景,通过比较国内外相关领域内其在水
产养殖方面的水质监测系统之间的特点,明确本课题的主要研究意义,给出论
文的主要研究内容及其结构。
第 2 章,对 ZigBee 的网络拓扑结构进行选择,分析 ZigBee 协议栈其原理
和网络的构建过程,分析 PNN 算法的优缺点并建立水质预测模型。对系统功
能上的需求做简要总结,最后给出系统总体设计方案。
第 3 章,按模块对系统进行划分,完成传感器的选型及其电路设计;根据
系统要求设计水质数据处理和传输等模块,构建其硬件结构。
第 4 章,通过对软件开发语言的研究,完成水质监测系统上位机监控界面
设计。设计终端节点、路由节点和汇聚节点的数据采集、数据传输程序流程。
第 5 章,先对 ZigBee 节点的性能进行测试,再对 ZigBee 的组网能力进行
测试与分析,并对系统建立的水质预测模型的精度做实验仿真,最后对系统的
性能进行测试。
第2章 系统关键技术及总体方案设计
通过对 ZigBee 无线通信和 GPRS 无线通信等技术的研究,掌握其基本原
理及其各自网络的构建过程。对概率神经网络算法深入地研究,并分析其主要
优缺点,建立系统的水质预测模型。分析系统的需求,设计出系统总体方案。
2.1 ZigBee 无线通信技术
2.1.1 ZigBee 网络拓扑结构
ZigBee 是一种短距离双向无线通信技术,在满足标准需求的基础上,考虑
了建设成本、传输距离和网络组网方式的要求。它能够构建一个可覆盖少至几
个、多至几万个网络节点的无线传输网络[13],具有能耗低、占用空间小、建设
成本低、数据交换可靠、节点容量大、组网方式灵活、兼容性好等优点。它数
据的传输率控制在 10kb/s-250kb/s;在电池供电下可运行数月甚至数年等[14]。
ZigBee 的网络拓扑结构如图 2-1 所示。
图 2-1 ZigBee 的网络拓扑结构
Fig.2-1 The network topology of ZigBee
星型网络拓扑结构:底层的若干个终端节点只可与上层的汇聚节点去进行
数据通信。其优点是组网方式简单,缺点是拓展性差,不适宜于网络覆盖范围
较大的系统[15]。网状网络拓扑结构:汇聚节点作为组建者,网络中的一些相关
操作均由它去完成。随意的两个节点之间的通信路径都有多种,故系统通信的
可靠性高,但因其动态的路由拓扑,故定性分析网络算法较难[16]。树状网络拓
扑结构:不仅拥有星型结构简单性,而且扩大了覆盖的范围。它能让消息跨过
障碍,增强了网络扩展性,但多跳会导致信息的高度延迟[17]。
若想建立一个无线传感器网络,其网络拓扑的选择很重要。假设设备与接
入点的距离小于 100 米,则星型拓扑较合适。但假设要求的是更大的传输距离
时,可构建树型拓扑来拓展传输距离。假设要求是网络的高可靠性时,则网状
拓扑能够通过提供冗余路径,来应对路由器是否会发生失效的情况,从而保证
了该结构的可靠性。在综合考虑后,本设计采用网状网络拓扑结构,可缩短协
议执行时间,提高信息传输效率,增加网络的使用寿命。
2.1.2 ZigBee 协议栈
ZigBee 协议栈由四层构成,其模型图如图 2-2 所示。
图 2-2 ZigBee 协议栈模型图
Fig.2-2 The protocol stack model diagram of ZigBee
PHY 层的功能主要有:对无线收发器的开启及其关闭;可以对信道的频
率进行选择;它能够生成 LQI 可以用来指示接收的分组的质量,信号强度是信
号的质量标准;清除信道评估(CCA)等[18]。
MAC 层是完成传输数据帧,主要功能是:通过生成和发送信标来实现设
备之间的同步;对 PAN 网络之间一些操作、对无线信道其通信安全提供支
持;为两个 MAC 间可靠数据的传输提供支持[19]。
网络层保证了 MAC 层能够正常的去工作,而且供给了应用层适宜的接
口。主要功能有:确保路由帧能够到达目的地,只有路由器、协调器才能传输
信息;并在维护和维护设备之间找到路由;为刚加入到网络中的设备来分配地
址,但唯有协调器与路由器具备此功能[20]。
应用层包括 APS 层、ZDO 层、应用层架构。APS 为网络层与应用层提供
了接口,主要功能有:管理群地址;把 64 位的网络地址映射成 16 位,或逆向
映射。ZDO 是描述了一个功能函数,其主要功能包括启动或响应请求等[21]。
2.1.3 ZigBee 网络的构建过程
IEEE 802.15.4 和 ZigBee 标准是通过原语来描述某一层向比其更高的层提
供服务,分为请求、指示、响应和确认四种。在相邻层之间,信息可以通过服
务原语传输或调用,每个原语将指定即将执行的内容,并为前一个请求提高执
行结果。建立网络的流程如图 2-3 所示。
图 2-3 建立网络的流程
Fig.2-3 The process of building a network
汇聚节点的应用层给网络层申请创建网络,收到该申请后,网络层将信道
能量扫描请求发送到较低级别的 MAC 层,并发现信道能量比设定的低的信
道,使用其记录结果来搜索和选择一个最佳的信道且该信道有最小的 ZigBee
网络或无 ZigBee 设备。接着会对能够对某 ZigBee 网络标识号进行判别且不与
原有的发送矛盾的 PAN 作一个随机选择。若找不到,它会利用原语去通知上
层该结果。若找到,则经过原语去 MAC 层对该 ID 号进行注册,并将其变为
新网络中的网络号,同时对 PAN ID 与信道的扫描结果进行获取,之后再将其
给上层进行发送[22]。
当该设备是终端节点、路由节点时,才容许设备去尝试与网络去建立连
接。允许加入网络的流程如图 2-4 所示。
图 2-4 允许加入到一个网络
Fig.2-4 The process of allowing to join a network
2.2 GPRS 无线通信技术
GPRS 网络由众多节点构成,但最关键节点是 SGSN 和 GGSN,即 GSN。
它是对移动路由进行管理与转换。GPRS 网络的结构组成如图 2-5 所示。
图 2-5 GPRS 网络的结构组成
Fig.2-5 The structure of the GPRS network
GPRS 由 IP、X25 协议为主体,能够迅速的和其它网络之间创建网络连
接,用户能够在线 24 小时;通过统计流量的方式收取费用,相对来讲其成本
比较低;数据传输的速率很高,对于连续且少量的数据与不连续且大量的数
据,均提供支持等[23]。
GPRS 通信的流程:当用户想要加入到某一个网络时,会先向其发送该请
求,然后用户就可以得到信道的地址。但是,有可能会出现在同一时刻的若干
个用户都在发送该请求的情况,此时的系统就会对其做检测判断,看其是否发
生冲突。接着给它们依次分配其信道。用户按照自己得到的信道地址,去发送
数据及其确认请求,系统收到该确认请求之后,会对其做信息的确认。如果用
户一段时间内收不到系统发送的信息确认,就对该数据重新发送给系统 [24]。
2.3 概率神经网络算法
2.3.1 概率神经网络的特点
概率神经网络(PNN),拥有简单的学习过程、较快的训练速度,分类更加
的准确,容错性能较好[25]。
假设类的数量 g =1,2,---,G 。对于所有已知的类其概率密度函数分别为:
y1(x), y2(x),---,yG(x)。为了确定基于给定数据计算的概率密度函数yG(x)其近
似值,常使用 Parzen 方式,故多个变量的其概率密度函数表示如下:
(2-1)
其中,σ1,--- ,σn表示相对于 n 个变量x1,--- ,xn 的平均值计算的标准偏差,F 是
必须适当选择的权重函数,l 是输入模式的数量。
由上式可知,PNN 的结构和运算是直接相关的,因高斯函数作为概率密
度函数,并为 g 类的示例计算该函数,故将 Parzen 的定义转换成以下形式:
(2-2)
其中lg 是类g的示例数,σj表示与第j个坐标相关联的平滑参数,xij(g)是属于
类g的第i个训练向量(i = 1,--- ,lg)的第j个元素,x j是向量x的第j个坐标。
上式中提供了 PNN 结构的求和神经元之一,模式神经元的节点将组件馈
送到第 g 类的每个示例上累加的总和,lg 神经元构成了第 g 个求和神经元的输
入。故输出层根据贝叶斯决策和所有求和层的神经元输出确定向量 x 的类:
G* (x) =arg maxg{ yg(x)} (2-3)
其中 G*(x)表示模式 x 的预测类别。可看出模式层需要l=l1+---+lG节点。
PNN 是由四层组成的前馈模型:输入层是把样本输入至网络中;模式层
是网络的训练中输入样本与模式匹配程度的计算;累加层是把各个类其模式层
单元进行连接,该层神经元数是样本类别数目;输出层为未知样本提供预测,
即负责输出求和层中得分最高的那一类[26]。PNN 主要缺点在于需在每个训练样
本的模式层中拥有一个神经元,故对于大数据集分类问题,该模型结构复杂。
2.3.2 水质预测模型的建立
应用 k-means 聚类算法来输入数据,确定模式层神经元质心的最佳数量,
使得 PNN 结构简化。每个变量和每个类使用单个σ 的 PNN,按照式(2)中存储
σ 的 g×n 矩阵的必然性,故第 g 个求和神经元对决策层产生以下输出信号:
(2-4)
其中σj(g) 是为第 j 个坐标和第 g 个类来确定的平滑参数。
k-means 聚类算法的基本思想是尝试寻找 k 个簇,使得所有簇的记录间彼
此相似,但与其他的又不同,分组过程依赖于在输入数据和群集中心之间计算
的平方距离之和的迭代最小化。先是定义一组初始的聚类,并重复更新该聚类
中心,直到获得其修改的坐标值为止[27]。因几乎不存在“最优”聚类,该聚类
来源于将一组lg 模式划分为 k 个非空集群的大量方法:
(2-5)
计算第 g 次迭代中类 g 数量,函数 round(x)将正数 x 舍入到最相似整数。
(2-6)
假设 N=10,式(2-6)中定义求和层的神经元信号的计算只涉及 g 类的i s,g模式层的神经元,故将缩小比 R 定义为训练数据集中模式层神经元的数量的商:
(2-7)
其中, s =1,---, N −1。
预测算法实现的步骤为:输入层输入样本,通过 k-means 聚类算法来计算
模式层神经元的最佳数量;输入的数据被分为了 i 类,使用样本先对网络进行
训练,接着继续输入数据;然后分别求得每个输入数据与样本之间的距离;求
和层神经元数等于数据分类数,得到每一类数据的平均值;对每类数据的平均
值大小进行对比,判断该数据是属于哪类,将其分至值相似的那类。
水质预测模型的建立:将某水质参数数据状态分成 2 种:正常为(0,0.5],
异常为(0.5,1.0],其中在设定的阈值范围内的数据都是正常状态,超出或低于
该阈值的数据都是异常状态。这 2 种状态的聚类中心分别为 0.4 和 0.9。选取训练样本和预测样本,同时设置并不断调整每层的神经元个数,然后不断的训练
模型直至达到对系统对该水质参数预测的要求,则该水质预测模型建立完成。
2.4 系统总体方案设计
2.4.1 系统需求分析
在淡水的养殖过程中,适宜的水环境对水产养殖生物十分重要。水温会对
生物自身代谢产生影响,对于暖水性鱼来说,24-32℃较适宜,但冷水性鱼类
应控制在 9-18℃。养殖水中pH范围一般为 6.5-9.0,pH小于 6.5 时呈酸性,易
引起水产生物酸中毒;pH过高时呈强碱性,会使水产生物呼吸困难。在水中
溶解氧的含量不得比 5.00mg/L 低,尤其一旦小于 3.00mg/L,则会使水产生物
因严重的缺少氧气而导致死亡。养殖水中悬浊物过多会增加水中的含氮物,故
对浊度的检测也非常重要。养殖水中,几乎所有的可溶解盐都是以离子状态存
在,且可导电,因此判断水的电导率可间接地反映水中溶解固体的含量[28]。
综上分析,若想要给水产生物一个适宜的成长环境,必须准确且实时的掌
握水质的变化。根据调查与研究,对系统基本的功能需求的设计如下:
1. 监测参数及技术指标
检测范围:pH值为 0-14,温度为 0℃-50℃,浊度为 0-10NTU,溶解氧为
0-20mg/L,电导率为 0-200μs/cm。
检测精度:pH值为±0.01,温度为±0.5℃,浊度为±0.5NTU,溶解氧为
±0.1mg/L,电导率为±1μs/cm。
传输距离:每两个节点之间设置的传输距离应控制在 20 米左右。
2. 监测时效性
能实现各水质参数的 24 小时实时在线监测,并可按实际需求自由设置监
测的采样周期,本文设置的采样周期是 30 分钟。
3. 监测数据分析
在上位机实时显示与自动存储,并可按实际养殖品种及天气变化等因素自
由的设定各水质参数的检测标准,当某水质参数超标时,系统能及时报警,并
结合历史数据去预测未来 48 小时内的各水质参数,达到提前预防的效果。
2.4.2 系统总体设计方案
养殖水中对水质的监测其困难之处主要表现在:首先,水环境中的布线问
题较难且不易进行维护;其次,必须在同一监测点的同一采集节点能够采集多
个水质参数,并在该监测点区域布置多个采集节点,同时应使各采集节点的处
理能力更高;再次,监测点及其各采集节点的位置布置必须合理;最后,系统
具有预测未来某时刻水质状态的功能。综合上述问题后,本文提出了基于
Zig Bee的水产养殖水质在线监测系统。系统由终端节点、路由节点、汇聚节点
和远程监控中心构成,其系统框架如图2-6所示。
图 2-6 水质在线监测系统框架
Fig.2-6 The framework of the online monitoring system for water quality
养殖池中的终端节点与路由节点的位置,对于系统来说至关重要。考虑到
实际环境中各因素的影响与节点自身的通信能力的限制,对于各节点的放置方
式以及放置距离进行了详细的选择。
点 P 被假设成未知节点,其坐标为(x,y),如果 P1、P2、P3 三个节点正好
可组成一个三角形,且 P 到 Pi 的距离为 r1。则设 s(s>0)为常数,以参考节点
P1、P2、P3 为圆心,(r1-s)为半径的圆,因为存在测距的误差,三个节点不会相
交成为一个点,反而会构成一个小范围区域内的面积,三个节点之间的误差环
会变成一个交集,即初始误差区域 MP。初始误差区域如图 2-7 所示。
图 2-7 初始误差区域
Fig.2-7 The region of the initial error
若 s=0,则 MP 是一个点;若 s>0,则误差问题转化为求解 MP 的最小值。
由定理可知:在二维平面内,把未知的节点看成内点,让 3 个不共线的节点构
成一个三角形,如果其是等边三角形,那么此时的误差最小。故根据选定的节
点 A、B、C 的位置来选择内点 P 的位置,然后以此方式复制初始等边三角
形,通过拓扑得到的各节点来选择内点。节点位置选择如图 2-8 所示。
图 2-8 节点的位置选择
Fig.2-8 The choice of the location of the node
本文中进行节点传输测试时,选择了 6 个养殖池,每个养殖池的区域面积
设定的是:36*16=576(m2)。每个养殖池中放置了 13 个终端节点,4 个路由节
点,1 个汇聚节点。养殖池中的各节点分布情况如图 2-9 所示。
图 2-9 养殖池中的各节点分布情况
Fig.2-9 The distribution of each node in the breeding pool
终端节点与路由节点是采用分布式结构,通过多路传感器检测各水质参数
后将其转换成数字信号,通过Zig Bee无线模块将数据上传;连接网络后,终端
节点只与其相连的路由节点交换数据,路由节点间通过其他路由节点经多跳方
式向监测区域的汇聚节点发送数据。汇聚节点将从路由节点收到的各水质数
据,经过GPRS将其上传给监控中心,同时还接收来自监控中心下发的指令。
监控中心则是通过上位机界面对数据进行处理和储存,并对水质状态进行预测
等,为养殖户更好的对养殖区的水环境进行实时远程监测提供了支持。同时系
统通过预测功能达到了提取预防的目的,进而降低养殖户的经济损失。
各监测点内的各节点之间是利用网状拓扑结构对网络进行组建的,如果出
现某节点其请求是加入网络时,则网络会自动的进行组建。如果系统没有出现
问题,网络中的各节点不会一直运行,它们会在每次数据传输成功后,让它们
进入休眠的状态,在下次采集时刻到来是,再对其进行唤醒。各节点均有对其
电源进行管理的功能,可以对电池的电量进行检测,当其比阈值低时,系统发
出报警的信号,用来提示用户更换其电池。
2.4.3 系统无线通信方式选择
1. 近距离无线通信方式选择
近距离无线通信方式有多种,每种都有其优势与不足。WiFi 网络中其节
点的数目比较少且其功耗比较高;IrDA 只可以在两点间传输数据,同时不可
以越过障碍物;蓝牙抗干扰的能力较弱且其传输的距离比较短;相对而言,
Zig Bee 其拥有较强抗干扰的能力,成本比较低且能够进行组织网络的节点的数
量较大[29]。
系统的主要特点是:监测点的数目多;每次传输的数据量不大;设备不能
太大、能量消耗较低,成本较小等。综上所述,Zig Bee 的特点符合系统的设计
要求,采用的是 CC2530 型号来进行近距离的数据通信。
2. 远距离无线通信方式选择
GSM 使用 2G 标准,能够提供很多种的业务,通讯的质量较高。但其容量
相对来说较小、抗干扰的性能差,数据的延时等。3G 能够通过现存的网络完
成系统的远程数据采集,其特点是数据进行交换的速度较快,网络覆盖的区域
较广。数传电台其优点是可以进行大容量的数据传输,传输的距离可以很长,
缺点是如果传输端数量很多时,其进行采集的时间就会变长。GPRS 其成本比
较低,建设的周期比较短,能快速查找出故障的原因,费用在后期花费较低,
维护起来比较简单[30]。
比较上述四种方案,考虑到成本以及其覆盖的范围,GSM 不太合适;如
果选择 3G 网络,就会浪费很多资源;数传电台在网络中有盲点存在且费用比
较高;GPRS 网络的覆盖范围比较广,安全性比较高,网络的速度快,建设周
期短且成本低,线路永远在线。系统选的是 SIM900A 型号的 GPRS 模块进行
远距离无线通信。
2.5 本章小结
本章主要是对 Zig Bee 技术做了简要介绍,对其网络拓扑的结构进行了选
择,分析了 Zig Bee 协议栈原理及其网络的构建,介绍了 GPRS 无线通信技
术,分析了 PNN 算法的优缺点并建立了水质预测模型。对系统的设计要求做
了分析,确定了本系统总体的设计方案并对其工作过程进行了概述。
第3章 系统硬件设计
由上一章系统设计的总体方案,将系统按模块划分成数据采集模块、数据
处理模块、数据通信模块三部分,并分别对它们的硬件电路进行设计。
3.1 系统硬件结构设计
终端节点和路由节点是指分布在各监测点区域内,对各水质数据进行采集
并发送的无线传感器节点。硬件结构如图 3-1 所示。
图 3-1 终端节点和路由节点硬件结构图
Fig.3-1 The hardware schematics of the terminal node and the routing node
数据采集模块是通过各个传感器去采集各水质数据后经由调理电路去处理
放大;Zig Bee 无线通信模块内嵌入的处理器和数据存储模块进行数据的处理、
临时存储和转发,实时时钟模块是提供实时时钟。
汇聚节点不仅要接收来自路由节点的数据,而且还要接收监控中心下发的
指令。汇聚节点硬件结构如图 3-2 所示。
图 3-2 汇聚节点硬件结构图
Fig.3-2 The hardware structure of the convergence node
汇聚节点采用锂电池供电,若电池电量低时,会触发报警模块。在接收到
路由节点上传的数据后,Zig Bee 模块通过串口将其发送到 STM32 微处理器模
块。实时时钟模块提供实时时钟,数据存储模块对数据进行存储,GPRS 模块
与远程监控中心之间进行数据发送与接收。若某节点其电量低于其阈值时,又
或者其出现其它问题时,系统报警模块将会出现警报声音。
3.2 数据采集模块设计
数据采集模块是将各传感器检测单元采集的各水质数据经由各传感器信号
调理电路去处理和放大。数据采集模块硬件结构图如图 3-3 所示。
图 3-3 数据采集模块硬件结构图
Fig.3-3 The hardware structure of data acquisition module
3.2.1 温度检测单元
温度传感器通过感应温度的变化去输出。本文温度传感器选用的是单总线
且防水的 DS18B20。它仅需一个 I/O 口就可与控制器进行通信,占用资源少且
输出为数字式信号,精度能够到±0.5℃,对用于水下温度的测量比较合适[31]。
温度检测电路如图 3-4 所示。
图 3-4 温度检测电路
Fig.3-4 The circuit of temperature detection
传感器在内部的 ROM 是存有一个独一的 64 位长的序号,暂存的 RAM 是
9 个字节,它是被用于内部的计算以及数据的存取。默认配置下,测量结果是
12 位的数字量,MSB 的前 5 位是符号位。其温度存储的格式如图 3-5 所示。
温度的计算方式是:若温度为正,符号位 s 全为 0。温度为负,符号位全
为1。数据位被保留下来,在 LSB 的末端,分辨率为 24=0.0625。按照
DS18B20 的通讯协议,当在控制其进行温度转换时,它需要三个步骤:读、写
之前,它需要重置一次;一个成功的重置完成,它需要发送另一个 ROM 命
令;最后,经 RAM 指令来完成 DS18B20 的预定义操作。
图 3-5 DS18B20 的 12 位温度存储的格式
Fig.3-5 12-Bit temperature storage format of DS18B20
3.2.2 pH 值检测单元
PH 值用来表征水质酸碱性强弱,本设计选用 E-201-D 型复合玻璃电极,
它利用电位法测量水体的 PH 值。其测量范围为 0-14,精度可达±0.01,输出
为-420~+420mV 的电压信号,使用温度为-15~60℃,需设计前置放大电路完成
阻抗匹配,还需对其输出电压进行适当放大,达到 0-5V 的标准电压信号[32]。
PH 值信号调理电路如图 3-6 所示。该调理电路的主体是由三级运放而组
成的放大器,其中运放选用的是 LM6041,其输入的阻抗大、电压偏置低。电
路分成两级,对称相位的两个放大器组成了电路的前级,其作用是对零点漂移
及误差进行抑制。电路对复合电极其输出的高、低阻抗进行隔离,避免了后级
中电阻对于电极其输出的信号干扰;反相差分放大器组成了后级,其电路的线
性程度比较高,能够成功抑制噪声比。
图 3-6 PH 值信号调理电路
Fig.3-6 The signal conditioning circuit of PH value
由图分析得,当玻璃电极输入电压为Ui2,参比电极输入电压为Ui1 ,A1 、
A2和A3为理想放大器,R4= R5,R8/ R6= R9/ R7 ,则电路其输出电压U0 为:
(3-1)
先取可调电阻 Ro=10KΩ ,对Ro进行调节,将输出的电压变成 -5V 至
5V,然后利用加法器再将其变成 0-5V 电压信号。
3.2.3 溶解氧检测单元
溶解氧是指水中溶解氧分子的浓度,该系统采用 HDO10 型传感器,可用
于较长时间在水中溶解氧含量的在线测量,其测量的范围是 0~20mg/L,精度
是±0.01mg/L。由于电极的输出电流信号很弱,大约是 0-100n A,故需把电流
信号变成电压信号后放大到 0-5V 采集信号[33]。其调理电路如图 3-7 所示。
图 3-7 溶解氧信号调理电路
Fig.3-7 The signal conditioning circuit of dissolved oxygen
考虑到其输出的阻抗很高,所以利用了反馈式 I-V 电路,运算放大器选择
的是 CA3140。因其反馈的电阻选择的是 10MΩ,故其两端电压和输出电极的
电流之间是正比的关系。若输出电极的电流是 0-100n A,则在电阻的两端其电
压 V01 大约是 0-1V。后级中的输入是反馈的电阻其两端的电压。
当时,该级输出电压为:
(3-2)
输出信号经 LC 电路进行干扰信号滤波后,输出电压Vout 大约是 0-5V。
3.2.4 电导率检测单元
电导率的值代表了养殖区域内水的无机盐的含有量,电导池是其进行测量
的器件,构成是被检测的水体及其传感器。在测量中,选择双极性脉冲产生电
路作为交流电压源,在电导池电极中加入电压,电流就流经电导池,输出电流
信号经 I-V 换算,将其输出转换为交流的电压信号,在传至微控制器之前再通
过整流滤波放大处理[34]。
双极性脉冲发生电路可以生成周期性进行变化的电压信号,其幅值在前半
和后半周期内是一样的,但是其相位却是相反的。其电路如图 3-8 所示,R20、
C6 组成的充放电电路能够对电路的状态进行随意切换。
图 3-8 双极性脉冲产生电路
Fig.3-8 The generation circuit of bipolar pulse
全波精密整流电路可以在其输入的电压不变时,翻转其负半周期的信号。
其电路如图 3-9 所示。
图 3-9 全波精密整流电路
Fig.3-9 The circuit of precision full-wave rectifier
如果电压Ui比0大时,D2 、D3 所构成的反馈电路将会截止,而R24所在
的线路会被导通,可知:U01= -2Ui ,U0= 2Ui -Ui =Ui。如果电压Ui比 0 小
时,D2 、D3 所构成的反馈电路将会被导通,而R24所在的线路将会截止,可
知:U01=0,U0=-Ui。分析可得,该电路输入、输出电压关系为U0=0=|Ui |。
对其最后的输出电压做采样及处理,就能够得到该水体的电导率的数值。
3.2.5 浊度检测单元
因水产养殖环境中,3-10NTU 均可满足要求,故选用 GE 公司生产的 TS
型浑浊度传感器。它利用光二极管和晶体管的折射到特定波长,并检测水的透
射率和散射率来判断浊度。若悬浮物量增加,再加强其折、反射作用,就可减
少穿透的水样中的光线;若悬浮物量减少,就可增加穿透的水样中的光线[35]。
图 3-10 的 a 图为浑浊度传感器内部结构示意图,3 端是发光二极管,通电
后将会发射光源。2 端是光敏三极管,得到光源的大小后基极 b 能够对输出电
压进行改变,水样位于 2、3 间。图 3-10 的 b 图中,拟合直线是虚线,5V 电
压作用下电气的特性曲线是直线,两者都接近线性曲线,能满足要求。
图 3-10 浑浊度传感器 TS 的内部结构示意图和电气特性曲线
Fig.3-10 The internal structure schematics and electrical characteristics of the cloudy sensor TS
浑浊度传感器的信号调理电路如图 3-11 所示。2 端的电压是 0-5V,故电
路不再放大,只需对R31进行适当选择即可将其电压变成 0-3.3V。
图 3-11 浑浊度传感器信号调理电路
Fig.3-11 The signal conditioning circuit of the turbidity sensor
3.3 数据处理模块设计
3.3.1 微处理器外围电路
STM32F103ZET 是 ST 公司 ARM Crotex-M3 产品线里面功能最强大的一
款 CPU。本文选的是 STM32F103ZET6 芯片,其硬件电路图如图 3-12 所示。
图 3-12 STM32F103ZET6 硬件电路图
Fig.3-12 STM32F103ZET6 hardware circuit diagram
该芯片集成了 512k B Flash、64k B RAM、8 个定时器、5 个 USART、3 个
ADC、3 个 SPI、1 个 SDIO、112 个 GPIO、FSMC 总线等。数据处理模块的核
心是以 STM32 微处理器为中心来完成的,同时搭配上各种外设和外围电路。
STM32F103ZET6 芯片的主频为 72MHz,具有同类产品最高的性能[36]。该微处
理器所具备的功能达到了系统所需的要求,且工作条件适合用在水环境中。
微处理器所需工作电压是 3.3V,考虑到在现场具体环境下,有必要对电源
的稳定性做相应的保护措施,故本文在设计 STM32 的供电电路时,选用了
LM1117 芯片,其电压输出是 3.3V,输出的电路可到 800mA。考虑到因功耗系
统是否会引发电流的突变,高频干扰信号用输入端的两个电容滤除,运行中电
流用输出端的两个电容使其变平缓。供电电路如图 3-13 所示。
图 3-13 供电电路
Fig.3-13 The power supply circuit
STM32 有 HSE、 LSE 两个外部的时钟源,分别是高速 8MHz、低速
32768Hz。系统中的主时钟是将其倍频后的 HSE,实时时钟其输入是 LSE,用
来产生秒脉冲。STM32 的两个时钟电路如图 3-14 所示。
图 3-14 STM32 的两个时钟电路
Fig.3-14 The two clock circuits of STM32
报警模块是为了在某一水质数据超过了其阈值的时候,利用声音报警的方
法告诉养殖户,及时的去处理水质所发生的一些问题。报警模块选用的是蜂鸣
器装置。该报警模块电路如图 3-15 所示。
图 3-15 报警模块电路
Fig.3-15 The circuit of the alarm module
蜂鸣器的正端电压为 5V 电源,其余端口与三极管集电极相连,而三极管
基极和微控制器 STM32 的普通输入输出端口相连,以实现微控制器对蜂鸣器
的控制。当 STM32 连接到蜂鸣器且相连端口输出高电平时,三极管的发射极
与集电极均导通,蜂鸣器供电正常,流过足够电流,这时系统就会出现报警的
声音,而若端口的输出是低电平时,三极管就会截止导致蜂鸣器发不出声音。
3.3.2 数据存储模块
SD 卡具备性能高、容量大、更安全等特点。在 STM32 的 SDIO 接口初始
化后,系统对卡发送一系列不同命令,然后按照卡的不同反应来检测接入卡。
在本系统中 SD 卡用 SDIO 口来连接,硬件连接电路如图 3-16 所示:
图 3-16 SD 卡硬件连接电路
Fig.3-16 The circuit of SD card hardware connected
1. 基本配置
初始化 SDIO 适配器后,利用下列公式可得时钟频率:
(3-3)
其中, SDIO_ DIV 定义为((uint8 t)0xl)。
2. 设定传输的通道
考虑到传输的数据量比较大,故传输的方式是 DMA。SDIO 是选用 DMA
控制器 2、通道 4。将其相关的参数进行配置后,利用 DMA Cmd 来使能。
3. SDIO 命令及其数据传输的方式
利用 CMD 引脚去发送其命令和响应。命令格式如表 3-1 所示。
表 3-1 SD 的命令格式
Table 3-1 The command format of SD
位
47
46
[45:40]
[39:8]
[7:1]
0
数值
0
1
X
X
X
1
功能
起始位
传输位
命令索引
参数
CRC 效验
终止位
软件配置只需设置命令索引号及命令参数,其它均由 STM32 硬件完成。
传输数据的时候,发送是利用 SDIO_Send Comd(&SDIO_CInit Str)函数操作的。
命令参数是 SDIO_CInitStr 结构体进行保存的。SD 卡收到命令后,只有
CMDO 除外,均会给其回复响应。
3.4 数据通信模块设计
3.4.1 ZigBee 无线通信模块
Zig Bee 模块的性能和系统的可靠性之间有很大关系,其主要是负责网络的
组建。考虑通信距离及成本,本文所选用的 CC2530 芯片是性能高、功耗低的
微控制器,数据保持不变且拥有 RF 收发器,抗干扰能力强,输出功率高。
CC2530 节点电路如图 3-17 所示,其主要作用是完成数据的处理、转发
等。CC2530 芯片集成了大量的电路在里面,所以只需要少量外围电路便可实
现接收和发送数据。考虑到高频干扰的因素,将电感 L2 放入到电源电路中,
高频信号通过电感进行滤除,再在电源引脚上加入电容来滤除高频信号。芯片
中的稳定时钟信号的供给是晶振电路处理的。其中电容 C36、C37 与 32MHz 的
XTAL1 振荡器构成了 32MHz 的晶振电路;电容 C38、C39 与 32.768MHz 的
XTAL2 振荡器构成了 32.768KHz 的晶振电路[37]。精密的偏置电流是由电阻
R46 提供,电容 C35 主要是稳定 CC2530 中 1.8V 的稳压器的运行。
图 3-17 CC2530 节点电路
Fig.3-17 The circuit of CC2530 node
在 CC2530 射频端可以通过一个简单的匹配电路设计,图中 25、26 引脚
输出信号先经电容 C28、C29 滤除直流干扰后,利用巴伦电路对电路进行转换,
把射频端差分输出改成单端输出。然后再利用传输线其阻值和电容 C32、C33 和
C34 构成的匹配电路进行电路的匹配,最后将信号利用天线传输出去。
3.4.2 GPRS 无线通信模块
系统的汇聚节点的 GPRS 选用的是 SIM900A,其输入电压的范围为 3.4V-
4.5V,能够 24h 在线,达到了系统对于实时性的设计要求。它内部嵌入了
TCP/IP 传输协议;自带两路 DART、SIM 卡、电源管理等接口[38]。本文设计的
SIM900A 模块接口电路如图 3-18 所示,图中网络状态指示灯电路由 Q3、D6、
R56、R57、R58 构成;开、关机驱动电路由 Q2、R53、R54 构成。
图 3-18 SIM900A 模块接口电路
Fig.3-18 The interface circuit of SIM900A module
工作过程如下:STM32 向上电后的 SIM900A 的引脚 PWRKEY 输出一个
低脉冲来开启;待其连接到 GPRS 网络之后,STM32 向其发 AT 指令,经过串
口检测其执行情况,并通过 Antenna 引脚来传输其数据,传输完成之后,
STM32 控制它进入到休眠的模式中。当下次数据进行传输时,其会重新被叫
醒,然后继续以上操作步骤。
利用 AT 的一些命令,该模块能够加入到 GPRS 的网络中,其流程如下:
AT+CIPSTART=(“TCP”,“UDP”),(“IP ADDRESS”,“DOMAIN
NA-ME”),“PORT”//注册 UDP 的端口以及创建 TCP 连接;
AT+CIPSTART=(“TCP”,“UDP”),“PORT”//设置本地的端口号;
AT+CIFSR//获取本地的 IP 地址;
AT+CIPCLOSE//断开 TCP 连接;
SIM900A 接收模块和 PC 端也是用串口来完成通信。该模块所用的 SIM
卡的电压是+1.8V 或者+3V,内部的电压稳压器能够产生驱动电平给 SIM 卡。
3.5 电源管理模块设计
远程监控中心是 220V 交流电压,各节点供电是+3.7V 锂电池。而 STM32
与 CC2530 是+3.3V 电压,GPRS 与报警模块分别需要+4.0V 和+5.0V 电压。
在这个系统中,各节点供电是 3.7V 锂电池,利用电压转换芯片 MAX756
将其增加为 5.0V 后提高给外设。3.7V 转 5.0V 电源电路如图 3-19 所示。
图 3-19 3.7V 转 5V 电源电路
Fig.3-19 The power supply circuit of 3.7V turns into 5V
锂电池的电压是+3.7V,利用 XC6206-3.3 低压差稳压芯片将其转换成
+3.3V 电压。+3.7V 转+3.3V 电源电路如图 3-20 所示。
图 3-20 +3.7V 转+3.3V 电源电路
Fig.3-20 The power supply circuit of 3.7V turns into 3.3V
经 MP2303 芯片能够输出+4V 的电压,其进行转换的效率能够达到 95%。
+5.0V 转+4.0V 电源电路如图 3-21 所示。
图 3-21 +5.0V 转+4.0V 电源电路
Fig.3-21 The power supply circuit of 5.0V turns into 4.0V
锂电池内部集成了锂电池管理芯片,它集电池监测与保护于一身,还可对
电池的温度、电压和电流流量进行实时监测。微控制器利用其输出的电压值检
测电量大小,若其输出数值比设定阈值低时,触发报警模块。
选择 TP4057 芯片对锂电池进行充电,其电池充电的模式有多种且能自动
转换,能利用 USB 及适配器来对其提供电源。如果充电的过程中,出现问
题,充电会自动停止,充电电压是+4.2V,充电时的电流可以利用电阻 R64 进
行相应的调节。充电进行中、充电完成分别点亮的 LED 的颜色是红色和绿
色。若断电,则自动变成低电流的模式,降低功耗至最低。锂电池充电管理电
路如图 3-22 所示。
图 3-22 锂电池充电管理电路
Fig.3-22 The circuit for charging a lithium battery
3.6 本章小结
本章首先是按模块对系统的硬件结构进行了划分,完成了各传感器的选择
及其相关电路设计,然后对水质的数据采集、处理和传输等模块进行了分析和
硬件设计,搭建了水质监测系统的硬件平台。
第4章 系统软件设计
通过第二章对系统需求的分析,对软件的功能进行设计,编写出远程采集
监控软件。对传感器节点的数据采集程序和 Z-Stack 的工作流程进行设计,完
成数据采集模块的软件设计。对通信协议进行设计,对 Zig Bee 节点无线通信
程序和 GPRS 无线通信程序进行设计,完成数据传输模块的软件设计。
4.1 远程监控中心软件
4.1.1 软件开发环境
对系统软件开发过程中的成本、周期及其可读性进行综合比较,利用
Visual Studio 2012 开发了远程监控中心的监测界面。微软公司把多种 Windows
中 API 函数都封装在 C++中,提供一套基础的类库,即 MFC。MFC 为应用的
程序提供了一个框架,包括各种基类及其派生类、各种句柄及控件的封装类、
各组件封装类等。因 Windows 中的操作系统是面向消息的,故 Windows 里有
很多的编程工作涉及到了消息的相关处理。
消息映射的作用是安排某个函数为某个类来处理其不同的消息。由于
MFC 拥有一个标准化的应用程序框架,因此当我们想要实现某些功能的时
候,就可以利用该框架去进行相关的操作。比如,如果想要通过一个按钮去把
文件打开时,我们只需在与其对应的响应函数编写相应的功能代码就可以了,
其它的处理不需要我们,MFC 在其内部已经对其做过了相关的处理[39]。
远程监控中心的上位机软件的对话框资源实现流程:先添加对话框的资
源,将所需各种控件都添加到对话框之中。再给对话框创建与其相关联的一个
继承于基类 CDialog 的类。给对话框的编辑框去添加相应可控制该框的一个变
量。给其相关按钮去增加相应消息响应的函数并对所需的功能进行编写。在软
件中,对于概率神经网络的应用是利用各种类去完成的,在其类中对训练及其
测试的过程中,所有能够用到的数据与方式封装成了训练函数和测试函数。
通信方式采用 socket 进行数据通信,下位机作为客户端,上位机作为服务
器端。服务器端一直监听客户端,连接成功后,上位机可以接收下位机上传来
的数据,并将其在上位机软件的界面进行显示,同时存放到数据库中。
4.1.2 软件功能设计
远程监控中心有登录界面和远程采集监控界面。用户进入系统的第一步是
登录界面,因此必须验证其用户与密码。如果该用户的用户名和密码是正确
的,才可以进去系统,否则无法进去。软件设计采用的是模块化思想,由串口
调试、列表显示、设置信息、实时采集、预测状态和历史查询六部分模块组
成,各模块能相互独立完成各自功能,模块与模块之间有内在的联系,便于系
统的调试与维护,并且模块之间的结构较清晰,大大减少了软件开发所用时
间。软件设计流程如图 4-1 所示。
图 4-1 软件设计流程
Fig.4-1 The process of software design
用户登录成功后,就进入如图 4-2 所示的远程采集监控界面。
图 4-2 远程采集监控界面
Fig.4-2 The interface of remote collection monitoring software
串口调试模块是在点击左下角的“调试”按钮后会弹出一个调试界面,用
户即可对串口进行调试以及进行网络的调试等。列表显示模块主要是显示在
线、离线监测点,设置信息模块是设置各水质参数的正常范围,实时采集模块
是对当前采样时刻的水质数据以及状态进行显示,处理后的水质数据实时存储
在本地的数据库中。预测状态模块是预测某监测点未来某时刻的某水质参数的
状态,历史查询模块是查询存储在数据库中的历史数据。
4.2 数据采集程序设计
4.2.1 传感器节点数据采集程序
终端节点在成功初始化之后,会先对该节点中电池电量的情况进行判断,
若电池中的电量比较低,系统会延时进行循环的报警操作。若电池电量较充
足,则将调用数据采集的程序,并把读取数据送给路由节点,成功上传后其状
态变为休眠。到下次采集的时间时,对其唤醒并继续上述操作。
路由节点和终端节点类似,但它会接收终端节点的水质数据,若接收成
功,会将接收到的数据和其采集的数据一起上传至汇聚节点。终端节点、路由
节点的数据采集流程如图 4-3 所示。
图 4-3 终端节点和路由节点的数据采集流程
Fig.4-3 The data collection flow of terminal nodes and routing nodes
汇聚节点在上电之后,先是进行初始化,判断电池的电量低不低,如果电
量低时,则对其延时循环报警,否则对路由节点传输过来的水质数据进行接
收。若接收成功,判断水质参数是否超标,若没有超标,则将数据进行存储并
上传至监控中心,否则重新接收。数据如果上传成功,则其状态变为休眠,等
到下次路由节点上传数据时,对其唤醒并继续上述操作。否则重新上传。汇聚
节点的数据采集流程如图 4-4 所示。
图 4-4 汇聚节点的数据采集流程
Fig.4-4 The data collection flow of aggregation node
4.2.2 Z-Stack 操作系统的工作流程
Z-Stack 的协议栈已经建好了其基本的框架。Z-Stack 对操作系统中的抽象
层进行了设计,它在对任务进行处理的时候,采用的机制是消息与事件轮询,
故可以简单的将其看成操作系统,即 OS。在 Z-Stack 完成初始化之后,会进入
OS,若没发生事件,则进入休眠状态;如果一个事件被发送,系统中的中断
处理事件出现,然后在其结束后再次变成休眠状态。
系统会根据各个任务的优先级从队列名为 tasks Events[ ]的里面把它们一个
个提取并执行。如果某个任务能够在设定的时间内完成,就把该任务清除;但
如果没完成,则把其重新装入队列之中,并把其标志位进行存储,等到下一次
进行循环的时候,再对该任务执行[40]。操作系统的工作流程如图 4-5 所示。
图 4-5 操作系统的工作流程
Fig.4-5 The working process of the operating system
将任务“数据采集”加入到任务列表,定时去启动并运行。因 pH和电导
率用的电化学传感器,为其设置 1min“预热”时间。传感器数据采集流程如
图4-6所示。其中TO表示间隔启动时间;Flag用来标识pH值和电导率模块的
电源是否打开并持续了 1min,未打开为 0,打开为 1;Kp H=1 和 KTDS=1 分别
表示打开了 pH值、电导率模块电源。
在初始化之后,各传感器模块启动,先打开pH值和电导率模块的电源,
然后将TO设置为 lmin,Flag 设置为 1。1min 后,判断 Flag 的值,此时 Flag 的
值是1,将打开其它模块并进行采集数据,结束后把Flag 的值变成 0,TO 变成
29min,故采集的时间间隔为(29min+lmin=30min),然后对其数据作处理后,
本次结束。下次采集间隔到来时,继续上述流程进行数据采集。
图 4-6 传感器数据采集流程
Fig.4-6 The process of sensor data collection
4.3 数据传输程序设计
4.3.1 通讯协议设计
1. 传感器与 Zig Bee 节点的数据帧格式
传感器进行数据的采集和传输是采用被动采集数据、主动上传的方式,数
据采集、数据上传数据帧格式分别如表 5-1 和表 5-2 所示。
表 5-1 数据采集数据帧格式
Table 5-1 The data frame format of data collection
帧头
方向
长度
帧代号
功能码
地址段
数据
CRC
帧尾
80
FA
AB
08
05
01
01
FF
DC
01
08
32
FD
FD
表 5-2 数据上传数据帧格式(十六进制)
Table 5-2 Data frame format for data upload (hexadecimal)
帧头
方
向
长
度
帧
代
号
功能码
地址段
数据
CRC
帧尾
数据数
保
留
通道数据
80
FA
BA
08
05
01
00
FF
DC
02
02
初值
终值
X
X
FD
FD
2. ZigBee 节点间的数据帧格式
(1)汇聚节点下发指令的数据格式如图 5-3 所示。
表 5-3 汇聚节点下发指令的数据格式
Table 5-3 The data format of the sending instruction of the sink node
类型
字节数
内容
帧头
4B
&WSN
帧类型
3B
RNW
物理地址
8B
00000000
网络地址
2B
00
数据包
8B
00000000
连接的质量
1B
0
备用
10B
0000000000
效验和
1B
0
(2)终端节点发至路由节点或路由节点发至汇聚节点的格式如表 5-4 所示。
表 5-4 终端节点或路由节点发送数据的格式
Table 5-4 The format of the data sent by the terminal node or routing node
类型
字节数
内容
帧头
4B
&WSN
帧类型
3B
RNW
物理地址
8B
XXXXXXXX
网络地址
2B
XX
数据包
8B
[0-1]:父节点网络地址;[2-4]:节点类型;[5-7]:000.
连接的质量
1B
X
备用
10B
0000000000
效验和
1B
0
如果是新加入节点,帧类型为 JOI。如果是读取所有节点的网络参数,帧
类型为 RNW。如果是节点的采样数据,帧类型为 RW1,汇聚节点其物理地址
读取指定节点的数据项;帧类型为 RW2,汇聚节点其网络地址读取指定节点
的数据项;读取成功,帧类型返回 RWT;读取失败,则返回 RWF。
4.3.2 ZigBee 节点无线通信程序
终端节点如果接收了其上一级的节点下发的某消息,会先对其进行判断,
是否是数据采集,接着按照帧头、帧尾及其长度来判断是不是合法。如果合
法,接下来是帧类型提取。终端节点数据传输流程如图 4-7 所示。
图 4-7 终端节点数据传输流程
Fig.4-7 The process of data transmission for terminal nodes
终端节点在进行处理串口的数据时,首先 CC2530 在接到传感器的采集数
据后,去查找帧头、帧尾,找到一帧数据后,判断其是不是合法的,如果是,
就对其协议转换、数据封装,将采集的数据发送到其上一级的节点中。
路由节点除与终端节点一样的功能外,还有可以对数据转发。路由节点数
据转发流程如图 4-8 所示。
图 4-8 路由节点数据转发流程
Fig.4-8 The process of data forwarding by routing nodes
汇聚节点串口数据传输流程如图 4-9 所示。
图 4-9 汇聚节点串口数据传输流程
Fig.4-9 The process of serial port data transmission in the sink node
汇聚节点收到上传的数据后将会调用串口事件。先是查找到一帧数据并判
断其是不是合法,接着对帧类型进行提取、协议的转换,然后对其数据转发的
模式进行判断,按照具体需要来选择是广播模式或者是点对点模式。
在收到来自 GPRS 下发的数据后,汇聚节点会先对其判断是节点入网或数
据采集,接着按照帧头、帧尾及其长度去判断其是不是合法的。如果合法,就
对数据进行处理,提取并加入帧类型,再经过串口发送至 GPRS 模块或
TCP/IP 网关之中,最后,经过 socket 将其送到服务器中。汇聚节点射频数据
传输流程如图 4-10 所示。
图 4-10 汇聚节点射频数据传输流程
Fig.4-10 The process of the rf data transmission of the sink node
4.3.3 GPRS 无线通信程序
GPRS 模块主要是在汇聚节点和远程监控中心之间实现数据的无线传输。
该模块内部里有 TCP/IP 协议栈,可以对数据进行透明的传输,在进行初始化
后,即可进行一系列的操作[41]。
任务主要包括:接收远程监控中心下发的采集指令,完成 GPRS 配置指
令,更新 GPRS 的目标 IP 地址、端口号、波特率等,然后去完成相关操作;
有数据传输时将其发送至远程监控中心。GPRS 无线通信过程如图 4-11 所示。
图 4-11 GPRS 无线通信过程
Fig.4-11 The wireless communication process of GPRS
4.4 本章小结
本章按照系统的设计需求,对软件的各功能模块进行了设计。通过研究
软件开发语言,完成了远程采集监测软件的设计。通过对终端节点、路由节
点、汇聚节点的数据采集程序的设计,对数据传输中的通讯协议进行了设计,
对 Zig Bee 节点无线通信程序、GPRS 无线通信程序进行了设计。
第5章 系统测试
完成系统软硬件部分的设计后,先对 Zig Bee 节点的性能进行测试,再对
Zig Bee 的组网能力进行测试与分析。通过对多个预测模型进行分析与对比,对
水质预测模型中的预测算法精度进行测试,最后对系统的性能进行测试。
5.1 ZigBee 节点测试
各节点在入网后即处于休眠状态,当收到汇聚节点的唤醒信息后,在向汇
聚节点发送水质数据后又进入睡眠状态,从而降低系统功耗。实验室中,使用
万用表测量其休眠时刻电流的数值是 1.2u A,而向汇聚节点发送数据时,其电
流达到了 65mA。通过对各节点每次处理时间的计算,如果普通碱性电池估计
在 1800mAh 容量,则 Zig Bee 模块两节干电池的使用可以达到 7 个月左右[42]。
节点之间的通信距离与其在传输过程中的丢包率有关。本实验综合考虑了
一些外界的影响,在节点连续发送 1000 个 18 字节的数据包的情况下,计算其
丢包的数量所占总数的百分比情况。通过 MATLAB 对室内和室外丢包率的仿
真结果如图 5-1 所示。
图 5-1 室内与室外的丢包率比较
Fig.5-1 The comparison of indoor and outdoor packet loss rate
丢包率的计算是接收节点在 1000 个数据包的传输中,在同一距离进行多
次传输所获得平均值。在室外测得的数据与室内相比,因为室外的环境空旷,
干扰因素小,所以在相同通信距离下,室外丢包率优于室内。
对于接收的各个数据包均需进行 LQI 测量,它表示的是接收到的数据包的
强度以及品质的特征。通过 MATLAB 对室内和室外收到的数据包进行 LQI 测
量数据的仿真结果如图 5-2 所示。
图 5-2 室内与室外的 LQI 比较
Fig.5-2 The comparison of indoor and outdoor LQI
5.2 ZigBee 组网测试与分析
组网测试是检验设计的网络能否正常的运行。按如下步骤组建 Zig Bee 网
络:先给汇聚节点的电源打开,协议栈开启后进行组网,根据汇聚节点其 LED
灯的状态是否是点亮判断其工作状态是否正常;然后开启 1 号节点,这时它和
汇聚节点的 LED 灯是相同的频率在进行闪烁,表明 1 号节点在搜寻并试图加
入到已存在的网络中,过了 3 秒左右,若 1 号节点 LED 灯变成点亮的状态,
则证明 1 号节点已进入到网络中;按照上述过程让其他节点分别加入[43]。
汇聚节点成功组网与节点成功加入网络分别如图 5-3 和 5-4 所示。图 5-3
中 IEEE 地址的末位是 FF 的汇聚节点,网络在创建之后,其自动地对信道进
行了选择,图中是 0x014,也就是 2.405GHz,然后等待其它节点加入。图 5-4
显示的 IEEE 地址,分别为 01 和 02 节点成功地连接了网络[44]。
利用 Packet Sniffer工具来查看发送和接收数据包的情况。下图 5-5 为节点
成功加入到网络中的数据命令帧。首先节点会扫描网络中是否有汇聚节点,然
后连续发送 3 个扫描帧,图中的第 5 帧即为扫描帧。若已组网成功,汇聚节点
则会自动去应答,如图中的第 6 帧。当其接到应答信号后,会向汇聚节点发送
其 64 位物理地址,如图中的第 7 帧。汇聚节点收到后,会根据加入的先后顺
序为各节点去分配 16 位的短地址,如图中的第 9 帧,此时节点加入网络成
功。最后将其数据传至汇聚节点,如图中的第 11 帧。
图 5-3 汇聚节点成功组网
Fig.5-3 The aggregation node successfully network
图 5-4 节点成功加入网络
Fig.5-4 The node successfully joined the network
图 5-5 节点成功加入到网络中的数据命令帧
Fig.5-5 The node successfully joins the data command frame in the network
5.3 预测算法精度测试
如何挖掘数据并预测其变化趋势,是一个新的研究热点,而预测的关键性
问题是选择合适的预测模型。目前广泛应用的各种预测模型都有各自优缺点,
如 BP 神经网络计算过于复杂;多元回归中其线性关系难以反映数据变化不确
定性;决策树对于复杂问题预测精度不高。PNN 优点是可快速从输入数据中
学习,但其主要缺点在于对于大数据集分类问题,该模型结构复杂[45]。
为了选择最适合本系统的预测模型,以 pH值为实验样本,用 Hydrolab 系
列多参数水质监测仪每 30 分钟进行采集一次,在其测得样本中选取 1000 个样
本分别对 PNN、多元回归、BP 神经网络以及决策树等 4 个预测算法进行网络
训练,并分别选取它们 20 个预测样本去计算其相对误差率,MATLAB 仿真的
结果如图 5-6 所示。
图 5-6 的仿真结果表明,通过比较 4 个预测算法中预测数据的相对误差率
曲线,PNN 预测数值的相对误差率明显较小。
本文通过 k-means 聚类算法优化 PNN 预测算法(简称 K-PNN),通过确定
模式层神经元质心的最佳数量来减少该层神经元的数量,从而实现 PNN 结构
简化。为了验证K-PNN 算法的预测情况,将 1000 个样本其中的 920 个样本用
于对其进行网络训练,其余 80 个样本作为实验测试集。然后比较样本的测试
值、PNN 预测值和 K-PNN 预测值的曲线,MATLAB 仿真结果如图 5-7 所示。
图 5-7 的仿真结果表明,虽然在进行数值预测时 PNN 算法的相对误差率
较小,但 K-PNN 算法其预测数据与测试数据之间的重合程度明显高于 PNN 算
法与测试数据之间的重合程度。
为了验证上述实验中计算的重合率是不是与训练样本的数量存在一定的关
系,实验通过不同数量的样本分别对 PNN 算法与 K-PNN 算法进行训练,预测
样本的数量均以 80 个为例,然后分别计算它们的重合率大小,在允许误差率
在±5%的情况下,其 MATLAB 的仿真结果如图 5-8 所示。
图 5-8 仿真结果表明,训练样本数量低于 500 个时,两个算法其预测样本
的重合率相差不大,但当其数量超出 1000 个时,两者预测样本的重合率开始
有了较大差别。训练样本的数量越大,K-PNN 算法进行预测的样本重合率也
就越高。所以 K-PNN 算法较好的解决了 PNN 算法对于大数据的问题,其预测
精度也比 PNN 算法高。
图 5-6 各预测模型的相对误差率
Fig.5-6 The relative error rate of each prediction model
图 5-7 PNN 预测结果和 K-PNN 算法预测结果
Fig.5-7 The predictive results of PNN and the K-PNN algorithm
图 5-8 不同训练样本的 PNN 算法和 K-PNN 算法的预测样本重合率大小
Fig.5-8 The coincidence rate of the PNN and the K-PNN algorithm in different training samples
为了验证训练的样本与预测的个数之间的最优关系,先是通过选取不同的
训练样本分别对 K-PNN 算法进行网络训练,再用不同训练样本训练出的各个
水质预测模型进行水质数据的预测。对每个预测模型选取不同的预测个数,同
时允许它们的预测误差率在±5%的情况下,分别计算出它们各自重合率的大小
如表 5-1 所示。
表 5-1 不同训练样本对应的不同预测样本的重合率大小(%)
Table 5-1 the coincidence rate of different prediction samples under different training samples (%)
训练样本
预测个数
20
50
80
110
140
170
200
200 40.00 38.00 26.25 22.73 19.29 17.65 17.50
300 45.00 42.00 28.75 24.55 20.71 20.00 19.50
500 50.00 48.00 33.75 29.09 25.71 22.94 22.50
800 60.00 52.00 36.25 34.55 29.29 28.23 28.00
1000 65.00 58.00 38.75 39.09 32.86 33.53 34.50
1600 70.00 62.00 57.50 44.55 38.57 36.47 38.50
2000 75.00 66.00 60.00 51.82 43.57 44.71 41.50
2200 75.00 70.00 63.75 58.18 51.43 48.82 45.50
3200 80.00 78.00 73.75 70.91 62.14 53.53 51.00
4000 85.00 80.00 81.25 79.09 70.71 60.00 56.50
4500 90.00 84.00 85.00 83.64 77.86 69.41 63.50
4800 90.00 86.00 86.25 85.28 79.57 72.29 65.27
5000 95.00 92.00 88.75 86.36 83.57 75.88 68.00
5500 95.00 94.00 90.25 87.49 86.04 76.55 69.50
6000 95.00 96.00 93.75 89.12 88.59 78.25 71.56
实验数据显示,在训练样本的数量一定的情况下,对其进行预测的个数越
多,重合率就越小,则准确率就越低;在预测的个数一定的情况下,进行训练
的样本的数量越多,重合率越大,则准确率就越高。
综合上述一系列的实验结果表明,若预测的个数越多,则预测的准确率越
低。若采集间隔设置为 30 分钟,则 10 天采集的样本数为 4800 个。故在本系
统的预测功能的设置中,是通过软件所采集的 10 天内的各水质数据对未来两
天内的各水质数据进行预测。
5.4 系统性能测试
用户通过在远程监控中心的 PC 端运行编写的远程采集监控软件,对 6 个
养殖池中的各水质参数的变化情况进行查看,而用户登录界面是避免非养殖户
登录到本系统中进行相关操作。用户开启登陆界面并依次输入用户名与密码,
软件去数据库里效验其用户名与密码是否都正确。
如果用户名输入错误,则出现“登录失败,用户名不存在”。如果输入的
密码不对,就会出现“登录失败,密码错误”的提示。一旦输入的用户名与密
码都是正确的,就会出现提示“登录成功”。用户登录界面的测试情况依次如
图 5-9 所示。
图 5-9 用户登录测试界面
Fig.5-9 User login test interface
用户登录成功之后会进入水质监测的界面。在列表显示一栏中,会显示各
监测点的 IP 地址,若某一监测点没在线,则该监测点有可能出现了异常。在
设置信息一栏中,设置的是各水质参数的阈值区间,各个数值可根据具体的情
况进行自由设置。各水质参数在此阈值区间内的数据是处于正常状态,若超过
或低于此区间,则说明该水质数据异常。列表显示和水质参数的阈值设置信息
如 5-10 所示。
5-10 列表显示和水质参数的阈值设置信息
Fig.5-10 The list of equipment and water quality parameters of threshold setting information
点击监测界面中的“串口”按钮即可进入串口调试的窗口,调试窗口如图
5-11 所示。
图 5-11 串口的调试窗口
Fig.5-11 The debug window of serial port
串口调试是通过 socket 编写了一个串口类来进行实现的。由于 S1M900 模
块是采用的 TCP 连接与监控中心进行通信的,故需对网络进行调试。因 SD 卡
中存储的数据是 16 进制的 ASCII 码,且被保存为 TXT 文本,若直接在监控中
心打开,则是乱码状态,故需载入文本并进行解码与分析。先以文件流的形式
打开文件,然后逐字节去读取该数据流并存放到字节数组中,最后在调试窗口
的接收数据区与转换数据区中显示。
调试窗口中,如果串口的状态为红色表示串口打开,黑色表示串口关闭。
接收数据区里显示的是从网络中收到的各数据,存储在 SD 卡里的文档也能对
其进行载入并显示。转换数据区定时对接收数据区里面的数据查看,如果格式
没有错误,则对其进行显示[46]。
在实时采集一栏中,可对各监测点进行选择查看,还可自由设置采集的时
间间隔。实时采集界面如图 5-12 所示。
图 5-12 监测点 1 的实时采集界面
Fig.5-12 The real-time acquisition window of monitoring point 1
上图中选择的是监测点 1,采集间隔设定的是 30 分钟,监测点 1 中 17 个
节点的各水质参数数据以及其各自的状态都显示在监测界面上,其中节点 12
的状态异常。
根据采集的各监测点中各节点的各水质参数的历史数据,利用 k-means 聚
类算法优化后的 PNN 算法预测模型对其进行状态预测。在预测状态一栏中,
养殖户可以自由的选择预测的监测点、水质参数以及预测时间。预测状态界面
如图 5-13 所示。
图 5-13 监测点 1 中各节点的预测状态界面
Fig.5-13 The window of the predicted state of each node in the monitoring point 1
上图中是对监测点 1 中各节点的电导率参数进行了预测,预测时间选择的
是 2017年11月11日11时30分,预测结果显示节点 8 的工作状态为异常状
态。预测结果给养殖户做参考,能够做到提前预防。
系统在每一次采样之前,都会将上一次采样时刻的各监测点中各节点的各
水质参数的数据自动的存储到本地的数据库之中。在历史查询一栏中,养殖户
可以自由的选择某个历史日期以及某个监测点对其进行查询。历史查询的界面
如图 5-14 所示。在图中查询的是 2017年11月01日11时30分监测点1的历
史数据。
图 5-14 监测点 1 的历史查询界面
Fig.5-14 The window of the history query for monitoring point 1
系统在采样周期为 30 分钟的情况下连续运行 24 小时,进行数据包的收发
测试。在测试的过程中,还考虑了对某节点停止供电几秒,然后再对其供电的
情况,然后对各节点是否能够自己进入网络进行了测试,实验结果显示该节点
依然可以成功加入。远程监控中心软件的各功能模块也达到了系统的设计要
求,同时对数据的监测也达到了实时在线监测的效果。
5.5 本章小结
本章首先对 Zig Bee 节点的性能进行了测试,接着测试与分析了 Zig Bee 的
组网能力,然后对各预测模型进行了分析与对比,并对系统建立的水质预测模
型中预测算法的精度做了仿真测试。最后对系统性能进行了测试,实验的结果
显示系统达到了各项功能要求。
结 论
本文在查阅了大量的参考文献及相关的资料后,并对国内外在水质在线监
测方面的研究现状进行了分析,完成了系统的总体设计。本文主要的研究工作
及特点如下:
根据实际情况需要,考虑养殖需求与经济成本,并结合相关技术要求提出
了系统总体设计方案。按模块将系统划分为数据采集、数据处理、数据通信三
个模块。数据采集模块是通过各水质参数传感器实现水质参数的采集;数据处
理模块采用 STM32 微控制器对各水质数据进行处理和存储;数据通信模块则
包含 Zig Bee 通信模块与 GPRS 通信模块,分别实现终端节点、路由节点和汇
聚节点之间的数据通信,以及汇聚节点与远程监控中心之间的数据通信。对各
模块分别完成了硬件部分和软件部分的设计。研究了软件开发语言,采用 C++
语言编写并实现了远程采集监控软件。
水质预测的关键性问题是选择合适的预测算法,本文对 PNN、多元回
归、BP 神经网络以及决策树四个预测算法的预测相对误差率进行比较,实验
结果表明 PNN 预测算法比较适合。通过 k-means 聚类算法优化 PNN 对于大数
据集分类问题,实验结果表明训练样本数量越大,K-PNN 算法预测样本重合
率越高。选取不同训练样本分别对 K-PNN 算法进行网络训练,再对其选取不
同预测个数计算重合率大小,数据显示允许预测误差率在±5%时,训练样本数
量一定,预测个数越多,重合率就越小,则准确率就越低;预测个数一定,训
练样本数量越多,重合率越大,则准确率就越高。
系统以分布的方式实现动态的组建网络,达到 24 小时内不中断的对养殖
水质进行在线监测,并且能根据最初预先设定的水质参数的性能指标进行超标
报警,为适宜养殖类生物生长的水质状态进行调节指导,并通过概率神经网络
建立的水质预测模型,实现对未来 48 小时内水质参数的预测,达到提前预防
目的,减少养殖户其在经济上的损失。
本文还存在一些不足之处:
(1) 在节点的数目较多时,Zig Bee 网络自组网的可靠性、安全性等方面需
要完善,系统在较复杂的环境下的扩展应用是下一步的研究方向。
(2) 本文虽然完成了对养殖池中各水质数据的采集、处理、传输等设计,
也能够通过历史数据可以在误差率为±5%的范围内,对水质的状态进行预测,
但其在功能上还需进一步丰富软件的功能,满足实际应用的需求。
水质监测—浊度传感器
水质监测—浊度传感器
浊度传感器技术是利用光学或声波等原理进行水体浑浊度测量的一种方法,广泛应用于水质监测、污水处理、自来水厂、水景工程等领域。本文将从测量原理、传感器种类、应用案例等三个方面对浊度传感器进行详细介绍。
一、测量原理
水的浊度是指水中悬浮颗粒物对透明度的影响程度,反映水的清澈程度,通常用比色法、激光散射法和光学透射法测量。其中,光学透射法是浊度传感器常用的测量原理方式,其主要依据贝尔-朗伯定律,即在一定路径上,透过浑浊液体的光线强度与其中颗粒浓度成正比,颗粒越多浊度也越大。具体操作中,传感器发射一束光线,光线穿过水中的颗粒,部分光线被散射,部分光线经过,达到接收器,计算测量得到。
二、传感器种类
按照测量原理和应用范围的不同,可将浊度传感器分为激光散射式浊度传感器、光学透射浊度传感器、超声波式浊度传感器、折射率式浊度传感器等等,下面将逐一进行详细介绍。
1. 激光散射式浊度传感器
激光散射式浊度传感器是利用激光束在水中形成的微粒散射到检测器上,测量颗粒浓度的方法。该传感器应用广泛,适用于不同介质浊度测量,可实现低、中、高浊度水的精确、稳定、可靠测量。该传感器精度高,但比较昂贵。
对于低浓度样品,浊度S,入射光强度I0 ,散射光强度I,仪器常数k,样品池光程长度b,样品中颗粒C之间有如下关系:
S=-lg(I/ I0)=kbC
当光射入水样时,构成浊度的颗粒物对光发生散射,散射光强度与水样的浊度成正比。根据标准ISO7027-1984设计的便携式浊度计,测量的是与入射光成90度的散射光强度,采用钨灯光源,LED发射高强度880nm波长的近红外光,将光电传感器放在与发射光垂直的位置上,用微电脑进行数据处理,可进行自检和直接读出水样NTU值,检测范围为0-4000NTU。
2. 光学透射式浊度传感器
光学透射式浊度传感器是依据浊度发生的吸收和散射作用,测量流体中颗粒物浓度变化的一种传感器。其远程可编程性高,可通过接口对数据进行实时传输和记录,长时间稳定测量。该传感器应用范围广,价格也相对较为实惠。
根据透射光测量法的原理设计的,入射光波长选定为680nm。测定原理基于朗伯-比尔定律:数学表达式
A=lg(1/T)=kbC
A为吸光度,T为透射比,是透射光强度比上入射光强度 k为摩尔吸收系数。它与吸收物质的性质及入射光的波长λ有关。C为吸光物质的浓度 b为吸收层厚度。物理意义是当一束平行单色光垂直通过某一均匀非散射的吸光物质时,其吸光度A与吸光物质的浓度C及吸收层厚度b成正比。
3. 超声波式浊度传感器
超声波式浊度传感器是依据声波在液体中传播的特点,通过测量反射回来的声波强度,推断浑浊度的程度的传感器。该传感器具有高测量精度、高稳定性等优点,广泛应用于饮用水、自来水等清澈水体的浊度测量。
4.折射率式浊度传感器
折射率式浊度传感器是利用颗粒在流体中所产生的折射率变化来测量浑浊度的一种传感器。其优点在于快速测量、精度高、可对多种浑浊粒子的浊度进行实时监测,是生物制药、医疗和食品等行业的首选。
三、浊度标准
浊度标准是测量中同样重要的部分。大多数现代浊度标准品均由甲嗪制成,甲炔是一种粒径均匀的合成聚合物。聚合物由肼和六亚甲基四胺制成。这种化合物的一致性使其几乎被所有标准组织采用,例如ISO,EPA和ASBC。1.25毫克/ L硫酸肼和12.5 mg / L的六亚甲基四在水中的悬浮液的 浊度 一个福尔马肼浊度单位(FTU)的。
大多数其他浊度单位基于FTU,但根据他们使用的方法而有所不同。有许多不同的单位,但这里有一些例子:
比浊法浊度单位(NTU):单位等于FTU,但使用符合EPA标准的浊度计设计。
比浊法浊度比单位(NTRU):基于EPA的单位,使用比率法确定浊度。
Formazin浊度单位(FNU),等于FTU,但使用ISO 7027标准测量仪表设计
酿造化学家协会(ASBC-FTU):使用ASBC标准设计浊度计。
选择浊度计时,确定您可能遵循的方法非常重要。存在许多不同的浊度计设计,但常见的是两种:符合EPA 180.1的那些和符合ISO 7027的那些。
重要的是要注意 ,这些方法机构并未单独 批准仪表 。相反,它们只是符合这些标准设定的要求。
四、应用案例
浊度传感器技术在现代工业生产中应用极为广泛,例如:
1. 污水处理工业:对于污水处理过程中水体的浊度监测,能够实时准确判定处理污水的浑浊度水平,提高环保水平。
2. 饮用水自动生产线:特别适合饮用水生产过程,可以实时跟踪水体颜色和浑浊度的变化,质量更加稳定可靠。
3. 水塘、鱼塘等水产养殖产业:通过浊度传感器能精准监测饵料和鱼粪对水体造成的污染情况,对环境进行实时监测并及时调整。
4. 城市治水和环境保护:浊度传感器技术在水功能区划、海洋渔业生态、机场防滑道面等水环境治理领域发挥着越来越重要的作用。
总上,浊度传感器技术的发展不仅能够在环保领域发挥重要作用,而且在人们的日常生活中也能得到广泛应用。随着科技的不断发展,相信浊度传感器技术也会延伸到更多领域,为我们的生产和生活带来更多便利和效益。
相关问答
沃尔沃xc90氧 传感器 怎么判断坏了?如果沃尔沃XC90车辆出现以下情况,则氧传感器可能已损坏:1.引擎性能下降:氧传感器是控制发动机燃烧混合物的关键元件,如果传感器故障,可能会导致发动机性能...
汽车aqc是什么意思,aqs是什么意思车上的全称[回答]汽车aqc是什么意思,aqs是什么意思车上的全称车上的AQS指的是空气质量传感器。空气质量传感器通常配备于高档轿车,其可检测空气质量并控制空调系统...
智能门窗是什么概念?谁能介绍下-设计本有问必答控制系统它由无线遥控器、智能主控器、门窗控制器、门窗驱动器等组成。◆无线遥控在室内任何位置均可无线遥控门窗(窗帘)的开、关和任意停...◆...
个人用的传真机有吗[回答]一定要看看纸的反正面有的字朝上,有的相反放进去后直接拨号码自动的或有传真信号的“滋滋”声手动的对方接通后让其给个信号,听到“滋滋"的声音按下...
电热水器出水 浑浊电热水器出水浑浊
想了解清楚什么是智能化门窗_门窗[回答]1、智能门窗一般是指安装了先进的防盗、防劫、报警系统技术的门窗。2、智能门窗是一些公共场所、高档商品房、商场中运用广泛。3、智能门窗控制系统...
各位朋友有谁知道么!平价的氧气 传感器 批发,氧气 传感器 价格...[回答]高传电子,产品做的比较全面,也相对比较专业液氧就是通过降低温度让氧气变成液态,液氧通常作为火箭发动机的氧化剂其与液氢搭配使用后便是目前的火...
声纳界面仪 原理-盖德问答-化工人互助问答社区求大神讲解啊太坏了,只握手,不解答,太坏了,只握手,不解答,
制药行业两线制仪表有哪些?在制药行业中,常见的两线制仪表有以下几种:温度传感器:用于测量和监控制药过程中的温度变化,常见的有热电偶和温度传感器。压力传感器:用于测量和监控制药...
汽车拉缸烧机油会烧到什么程度?程度1:费钱对于一两千公里左右烧一升的车来说,一年至少额外消耗1500元左右的机油钱,烧机油=烧钱!程度2:验车难汽车发动机主要是用来燃烧汽油,如果机油...