宋汝浩,李 成,張 澤,李科遙,馬錦毅,朱代先
(西安科技大學 通信與信息工程學院,西安 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系統功能,保障生產安全,提高企業維護管理能力,具有廣泛的應用價值。