基于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]。因几乎不存在“最优”聚类,该聚类

(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 小时实时在线监测,并可按实际需求自由设置监

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

设定的是: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 产品线里面功能最强大的一

图 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,考虑到在现场具体环境下,有必要对电源

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

声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!

(0)
上一篇 2022年2月6日
下一篇 2022年2月6日

相关推荐