基于PIC32和ZigBee的地质灾害监测系统设计

摘 要: 提出了一种基于PIC32和ZigBee的地质灾害监测系统设计,系统将传感器技术与无线网络技术相结合,可以实现对地质灾害易发区的雨量、位移、倾斜、含水率、泥水位等参数的实时数据采集和在线监测。介绍了地质灾害监测系统的组成,重点对无线传感器网络协调器、路由器和传感器节点的软硬件进行了设计。系统结构简单,数据传输的可靠性和实时性较好。

我国的地质灾害种类繁多,而且地质条件复杂,地质灾害分布范围广,突发性和破坏性非常强,因此对地质灾害进行实时在线监测,可以降低地质灾害的危害性和破坏性,有效地减少和保护人民生命财产。传统的地质灾害监测手段已经不能满足当前监测技术手段的要求,因此本文将传感器技术、无线网络技术应用到地质灾害监测系统中,结合ZigBee无线传感器网络技术,以32位高性能微处理器PIC32单片机作为协调器和数据采集器,实现对地质灾害监测点的数据实时采集和分布式管理,极大地提高了地质灾害监测的实时性和可靠性。

1 系统总体设计
地质灾害无线传感器网络监测系统主要包括数据监控中心、GPRS网络(或北斗卫星)、协调器、路由器节点及传感器节点,系统总体框图如图1所示[1]。地质灾害无线传感器网络监测系统的任务主要是负责实时监控地质灾害现场数据,通过GPRS或者北斗网络传输到后端数据监控中心,数据监控中心通过一系列的数据解析和分析来自动判断地质灾害现场所发生的情况,给监测人员提供可靠的决策依据。

系统总体框图

地质灾害无线传感器网络监测系统的前端是传感器节点,它负责实时采集地质灾害现场数据,主要包括雨量、位移、倾斜、含水率、泥水位等,传感器节点将采集到的现场数据发送给路由器节点,路由器节点再将现场数据发送到协调器(或者是通过其他的路由器节点转发到协调器),协调器分别包含GPRS网络或北斗卫星网络连接的模块,通过GPRS网络或者北斗网络将现场采集数据实时发送到远程数据监控中心。传感器节点、路由器节点以及协调器通过ZigBee无线网络相互进行数据传输[2]。

2 系统硬件电路设计
2.1 PIC32MX795F512L简介
PIC32MX795F512L是Microchip新推出的超低功耗32位单片机系列产品,该器件具有丰富的外设功能部件和增强的计算性能,它还为高性能应用提供了新的移植选项,能够在数据和存储空间之间传送信息,最大512 KB(程序空间)和128 KB(数据空间)的线性寻址,具有一系列能在工作时显著降低功耗的功能,主要包含动态时钟切换、休眠模式工作、基于指令的节能模式等。

2.2 ZigBee模块
ZigBee是基于IEEE802.15.4标准的低功耗个域网协议。根据这个协议规定的技术是一种短距离、低功耗的无线通信技术,其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。它的传输距离根据不用的通信环境而各有差异,传输距离大约在10 m~100 m之间,在增加功放以后传输距离可以达到1 km~3 km。ZigBee支持自组网模式,不同节点之间可以根据自身优化算法自动寻找相近的节点进行数据传输,而且某些节点的丢失不会影响传输效率,不同节点之间可以重新寻找新的通信链路进行数据传输。

系统所用的ZigBee模块是ST公司的STM32W108。 STM32W108是高性能的IEEE802.15.4无线片上系统,它集成了2.4 GHz 且IEEE802.15.4兼容的收发器,STM32W108内置128 KB Flash和8 KB SRAM, 具有高性能、 低功耗的特点。

2.3 数据采集电路
本设计采用的是ADS1256内部集成的8通道24位A/D模数转换器,支持片上采样和保持功能,并支持掉电模式,在2.5 MHz的A/D转换器时钟下,最大转换速率可达到500 kS/s。地质灾害现场的位移、含水率、泥水位、倾斜等数据都可以通过A/D采集电路传送到PIC32单片机中。雨量传感器可以产生一个脉冲信号,将脉冲信号送到PIC32MX795F512L的INT2,通过对中断INT2编程进而计算出单位时间内的降雨量。

2.4 电源电路设计
系统电源模块通过太阳能供电方式解决。因为PIC32MX795F512L、ADS1256以及每个传感器所需电源不尽相同,分别需要3.3 V、5 V、12 V电源供电,所以要给不同部分分别供电。太阳能电池板所采集到的太阳能通过太阳能控制盒给12 V电瓶充电,供雨量传感器、倾斜传感器和含水率传感器使用;12 V电源经LM2596S转换为5 V电源供位移传感器使用;5 V电源经LM117-3.3转换为3.3 V供PIC32MX795F512L、ADS1256和无线传感器网络各节点使用。

3 无线传感器网络实现
3.1 协调器实现
协调器由数据处理模块PIC32MX795F512L、无线网络通信模块STM32W108、GPRS模块(或北斗模块)、供电模块组成。协调器节点结构图如图2所示。协调器主要完成ZigBee无线传感器网络建立。协调器上电后,接收路由器节点发送过来的请求和数据,负责路由器的入网管理和网络结构的维护,实现网络自组织功能。当接收到节点网络请求后,协调器会分配网络地址给请求节点。协调器同时包含GPRS模块(或北斗模块),将接收到的现场采集数据全部发送到远程数据监控中心[3]。

协调器节点结构图

3.2 传感器节点实现
传感器节点负责采集地质灾害现场数据,主要包括雨量传感器、位移传感器、倾斜传感器、含水率传感器、泥水位传感器。数据采集部分采用Microchip公司的PIC32MX795F512L负责整个传感器节点数据采集,它具有低功耗和低成本的特点,内置8通道A/D转换器,它可以对传感器节点进行集中管理和控制,并将采集到的数据进行数据处理和存储。传感器节点结构如图3所示。

传感器节点结构

3.3 路由器节点实现
路由器节点在整个ZigBee网络中主要起数据转发作用,完成各个节点之间的数据发送、接收、转发功能。无线网络通信模块选用TI公司的STM32W108,它负责对传感器节点采集的数据以无线方式发送到协调器节点。路由器节点结构图如图4所示。

路由器节点结构图

4 系统软件设计
根据功能设计要求,地质灾害无线传感器网络的软件设计分别包括协调器节点软件设计、路由器节点软件设计以及传感器节点软件设计。系统软件设计主要参考Tiny OS操作系统,确定地质灾害无线传感器网络是基于任务和硬件事件处理的并发模型,每个任务之间的优先级不同,按照相应的优先级先后来执行各个任务,这样可以减轻任务量,降低系统运行复杂度,各个节点实现模块化编程,通过操作系统可以实现不同节点之间的合理分配和调度工作,较好地完成各个节点的并行管理控制。因为无线传感器网络各个节点都是太阳能供电模式,功耗问题要重点考虑,所以地质灾害无线传感器网络采用定时唤醒的模式来管理各级节点,当需要采集地质灾害现场数据时,由数据监控中心下发命令到协调器节点,然后协调器节点逐级唤醒各个路由器节点,开始现场数据的采集和发送[4]。

4.1 协调器节点的程序设计
协调器节点各功能模块上电初始化后,首先要建立无线传感器通信网络,实时侦测是否有路由器节点发出入网请求,如有则判断路由器节点地址并将其加入到刚建立的无线传感器网络中。协调器的主要任务是建立ZigBee无线通信网络,接收路由器节点发送过来的数据,通过GPRS模块或者是北斗卫星将采集数据发送到远程数据监控中心。协调器需要实时监控ZigBee网络与数据监控中心保持实时连接状态,随时等待监控中心下发命令来判断是否发送或接收数据。当收到发送数据命令时就会唤醒路由器节点, 将路由器节点发送过来的采集数据转发到远程数据监控中心[5]。协调器节点程序流程图如图5所示。

协调器节点程序流程图

4.2 传感器节点和路由器节点的程序设计
传感器节点上电后,完成PIC32MX795F512L软硬件初始化,PIC32MX795F512L通过加载SPI驱动来完成对无线通信模块STM32W108的初始化,各个传感器节点与终端节点之间以及中心节点之间会完成ZigBee自动组网[6]。ZigBee网络以簇状树形网络拓扑结构为基础架构,在各个节点之间自动选择最优传输路径,簇成员节点采集到的雨量、位移、倾斜含水率、泥水位等数据经过簇首节点将相关数据进行融合,融合后经路由器将传感器节点采集的数据以最优、最短、最快方式发送到协调器节点。传感器节点程序流程图如图6所示。

传感器节点程序流程图

4.3 数据监控中心软件设计
远程数据监控中心软件作为主要的数据接收、分析和处理平台,通过Internet网络接收程序来接收无线传感器网络协调器从现场发送来的数据,监控中心需要把接收到的采集数据存到数据库SQL Server中,这样数据就可以实现历史数据查询和实时查看。可以在监控软件中设置相应的预警值,当现场某一点采集的数据超过预警值时就会发出报警消息,引起监测人员的注意。

本文以低功耗单片机PIC32作为硬件基础,采用ZigBee无线传感器技术,通过无线方式进行数据传输,对数据进行分析、存储、查询等操作,可以通过远程数据监控中心直观分析地质灾害现场信息,实现了地质灾害现场的实时数据采集和在线监测。系统结构简单,成本较低,维护方便,具有很强的实用价值。

作者:王晨辉, 孟庆佳 来源:电子技术应用2014年第2期

--电子创新网--
粤ICP备12070055号