宋汝浩,李 成,张 泽,李科遥,马锦毅,朱代先
(西安科技大学 通信与信息工程学院,西安 710600)
UPS(Uninterruptible Power System,不间断电源)是一种含有储能装置,以逆变器为主要组成的稳压、稳频的不间断输出电源,用以实现对负载的不间断供电,保证负载正常工作,不受损坏[1]。UPS被广泛应用在变电站,数据中心、通信基站等重要场合,每年因UPS故障引发事故的案件时有发生。根据调查,国内大部分UPS都没有安装监测仪器,并且只有少部分的UPS蓄电池遵循规定进行了周期性的维护,这使得UPS发生故障的概率大大增加[2]。究其原因是人工巡检排查间隔时间长,并不能及时发现异常状况,无法提前做出防范措施。同时因为当前市面上带有监管功能的UPS多数是通过RS232、USB等通讯接口与电脑连接的方式进行数据传输,有线连接的使用场景受限且不方便,并且带有此种功能的UPS价格远远超出常规UPS,用户群体较小。
基于上述情况,本文所介绍的UPS智能在线监测系统将数据的传输方式升级为无线传输。虽然无线连接相较于有线连接降低了数据的可靠性和传输速度,但是无线连接使用场景更加广泛,减少了有线连接的成本,操作更加方便,而且使UPS的集群管理变为可能。同时,伴随着物联网和移动通信技术的快速发展,无线数据传输的稳定性和传输速度已经得到大大提升。其中,基于蜂窝的NB-IoT (Narrow Band Internet of Things,窄带物联网)技术逐渐成熟,有着越来越广泛的应用前景。NB-IoT可采取独立部署、保护带部署和带内部署3种部署方式,与现有网络共存,实现低功耗设备在广域网的蜂窝数据连接[3]。同时由于NB-IoT增益较高,频谱效率高,可接入设备容量大[4]。与NB-IoT同作为LPWAN(Low-Power Wide-Area Network,低功耗广域网)的LoRa技术也具有低功耗、广覆盖、广连接的优势,但LoRa需要自建网络,适用于终端较为集中的应用场景;而NB-IoT可以与已经成功部署的GSM和LTE网络共存,利用现有网络硬件,降低部署成本[5],适用于终端设备分布范围广,使用地区偏远,通信频繁的场景,并且NB-IoT在数据传输速率、延迟、可靠性等方面更具有优势[6]。
近年来针对UPS智能在线监测的问题,已有人提出了不同的方案架构,胡哲纲[7]等研究了分布式UPS蓄电池远程在线监测系统的参数架构,夏志梁[8]研究了UPS在线监测系统的关键技术,但以上研究都没有给出实现系统功能的具体技术。本文在此基础上,结合NB-IoT技术设计一个UPS智能在线监测系统,详细介绍了各功能的具体实现方法,实现对UPS机房的实时监测,使UPS设备的管理更加智能化、高效化。该系统可以存储UPS的历史工作数据,利用大数据分析潜在故障并及时发送警告,通过集群管理,系统几乎可以在同一时刻采集到各组UPS的工作数据,全自动专业化测试更加精确,也降低了管理人员的工作量,提升了管理效率。
为了能够实时监测UPS的工作状态,系统需要能够采集UPS的输入输出电压、电流,输出功率、频率、负载率等工作状态数据以及机房温湿度环境参数,能够对数据进行预处理和分析,将采集到的模拟信号转换为数字信号,并计算得到具有实际物理意义的数据,然后将数据利用无线网络传输到云服务器,管理人员可以登录Web端和移动端从服务器获取数据和下发指令。根据UPS的监测需求,系统的总体结构分为3个部分,包含用于UPS设备数据采集与控制以及数据上传的检测终端,云服务器和用于远程监控的监管中心。系统结构如图1所示。
图1 系统结构图
检测终端主要是采集UPS的工作状态数据,包括UPS的输入输出电压、输入输出电流、输出频率、功率因数、电池电量和内阻等,并对数据做预处理,通过NB-IoT模块将各个UPS检测终端采集的数据利用NB-IoT无线专网汇聚到云服务器;云服务器主要功能是将检测终端上传的数据进行分析、存贮和发布,同时提供数据搜索引擎功能,供监管中心远程调用;监管中心包含Web端和移动应用端,是具有人机交互界面的操作终端,实现智能监管的各项管理功能,管理人员可以通过Web端或移动应用端从服务器获取数据,进行显示、异常报警等,同时也可通过监管中心下发命令控制UPS检测终端。
系统硬件设计核心为检测终端的硬件设计,该部分设计对系统的功能实现起到决定性作用。UPS作为一个电源,首先需对其输入和输出电压电流、功率、频率等进行监测,其次由于不同UPS的输出功率因数和负载率不同,要保证UPS工作在正常状态,还需对UPS输出端功率因数进行监测。UPS内部的整流电路和逆变电路工作时会产生大量的谐波,对电力电子设备影响严重,因此需对输出电压谐波进行检测,同时UPS对于工作环境的温湿度也具有一定要求,还需在系统中加入对UPS工作环境的监测功能。
基于以上功能需求,检测终端的硬件设计以STM32F103RCT6微控制器为核心,包含远程通信模块电路,电压电流检测电路,谐波检测电路,交流电能计量模块电路和温湿度采集模块电路。检测终端硬件框图如图2所示。
图2 检测终端硬件组成框图
检测终端中的STM32F103RCT6微控制器通过对应引脚控制各个模块,模块通过A/D转换接口,IIC总线或者UART(Universal Asynchronous Receiver-Transmitter,通用异步收发器)通信方式与微控制器进行数据交互,进而实现数据采集与传输。
微控制器模块作为检测终端的指令控制中心和数据处理中心,其性能决定了检测终端对于UPS的监测准确性。从性能和功耗等方面综合考虑,检测终端主控芯片采用的是STM32F103RCT6微控制器,该处理器是基于ARM Cortex-M3内核的微控制器,串口数量多,带有IIC接口和12位的ADC采集通道,PWM功能强大,能够满足本系统的设计需求。微控制器主要作用是控制检测电路和各个模块对UPS设备工作状态数据进行采集和预处理,将模拟信号转换为数字信号,并计算得到UPS的功率、负载率等数据。当需要进行数据上传时,微控制器会发送指令唤醒远程通信模块,将数据通过串口发送到远程通信模块,该模块再通过NB-IoT无线网络将数据发送至云服务器,并在MySQL中记录历史数据以备日后查看[9]。
远程通信模块采用NB-IoT系列的BC26模块,该模块是一款高性能、低功耗、多频段的无线通信模块,具有SIM卡卡座、多个通信串口、滤波天线等。BC26模块的供电电压支持5 V或3.3 V,与微控制器供电电压一致,其工作电流只需0.5 A,低于4 G、WIFI等通信模块的工作电流,降低了功耗,减轻了电源设计要求,同时该模块具有丰富的外部接口和协议栈,支持连接阿里云、ONENET云等多个云平台,应用场景更加灵活。BC26模块主要负责数据的远程传输,它一方面负责将单片机串口传输的数据按约定的协议进行编码、打包,再发送至远程服务器;另一方面将服务器下发的指令经过解码发送给单片机,实现远程交互。BC26模块的电路原理如图3所示。
图3 BC26模块电路原理图
针对UPS输出电压、电流、功率、频率以及功率因数等数据的测量,采用SUI-101A交流电能计量模块,该模块是一款互感器隔离的高精度多功能交流变送器,它可以采集UPS在市电下输入的交流电流、电压、有功功率、累计电量、频率、功率因数等参数[10],功能强大,测量精确,通过UART接口与微控制器进行通信,硬件连接方便,可直接输出数字信号。该模块搭载一个电流互感器和一个电压互感器,将被测电压降至到可采集的低电压,实现高低压的完全隔离,再通过相关电路变换成与被测电压成线性关系的直流电压送入到高精度24位ADC芯片,将模拟信号转换为数字信号,通过串口发送给微控制器。SUI-101A交流电能计量模块电路如图4所示。
图4 SUI-101A交流电能计量模块电路图
蓄电池管理是UPS供电系统维护的重要工作,而蓄电池内阻的大小是评判蓄电池健康状态的重要衡量标准。内阻的测量方式采用直流放电法,该方法是对电池进行瞬间大电流放电,通过负载接通瞬间的电池电流和电压来计算内阻。该方法可在线测量电池内阻,测试结果不受充电纹波和其他噪声的影响,具有较高的精度和重复性[11]。其具体原理是:蓄电池接通负载后,其内阻会造成瞬间电压压降,经过3~4 s后,负载放电电流达到一个稳定值,在关断负载放电电流前的瞬间,测量此时的稳定电流值I和负载的电压值U1。在负载电流关断后瞬间,测出蓄电池两端电压U2,根据欧姆定律,推导出蓄电池实际内阻。内阻计算公式为:
电压电流的实际测量电路如图5所示。蓄电池电压电流检测电路接在蓄电池输出电压VOUT与下一级BUCK降压电路之间。蓄电池输出电流的检测电路使用INA282电流感应放大器芯片为核心搭建,芯片的-IN脚与+IN脚之间接入一个阻值极小的采样电阻,由于采样电阻分得的电压较低,无法被微处理器直接检测,于是利用INA282芯片微弱电流检测能力的特性对该电压进行放大。芯片内有6 kΩ的差分输入电阻,在芯片正常工作时,会把这个电阻上的电压放大50倍然后输出,同时在3.3 V供电系统里面,INA282的输出可直接进行A/D变换[12]。于是电压便能够被微处理器ADC接口检测到,继而可以计算得到电路中的电流。蓄电池的输出电压通过OPA189运放差分电路搭建,电阻R2、R4构成分压电路将输出电压按比例缩小,再输送至微控制器A/D转换接口,软件解算出输出电压。实际应用中可以拟合曲线,使结果更加精确。
图5 蓄电池输出电压电流检测电路
测量UPS输出端谐波可直接利用STM32微控制器的12位ADC进行采集,其具体方法是利用电流互感器,将一次侧大电流转换为二次侧小电流,在二次侧利用整流桥将双极性信号转化为单极性信号,再用采样电阻将电流信号转化为电压信号,直接输入微控制器的A/D转换接口进行高速采样。微控制器读取到采样点值,便可在程序中利用FFT算法解算出频谱,得出THD(Total Harmonic Distortion,总谐波失真)和第3、5次谐波的频率和幅值。
对于UPS工作环境的监测,使用DHT11数字温湿度采集模块直接测量,该模块是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,内部包含一个电容式感湿元件和一个NTC测温元件,带有数字信号输出,可以通过IIC总线和单片机直接相连[13],简化硬件连接,减小程序复杂度。
在电池供电应用中,电源的设计极为重要,供电的稳定性将直接影响到整个系统的工作。本设计将蓄电池输出电压通过BUCK电路降压并稳压后作为检测终端的电源输入。BUCK电路将电压降低后输送到以TPS7B4253芯片为核心的电源电路中,TPS7B4253器件是具有超低跟踪公差的单片集成LDO (Low Dropout Regulator,低压差线性稳压器)[14],该器件可根据ADJ引脚的基准电压精准调节输出电压,将上一级BUCK电路输出的BUCK-OUT电压转换为5 V输出,可为微控制器等提供稳定电源,之后通过正向低压降稳压器AMS1117芯片将5 V电压降为3.3 V供BC26等模块使用。电路原理图如图6所示。
图6 电源电路
系统软件设计包括检测终端的软件设计和监管中心的软件设计。
检测终端软件设计使用的开发语言是C语言,该语言一共只有32个关键字,9种控制语句,使用方便,书写形式自由。开发环境为Keil MDK-ARM,MDK-ARM包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,使用起来方便快捷。在Keil MDK-ARM软件中进行检测终端C语言程序的编写、 编译、修改,将编译无误后的程序下载到STM32F103单片机中实现软硬件联合调试,再由硬件的具体现象完善程序功能。
3.1.1 主程序设计
检测终端程序启动后,首先对STM32微控制器进行初始化,包括中断,定时器、GPIO、UART、ADC等,然后微控制器对各个模块进行初始化配置,最后,微控制器开启定时器,进入低功耗模式。等待定时结束后,微控制器控制各个检测电路和模块采集UPS的输入输出电压和电流、输出功率、负载率、蓄电池内阻等数据,同时对数据进行计算和判断,若数据异常,如UPS设备的输出电压电流超出设定的阈值,功率和负载率超出额定值,则立即执行预先设定的紧急程序并在向BC26模块发送的数据中添加相应的报警信息;若数据正常,则微控制器按照网络通信协议将数据打包封装,通过串口发送到BC26模块,然后通过NB-IoT无线网络将数据上传至云服务器。一次采集完成后,检测终端进入低功耗模式,等待定时结束开启下一次数据采集。定时时间和报警阈值都可根据监测需要调整,管理人员只需在监管中心发送相应指令,微控制器便可通过BC26模块接收和保存阈值数据,并在每次数据采集时进行判断。STM32微控制器主流程如图7所示。
3.1.2 BC26通信程序设计
BC26模块通过MQTT协议与阿里云物联网平台建立连接,终端设备通过具有发布权限的Topic向物联网平台上报数据,物联网平台控制台可以直接通过已订阅的Topic,向指定设备下发指令或发送消息。MQTT是一种基于代理的轻量级发布/订阅消息传输协议,其可在低带宽、不可靠网络中进行数据的有效传输,已成为物联网标准传输协议[15],其优点有协议内存占有少、对网络质量要求低等,是一种即时通信协议。BC26模块注册网络连接、订阅主题、发起通信请求、设备注销等都是微控制器通过串口发送AT指令进行控制。BC26模块入网流程如图8所示。程序启动后,首先进行模块初始化,查询网络状态、信号质量等,判断是否符合入网条件,SIM卡入网成功后订阅主题,BC26模块接收由微控制器发送的数据,按照网络通信协议将数据上传至阿里云物联网平台。为了降低功耗,当STM32单片机待机时,单片机会向BC26模块发送关机脉冲使其进入PSM (Power Saving Mode)低功耗模式,等待定时结束开启下一次数据采集,若超过一定时间未收到主控芯片发来的指令,BC26模块会自动进入低功耗模式,等待下一次唤醒[16]。
图8 BC26通信程序流程图
3.1.3 FFT谐波分析程序设计
FFT(Fast Fourier Transformation,快速傅里叶变换)是实现电力谐波检测运用最广泛的方法,可以有效地解决采样数据占用存储空间大与频谱分析精度低的问题。其程序的具体实现流程为:首先通过互感器感应电网中的电压电流信号,利用STM32微控制器中的定时器周期性地触发ADC采集,采样得到波形序列X(n),通过FFT算法得到电压、电流信号的频谱信号。但是由于电力系统的频率并非始终为额定频率,无法保证采样频率为实际工作频率的整数倍,因而存在栅栏效应和频谱泄漏现象[17]。故采取加窗函数FFT的方法进行检测分析,以减小检测误差。以采样频率fs对输入信号进行N点采样,得到对应离散信号,并对信号进行截断处理,随后实施离散傅里叶变换,最后对离散的频谱计算谐波参数[18]。所计算参数包括检测电流基波的频率、幅值以及第3、5次谐波分量的频率和幅值。加窗函数的分析流程如图9所示。
图9 FFT谐波分析程序流程图
监管中心的数据从阿里云服务器获取,监管中心基于HTTP协议(Hyper Text Transfer Protocol,超文本传输协议)与阿里云物联网平台通信,通过调用平台订阅接口请求终端上传的数据。监管中心的Web应用和移动应用使用Web可视化开发工作台设计,Web可视化开发工作台是阿里云物联网应用开发(IoT Studio)中的工具,可从物联网平台设备接入和管理模块中直接获取设备相关的属性、服务、事件等数据,无需编写代码,只需在编辑器中拖拽组件到画布上,再配置组件的显示样式、数据源及交互动作即可快速完成设备数据监控相关的Web应用、移动应用的开发。
管理人员登录Web端或移动应用端后可直接从物联网平台中获取相关设备数据,完成数据的显示、异常报警和指令下发操作。监控命令下发时,根据通信协议,通过Web端或移动应用端监控界面发送命令至云平台,云平台解析命令并通过NB-IoT模块下发至检测终端,检测终端的微控制器接收命令成功后返回确认参数至云平台[19]。此外,监管中心还具有以下功能:
1)能够对数据进行存储、显示和查询。平台能够对任意一组UPS的实时状态进行显示,并以各种图像和颜色加以区分。监管中心还具有数据存储功能,能够查询每组UPS设备的充放电周期、输出电压电流以及UPS工作环境状态等历史数据。
2)分析系统内各组UPS运行状态。管理平台能够对各个UPS设备的运行时间、负载率和故障信息等数据进行汇总统计,依靠大数据分析,对电池电量进行评估,判断出电池组的寿命周期,分析UPS工作参数变化趋势,一旦状态趋向于异常,及时发出警告信息[20]。
3)具有对每台UPS设备实时报警功能。管理人员可根据不同类型的UPS设置特定的电压电流范围、频率范围、温湿度范围等,一旦某一参数超出设定阈值,就会触发报警。
4)可根据用户对UPS系统设备维护管理要求,完善一些运行状态记录、报表打印等功能需求[21]。
为验证系统的可行性及稳定性,在不同位置布置多个检测终端,对系统硬件和软件进行功能实验和性能实验,具体实验方法如下。
对检测终端的数据采集和上传功能进行测试,通过现场使用电压表和数字功率计对UPS设备的电压、电流、功率等进行测量,与检测终端上传到监管中心的数据进行对比,若数据无明显差异则证明检测终端可以正确采集数据并无误地上传。首先测试市电正常时UPS为负载供电的模式,测量市电输入电压和UPS的输出电压,现场测量结果和监管中心数据显示结果如表1所示。
表1 输入输出电压测量结果表
其次断开市电模拟市电故障,UPS切换为蓄电池为负载供电模式,测量蓄电池电压和UPS输出电压,现场测量结果和监管中心显示结果如表2所示。
表2 输出电压和蓄电池电压测量结果表
根据表1表2可知,UPS工作在两种模式时,现场测量数据和检测终端上传到监管中心的数据基本一致,测量误差均在可接受范围内,证明检测终端可正确采集设备的各项参数并准确上传至云平台。监管中心页面如图10和图11所示,监管中心设备数据界面通过图像和数字直观显示了当前UPS的电压、电流、功率等工作状态数据,表明检测终端可以正常连接到云服务器并上传数据,系统可实现数据的定时采集和上传。
图10 监管中心Web主界面
图11 监管中心移动应用界面
性能测试方法:由监管中心向检测终端发送指令,检测终端收到指令后回复应答信号,监管中心收到应答信号视为一次有效通信,若超时未收到应答信号则判定为通信失败。对两个设备分别测试1 000次,统计通信成功率如表3所示。
表3 NB-IoT通信统计表
由表3得出,两个设备通信成功率均在99%以上,证明该系统可实现数据在监管中心与检测终端之间的可靠传输。其中,通信失败的原因主要是由于发送指令过于频繁导致终端接收数据包错误或者接收超时导致的。
经过现场多次测试表明,检测终端硬件实现设计要求,软件系统运行稳定可靠,数据收发正常,实现在线监测的功能。
本文提出的基于NB-IoT的UPS智能在线监测系统,讨论数据检测终端、远程通信模块和远程管理终端的组成与功能,详细阐述了各个模块的基本原理和硬件设计,实现了对UPS的实时监测和集群管理,解决了人工巡检UPS机房耗时耗力、发现异常状况不及时的问题。相较于传统的维护管理方法,使用UPS智能在线监测系统是更加科学、更加高效的维护管理方法,它将综合提升UPS系统功能,保障生产安全,提高企业维护管理能力,具有广泛的应用价值。