APP下载

基于机器艇与ZigBee的湖泊水质监测系统设计

2017-11-01黄培灿徐钦桂

计算机测量与控制 2017年8期
关键词:机器无线水质

黄培灿, 徐钦桂

(东莞理工学院 计算机学院,广东 东莞 523808)

基于机器艇与ZigBee的湖泊水质监测系统设计

黄培灿, 徐钦桂

(东莞理工学院 计算机学院,广东 东莞 523808)

湖泊是地表水资源的重要载体,为了全面、实时、高效地监测湖泊水环境,设计一种湖泊水质自动监测系统尤为重要;多艘机器艇搭载水温、pH值、溶解氧等传感器,在湖面上组成基于ZigBee的无线传感器网络进行数据采集;水质数据通过无线传感器网络传输到上位机进行分析显示;基于GPS和姿态传感器的运动控制算法实现了机器艇自主航行到指定监测点的功能;实验结果表明,系统实现了对湖泊水质的较大范围实时监测,能满足实际应用需求。

机器艇;ZigBee网络;自主航行;水质监测

0 引言

湖泊是地表水资源的重要载体,是维系生态系统健康的重要因子。随着社会经济的发展以及工业化、城市化进程的加快,由工业发展带来的环境污染问题越来越严重。水环境污染已经影响到人们生活的方方面面,同时人们日益增强的环保意识对水资源保护提出了更高的要求,因此加强对湖泊水质及周边环境的监测显得尤为重要[1]。

目前,湖泊水环境监测的主要方式有人工采样分析、建立监测站和遥感监测。其中采用人工采样、实验室分析方式无法实现水质参数的远程实时监测,且存在监测周期长、时效性差、劳动强度大以及数据采集速度慢等问题。通过建立由监控中心和若干监测子站组成的自动监测系统,能实现自动连续监测和数据的远程传输,但需建立多个监测子站,易破坏监测区域的生态环境,并且监测范围有限、系统投资成本高。另外采用遥感技术进行监测,以非接触方式对水体进行电磁波谱特性福射、反射和散射探测,通过对所获得的图、谱进行信息处理,达到识别目标理化特性的目的。但其监测精度还有待提高,并且测量时易受地形地貌的限制[2]。为解决现有技术的不足,本文设计了一种湖泊水质自动监测系统。使用机器艇搭载水温、pH值、溶解氧等传感器,在湖面上组成无线传感器网络,通过GPS定位并自主航行到指定的监测点进行数据采集。水质数据通过无线传感器网络传输到上位机进行分析显示。

1 系统结构

湖泊水质监测系统主要由PC机与多艘机器艇构成,分别作为上位机与下位机,系统整体结构框图如图1所示。每艘机器艇都装配有机器艇控制与数据采集平台硬件以实现运动控制和数据采集功能,另外机器艇与PC机都连接有ZigBee模块用于组成无线传感器通信网络。由于使用在线的GIS系统,因此PC端需通过WIFI网络连接4G无线路由器,实现接入互联网,同时使用了GPS模块,实现自身的定位。

图1 系统整体结构框图

2 硬件设计

2.1 机器艇控制与数据采集平台

机器艇控制与数据采集平台的硬件主要由STM32F103ZET6微控制器、电机驱动器和各种传感器模块组成,如图2所示。STM32F103ZET6是基于ARM Cortex-M3核的32位微控制器,主频最高可达72 MHz,配置了64 KB SRAM和最高512 KB Flash,而且内部集成了丰富的功能部件,包括5个USART、3个SPI、2个I2C、3个12位ADC以及1个CAN,可满足系统应用需求。电机驱动器采用L298N芯片实现两路直流电机的控制。传感器模块分两类,一类是空气和水质监测传感器,包括空气温湿度、水温、pH值、溶解氧传感器;另一类为运动控制相关传感器,包括姿态传感器、电子罗盘、超声波测距模块和GPS模块。

图2 机器艇控制与数据采集平台硬件结构

2.1.1 水质传感器

水温、pH值和溶解氧是地表水环境质量标准的基本项目,是水质监测的主要指标项目。机器艇搭载有水温传感器、pH传感器和溶解氧传感器,它们分别与STM32微控制器相连接。其中水温传感器采用数字化温度传感器DS18B20,外部使用导热性能高的密封胶进行灌封,保证了传感器的高灵敏性和很小的温度延迟。该传感器的测量范围为-55~+125℃,在-10~+85℃,精度为±0.5℃。pH传感器由复合电极和带温度补偿的信号处理模块组成,采用电位法原理测量溶液的pH值[3]。该传感器的测量范围为0~14,测量精度0.01,工作温度范围:5~60℃,响应时间小于5秒。溶解氧传感器采用GW WQ401水质溶解氧传感器,其测量范围是0~20 mg/L,工作温度范围:-40~+55℃,精度为±0.5%。以上各传感器性能指标全部满足测量要求。

2.1.2 GPS模块

GPS(全球定位系统)利用接收卫星信号实现导航、定位与授时的技术,具有在海、陆、空进行全方位实时三维导航与定位能力,当前民用定位精度约为10米。本系统选用的GPS模块输出的数据格式采用NMEA-0183标准。NMEA-0183是一套定义接收机输出的标准信息,有几种不同的格式,每种都是独立相关的ASCII格式,使用逗号隔开数据,数据流长度从30~100字符不等,通常以每秒间隔输出,最常用的格式为GGA,它包含了定位时间,纬度,经度,高度,定位所用的卫星数等[4]。

2.1.3 姿态传感器

本系统选用InvenSense公司生产的MPU-6050姿态传感器。MPU-6050是全球首例9轴运动处理传感器。它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processer),可用I2C输出一个9轴信号。MPU-6050内置ADC可直接把测量的模拟量转化为可输出的数字。陀螺仪可测范围为±250°/秒,±500°/秒,±1 000°/秒,±2 000°/秒,加速度计可测范围为±2 g,±4 g,±8 g,±16 g[5]。使用MPU-6050的用于计算出物体的姿态,用欧拉角表示,分别是俯仰角θ(pitch)、横滚角φ(roll)与偏航角ψ(yaw)。

2.2 无线传感器网络

无线传感器网络(Wireless Sensor Networks, WSNs)是由部署在监测区域内大量传感器节点相互通信形成的多跳自组织网络系统,是物联网底层网络的重要技术形式[6]。ZigBee网络协议具有组网灵活方便、成本低廉、低功耗等特点,所以WSNs通常采用该网络协议作为其无线通信标准[7]。

本系统选用的ZigBee网络通信模块由2.4 G射频收发芯片CC2530与带功率放大射频前端芯片CC2591组成,可实现全透明、高稳定、低功耗、远距离、大规模ZigBee无线传感网络的组网。模块分为三种类型:协调器、路由节点和终端设备节点。协调器负责建立与维护网络,一个ZigBee网络中只能有一个协调器。终端设备节点是普通的传感器数据采集节点。而路由节点除了具备终端设备节点的功能外,还可以提供数据转发功能,扩展通信范围。当主机建立起网络之后,路由设备与终端设备即可自动加入网络。通信模式有三种分别是广播模式、一对多模式、点对点模式。

本系统协调器连接PC机,路由器节点连接到机器艇,采用一对多透明传输模式。在这种工作模式下PC机通过串口发送的数据会完全透明地传输到所有路由节点,接着从路由节点的串口输出到机器艇的STM32控制器;同理,机器艇的STM32控制器通过其串口发送的数据会完全透明地传输到协调器串口从而输出到PC机。

3 软件设计

3.1 下位机软件

下位机软件基于μCOSII操作系统,通过多任务实现整个系统功能。μCOSII是一个可移植、可定制、抢占式、实时、多任务的操作系统内核[8]。使用μCOSII的主要目的是利用其多任务特性,实现系统的各部分功能的模块化,使得各功能模块协调有序运行。每个功能模块对应一个系统任务,被操作系统调度执行。系统中的任务分为系统任务与业务任务。系统任务是指通用的非业务相关的任务,包括工作指示灯、升级下载、系统复位任务;业务任务包括运动控制、数据采集和定时报警任务。

3.2 上位机软件

机器艇控制与湖泊水质监测系统是运行在PC端的上位机软件,负责传感器数据采集、显示与机器艇控制。系统主要包括三大功能,包括环境数据采集与显示、位置与姿态显示以及机器艇控制。环境数据采集实现传感器数据的单次采集、周期采集以及周期检测报警功能。当启动某个传感器的周期检测报警功能后,机器艇会启动周期采集任务,当采集到的数据值超过阈值,则主动发送报警信息到上位机。位置方向姿态功能指实时显示与运动控制相关的传感器数据,包括加速度、陀螺仪、罗盘与超声波测距,另外把机器艇当前的GPS位置信息标记在地图中。本系统采用了开放的高质量的在线地图,保证了地图的信息的准确性以及本系统的可应用范围。机器艇控制功能主要包括手动控制、设定目标位置、计算航向角和距离以及发送到达目标位置命令等功能。上位机软件的总体功能如图3所示。

3.3 通信报文格式设计

通信报文是指节点间消息传递的内容。考虑使用广播传输模式发送报文,因此报文包含源地址与目的地址字段。当节点收到报文后会先判断报文是否发给本机,如果报文的目的地址与该节点的地址不匹配则丢弃报文。传感器字段指定了要响应命令的任务模块所负责的传感器或设备控制器。由于有些命令带有参数,并且参数长度不确定,因此除了有参数字段外,还附加了参数长度字段。

4 航行到目标位置的算法

为了实现机器艇的自主航行功能,机器艇搭载了GPS模块、姿态传感器、电子罗盘与超声波测距模块。姿态、电子罗盘等传感器可提供加速度、船体姿态等信息作为运动控制算法的参数。同时这些信息也会传输到PC端的控制系统中实时显示。机器艇使用GPS获取自身的位置信息,并通过ZigBee网络把位置信息发送到PC端,最终其所在位置会被标注在控制系统的地图上。操作者先在地图上标注目标位置,然后发出到达目标位置的命令。接收到命令的机器艇在运动控制算法的作用下自主航行到目标位置。

4.1 航向角与距离计算

虽然目标位置的经纬度在地图上可直接获取,但是国家对地理信息有严格的保密要求,地图上拾取的目标位置经纬度不等于其在GPS坐标系中的经纬度,两者有一定的偏移量,实际距离误差可达数公里,因此只能使用在地图坐标系中计算得到的目标位置相对当前位置的航向角与距离来描述目标位置,然后在GPS坐标系中进行逆运算,求得目标位置在GPS坐标系中的经纬度。航向角是指从机器艇当前所在位置指向目标位置的方向与正北方向的夹角,范围是0°~360°。在小范围区域内,且对精度要求不高的情况下,可把经纬度坐标系看作平面坐标系,以简化运算处理。设定纬度为y轴,经度为x轴,y轴方向指向正北,航向角α与距离d,如图5所示(x1,y1)是机器艇所在位置,(x2,y2)是目标位置坐标。

航向角需根据目标位置坐标进行分析计算,在图6中S(x1,y1)为机器艇的起点坐标,A、B、C、D表示目标位置,其中A点的坐标为(x2,y2)。航向角的计算方法如下:

先计算S点到目标位置点方向与x轴夹角β,公式如下:

Δy=|y2-y1|

(1)

Δx=|x2-x1|

(2)

(3)

其中:0≤β<π/2,转换为度,需乘以180/π,目标位置相对机器艇原位置坐标可能在第一、二、三、四象限,因此航向角α的计算公式如下:

(4)

计算当前位置距离目标位置的距离d,即己知两点的经纬度,求两点之间的距离。先根据两点间经度或纬度的夹角与半径,利用弧长计算公式,算出两点间经度圈上和纬度圈上的弧长。对于经度圈,半径即为地球半径;而对于纬度圈,半径为地球半径乘以基准点纬度值的余弦。由于在小范围内地球表面可以视为平面,因此可将弧长近似为弦长,最后利用勾股定理求出两点间的距离,即可近似等于地球球面两点间的距离[9]。计算公式如下:

l=R×cos(y1)×|x2-x1|×π/180

(5)

s=R×|y2-y1|×π/180

(6)

(7)

式中,R表示为地球半径,l表示为纬度圈上的弧长,s表示为经度圈上的弧长,d表示坐标点间的距离。

4.2 算法

机器艇接收到到达目标位置的命令后,先根据命令参数中的航向和距离计算出目标位置的GPS坐标(x2,y2)。计算公式如下:

Δx=d×sin(α)

(8)

Δy=d×cos(α)

(9)

(10)

(11)

式中,R表示为地球半径,d表示与目标位置的距离,α表示航向角。此公式组计算得到的目标位置坐标与机器艇自身坐标同属于GPS坐标系。

机器艇在航行过程中,由于受船体结构、负载以及水流、风向影响,不可能直线前进,必须动态调整航向[10]。其基本的控制算法如图7所示。

图7 航行到目标位置算法

5 系统测试

5.1 通信测试

无线传感器网络的可靠性是本系统的重要性能指标。为了测试基于ZigBee技术的无线传感器网络的通信可靠性,采取定时发送采集命令,统计返回结果的方法进行测试。测试过程中的通信距离为200 m,命令长度为48字节,按不同的发送周期定时发送命令,其测试结果如表1所示。测试结果表明,当发送周期为0.20 s时成功率明显下降,而大于等于0.25 s时,通信可靠性高,可满足本系统应用需求。

表1 通信测试数据

5.2 功能测试

本设计方案的原型系统,主要包括两艘机器艇机与上位机软件。机器艇安装了主控制器、ZigBee通信模块以及环境水质、运动控制相关传感器。水质传感器安装在机器艇船底侧面,船头装有超声波测距模块,用于避障。另外还加装了OLED显示屏幕以显示机器艇的工作状态。GPS模块安装在船体甲板中部,白色陶瓷天线朝上。

测试过程是先由上位机软件发送指令让两艘机器艇分别到达不同的目标位置,然后周期采集水质数据。测试结果表明采集结果能实时传输到上位机软件,同时在地图上正确标出机器艇所在位置。采集到的水质数据如表2所示。测量数据与实际值相比有一定的误差,但都在传感器误差范围内,另外两艘机器艇的数据结果有较小的差值,考虑到实验时它们相距不远,因此传感器本身的误差仍然是两艘机器艇的数据结果不尽相同的主要因素。

表2 水质传感器数据

6 结论

本文分析了目前湖泊水环境监测的技术现状,设计了一种基于机器艇与ZigBee网络的湖泊水质监测系统。通过机器艇在湖面航行,监测点灵活可变,扩大对湖面水质的监测范围,并可实时传输监测数据;利用无线传感器网络技术使得多艘机器艇可在湖面组成监测网络,提高了监测效率。实验结果表明,本系统实现了对湖泊水质的较大范围实时监测,能满足实际应用需求。

[1] 梁承美.基于物联网的湖泊水质监测系统的研究[D].上海: 华东理工大学, 2014.

[2] 刘 红,张清海,林绍霞,等.遥感技术在水环境和大气环境监测中的应用研究进展[J].贵州农业科学, 2013, 41(1):187-191.

[3] 陈 瑶,薛月菊,陈联诚,等.pH传感器温度补偿模型研究[J].传感技术学报, 2012, 25(8):1034-1038.

[4] 薛 君.基于 GPS定位技术的工程船舶监控系统的研究与应用[D].武汉:武汉理工大学, 2009.

[5] 邱云平,伍宝玉.MPU-6050模块角度算法处理及在嵌入式中的应用[J].江西科技学院学报, 2014,9(2):26-29.

[6] Liu Q, Huang X H, Leng S P.Deployment strategy of wireless sensor networks for Internet of Things[J].China Communications, 2011, 8(8):111-120.

[7] 钱志鸿,王义君.面向物联网的无线传感器网络综述[J].电子与信息学报, 2013, 35(1):215-227.

[8] 邵贝贝.嵌入式实时操作系统 μC/OS-II[M].北京:北京航空航天大学出版社, 2007.

[9] 尹 博.基于 GPS和加速度传感器的运动类智能终端应用软件的设计与实现[D].北京:北京邮电大学, 2012.

[10] 田 勇.水面无人艇运动控制系统设计与实现[D].大连:大连海事大学, 2016.

Design of Lake Water Quality Monitoring System Based on Robot Boat and ZigBee

Huang Peican,Xu Qingui

(School of Computer Science, Dongguan University of Technology,Dongguan 523808, China)

In order to monitor the lake water environment in a comprehensive, real-time and high efficient way, it is very important to design a lake water quality automatic monitoring system. Many robot boats carry water temperature, pH, dissolved oxygen sensors and construct ZigBee based wireless sensor network for data acquisition. The water quality data is transmitted to the host computer through the wireless sensor network for analysis and display. The robot boat can autonomously navigates to the specified monitoring point using GPS and attitude sensor based motion control algorithm. The experimental results show that the system realizes the automatic real-time monitoring of the lake water quality to satisfy the practical application requirements.

robot boat;ZigBee network; autonomous navigation;water quality monitoring

2017-02-15;

2017-03-06。

东莞市无线传感网络系统重点实验室资助项目(20151985)。

黄培灿(1983-),男,广东东莞人,硕士,实验师,主要从事嵌入式系统方向的研究。徐钦桂(1967-),男,湖南长沙人,博士,教授,主要从事计算机体系结构与信息安全方向的研究。

1671-4598(2017)08-0024-04

10.16526/j.cnki.11-4762/tp.2017.08.007

TN915;TP249

A

猜你喜欢

机器无线水质
机器狗
机器狗
《无线互联科技》征稿词(2021)
关于水质监测对环境保护的意义
一月冬棚养虾常见水质浑浊,要如何解决?这9大原因及处理方法你要知晓
这条鱼供不应求!虾蟹养殖户、垂钓者的最爱,不用投喂,还能净化水质
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
未来机器城