摘要:ZigBee由于具有低功耗、低成本、短时延、高安全和自组网等优点,被广泛应用在各种工作领域。本文设置CC2530为通信芯片,STMF103为主控芯片作为系统的硬件电路和软件部分,将电导率模块、pH模块和DS18B20温度模块的信息传输到上位机,利用ZigBee自组网可以在上位机上读取水域不同位置的水体信息。实验结果表明,本文制作的水质监控具有低功耗、实时性高等优点。

关键词:ZigBee;水质监控;自组网

Abstract: ZigBee is widely used in various fields due to its advantages such as low power consumption, low cost, short time delay, high security and AD hoc network. In this paper, CC2530 is used as the communication chip and STMF103 as the main control chip as the hardware circuit and software part of the system. The information of conductivity module, pH module and DS18B20 temperature module is transmitted to the upper computer, and ZigBee AD hoc network can be used to read the information of water bodies at different positions in a sea area on the upper computer. The experimental results show that the water quality monitoring produced in this paper has the advantages of low power consumption and high real-time performance.

Key words: ZigBee; Water quality monitoring; Ad-hoc network

1 引言

对于较大水域其不同区域的温度、pH和电导率等会存在差异,为了得到水体的综合信息,因此需要机器来对水体各个区域的水质信息进行采集和上传。对于室外水产的养殖,环境复杂多变,设备需要长时间在水中工作,这要求设备要具有较高的续航能力。同时为了确保水体信息的实时性,往往需要多个机器协同工作[1、2]。为了解决设备的续航里程和成本高等问题,本文以ZigBee作为无线通信技术,以STM32为主控芯片,将电导率模块、pH模块和DS18B20温度模块采集的水质信息传输到终端,利用ZigBee自组网可以在上位机上读取到一片海域不同位置的水体信息[3、4]。

2 硬件设计

为了检测和上传水域的pH、温度和电导率,采用雷磁pH复合电极E-201-C作为pH计,再通过4502AC将信号放大,把pH值转化为模拟电压传给单片机。温度检测采用DS18B20不锈钢封装模块。电导率检测使用的是量程为0到44000μs/cm的EC变送器。ZigBee采用DL-LN32P模块,该模块内部封装了通讯协议,单片机只需通过串口发送就可以使其把数据发生出去。

STM32F103ZET6作为MCU,对各个模块的信息进行读取,并且通过ZigBee把数据发生出去。

图1 硬件组成部分

2.1 求解pH的线性方程

液体的pH值取决于液体中氢离子的浓度,通过测量电极系统被测液构成的测量电池的电动势,可得到被测液体氢离子活度。从传感器电极系统中获得的电压信号与氢离子的活度有对应关系。依据能斯特方程,电极反应中物质从一相转移到另一相时需要消耗能量[5],其表达式表示为:

E=E0-S×pH (1)

其中S=RT/nF=54.20+0.1984×t为理论斜率项;气体常数R=8.14焦耳/摩×克分子;法拉第常数F=96500库/摩;N为离子化合价,对于氢离子n=1;T=273.15;t为检测的被测液体的摄氏温度,E0为等电势点的点位,E即为传感器电极在被测液体作用下的输出电位。

由于玻璃电极的制作工艺等原因,式(1)中的E0和S的实际值会发生改变,需要通过已知标准液对上述参数进行测定。常用的标准液为苯二甲酸氢钾(pH=4.01)、硼砂(pH=9.18)和混合磷酸盐(pH=6.86),根据被测液体的酸碱度,适当地选择两种标准溶液。当被测液体呈酸性时,选择pH=4.01和pH6.86的标准溶液校正;当被测液体呈碱性时,选择pH=6.86和pH=9.18的标准溶液进行校正;当被测液体pH使用范围较大时或者不确定时,可以选择pH=4.01和pH=9.18的标准溶液进行校正[6、7]。雷磁pH复合电极E-201-C的具体校正方法如下:

将电极放入混合磷酸盐(pH=6.86)溶液中,用电压表测试模拟输出电压,调节运放板上的电位器使得输出电压为1.7V。再将电极用蒸馏水清洗干净并且玻璃电极上无水滴后放入苯二甲酸氢钾(pH=4.01)标准溶液中,记录输出电压。重复上面步骤,得出硼砂(pH=9.18)标准溶液的输出电压。由式(1)可知模拟电压U与pH为线性关系,可以设线性方程为:

pH=a×U+b (2)

把得到的数据带入到,可得到pH与雷磁pH复合电极E-201-C模块的输出电压关系。

3 软件设计

软件部分分为DS18B20温度数据的读取、pH模块和电导率模块的AD采样和转换、ZigBee数据发送、上位机读取ZigBee数据等几大模块,图2为软件设计总体流程。在完成所有的初始化工作后,需要先读取DS18B20的数据,由于DS18B20的读取时间需要大于50ms,所以读取数据的频率不宜过高。为了数据的准确性,设置了每200ms读取一次数据,共读取5次并取平均值作为最终数据发送到上位机显示。

图2 软件设计流程图

3.1 pH模块和电导率模块

pH模块和电导率模块输出的都是模拟电压,需要通过STM32的ADC将其转化为数字信息,读取到的数据为0~4096范围。pH模块需要软件把ADC的数值归一化到0~3.3V后作为电压带入到式(2)中。由于电导率模块输出模拟电压与电导率成正比,所以只需要将转换后的数值归一到0~44ms/cm即可[8]。但是由于式(2)中的参数a和b均受温度影响,所以最终得到的pH值需要进行温度补偿,由式(2)可知,最终温度补偿后的pH需要乘以T0/T(T0为寻找方程时液体温度,T为当前液体温度)。

3.2 ZigBee模块

DL-LN23P ZigBee模块内部集成了通信协议,所以通过串口向其发送数据包即可。软件上通过主控芯片的USART1外设对ZigBee进行通信,为了数据传输的准确,设置USAR1的中断优先级为0。需要上位机发送FE05 90 90 XX XX FF(XX XX为目的设备地址)来得到某个ZigBee设备的信息[9、10]。

3.3 基于C#编写的上位机

上位机作用时对串口数据进行采集并且显示。图3为上位机初始界面。开始时选择好串口和波特率,在发送按钮左边的方框内输入FE 05 90 90 03 00 00 FF,自动采样周期选择1000ms。电导率、pH和温度的右方分布有两个小方框,上面和下面的分别为最大和最小值,大于最大值或小于最小值上位机都会报警。按下自动采样后,上位机会自动绘制图表。

图3 上位机初始界面

4 系统测试

系统基于ZigBee对水质信息(电导率、pH和水温)进行传输,为了检测pH和水温的准确,需要与电子pH计进行对比。本文搭建了ZigBee水质系统测试平台,对制作完成的基于ZigBee通信的远程水质监控系统进行了软硬件调试。

将地址为0001的ZigBee模块通过USB转串口模块接入电脑,打开上位机,设置好具体参数然后点击自动采样。如图4所示为酸性条件下上位机实时曲线,表1为酸性条件下上位机显示数据。通过STM32单片机的定时器计数延时约为50ms,将报警参数设置在接受到的数据之上或之下,观察旁边是否有小感叹号显示以及警报声发出。由于数据是先压缩为0~255区间范围内,再由上位机解码,所以数据会与下位机发出数据有偏差,误差精度为0.01。

图4 酸性条件下上位机实时曲线

表1 酸性条件下上位机显示数据

5 小结

本文搭建了ZigBee水质检测测试平台,对水质检测和通过ZigBee模块与上位机通信进行了软硬件的试验,并用电子pH计进行对比以及在上位机中显示,验证了本文所设计的硬件和软件部分均能正常稳定工作。同时通过测试不同温度和pH等的液体来和电子pH计进行对比和在上位机中显示,并且显示延时在300ms以内,证明了该基于ZigBee通信的水质检测系统的可行性、短延时和可靠性。

基金项目:广东海洋大学“创新强校工程”项目(Q14580);大学生创新创业训练计划项目(CXXL2019262; CXXL2019268)

参考文献:

[1] Hossein Alilou, Alireza Moghaddam Nia, Mohsen MohseniSaravi, Ali Salajegheh,Dawei Han,Bahram Bakhtiari Enayat. A novel approach for selecting sampling points locations to river water quality monitoring in data-scarce regions[J]. Journal of Hydrology, 2019, 573.

[2] 贾烁. 基于北斗卫星系统的海洋水文实时监测系统研究[D]. 海南:海南大学, 2018.

[3] 李红杰.基于浮标的近海海洋环境监测与接入技术[D].成都:电子科技大学, 2016.

[4] 陈志坤. 东江水资源水量水质监控系统数据集成[J]. 广东水利水电, 2018, ( 12 ) : 26 - 30.

[5] 王士明, 俞阿龙, 杨维卫, 等. 基于ZigBee的大水域水质环境监测系统设计[J]. 传感器与微系统, 2014, ( 11 ) : 102 - 105.

[6] 李杰, 刘佳. 基于ZigBee的饮水机监控系统设计[J]. 产业与科技论坛, 2018, ( 7 ) : 59 - 60.

[7] 申伟, 杜文娟. 基于ZigBee无线传感技术的水库水质多参数监控系统[J]. 通信与信息处理, 2018, ( 4 ) : 40 - 43.

[8] 严丽平, 宋凯. 基于ZigBee与GPRS的嵌入式水质检测系统设计[J]. 计算机工程与设计, 2011, ( 5 ) : 1638 - 1640.

[9] 张虎, 肖惠云. 无线通讯技术在工业领域中的应用[J]. 自动化博览, 2018 , 35 ( 11 ) : 124 - 130.

[10] 范利平, 王志坚. 融合GPRS技术的ZigBee无线网路水质检测系统的设计[J]. 长沙大学学报, 2012, ( 26 ) : 55 - 56.

作者简介:

林 聪(1988-),男,广东湛江人,讲师,现任教于广东海洋大学,研究方向为智能控制与智能自动化。

于 跃(1991-),女,吉林通化人,讲师,现任教于广东海洋大学,主要研究方向为电力电子技术、智能控制技术。

卢叶枫(1997-),男,广东怀集人,现就读于广东海洋大学,研究方向为嵌入式技术。

肖贤哲(1999-),女,广东广州人,现就读于广东海洋大学,研究方向为嵌入式技术。

摘自《自动化博览》2020年1月刊

ZigBee网络数据传递流程_基于ZigBee远程通信的水质监测系统设计相关推荐

  1. ZigBee网络数据传递流程_基于ZigBee—WSN的温湿度监测系统

    摘要:针对环境监测系统布线复杂.数据的实时性和准确性低等问题,提出了一种基于ZigBee技术的分布式传感器网络平台.选用SHT75传感器实现对监测点温湿度信息的精准采集,并通过由CC2530芯片和CC ...

  2. ZigBee网络数据传递流程_蓝牙、Wifi与ZigBee三种,这三种无线传输技术,谁能一统天下...

    智能产品种类越来越多,运用在智能家居上的技术也越来越成熟.然而在无线通信协议上却一直无法做到统一,从目前的情况来看,短期内是无法实现这一愿望的了.既然如此,我们何不另辟蹊径,在这些标准中,选择优势最大 ...

  3. ZigBee网络数据传递流程_蓝牙、WIFI、Zigbee谁更适合物联网,各有哪些优缺点?...

    在实现物联网的短距无线通讯技术里面,蓝牙.Wi-Fi.zigbee 是目前应用最为广泛的三种短距无线通讯技术.本文将详细介绍并分析这三种物联网通讯技术的优缺点. 蓝牙: 蓝牙(BlueTooth)是一 ...

  4. ZigBee网络数据传递流程_物联网技术讲解:室内定位技术(WIFI、蓝牙BLE、Zigbee、UWB)...

    室内定位一直都是让人们褒贬不一的技术.信号干扰.设备铺设(成本预算)和定位精度,是室内定位技术的难点也是突破口.下面主要介绍了4种主流的室内定位技术:WIFI定位技术.蓝牙定位技术.ZigBee定位技 ...

  5. ZigBee网络数据传递流程_Zigbee网络架构解析

    ZigBee技术是一种近距离.低复杂度.低功耗.低速率.低成本的双向无线通讯技术. zigbee网络目前有星型.树型和网状网三种构架,可以根据实际项目需要来选择合适的zigbee网络结构,三种zigb ...

  6. ZigBee网络数据传递流程_IEEE802.15.4协议—帧类型和数据传输模型

    1. 数据传输模型 存在三种类型的数据传输方式.第一个,设备发送数据给协调器,第二个,协调器发送数据给设备,第三个,对等设备之间的数据传输(比如ZigBee网络中的路由之间的数据传输). 1.1 设备 ...

  7. Linux: 网络数据收发流程简析

    文章目录 1. 前言 2. 背景 3. 网卡数据收发流程 3.1 网络数据接收流程 3.1.1 网卡数据接收流程 3.1.2 网卡数据向上传递给L3,L4的流程 3.2 网卡数据发送流程 1. 前言 ...

  8. 检测噪声大小的c语言程序,单片机课程设计(论文)_基于AT89C51的噪音检测自适应系统设计.doc...

    单片机课程设计(论文)_基于AT89C51的噪音检测自适应系统设计 摘 要 本文以AT89S52 单片机为控制核心,通过播音判断电路寻找广播间歇时段,实时采集噪声环境内的噪音信 号,根据A/ D 转换 ...

  9. 基于STM32的农业灾害监测系统设计

    毕业论文(设计) 基于STM32的农业灾害监测系统设计 院:XX 学院(三号黑体字,下同) 业:XXXX 班 级:XXXX 班 名:X X X 号:2006XXXXXXX 指导教师:X X X 20X ...

  10. 基于STM32单片机的水质监测系统(Proteus仿真+程序)

    编号:14 基于STM32单片机的水质监测系统 功能描述: 14.基于STM32单片机的水质监测系统 本设计由STM32F103单片机最小系统+AMPIRE12864液晶显示模块+两路A/D转换模块组 ...

最新文章

  1. SCANF SCANF_S
  2. 为了上班摸鱼,我用Python开发“BOSS来了”!
  3. IDEA微服务项目的application.yml没有绿色叶子的解决办法
  4. java远程插件动态注册机制_Spring运行时动态注册bean的方法
  5. 20145239杜文超 《Java程序设计》第7周学习总结
  6. 透彻解析云原生在数字化转型中的应用实践,PaaS功不可没
  7. 诺基亚自带36个铃声_vivo手机的6个隐藏功能,快开启,帮你玩转vivo
  8. JSK-25 两数之和【暴力】
  9. Python进阶(九)常用高级函数Counter、defaultdict、nametuple、map、reduce、filter、groupby
  10. 微信小程序——flex弹性布局水平垂直居中
  11. 拦截器(Interceptor)和过滤器(Filter)区别
  12. php 视频播放加密,如何在HTML5页面播放加密视频
  13. c语言编程 要有菜单工作界面,使用C语言图形界面进行编程
  14. 复选框样式圆圈html,css怎么美化复选框样式
  15. JLink的JTag和SWD引脚定义及接线说明
  16. 天天QQ记牌器2.37 去广告绿色版
  17. conver Json to map by fastJson
  18. MNIST数据集的gist特征提取(含全部实例代码下载地址)
  19. 【机器人学】机器人学领域的顶级期刊和会议
  20. Oracle Sequence创建与使用

热门文章

  1. OC集成Socket.IO时,出现错误: No such module 'Starscream' 的解决办法
  2. linux操作系统adsl 上网设置,Linux操作系统上ADSL拨号上网的方法详解
  3. vue @cliick.stop @click.prevent @click.self
  4. 2014年腾讯实习生招聘最后一题
  5. 最好最实用的PHP二次开发教程
  6. 百度地图 变黑问题 解决方法
  7. 微服务实战之高可用性
  8. Vuex5.0?大菠萝Pinia挺好的~
  9. 如何捕获电脑病毒样本
  10. 2022 Google IO大会新技术