唐旺祥,沈國(guó)平,何 衍
(1.浙江大學(xué)電氣工程學(xué)院,浙江杭州 310027;2.杭州大光明通信系統(tǒng)集成有限公司,浙江杭州 310027)
隨著移動(dòng)通信網(wǎng)絡(luò)的不斷擴(kuò)大,通信基站的建設(shè)也越來(lái)越廣泛。鉛酸蓄電池由于其密封環(huán)保、性能穩(wěn)定、維護(hù)方便等優(yōu)點(diǎn)已被廣泛用于通信基站的UPS電源[1]。通信基站的蓄電池組采用串聯(lián)結(jié)構(gòu)為設(shè)備供電,使用安時(shí)計(jì)量法[2]對(duì)容量進(jìn)行測(cè)試時(shí)必須成組放電,具有共同的放電電流和放電時(shí)間,只能測(cè)量整組電池容量,而不能測(cè)量單體容量,因此,其容量估計(jì)具有特殊性。由于鉛酸蓄電池是一個(gè)復(fù)雜的電化學(xué)體系,其性能和壽命取決于電池材料、工藝結(jié)構(gòu)、電池運(yùn)行環(huán)境等多方面因素,目前沒(méi)有一個(gè)有效的電化學(xué)模型對(duì)其容量做精準(zhǔn)估計(jì),給通信基站的維護(hù)工作帶來(lái)了諸多不便。
為了給通信基站的蓄電池提供一種便捷準(zhǔn)確的維護(hù)方式,本文提出并實(shí)現(xiàn)了一種基于Modbus總線(xiàn)[3]的蓄電池組在線(xiàn)監(jiān)測(cè)系統(tǒng),能通過(guò)串聯(lián)放電對(duì)所有電池的容量進(jìn)行估算,檢測(cè)性能過(guò)低的電池并提醒維護(hù)人員進(jìn)行針對(duì)性更換。利用主從分布式數(shù)據(jù)采集系統(tǒng)對(duì)蓄電池容量實(shí)現(xiàn)在線(xiàn)監(jiān)測(cè),節(jié)省了人工現(xiàn)場(chǎng)放電估計(jì)電池容量的成本。
如圖1,蓄電池組在線(xiàn)監(jiān)測(cè)系統(tǒng)的功能由控制模塊、采集模塊、人機(jī)界面、總線(xiàn)接口、數(shù)據(jù)處理模塊組成。
控制模塊包括電池選通和模式選擇。蓄電池組處于空閑狀態(tài)時(shí),被接入浮充回路進(jìn)行充電,以保證市電斷開(kāi)時(shí)具有足夠的容量。當(dāng)需要對(duì)蓄電池組容量進(jìn)行估算時(shí),蓄電池組從浮充回路中斷開(kāi),接入負(fù)載放電回路中,進(jìn)入放電測(cè)試模式。模式選擇對(duì)蓄電池組所處模式進(jìn)行控制。電池選通不斷循環(huán)對(duì)單節(jié)蓄電池進(jìn)行選通切換,接入電壓測(cè)量回路中進(jìn)行電壓采集。
采集模塊對(duì)蓄電池組的電壓、電流和環(huán)境溫度進(jìn)行采集,并將采集結(jié)果傳送給數(shù)據(jù)處理模塊和人機(jī)界面。
數(shù)據(jù)處理模塊將電壓、電流等數(shù)據(jù)進(jìn)行濾波、存儲(chǔ),并對(duì)負(fù)載放電模式下的數(shù)據(jù)進(jìn)行處理,估算電池容量。
用戶(hù)可通過(guò)人機(jī)界面的鍵盤(pán)輸入人工進(jìn)行放電控制,也可以選擇特定的實(shí)時(shí)數(shù)據(jù)進(jìn)行查看。
通信基站備用蓄電池組采用串聯(lián)結(jié)構(gòu)為負(fù)載提供一定電壓,各個(gè)不同基站負(fù)載種類(lèi)可能不同,導(dǎo)致串聯(lián)電池組中單體電池的數(shù)目也不相同。為適應(yīng)多變的應(yīng)用場(chǎng)合,提高系統(tǒng)的靈活性,系統(tǒng)采用如圖2所示的Modbus主從式結(jié)構(gòu)。
圖2 硬件主從結(jié)構(gòu)圖Fig 2 Host-slave structure diagram of hardware
電池組的串聯(lián)結(jié)構(gòu)使得只需一個(gè)電流模塊對(duì)串聯(lián)放電電流進(jìn)行采集。主機(jī)單元是整個(gè)系統(tǒng)的主要控制部分,接收上位機(jī)或者人機(jī)界面的請(qǐng)求,對(duì)人機(jī)交互、蓄電池組的模式切換、實(shí)時(shí)數(shù)據(jù)采集和存儲(chǔ)以及容量估算進(jìn)行控制,并采集環(huán)境溫度數(shù)據(jù)。從機(jī)循環(huán)選通各節(jié)電池進(jìn)行電壓采樣。
圖3闡述了主機(jī)單元的結(jié)構(gòu)組成。
主機(jī)單元從外部傳感器中采集溫度數(shù)據(jù),LED指示燈指示電源狀態(tài)和各個(gè)串口工作狀態(tài),蜂鳴器用于現(xiàn)場(chǎng)報(bào)警。
主機(jī)單元通過(guò)按鍵和LCD實(shí)現(xiàn)人機(jī)交互,按鍵模塊和LCD模塊在主機(jī)單元上均有對(duì)應(yīng)接口。
主機(jī)單元MCU(微控制單元)采用德州儀器半導(dǎo)體公司的Cortex-M3結(jié)構(gòu)的ARM芯片LM3S1911。LM3S1911微控制器是針對(duì)工業(yè)應(yīng)用方案而設(shè)計(jì)的,包括遠(yuǎn)程監(jiān)控、電子販?zhǔn)蹤C(jī)、測(cè)試和測(cè)量設(shè)備、網(wǎng)絡(luò)設(shè)備和交換機(jī)、工廠(chǎng)自動(dòng)化等。該芯片內(nèi)置Flash存儲(chǔ)器大小為256 k,可重復(fù)擦寫(xiě),能滿(mǎn)足LCD模塊中需要存儲(chǔ)的字庫(kù)數(shù)據(jù)大小;支持JTAG[4]和SWD兩種在線(xiàn)調(diào)試方式,方便開(kāi)發(fā)過(guò)程。
圖3 主機(jī)結(jié)構(gòu)圖Fig 3 Structure diagram of host computer
從機(jī)單元的主要功能是控制電池組的電壓采集和選通,并將采集的數(shù)據(jù)通過(guò)Modbus總線(xiàn)傳送給主機(jī)單元。從機(jī)單元結(jié)構(gòu)圖如圖4所示,所選MCU與主機(jī)單元相同,節(jié)省了開(kāi)發(fā)成本和不同平臺(tái)的熟悉時(shí)間。從機(jī)對(duì)不同蓄電池電壓的采樣通過(guò)光耦繼電器的通道選擇來(lái)實(shí)現(xiàn)。
圖4 從機(jī)單元結(jié)構(gòu)圖Fig 4 Structure diagram of slave computer unit
從機(jī)單元電壓采集選用16位高速的A/D芯片AD7652,確保低于0.1%的電壓測(cè)量誤差與解決溫漂問(wèn)題。AD7652是Analog公司的高性能16位A/D采樣芯片,采樣頻率可高達(dá)500 kSPS,能滿(mǎn)足電壓采樣過(guò)程中對(duì)多個(gè)通道的采樣。
電流采集模塊結(jié)構(gòu)如圖5所示。
圖5 電流采集模塊結(jié)構(gòu)圖Fig 5 Structure diagram of current collecting module
電流傳感器采用 HDC300EK,電流測(cè)量范圍是0~300 A,輸出為模擬電壓范圍是0~5 V。電流采集模塊為電流傳感器提供工作電壓并將電流傳感器的輸出電壓值進(jìn)行模/數(shù)轉(zhuǎn)換,通過(guò)Modbus總線(xiàn)傳送給主機(jī)單元。
電流傳感器的采樣頻率要求不高,采樣分辨率不需要很精確,從節(jié)約成本的角度選用了TI公司的12位AD采樣芯片ADS7822。
本系統(tǒng)中,尤其是主機(jī)單元的各個(gè)功能都具有一定的獨(dú)立性,因此,使用uC/OS-II操作系統(tǒng)[5]能夠使程序結(jié)構(gòu)更加清晰,管理方便,同時(shí)也為任務(wù)的增加、擴(kuò)展提供了軟件平臺(tái)。uC/OS-II的實(shí)時(shí)性也能使電池組電壓采集和數(shù)據(jù)傳輸?shù)玫郊皶r(shí)響應(yīng)。
主機(jī)單元由電壓電流采集任務(wù)、容量監(jiān)測(cè)任務(wù)、上位機(jī)通信任務(wù)、溫度采集任務(wù)、Modbus通信任務(wù)、人機(jī)交互任務(wù)組成。主機(jī)單元的任務(wù)組成以及各個(gè)任務(wù)之間的聯(lián)系如圖6所示。人機(jī)交互任務(wù)接收按鍵請(qǐng)求并做出對(duì)應(yīng)響應(yīng),包括改變LCD顯示、請(qǐng)求采樣數(shù)據(jù)、請(qǐng)求容量監(jiān)測(cè)等。
圖6 主機(jī)任務(wù)示意圖Fig 6 Schematic diagram of host computer task
容量監(jiān)測(cè)任務(wù)定時(shí)對(duì)蓄電池組進(jìn)行放電容量估算和相應(yīng)控制(包括蓄電池組的模式切換、電壓請(qǐng)求間隔的改變等),也接收外部實(shí)時(shí)監(jiān)測(cè)請(qǐng)求(來(lái)自人機(jī)界面或上位機(jī))。
電壓電流任務(wù)定時(shí)對(duì)電壓和電流進(jìn)行數(shù)據(jù)采集、存儲(chǔ),采集間隔受容量監(jiān)測(cè)任務(wù)控制,同時(shí)也接收外部實(shí)時(shí)采集請(qǐng)求。采集請(qǐng)求通過(guò)Modbus發(fā)送給從機(jī)或者電流模塊。
Modbus通信任務(wù)響應(yīng)各種通信請(qǐng)求并將返回?cái)?shù)據(jù)保存在對(duì)應(yīng)內(nèi)部寄存器中。
上位機(jī)通信任務(wù)負(fù)責(zé)與上位機(jī)的通信工作。
圖6中箭頭所指方向?yàn)槿蝿?wù)間消息傳遞的方向??梢钥闯觯蝿?wù)之間消息傳遞發(fā)起者和接收者各不相同,路徑錯(cuò)綜復(fù)雜,無(wú)論是在編程上還是理解上都造成了一定困難。為了解決這個(gè)問(wèn)題,參考WinX的消息派遣機(jī)制,在系統(tǒng)中引入消息派遣任務(wù)對(duì)消息進(jìn)行集中管理。
消息派遣任務(wù)負(fù)責(zé)集中接收各個(gè)任務(wù)發(fā)出的消息請(qǐng)求,并根據(jù)請(qǐng)求種類(lèi)派遣給相應(yīng)的任務(wù)函數(shù)去執(zhí)行。引入消息派遣任務(wù)后主機(jī)單元的消息路徑如圖7所示。
圖7 消息派遣機(jī)制示意圖Fig 7 Diagram of message dispatch mechanism
引入消息派遣任務(wù)后,消息從發(fā)出任務(wù)到消息隊(duì)列[6],再?gòu)南㈥?duì)列到接收消息的任務(wù),有以下優(yōu)點(diǎn):
1)發(fā)出消息的任務(wù)只需統(tǒng)一向消息派遣任務(wù)發(fā)送消息即可,而不用去管發(fā)出的消息應(yīng)該送給哪個(gè)任務(wù)。
2)消息派遣任務(wù)統(tǒng)一進(jìn)行任務(wù)之間消息的派送,對(duì)消息隊(duì)列進(jìn)行集中處理,使得程序結(jié)構(gòu)和思路更加清晰。
從機(jī)單元只包含一個(gè)用戶(hù)任務(wù),定時(shí)切換電壓選通通道、采集電壓以及由Modbus總線(xiàn)接收請(qǐng)求并作出應(yīng)答。
蓄電池處于連續(xù)工作狀態(tài)時(shí),電池放電電流是持續(xù)的??筛鶕?jù)電流對(duì)時(shí)間的積分,使用安時(shí)計(jì)量法對(duì)電池容量進(jìn)行估計(jì)。安時(shí)法每隔一段時(shí)間對(duì)電流進(jìn)行采樣,用積分方法計(jì)算出已用電量Cu(Ah)
當(dāng)蓄電池的電壓下降到一定值時(shí),更深度的放電會(huì)對(duì)電池造成損害,此時(shí)認(rèn)為電池的電量已經(jīng)放光[7]。由此可估算出電池從放電開(kāi)始到結(jié)束時(shí)所釋放的容量。
目前,其他在線(xiàn)容量測(cè)試方法測(cè)量偏差大,無(wú)法達(dá)到10%以?xún)?nèi)的要求。因此,基站常用測(cè)試方法仍然是安時(shí)放電法。
安時(shí)放電法測(cè)量的容量標(biāo)準(zhǔn)為電池在10 h放電率電流下放出的容量,由于10 h時(shí)間相對(duì)過(guò)長(zhǎng),一般采用3 h放電率電流進(jìn)行放電。3 h放電率下,電池放出電量為10 h放電率的75%。即使如此,以24節(jié)電池為例,要依次測(cè)量每節(jié)電池容量也需要72 h。因此,通信基站蓄電池組常采用串聯(lián)放電結(jié)構(gòu),單次放電對(duì)蓄電池組容量進(jìn)行測(cè)量。但是串聯(lián)放電下任意單節(jié)電池到截止電壓1.8 V時(shí)整組電池將停止放電,用普通安時(shí)法只能檢測(cè)出容量最低的電池,其他電池未到1.8 V,放電不完全,剩余容量需要用其他方法進(jìn)行估計(jì)。
神經(jīng)網(wǎng)絡(luò)是模擬人腦細(xì)胞的分布式工作特點(diǎn)和自組織功能,且能實(shí)現(xiàn)并行處理、自學(xué)習(xí)和非線(xiàn)性映射等能力的一種系統(tǒng)模型,特別適用于需要同時(shí)考慮諸多因素和條件的非線(xiàn)性未知模型。
蓄電池放電結(jié)束后的剩余容量可以反映在放電時(shí)間、起始電壓和結(jié)束電壓上,并且具有一定的非線(xiàn)性特性,使用BP神經(jīng)網(wǎng)絡(luò)能對(duì)其進(jìn)行有效估計(jì)。圖8給出了蓄電池剩余容量的BP神經(jīng)網(wǎng)絡(luò)模型。
圖8 BP神經(jīng)網(wǎng)絡(luò)模型圖Fig 8 Diagram of BP neural network module
BP神經(jīng)網(wǎng)絡(luò)采用3層結(jié)構(gòu):輸入層,隱含層和輸出層。訓(xùn)練樣本從淳安、富陽(yáng)等地選取6個(gè)不同地方的144組數(shù)據(jù),得出剩余容量測(cè)試結(jié)果如圖9所示。
圖9 剩余容量測(cè)試結(jié)果Fig 9 Test result of residual capacity
選取建德梅城蓄電池組為實(shí)驗(yàn)對(duì)象,該蓄電池組單體電壓為2.5 V,額定容量為500 Ah。對(duì)電池組進(jìn)行3 h放電率放電,放出容量為10 h放電量的75%,因此,放電電流為125 A左右,在線(xiàn)控制放電,放電截止電壓為1.8 V。
實(shí)驗(yàn)結(jié)果如表1所示,所得容量均已換算成10h放電率的標(biāo)準(zhǔn)。
表1中23#為最先到達(dá)截止電壓的電池,其容量為安時(shí)法積分所得,共計(jì)放出89 Ah,其他電池容量為神經(jīng)網(wǎng)絡(luò)模型估算結(jié)果。各節(jié)電池的估算誤差均在25Ah以?xún)?nèi),相對(duì)誤差在10%以?xún)?nèi),能有效檢測(cè)出性能過(guò)低的電池。
本系統(tǒng)以L(fǎng)M3S1911為控制芯片,采用分布式主從控制的方式,以實(shí)時(shí)操作系統(tǒng)uC/OS-II為平臺(tái),通過(guò)Modbus總線(xiàn)控制各單元之間的通信,軟件上通過(guò)實(shí)時(shí)操作系統(tǒng)uC/OS-II增加任務(wù),系統(tǒng)靈活、便于后續(xù)開(kāi)發(fā);采用神經(jīng)網(wǎng)絡(luò)進(jìn)行建模,通過(guò)嵌入式控制器實(shí)現(xiàn)蓄電池容量的在線(xiàn)估算,對(duì)蓄電池狀態(tài)進(jìn)行監(jiān)視,節(jié)省了人工容量測(cè)試的成本。
表1 實(shí)驗(yàn)結(jié)果Tab 1 Experimental result
放電實(shí)驗(yàn)表明:監(jiān)視結(jié)果準(zhǔn)確可靠,可用于移動(dòng)基站、變電站等需要對(duì)蓄電池進(jìn)行定時(shí)維護(hù)的場(chǎng)合。
[1] 王吉校,錢(qián)希森.閥控鉛酸蓄電池容量測(cè)試技術(shù)研究[J].蓄電池,2007(2):57-58.
[2] 林成濤,陳全世,王軍平,等.用改進(jìn)的安時(shí)計(jì)量法估計(jì)電動(dòng)汽車(chē)動(dòng)力電池SOC[J].清華大學(xué)學(xué)報(bào),2006(2):247-251.
[3] 華 镕.從Modbus到透明就緒:施耐德電氣工業(yè)網(wǎng)絡(luò)的協(xié)議、設(shè)計(jì)、安裝和應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2009.
[4] Leatherman R.An embedding debugging architecture for SOCs[J].IEEE Potentials,2005,24(1):12.
[5] Labrosse J J.嵌入式實(shí)時(shí)操作系統(tǒng)uC/OS-II[M].邵貝貝,譯.2版.北京:北京航空航天大學(xué)出版社,2003.
[6] 周世杰,劉錦德,秦志光.消息隊(duì)列技術(shù)研究:綜述與一個(gè)實(shí)例[J].計(jì)算機(jī)科學(xué),2002(2):84 -86.
[7] Anbuky A H,Pascoe P E,Lane R G.VRLA battery capacity measurement and discharge reserve time[C]∥Telecommunications Energy Conference,INTELEC,San Francisco,CA,1998:302-310.