摘? 要:直流配電柜的蓄電池組是其備用電源,當(dāng)市電中斷時為負(fù)載供電。蓄電池組在安裝投入運行后5年內(nèi)不會更換。通過檢測單體蓄電池的電壓和電流,可以及時發(fā)現(xiàn)和更換故障的蓄電池。文章以Arduino UNO板為核心,設(shè)計一種直流配電柜單體蓄電池電壓和電流檢測系統(tǒng),實現(xiàn)了對直流配電柜單體蓄電池電壓和電流值的有效檢測,解決了直流配電柜運行過程中的安全隱患。
關(guān)鍵詞:Arduino;直流配電柜;單體蓄電池;電流檢測
中圖分類號:TP311;TM912? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2023)09-0042-04
Abstract: The battery pack of the DC distribution cabinet is its backup power supply, which supplies power to the load when the main electricity is interrupted. The battery pack will not be replaced within 5 years after installation and operation. By detecting the voltage and current of the single battery, the faulty battery can be found and replaced in time. Taking Arduino UNO board as the core, this paper designs a single battery voltage and current detection system of DC distribution cabinet, which realizes the effective detection of the single battery voltage and current value of DC distribution cabinet, and solves the potential safety hazard during the operation of DC distribution cabinet.
Keywords: Arduino; DC distribution cabinet; single battery; current detection
0? 引? 言
空管系統(tǒng)的微波和光端機(jī)等通信設(shè)備通常采用帶蓄電池組的-48 V直流配電柜供電,以保證市電中斷時通信設(shè)備仍能正常工作。根據(jù)最新的供配電設(shè)備運行維護(hù)管理要求,每季度應(yīng)對直流配電柜的蓄電池進(jìn)行1次放電維護(hù),且至少每10分鐘應(yīng)記錄1次蓄電池組的總電壓以及單體蓄電池的電壓和電流值。直流配電柜雖然配置了本地監(jiān)控模塊,但往往只能檢測和顯示蓄電池組的總電壓和負(fù)載電流值,不能檢測單體蓄電池的電壓和電流值;由于沒有配置遠(yuǎn)程監(jiān)控終端,設(shè)備維護(hù)人員無法遠(yuǎn)程獲得蓄電池組的狀態(tài)信息。這不僅無法滿足蓄電池的放電維護(hù)和遠(yuǎn)程狀態(tài)監(jiān)視需要,還不能及時發(fā)現(xiàn)性能下降的蓄電池,存在明顯的安全隱患。
本文提出了一種基于Arduino UNO板的直流配電柜單體蓄電池電壓和電流檢測系統(tǒng)的設(shè)計方案,以解決上述安全隱患,保障通信設(shè)備的供電安全,供大家參考。
1? 直流配電柜和Arduino簡介
1.1? 直流配電柜簡介
直流配電柜主要包括交流配電單元、整流模塊、直流配電單元、蓄電池組和本地監(jiān)控單元。交流電通過交流配電單元進(jìn)入整流模塊,整流模塊將交流電轉(zhuǎn)換成-48 V直流電,由直流配電單元分給多路負(fù)載供電。交流電供應(yīng)正常的情況下,整流模塊除了給直流負(fù)載供電外,還為蓄電池組提供充電電流。當(dāng)交流電斷電時,整流模塊停止工作,由蓄電池組給直流負(fù)載供電。交流電恢復(fù)后,整流模塊重新給直流負(fù)載供電,并對蓄電池組進(jìn)行充電,補充消耗的電量。本地監(jiān)控單元實時監(jiān)控直流配電柜各部件的運行狀態(tài),如有異常,及時發(fā)出聲光告警,并提供本地手動狀態(tài)查詢功能。
1.2? Arduino簡介
Arduino是一款近年來比較流行的便捷靈活、方便上手的開源電子原型平臺,已發(fā)布多個型號的開發(fā)板,具有開發(fā)簡單、價格便宜、模塊豐富的特點,能夠作為人機(jī)交互、物聯(lián)網(wǎng)的節(jié)點,甚至成為各種人工智能的中心。其中,UNO板是一款適合入門、功能齊全且使用最多的Arduino開發(fā)板,主要包控制芯片(ATMega 328)、USB接口、I/O端子和供電系統(tǒng)4個模塊。Arduino UNO板不僅具有6個10位的模數(shù)轉(zhuǎn)換通道,能將0到5 V之間的輸入電壓轉(zhuǎn)換為0到1 023之間的整數(shù)值,還能使用USB線與上位機(jī)連接,并在上位機(jī)上虛擬出一個串口設(shè)備,非常適合用于信號檢測和串口通信。
2? 系統(tǒng)總體設(shè)計
本設(shè)計以Arduino UNO板為核心,總體設(shè)計框圖如圖1所示。直流配電柜給通信設(shè)備提供-48 V電源,其電池組由4塊12 V蓄電池組成,采用正極接地方式。4個電壓采樣模塊分別對1至4號蓄電池的電壓進(jìn)行采樣,并將得到的電壓采樣信號接入Arduino UNO板的模擬輸入端口A0至A3。電流采樣模塊對蓄電池的電流進(jìn)行采樣,并將得到的電流采樣信號接入Arduino UNO板的模擬輸入端口A4。Arduino UNO板使用USB線與上位機(jī)連接,根據(jù)預(yù)先設(shè)計的通信協(xié)議進(jìn)行串口通信,可互傳數(shù)據(jù)。同時,上位機(jī)通過此連接向Arduino UNO板提供5 V電源。Arduino UNO板中的電壓和電流檢測程序首先對電壓和電流采樣信號進(jìn)行循環(huán)檢測和處理,然后將真實的電壓和電流值上報給上位機(jī),上位機(jī)則對電壓和電流值進(jìn)行接收,并在顯示軟件界面上進(jìn)行實時顯示。顯示軟件界面如圖2所示。
3? 系統(tǒng)硬件設(shè)計
3.1? 電壓采樣模塊
直流配電柜的電池組由4塊蓄電池串聯(lián)組成,采用正極接地。雖然每塊蓄電池正負(fù)極之間的電壓基本相同,但正負(fù)極的對地電壓(共模電壓)卻各不相同,其中1號蓄電池的對地電壓最高。通常情況下,蓄電池在充電時其最高電壓不超過15 V,則1號蓄電池負(fù)極的最高對地電壓不超過-60 V。因此,電壓采樣模塊在對單體蓄電池的電壓進(jìn)行采樣的同時,還必須能夠承受最高-60 V的共模電壓,否則電壓采樣模塊不僅無法正常工作,甚至還可能被高共模電壓燒毀。為了減小電池內(nèi)阻對采樣結(jié)果的影響,電壓采樣模塊還應(yīng)具有高輸入阻抗。
本設(shè)計的電壓采樣模塊使用由集成運放及負(fù)反饋回路構(gòu)成的差分比例放大電路,具有低功耗、低增益誤差、高共模抑制比等特點,電路原理圖如圖3所示。其中,集成運放選用LM324,采用+15 V和-15 V雙電源供電,外圍電路包括4個電阻,用于設(shè)置輸入阻抗、放大比例和所能承受的共模電壓。根據(jù)圖3的電路結(jié)構(gòu)和參數(shù)可知,該差分放大電路具有高輸入阻抗,不僅能夠直接對單體蓄電池的電壓進(jìn)行比例放大,還可以承受-75 V至75 V的共模電壓,其輸出電壓計算式為:
V0= (Vin+-Vin-) /4.7? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)
本設(shè)計檢測的單體蓄電池最高電壓不超過15 V,根據(jù)式(1)計算得知,電壓采樣模塊輸出的蓄電池電壓采樣信號低于3.2 V,滿足不超過Arduino UNO板的模擬信號輸入口最高輸入電壓5 V的要求。
3.2? 電流采樣模塊
本設(shè)計的電流采樣模塊包括霍爾電流傳感器和電壓跟隨器,電路原理圖如圖4所示。其中,霍爾電流傳感器的型號為WHK-50EKA5S2,量程50 A,采用+5 V電源供電,是利用霍爾效應(yīng)原理制作的開環(huán)電流傳感器,能夠測量交流、直流、脈沖信號以及其他不規(guī)則信號,具有精度高、線性好、響應(yīng)快等特點。當(dāng)蓄電池電流通過磁環(huán)時,霍爾電流傳感器會輸出一個與流經(jīng)電流Ip線性相關(guān)的電壓VIout,計算公式如式(2)所示。當(dāng)Ip為正時,表示蓄電池處于充電狀態(tài);當(dāng)Ip為負(fù)時,表示蓄電池處于放電狀態(tài)。
VIout=2.5+0.04 Ip? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)
由于霍爾電流傳感器的輸出電阻較大,且隨溫度改變而改變,如果將其輸出電壓直接接入Arduino UNO板的模擬信號輸入口,會對電流檢測精度造成較大影響。而電壓跟隨器的輸入電壓與輸出電壓的大小和相位完全相同,具有輸入阻抗很高和輸出阻抗很低的特點,在電路中起到隔離前后級和阻抗匹配的作用。因此,將霍爾電流傳感器的輸出電壓通過電壓跟隨器完成隔離和阻抗匹配后再接入Arduino UNO板的模擬信號輸入口,以提高電流檢測精度。
本設(shè)計檢測的蓄電池最大電流不超過10 A,根據(jù)式(2)計算得知,霍爾電流傳感器的輸出電壓不超過2.9 V,滿足不超過Arduino UNO板的模擬信號輸入口最高輸入電壓5 V的要求。
4? 系統(tǒng)軟件設(shè)計
4.1? 通信協(xié)議設(shè)計
系統(tǒng)軟件包括Arduino UNO板電壓和電流檢測程序以及上位機(jī)顯示軟件,采用主從結(jié)構(gòu)設(shè)計,由上位機(jī)通過發(fā)送相應(yīng)指令對Arduino UNO板進(jìn)行控制。Arduino UNO板收到上位機(jī)的指令后,按預(yù)先規(guī)定的通信協(xié)議開始檢測蓄電池電壓和電流并上報真實的蓄電池電壓和電流值,上位機(jī)則對蓄電池的電壓和電流值進(jìn)行接收和實時顯示。上位機(jī)與Arduino UNO板之間的通信協(xié)議如表1所示。其中,上位機(jī)指令包括1個啟動檢測指令、4個電壓查詢指令和1個電流查詢指令。完成通信協(xié)議設(shè)計后,就可以進(jìn)行系統(tǒng)軟件設(shè)計了。
4.2? Arduino UNO板電壓和電流檢測程序設(shè)計
Arduino UNO板電壓和電流檢測程序設(shè)計使用類似C語言的程序開發(fā)環(huán)境Arduino IDE,可以在Arduino官網(wǎng)上免費下載。只要在Arduino IDE中編寫程序代碼,將程序上傳至Arduino UNO板后,程序便能控制Arduino UNO板實現(xiàn)信號檢測和處理,并與上位機(jī)進(jìn)行串口通信。
Arduino UNO板與上位機(jī)進(jìn)行串口通信的波特率設(shè)置為9 600。當(dāng)Arduino UNO板接收到上位機(jī)的啟動指令‘S’時,便開始對電壓和電流采樣信號進(jìn)行循環(huán)檢測和計算處理,得到真實的電壓和電流值。之后,當(dāng)Arduino UNO板接收到上位機(jī)的查詢指令時,便根據(jù)預(yù)先設(shè)計的通信協(xié)議將相應(yīng)的真實電壓或電流值上報給上位機(jī)進(jìn)行顯示。電壓和電流檢測程序流程圖如圖5所示。
其中,Arduino UNO板電壓和電流的檢測原理為:首先對接入模擬信號輸入口的電壓或電流采樣信號進(jìn)行10位模數(shù)轉(zhuǎn)換,得到0到1 023之間的某一個整數(shù)值V,然后根據(jù)式(3)計算得到蓄電池電壓的真實值,根據(jù)式(4)計算得到蓄電池電流的真實值。
4.3? 上位機(jī)顯示軟件程序設(shè)計
由于上位機(jī)顯示軟件實現(xiàn)的主要功能是串口通信和信息顯示,并沒有大量的數(shù)據(jù)分析,且要求顯示界面簡潔友好,因此選擇使用編程語言C#進(jìn)行上位機(jī)顯示軟件的高效開發(fā)。顯示軟件程序流程圖如圖6所示。其中,上位機(jī)首先發(fā)送字符‘S’命令A(yù)rduino UNO板開始檢測蓄電池電壓和電流,然后根據(jù)預(yù)先設(shè)計的通信協(xié)議向Arduino UNO板發(fā)送查詢指令,依次對1至4號蓄電池的電壓和電流值進(jìn)行查詢并將查詢結(jié)果在界面上進(jìn)行顯示,且信息查詢和顯示界面數(shù)據(jù)更新的周期為1秒。
5? 測試分析
根據(jù)系統(tǒng)設(shè)計完成軟硬件的安裝調(diào)試后,對系統(tǒng)的電壓和電流檢測準(zhǔn)確度進(jìn)行了測試。用電壓表和該系統(tǒng)同時測量的電壓檢測數(shù)據(jù)如表2所示,電壓檢測精度在30 mV以內(nèi)。用電流表和該系統(tǒng)同時測量的電流檢測數(shù)據(jù)如表3所示,浮充時電池電流很小,電流檢測絕對誤差為0.02 A,但相對誤差較大;放電時電流較大,絕對誤差為0.04 A,但相對誤差較小,低于2%。通過以上測試分析,該系統(tǒng)的電壓和電流檢測準(zhǔn)確度滿足實際使用需要。
6? 結(jié)? 論
本文提出了一種基于Arduino UNO板的直流配電柜單體蓄電池電壓和電流檢測系統(tǒng)。該系統(tǒng)硬件結(jié)構(gòu)簡單、成本較低、安全可靠,軟件設(shè)計流程清晰、簡潔明了。在設(shè)計電壓采樣模塊時,通過合理設(shè)置差分放大電路的元器件參數(shù),成功解決了高共模電壓可能導(dǎo)致電壓采樣模塊無法正常工作的問題。在設(shè)計電流采樣模塊時,通過使用電壓跟隨器對霍爾電流傳感器和Arduino UNO板進(jìn)行隔離和阻抗匹配,提高了電流檢測精度。該系統(tǒng)實現(xiàn)了對直流配電柜單體蓄電池電壓和電流值的有效檢測,其中電壓檢測精度30 mV,放電電流檢測誤差小于2%。通過實際測試,該系統(tǒng)工作穩(wěn)定,性能良好。
參考文獻(xiàn):
[1] 王治國,高玉峰,郭云鵬.基于Mega16的蓄電池狀態(tài)檢測系統(tǒng) [C]//第十七屆全國測控計量儀器儀表學(xué)術(shù)年會(MCMI'2007).廈門:電子測量與儀器學(xué)報雜志社,2007:46-50.
[2] 王超,秦會斌.基于STM32的鉛酸蓄電池充放電監(jiān)測系統(tǒng)設(shè)計 [J].軟件導(dǎo)刊,2018,17(1):122-125+128.
[3] 漸彬彬.蓄電池檢測方法的研究與改進(jìn)措施探討 [J].中國設(shè)備工程,2021(16):142-143.
[4] 王文琦,侯艷強,李維.一種蓄電池在線監(jiān)測系統(tǒng)的設(shè)計與應(yīng)用 [J].黑龍江電力,2022,44(4):313-320.
[5] 杜瑞濤,徐洋.基于單片機(jī)技術(shù)的蓄電池充放電控制系統(tǒng)設(shè)計 [J].光源與照明,2022(4):132-134.
作者簡介:蒲成雷(1986—),男,漢族,四川蓬安人,工程師,本科,研究方向:空管雷達(dá)、地空通信、單片機(jī)。