基于NB-IOT的自供电火灾监测系统设计
2018-08-23张力塬吴广富何金钟
张力塬,吴广富,周 横,何金钟
(重庆邮电大学,重庆400065)
0 引言
随着物联网的快速普及和发展,智能家居系统迎来快速发展的机遇。目前居民家庭基数大、分布广,电器设备不断增多,高层居住建筑林立,消防监督力量无法顾及,火灾发生几率和扑救难度日趋提高,智能家居系统中的火灾防控体系也需要逐渐规范、完善。
目前,国内学者对基于无线传感器网络的消防报警系统提供了多种不同的研究方法和思路,如杨轶杰、张军的基于无线传感器网络的高校宿舍消防报警系统的研究,提出了消防安全系统在高校寝室的解决方案[1];阚凤龙等人提供了智能式、大容量、网络化的火灾报警系统的解决方案,如ZigBee无线传感器网络在消防报警系统中的应用,解决了现有消防报警系统设计、施工与维护复杂,抗干扰能力低,故障率和误报率高等问题[2];李卿提出了基于无线传感器网络的消防报警系统的解决方案,实现了节点通过传感器全方位地对环境参数进行采集,并把采集到的数据信息进行相应的处理和传送,然后通过采集节点和监控平台同时进行预警[3]。
但是上述火灾防控供电体系都是基于市电供电[4],如果停电,家庭火灾自动报警系统就完全失效。基于此,本文提出了基于一种NB-IOT的低功耗消防报警系统。消防传感器网络供电系统是通过太阳能电池板对锂电池进行充电,同时需要实时检测充电电压,当电量不足时,能够减小采样频率降低系统功耗[5];利用DC-DC升压电路输出稳定的5V电压。该系统能在有效延缓充电电池使用时间的同时,充分利用锂电池电量,延长了电池使用寿命,可为火灾监测系统提供持续稳定的电源供给。
1 系统总体设计
本系统由供电系统和监测系统两部分组成。首先,供电系统的主要构成部分有充电电路、监测电路和稳压电路;锂电池充电电路采用CN3722实现对太阳能板的最大功率点追踪以提高太阳能利用率,将太阳能板输出电压转化为输出为4.2 V的电压从而为锂电池充电,该芯片能量转换效率为85%;监测电路采用DS2762监测锂电池电压、电量;稳压电路CS5171芯片输出5 V,最大电流可达1.5 A,从而为火灾监测系统供电。监测系统在室内部署烟雾传感器以及火焰传感器节点,采集室内的烟雾浓度以及监测室内是否有火焰,并通过蓝牙广播将数据传输给协调器节点。一方面,协调器节点负责接收并解析终端节点发送的数据,再通过NB模块将数据上传到云平台,之后通过云平台传送至上位机;另一方面,上位机也可以主动发出指令,实时查询终端节点状态,实现人机交互,如果有异常发生时,能够实时预警。本系统总体框架如图1所示。
图1 系统总体框架
2 硬件设计
硬件设计由锂电池充电电路、锂电池电压检测电路、稳压电路、传感器终端节点设计、协调器节点设计以及NB-IOT模块硬件设计组成。本系统采用的太阳能电池是多晶硅的10 W太阳能电池,在测试条件(1 000 W/M2,25℃,AM1.5输出功率误差:±5%)下,其最大功率为10 W,峰值电压为18 V,峰值电流为556 mA,开路电压为21.6 V,短路电流为630 mA。太阳能电池在阳光充足的情况下可以同时给系统充电并且给锂电池充电;在阳光不充足的情况下,太阳能电池单独给系统供电;在下雨天或者晚上,太阳能电池板无法获取能量,锂电池则负责给系统供电,实现锂电池以及太阳能板的供电转换采用增强型PMOS管SI2307实现,最大连续电流为2.5 A,当锂电池电压远小于太阳能电压时,SI2307截止,反之,SI2307导通,从而实现太阳能电池以及锂电池之间的供电电源转换。
2.1 NB-IOT模块硬件设计
该系统使用的NB-IOT模块为BC95模块,该模块支持电信NB-IOT网络以及移动NB-IOT网络;本系统使用移动NB网络,基于CoAP+LWM2M协议,实现OneNET与NB模块的无缝对接,实现了NB-IOT设备快速、稳定接入云平台,该模块适用于对设备成本敏感以及功耗要求低的应用场景[6];支持发送注册包功能;支持超低功耗模式;支持基本指令集。
2.2 锂电池充电电路
本系统使用了CN3722充电管理芯片[7],该芯片具有太阳能电池的最大功率点追踪功能,在工作环境温度-40℃~+85℃的条件下,芯片宽输入电压范围为7.5~28 V,开关频率为300 kHz,能够对单节或多节锂电池或磷酸铁锂电池进行完整的充电管理,充电电流最高可达5 A。
基于CN3722的充电电路如图2所示,充电过程中由LED1和LED2指示电池充电状态和充电结束。锂电池充电过程分为涓流、恒流、恒压3个阶段进行[8]。当锂电池两端电压低于所设置的恒压充电电压的66.7%,充电电路对锂电池进行涓流充电,充电电流为0.15IREG,IREG是恒定的充电电流。之后进入恒流充电阶段,电压逐渐升高到VREG=4.2 V,VREG是设定的恒定的充电电压。进入恒压充电阶段之后,电流逐渐减小到0,从而达到保护电池的目的。
图2 充电过程示意图
在图3电路图中,电阻Rcs决定充电电流大小,电流恒流值为IREG=200 mV/Rcs。充电电感(C1、C2、C3、C4)在20 μH以上即可,在此选择47 μH从而减少纹波,电容为10 μH钽电容。在恒压充电中,恒压充电电压值为[9]:
式中,IB为FB管脚的偏置电流,其典型值为50 nA。当VBAT是4.2 V时,电阻R6=68 kΩ,电阻R7=51 kΩ。在充电过程中为了保护电池,在TEMP脚和GND脚之间连接入一个负温度系数的10 kΩ热敏电阻来监测电池温度。当电池温度超过正常温度后,芯片停止对电池充电,在电池温度恢复到正常温度范围后继续充电。
CN3722采用恒电压法跟踪太阳能电池的最大功率点。当使用太阳能电池供电时,即使太阳能电池的输出功率很小,CN3722也能自动跟踪太阳能电池的最大功率点。在环境温度为25℃时,CN3722太阳能电池最大功率点跟踪端MPPT管脚的电压被调制在1.04 V,其配合片外的两个电阻(图4中的R3和R8)构成的分压网络,可以对太阳能电池最大功率点进行跟踪。这种最大功率点跟踪方法非常适合四季温差比较大或者日温差比较大的情形。在25℃时,太阳能电池最大功率点电压由下式决定:VMPPT=1.04×(1+R8/R3)。
图3 太阳能充电电路
2.3 锂电池电压检测电路
本系统的电压检测电路采用MAXIM公司的DS2762新一代智能锂电池监测芯片[10],该芯片可以实时监测电池的电压、电流、剩余电量以及充放电状况等参数,监测电路如图4所示。该芯片不仅有过流保护、过压保护、欠压保护等特性,并且可以将电池监测参数储存起来,供单片机处理。 该芯片内部有25 mΩ监测电阻以及外部监测电阻从而实现电流监测功能,电流最小分辨率为0.625 mA,动态范围是±1.9 A,电流积累运算的最小分辨率为0.25 mAhr;外部监测电阻的电流最小分辨率为15.625 μA,动态范围是±64 mV。电压测量的分辨率是4.88 mV。DS2762内部集成了A/D转换器,因此,通过单片机发送采集电压、电流的命令,待其采样完成后,芯片会将电压、电流的测量值存入相应的寄存器中,最后单片机可以读取相应寄存器的电压和电流值。单片机每一个时间间隔监测一次电压,DS2762的IS1和IS2两端的压差Vis=Vis1-Vis2转换成电流存入电流寄存器。如果Vis是正数,说明电池正在充电。如果Vis是负数,说明电池正在放电。剩余电量的监测则是利用电流累加寄存器中的值求得的,在电池充电时,该值增加;在电池放电时,该值减小。这样,通过单片机读取该值即可获得剩余电量。
图4 锂电池电压检测电路
2.4 稳压电路
锂电池的工作电压为2.75~4.25 V,而CS5171的工作电压为2.7~28 V,输出5 V,最大电流可达1.5 A,可以满足该消防传感器系统的工作电压、工作电流要求,所以该系统采用CS5171作为稳压芯片,CS5171是560 kHz的高效率开关稳压器。该芯片支持2.7~30 V宽输入电压。该芯片设计灵活,支持升压、降压、反向,稳压电路如图5所示。
图5 稳压电路
2.5 传感器终端及协调器节点设计
终端节点由CC2541模块、火焰传感器及烟雾传感器组成,火焰传感器、烟雾传感器节点通过数字量输出口DO向CC2541发送采集数据,CC2541将数据收集后以广播的形式将数据发送给协调器节点。协调器节点有STM32F103、NB模块和CC2541模块组成,协调器点的CC2541模块解析广播,提取数据,将数据通过NB模块上传云平台,终端节点以及协调器节点的结构框图如图6所示。
图6 传感器终端节点及协调器节点结构
3 软件设计与开发
3.1 终端节点软件设计
该设计主要针对火灾监测的实际需要,室内的火灾无线传感器网络采用网络的拓扑结构。系统正常工作时,不同终端节点的传感器进行室内环境监测,并且以广播方式传递给无线传感器网络的协调器节点,协调器再将传感器采集的数据发送给NB-IOT模块[6]。
由于锂电池晚间不能充电,所以要最大限度地降低系统功耗。无线传感器在软件设计时采用动态设置无线传感器网络终端节点的数据采样间隔以及节点休眠时间,从而有效降低系统的功耗,终端节点程序流程如图7所示。
图7 终端节点程序流程
3.2 协调器软件设计
协调器节点上运行的主程序流程如图8所示。
图8 协调器节点主程序流程
协调器上电后,首先对硬件和软件配置进行初始化和建立网络:协调器通过扫描终端节点的从机设备广播数据从而知道它是一个可连接的设备。接收到广播数据的协调器,发送一个扫描请求(scan request)给终端节点的从机,从机再返回扫描请求,从而建立新的网络。协调器主要负责接收室内的烟雾、是否有火焰等信息,并且自动绘制室内环境信息的变化曲线,还可以在协调器端或者云平台端设置储运环境数据阀值并实时报警[11]。锂电池的放电电压范围为2.75~4.25 V,放电截止电压为2.75 V。正常情况下锂电池电压是3.6~4.25 V。传感器正常情况下的采样间隔是30 s,在协调器端,为了最大限度内减小系统功耗[12],在电压比较弱的情况下(3~3.6 V),增大传感器的采样间隔为60 s;在电量非常低的情况下(2.75~3 V),再次增大传感器的采样间隔为120 s。
本系统后台服务器采用阿里云服务器Windows Server2008标准版,后台服务支持基于 apache-tomcat-7.0.42服务器和mysql-5.5.27 数据库,具体实现基于 java servlet(用于服务器,上位机交互式地浏览和修改数据),JDBC(用于执行SQL语句的JavaAPI),另一方面,我们也将数据上传到了中移物联网OneNET云平台,利用OneNET特有的应用界面自定义展示功能,进行数据可视化操作。
4 系统可行性验证
测试采用火灾监测无线传感器节点以及协调器节点,传感器网络节点以CC2541为核心,包括火焰传感器以及MQ-2烟雾传感器;协调器节点由STM32F103、主控以及NB模块组成。CC2541低功率蓝牙模块、火焰传感器、NB模块、STM32F103以及MQ-2烟雾传感器均为5 V供电;在系统正常工作的情况下,分别在晴天和阴雨天环境下,对供电系统各输出、传感器网络节点以及协调器节点进行了连续 72 h 测试[13],测试结果如图9、图10、图11和表1所示。
由图9、图10测试结果可知,晴天光照环境下,太阳电池板在每天8:00~18:00之间,电压输出电压达到14 V以上;锂电池电压在晴天光照、测试时间72 h之内,输出电压稳定在4~4.2 V之间;而在阴雨天环境下,由于光照强度不足,锂电池电压因放电而持续下降,锂电池经过连续72 h 放电后,其电压由初始的4.013 V 下降至3.789 V;由图11测试结果可知,不管是晴天还是阴雨天测试环境中,5 V输出电路的输出电压均较为稳定,平均偏差小于2.9%,可满足无线传感器网络节点正常工作的电源要求。
图9 太阳能电池电压测试数据
图10 锂电池电压测试数据
图11 5V输出测试数据
表1 设备功耗
设备最大电流消耗火焰传感器≤20 mAMQ-2烟雾传感器≤150 mA中移物联NB模块(平均电流)3.077 mACC2541低功率蓝牙模块×2180~800 μASTM32F103工作模式10.8 mA总的电流消耗≤184.677 mA
测试发现总的电流消耗为184.677 mA,每天系统工作24 h。该系统每天最多消耗22.1610 Wh,考虑到充电效率和充电过程中的损耗,其中锂电池充电电路能量转换效率为85%,稳压电路能量转换效率为91%,该系统最多需要锂电池提供28.6503 Wh的电量,而该系统锂电池的电量为37 Wh,足以维持该系统的正常工作。
5 结束语
系统将太阳能供电、无线传感器网络技术和 NB-IOT 技术进行融合设计了基于NB-IOT的自供电火灾监测系统,该系统实现了系统自供电,室内烟雾、火焰数据的采集以及各种设备的远程无线自动控制。系统通过采用太阳能最大功率点追踪技术、DC-DC稳压技术、低功耗的 NB-IOT技术以及控制无线传感器网络的节点休眠技术降低了整个系统的实际功耗,延长系统的使用时间。从实验结果来看,电路满足设计总体需求,不仅解决了室内传感器网络的供电问题,而且还具有供电持久、环保节能和便于维护等优点。