ZigBee技术在工业控制领域的应用与研究
时间:08-18
来源:北京科技大学 霍峰
点击:
ZigBee|0">
图2 烟感终端结构图 ●无线烟感器终端
在用户端无线烟感器加装通讯模块形成终端设备,实现数据的采集和无线传输。基于ZigBee的低功耗特点,该终端采用9V电池供电。
● 中心数据管理终端
其主要功能包括接收无线烟感器终端数据并报警及存储,对数据做出一定的处理以及根据客户需求打印各种报表。
②系统软硬件结构
系统核心部分为无线收发模块,烟雾传感器直接与单片机I/O口相连,出现火情时由烟感中的继电器电平变化引发单片机中断,从而通过射频芯片CC2420向中心报告。单片机与PC机通过MAX322实现串口通讯。
图3 中心数据管理终端 ● 单片机程序设计
我们在程序中设定了每个不同的终端节点在遇到火情时发送各自特定的代码给中心节点,中心节点收到后再交给上位机进行识别。ZigBee规范中通信部分的消息帧有KVP和Message两种方式,由于发送的代码比较简单而且量很少,所以采用KVP格式进行发送。KVP帧格式定义如图4所示。
中心节点的单片机程序调用APLGet( )函数,在接收到终端节点发来的数据后,将其通过串口发送给上位机,串口的主要函数如下: void ConsoleInit(void) { OpenUSART(USART_TX_INT_OFF&USART_RX_ INT_ON&USART_ASYNCH_MODE & USART_EIGHT_BIT & USART _CONT_RX & USART_BRGH _HIGH,SPBRG_VAL ); } void ConsolePut(BYTE c) { while( !ConsoleIsPutReady() ); TXREG = c; } void ConsolePutROMString(ROM char* str) { BYTE c; while( c = *str++ ) ConsolePut(c); while( !ConsoleIsPutReady() ); }
图4 KVP帧格式 ● 上位机程序设计
上位机程序主要负责从串口接收中心节点模块发来的数据,并做出相应动作,如报警并识别出火情位置,并可进行一定的处理(如开启水阀等)。软件由VB编写。
它可以实现的功能有:1.设定通信端口。2.显示房间状态。3.显示历史记录。通过设定通信端口可以选择当前空闲的串口,显示房间状态可以显示哪个房间或哪个位置发生了火情,显示历史记录可以显示曾经发生过报警的房间号和时间。
软件安装后,用户可以根据实际情况选择楼层数和房间数,并和终端节点相对应。还可以存储起火原因,便于遇到突发事件时的相关人员做出处理。
2 ZigBee倾斜度测量应用方案
在现代工业生产,安装和建筑等许多领域,经常需要测量倾斜度,这就需要倾斜测量装置。我们可以利用ZigBee平台来方便的实现测试点的远程监控,同时也方便测试点的安装。
这里采用了飞思卡尔新推出的MMA7260 加速度传感器来测量倾斜。它是一种低功耗三轴电容式微机械传感器,有1.5g、2g、4g、6g四种量程可以选择。封装为QFN16脚,采用2.2~3.6V宽电压电源,而且支持休眠,符合ZigBee对低功耗的要求,很适合在ZigBee平台上使用。由于数据量相对较大,我采用了格式更为灵活的MSG格式,其帧格式定义如图6。
图5 MSG帧格式 MMA7260自带了温度补偿和滤波,只需简单处理即可将其输出的三路(XYZ轴)加速度模拟量接入到PIC18单片机自带的10位A/D转换模块中。
数据由RS-232由节点传入到PC机后,采用了NI公司的labview软件进行处理,它的G语言操作非常友好,可以方便的对数据进行转化和计算,然后显示在虚拟的仪器界面上。
如果有必要,可以在某个轴上加入报警,超过门限值时对操作员进行提示,甚至直接给设备发出指令。 结语
消防监控和倾斜测量只是ZigBee 技术在工控领域的两个简单应用,它具有很强的实际应用价值。该模块也可以很方便的移植到其他的无线应用中去。 | | | |