摘要:针对传统无线传感节点的本钱高、可扩展性差等缺乏,提出一种根据Arduino开源渠道及ZigBee协议的无线传感节点硬件体系。考虑到体系规划需求,首要给出该传感节点硬件体系的全体结构,然后对硬件体系中的处理器模块、传感器模块、无线通讯模块、电源模块的规划给出了详细的计划。该无线传感节点硬件体系可以完成高功用、低本钱、低功耗的无线环境数据收集,较传统办法更具有研讨和运用价值。
要害词:无线传感节点;硬件;ZigBee;Arduino
无线传感器网络是物联网底层网络的重要技能办法,它归纳了传感器技能、信息处理技能和无线通讯等技能。无线传感器网络节点作为无线传感网络的根本组成部分,它的功用好坏及实用性关系到整个网络的作业效率和作业本钱,因而高功用低本钱的无线传感节点成为无线传感网络规划的要害。现在传统的无线传感节点首要有两种类型:一种是封装好直接购买可用的节点如Micaz、TelosB节点;另一种是在特定芯片如CC2430、CC2530上自主规划制造的节点。前一种节点功用佳,但价格较贵且可定制性差,后一种节点,虽价格便宜,但开发作业量大,且可扩展的接口少。
Arduino是近年来快速流行起来的一种操控器,其硬件电路的中心是一个AVR芯片,整块电路板在功用上与单片机开发板相似,可是Arduino板要比单片机开发板在功用上强壮许多。ZigBee是一种短间隔无线通讯技能,它可以很好地处理物联网中最终100 m的通讯问题,而且现已广泛地运用于智能交通、智能医疗、智能家居和工业主动化傍边。本文针对现有的无线传感网络节点的开展现状,从硬件视点着手,规划了一种根据Arduino的ZigBee无线传感节点,它将Arduino软硬件开源、接口丰厚、简略上手、价格低价、可根据运用需求完成个性化体系规划等特性与ZigBee技能传输延时较低、复杂度低、容量高、功率耗费极低、本钱低价等特性结合到一同,完成更具有实用性和更适用于物联网的无线传感网络节点。
1 硬件全体规划
无线传感网络节点硬件电路包含处理器模块、传感器模块、无线通讯模块及电源模块。其间,电源部分为整个节点供给能量,其他3个均是耗能模块。本文选用Arduino Uno R3功用板的电路作为硬件规划的根底电路板,并结合实践需求在该电路根底上进行组成部件的删减和功用模块的添加。Arduino Uno R3是Arduino USB接口系列的最新版别。其上的一切参阅规划均是根据AVR芯片ATmega328的,二者的管脚是兼容的。
节点的各个模块中,处理器模块选用单片机ATmega328P—PU作为CPU对传感数据进行收集、处理和传输,单片机ATmega16U2-MU作为转化芯片完成USB接口数据与处理器串口数据的对接。传感器模块设为接口办法,没有直接选定传感器并将该传感器衔接到电路中。传感器模块接口包含数字信号接口和模仿信号接口。无线通讯模块选用Digi公司出产的XBee ZB模块,XBee ZB模块经过RX、TX串口与单片机进行数据通讯。电源模块选用电池供电和USB供电协作办法,为了防止电池供电和USB供电一起接入电路发生抵触,选用 FDN34 0P场效应管来完成电池供电和USB供电办法的主动切换。此外,节点还经过硬件辅佐的办法操控传感模块和无线通讯模块的作业状况,以下降节点的作业能耗。无线传感网络节点硬件体系结构框图如图1所示。
2 模块规划
2.1 处理器模块
节点硬件体系处理器模块的元器材选型首要是根据Arduino Uno R3功用板。Arduino Uno R3电路板的主控芯片是ATmega328P—PU,USB转串口芯片是ATmega16U2-MU。单片机ATmega328P—PU是一款高功用低功耗的AVR微操控器,它的作业电压是1.8~5.5 V,片上包含32 kB的Flash、1 kB的EEPROM以及2 kB的SRAM,有6个模仿输入接口,有14个数字输入输出接口且数字接口中有6个PWM模仿输出接口,晶振频率是16 MHz。这款单片机可以彻底满意传感节点的处理器需求。该单片机的外围电路中,需求在5 V电源与管脚reset之间衔接一个110欧姆的电阻,由于Arduino Uno R3供给主动复位规划,可以经过在主机上运转相应程序进行主动复位,但本节点的复位办法规划为外部电路触发复位办法,所以需在管脚reset方位进行电路修正。别的,需求在ATmega328P—PU的XTAL1、XTAL2引脚之直接尺度小、牢靠功用佳的陶瓷振动子CSTCE16MOV53-R0,而不是接一般的16 M晶振。担任USB一串口数据转化功用的AVR芯片ATmega16U2-MU内置有支撑USB2.0的USB操控设备,它支撑数据的全速转化,有操控、批量、中止以及同步这4种作业办法。ATmega 16U2-MU外接16 MHz晶振,以此给芯片的内部PLL供给参阅时钟,使得内部PLL可以为USB全速转化供给需求的48 MHz±0.25%参阅时钟。ATmega16U2-MU的PD2(RXD1)引脚接单片机ATmega3 28P—PU的TXD输出串口,PD3(TXD1)接单片机ATmega 328P—PU的RXD输入串口,以供给TTL电压水平的串口收发信号。别的,ATmega16U2-MU芯片的D-引脚接USB接口的数据线D-,D+ 引脚接USB接口的数据线D+。
2.2 传感器模块
为了增强无线传感节点的复用性,传感器模块电路规划中,未包含传感器元件,而是选用接口办法衔接传感器元件,并为其供给作业电路。物联网中常用的传感器元件按输出信号类型可分为模仿传感器和数字传感器,因而节点传感器接口需包含这两种数据接口。节点传感器数字信号接口和模仿信号接口直接由处理器模块中心芯片ATmega328P—PU的数字输入输出口和模仿输进口引出。ATmega328P—PU共有14个数字输入输出接口,本节点的规划中,TXD、 RXD数字接口作串口,有两路数字接口作串口状况灯操控口,有一路数字接口作无线通讯模块作业办法操控口,有一路数字接口作传感器作业办法操控口,还有一路数字接口作电源能量监测操控口,因而节点传感器模块中的传感器数字接口共有7个,模仿数字接口共有6个。常用的传感器模块如DHT11温湿度模块、 HX711称重传感器模块、BH1750FVI光照度传感器模块等,均可经过该通用接口与节点进行衔接。
为了下降无线传感节点的能耗,本节点规划传感器数据进行周期性收集,即传感器在收集一段时刻的环境信息后进入休眠状况,再经过固定的休眠时刻后返回到作业状况,然后下降传感器元件对电源能量的耗费。这儿的传感器作业办法切换规划为单片机接口操控传感器模块电源通断办法。单片机接口操控电源通断功用经过三极管S8550驱动电路作开关、继电器HK4100F作负载来完成。三极管S8550是一种常用的一般三极管,它是一种低电压、大电流、小信号的PNP型硅资料三极管。继电器HK4100F是一种价格低价的6管脚电子操控器材,实践上是一种运用较小电流来操控较大电流的“主动开关”,它可以在电路中供给主动调理、安全维护和转化电路等功用,首要由铁芯、线圈、衔铁和触点簧片组成。当电路在线圈两头加上必定电压后.线圈会流过必定的电流,然后发生电磁效应,所以衔铁在电磁吸引力的效果下战胜绷簧的反弹拉力与铁芯吸合,然后使继电器的内部动触点与静触点(常开触点)导通;当线圈两头断电后,线圈的电磁吸引力消失,衔铁会在绷簧的反效果力下回到本来的方位,然后使继电器的内部动触点与本来的静触点(常闭触点)导通,由此完成了外部电路的导通和堵截。
单片机接口操控传感器模块电源通断详细的电路衔接状况为,三极管S8550的基极经4.7 kΩ电阻与单片机ATmega328P—PU的一路数字接口衔接,发射极与继电器HK4100F内部线圈的一个外部引脚衔接,集电极接地。继电器 HK4100F常闭触点的外部引脚接地,常开触点的外部引脚接传感器的作业电源正极。当单片机引脚输出高电平时,三极管截止,继电器线圈两头无电位差,继电器衔铁开释,常闭触点导通,即传感器电源封闭;当单片机引脚输出低电平时,三极管饱满导通,继电器衔铁吸合,常开触点闭合,即传感器电源敞开。三极管截止瞬间,继电器线圈中的电流无法突变为零,两头会发生一个电压较高的感应电动势,有可能会击穿三极管,因而需求在继电器线圈两头并联一个常见的反向耐电压为100 V的小信号二极管1N4148,以开释瞬间感应电动势,如此,既维护了三极管,也消除了感应电动势对其他电路的搅扰。单片机接口操控HK4100F线圈通断电路原理如图2所示。
2.3 无线通讯模块
本节点的无线通讯模块选用的是美国Digi公司出产的XBee ZB模块,该模块依照ZigBee协议规划并把ZigBee协议内置进片内Flash,其内部包含有悉数的作业外围电路以及完好的ZigBee协议栈,尽管体型小,但却是一个功用完善的ZigBee收发器(具有接纳器和发射器),它的作业办法是双向半双工式,可替换地发送或接纳数据昀。XBeeZB模块只需少数的功耗便可进行牢靠的远端数据传输。该模块的室内传输间隔为40米,室外传输间隔为120米,发射功率为3 dBm,具有AT和API两种装备办法且具有专门的PC端装备软件X—CUT,可直接在PC端对模块进行发射功率、信道等网络拓扑参数的装备,运用起来简略方便。XBee ZB模块经过DOUT和DIN与处理器模块中的单片机串口进行通讯,DOUT接单片机ATmega32 8P—PU的RXD引脚,DIN接TXD引脚。该模块的作业办法共有5种,别离是闲暇办法、发送办法、接纳办法、指令办法和睡觉办法。当XBee ZB模块没有接纳或发送数据时,模块进入闲暇办法;当串行接纳缓冲区内的串行数据已接纳并打包预备好时,模块主动退出闲暇办法预备发送数据,进入发送办法;当天线接纳到一个合法的RF数据包时,该数据将会转送到串口发射缓冲区内,模块进入接纳办法;当指令办法字符序列构成时,模块进入指令办法;当接纳到休眠触发时,模块进入睡觉办法,XBee ZB仅支撑终端节点睡觉办法触发,且有管脚休眠和周期休眠两种触发办法。睡觉办法可大大下降模块的能耗,XBee ZB模块的管脚休眠触发机制是:当休眠操控管脚Sleep_RQ处于高电平状况时,模块敞开睡觉办法;管脚处于低电平状况时,模块封闭睡觉办法。本节点规划运用单片机数字输出口操控来完成XBeeZB模块的正常作业办法与睡觉办法之间的切换,电路衔接上,ATmega328P—PU的一路数字接口引脚与 XBee ZB模块的Sleep_RQ管脚衔接以操控Sleep_RQ管脚的电平状况,再以软件程序进行辅佐,设置XBee ZB模块进行周期性休眠,然后下降节点无线通讯模块的能耗。节点无线通讯模块电路衔接框图如图3所示。
2.4 电源模块
节点正常作业所需求的电压有5 V和3.3 V。Arduino Uno R3电路中有3种供电办法,而且可以主动挑选供电办法,这3种供电办法别离是:外部直流电源经过电源插座供电、USB接口供电以及电池衔接电源衔接器的 GND和VIN引脚供电,其间,电源插座供电和电池供电的输入电压规模为7~12 V。本节点在Arduino Uno R3供电原理根底上挑选锂电池供电和USB接口供电两种办法一起供给5 V作业电压,节点电路的另一路作业电压3.3 V则由稳压管LP2985—33DBVR经过对5 V电压进行转化取得。电源模块电路中5 V电压供电办法的主动挑选经过场效应管FDN340P完成,FDN340P是一种P沟道增强型绝缘栅场效应晶体管,具有输入电阻高、噪声小、功耗低、动态规模大、无二次击穿现象、安全作业区域宽等特色。节点电源供电电路中,一路锂电池输入VIN衔接到稳压管NCP1117ST50T3G的输入端,另一路经二分之一分压电路分压后衔接到电压比较器的正输入端V+,电压比较器的负输入端V-衔接的参阅电压为3.3 V。电压比较器的输出Vo与场效应管FDN340P的栅极衔接,USB电源线与场效应管FDN340P的漏极相衔接,场效应管的源极作为电压输出端并与5 V电源线衔接。当电源模块仅有锂电池供电时,5 V电源直接由稳压管NCP1117ST50T3G输出;当电源模块仅有USB供电时,V+V-,Vo输出高电位,FDN340P的栅极和源极之间的电位差为0,场效应管关断,USB供电截止,仅锂电池供电。别的,USB电源线信号并不与FDN340P场效应管的漏极直接衔接,而是在二者之间衔接了一个自恢复保险丝MF—MSMF050—2(500mA),MF—MSMF050—2是一种可重置的保险丝,它可以为电路供给过电维护,当经过保险丝的电流超越500 mA时,保险丝断开衔接,然后维护了USB电路。电源模块供电电路框图如图4所示。
实践运用中,节点的供电电源多是锂电池,节点的正常作业依赖于锂电池,因而电池余量的对实时监测就显得分外重要。本节点运用DS2438智能锂电池监测芯片作为监测锂电池电池剩下容量的硬件设备。DS2438为电池组供给了一系列有用的功用,包含有仅有的标识电池组的序列号,有内置的数字温度传感器因而电池组不再需求接热敏电阻,有测
量电池电压和电流的内置A/D转化器,有记载电池电流流入流出总量的集成电流累加器,有运转时刻记载器,还有40字节的非易失EEPROM,首要用于贮存电池的一些重要参数如
电池化学类型、电池容量、电池充电办法以及电池拼装日期。DS2438芯片可以主动收集当时电池的充放电状况、温度、电流、电压以及剩下电量等数据,并存放到片上存储器中。本节点中,DS2438芯片的DQ引脚与单片机的一路数字接口相衔接,当芯片满意作业条件时,开端进行电池信息采样,比及DS2438 芯片采样完成后,单片机再读取DS2438的片上电流累加寄存器(%&&&&&%A)中的数值并进行相应的数据处理,即可得到无线传感节点供电锂电池的当时剩下电量值。
3 结束语
节点规划完成了以Arduino开源渠道为根底以ZigBee技能进行数据传输的无线传感节点硬件体系。并别离给出了硬件体系处理器模块、传感器模块、无线通讯模块以及电源模块各部分的规划办法,从硬件选型到详细规划思路都逐个作了论述。该硬件体系具有低能耗、可衔接通用传感器、有电源电压检测功用等特色。此规划计划本钱低价、功用较高、经济适用,契合规划初衷,且具有杰出的运用远景,可运用于物联网中,为监测物联网环境参数供给了高功用低本钱的无线传感节点规划计划。