目前,随着工业生产自动化程度不断提升,温湿度等生产环境要素监控智能化程度也在不断发展。传统测量设备功能单一,采用线缆连接各测量节点,测量系统架设复杂,数据处理实时性不高。随着短距离无线通信技术、嵌入式技术和传感器技术的发展,工业现场测量系统的网络化、智能化得到快速提升。本文开发了基于ZigBee无线模块Mesh网络的温湿度测量系统,具有网络覆盖能力强、测量精度高、现场架设便捷、系统智能化程度高的特点,适合工业现场大范围温湿度测量监控应用。
1 系统总体设计方案
无线温湿度测量系统将现场温湿度验证记录与ZigBee数传网络融为一体,具备ZigBee数据采集、存储和处理分析的功能,用户可通过上位机软件掌握现场环境数据。系统总体结构由无线测量终端、无线基站和上位机构成使用LabWindows/CVI编程开发的上位机软件,实现对无线基站和无线测量终端的管理、测量控制以及数据上传处理。无线基站采用AT91SAM9263工业级微处理器,结合支持ZigBee数传应用的片上系统芯片CC2530作为硬件平台,建立和维护整个ZigBee网络。无线测量终端以低功耗处理器MSP430F2618作为控制核心,负责传感器数据采集和处理,通过搭载的CC2530无线网络模块加入现场测量网络并上传测量数据。
ZigBee无线模块网络采用网状(Mesh)网络的拓扑结构,其网络路由自动建立和维护,网络节点可通过多条路径传输数据,即便某个节点离开网络,与其关联的节点自动寻找其他路径重新加入网络,实现路由修复,提高了网络可靠性。ZigBee数传网络中无线基站和无线测量终端分别作为协调器和路由器构成Mesh网络,网络覆盖能力强,系统架设灵活。系统结构如图1所示。
图1 系统结构图
2 硬件设计
2.1无线基站
无线基站是无线温湿度测量系统中的关键节点,一方面负责与上位机通信,获取工程配置信息,测量结束后将各网络节点数据上传至PC;另一方面创建和维护ZigBee数传网络、实现无线测量终端的入网和管理、网络数据汇集、存储和转发。无线基站采用AT91SAM9263作为控制核心,其内部嵌入了高达220MIPS(每秒百万条指令)的处理器内核,96KB内部SRAM,支持外部总线以及丰富的外设资源。在AT92SAM9263、外部DDRAM和NorFlash组成最小系统基础上,结合ZigBee无线模块、串口通信、液晶显示、SD卡存储,实现相应功能。
串口采用RS232电平与PC实现通信,LCD高彩色液晶显示系统状态及实时测量数据,SD卡保存所有节点历史数据。
ZigBee无线模块采用CC2530高度集成片上系统芯片,结合外围硬件电路及外置全向天线,配备TI标准ZStack-CC2530协议栈,作为网络协调器,实现对无线测量终端的管理和数据传输。无线基站框图如图2所示。
图2 无线基站框图
2.2无线测量终端
无线测量终端以低功耗处理器MSP430F2618为核心,采用与无线基站同样的CC2530片上系统芯片,主要实现温湿度ZigBee数据采集、存储和上传,作为网络路由器节点完成转发通信和路由维护等功能。无线测量终端主要包括MSP430F2618微处理器子系统、A/D转换控制、ZigBee数传模块网络、人机接口、SD卡存储、电源管理等单元模块。
温度测量使用铂电阻传感器PT100;湿度测量采用湿度传感器HC2,传感器的输出为0~1V的电压信号。传感器数据采集使用分辨率为16位的Σ-Δ模数转换芯片AD7715,与MSP430F2618微处理器采用SPI接口通信。无线测量终端9路铂电阻和3路湿度传感器测量通道复用一个A/D转换芯片,通过I/O口控制模拟开关和多路选择器选择需要测量的通道进行采样。
人机接口采用拓普微公司LM2068图形点阵液晶显示模块,液晶与MSP430F2618采用并口连接方式。系统集成的4个按键的小键盘,可用于开/关机、启动测量和显示界面切换。无线测量终端使用SD卡保存每个测量通道的数据,MSP430F2618采用SPI接口实现SD卡接口通信。BQ27501芯片与微处理器之间通过I2C总线互连,实现锂电池电量监测和管理。无线测量终端框图如图3所示。
图3 无线测量终端框图
3 软件设计
3.1 Mesh网络路由设计
Mesh网络的路由算法主要实现选择快捷的路径、节约网络资源、减轻系统通信负荷、提高网络通畅率。同时由于无线测量终端采用电池供电,在某个无线测量终端停电导致网络拓扑结构发生变化的情况下,必须保证数据传输链路快速恢复。Mesh网络采用AODV算法与Cluster-Tree算法相结合的路由设计。Cluster-Tree算法中,不需要维护路由表,节点收到信息后立即传输给下一跳节点。该算法能够减少路由协议的控制开销,但无法保证建立的路径为最优路径,造成网络各节点通信流量分配严重失衡。
AODV算法是一种按需驱动路由协议,其路由过程分为路由发现和路由维护两部分。当无线基站和无线测量终端之间需要通信时,源节点发起路由发现过程,广播一个路由请求,邻居节点收到路由请求后,判断自己是否为该次路由发现的目标节点,若是则回复路由应答并在本路径所有节点建立路由表,若不是则继续转发路由请求直至到达目标节点。路由维护是通过周期性地组播HELLO报文来获知邻居节点通信状态,以确认路由完整。若某个节点下一跳离开网络,则向上游节点报告路由断开信息,相关节点丢弃无效路由,源节点开始重新路由发现。该算法能够快速准确地创建从源节点到目标节点的路由,而且路由节点不需要保存整个网络的所有路由信息。当网络中路由状况发生变化时,其相关节点能够快速响应,消除无效路由信息,实现路由表的自动修复。
无线温湿度测量系统的网络通信遵循以下过程:
(1)终端维护获取所有将要使用的终端MAC地址;(2)启动无线基站,其作为唯一的网络协调器建立和初始化ZigBee数传网络;(3启动各无线测量终端,其作为网络路由器加入ZigBee数传模块网络,同时上传本终端信息;(4)无线基站收集所有在线测量终端ZigBee数据采集信息,向上位机智能温湿度测量管理系统软件报告网络状态;(5)上位机向无线基站发送工程配置信息,无线基站广播配置信息,根据配置启动相关传感器通道测量;(6)无线测量终端将测量数据通过路由传送至无线基站,无线基站将数据汇集、处理、存储并上传给上位机智能温湿度测量管理系统软件分析处理;(7)网络以固定时间间隔120s进行路由信息维护,若某个无线测量终端离开网路,则向无线基站报告终端离开,并重新开始相关节点的路由发现,进行路由修复。
3.2上位机软件设计
上位机软件使用LabWindows/CVI软件编程,实现工程配置、传感器校准和数据分析三大功能。工程配置实现的功能有:(1)传感器分组设置;(2)按键/越限/周期/定时启动模式设置;(3)按键/越限/超时停止测量设置;(4)采样间隔设置;(5)报警参数设置。传感器校准分为铂电阻校准和湿度传感器校准两部分。铂电阻校准通过在各温度节点采集校准数据,利用PC强大的计算能力进行铂电阻非线性拟合,生成校准参数并分析校准精度。湿度传感器为线性输出,只需线性校准即可。校准系数通过串口下载到测量终端。测量结束后,上位机导入SD卡中数据,产生报警信息并生成数据报表。上位机程序流程图如图4所示。
图4 上位机程序流程图
3.3无线基站软件和无线测量终端软件设计
无线基站软件实现下载测量工程文件、无线测量终端控制、测量数据汇集、存储和上传。软件编程采用操作系统抽象层(OSAL)多任务资源分配机制,根据系统功能内聚性及时间紧迫程度按优先级由高到低将任务划分为网络任务、串口任务、SD卡存储任务和显示任务各任务初始化以后,系统处于空闲状态,采用事件轮询方式,当事件发生时,唤醒系统进行相应任务处理,处理完回到空闲状态。若几个事件同时发生,按优先级依次处理。
无线测量终端软件实现系统所有测量功能,主要包括网络通信、传感器通道测量、数据存储、界面显示、低功耗等任务。软件同样采用OSAL多任务处理机制,在系统空闲状态进入睡眠状态,系统外设全部关闭,极大地降低系统功耗。
4 系统测试
在PC上安装上位机智能温湿度测量管理系统软件,使用串口连接电脑与无线基站,将10个无线测量终端分别布置在室外及室内,连续测量48小时室内外温湿度变化情况。使用上位机智能温湿度测量管理系统软件读取采样数据并绘制数据变化曲线,部分数据显示如图5所示。图中显示了传感器通道编号及其对应曲线颜色,表格左边刻度为温度,右边刻度为湿度,曲线显示了48小时内温湿度变化情况。系统测试显示,该系统运行稳定,网络可靠,数据采集准确完整,系统具有良好的操作性。
图5 系统运行界面
本文设计了一种基于ZigBee无线模块Mesh网络的温湿度测量系统。该设计融合了嵌入式技术和无线传感网络技术,通过组建无线ZigBee数传模块网络,无线ZigBee数据采集终端作为路由器节点采用多跳传输的方式将数据传送到无线基站,上位机软件与无线基站通信,达到工业现场大范围多点温湿度测量的目的。无线网络采用Mesh网络的拓扑结构,采用AODV与Cluster-Tree相结合的路由算法,能够实现快速路由发现和路由维护。目前,该系统已经成功应用于实验室温湿度标定和校准,也可搭载其他传感器应用于相关物理量测量领域。