周智勇 劉愛華 楊占錄
(海軍潛艇學院機電研究所,青島266042)
潛艇蓄電池的電量有限,儲能降低后潛艇必須在適當?shù)臅r機浮起到水面或通氣管狀態(tài)進行充電。合理管理蓄電池能量,降低潛艇的暴露率,首先就需要建立了較為準確的蓄電池數(shù)學模型。
蓄電池的充放電伴隨著復雜的化學變化和物理變化過程,使得影響蓄電池剩余容量和荷電狀態(tài)(SOC)的因素眾多。蓄電池端電壓、電解液密度和溫度、攪拌系統(tǒng)、使用周期、蓄電池內(nèi)阻等都對剩余容量產(chǎn)生影響,并且都是非線性關(guān)系[1]。因此,建立其數(shù)學模型的難度較大。本文以實驗數(shù)據(jù)為基礎(chǔ),結(jié)合神經(jīng)網(wǎng)絡(luò)技術(shù),建立了比較準確的蓄電池模型。
為準確、全面地研究潛艇蓄電池的電特性,本文設(shè)計并建立了功能完善的蓄電池充放電實驗室。實驗室主要包括蓄電池、蓄電池附屬系統(tǒng)(包括低壓氣攪拌系統(tǒng)、蒸餾水冷卻系統(tǒng))、充放電裝置、蓄電池與充放電裝置間的可變換式連接系統(tǒng)、通風系統(tǒng)、氫氣監(jiān)測裝置等。
充放電模塊是充放電裝置中的執(zhí)行機構(gòu)。三相交流電經(jīng)變壓器降壓后進行整流。整流后的直流電壓(5~9 V)加在晶體管群上。主控模塊根據(jù)設(shè)定的充放電電流的大小,通過控制晶體管群的基極電壓,控制晶體管群上的集電極電流。這個電流經(jīng)充放電轉(zhuǎn)換模塊控制后,加在被測蓄電池上。同時,數(shù)據(jù)采集模塊采集被測蓄電池上的電壓、電流、溫度參數(shù),經(jīng)過主控模塊將數(shù)據(jù)傳到上位機。充放電模塊的工作原理如圖1所示。
圖1 充放電模塊基本原理圖
為了與實艇蓄電池的充放電條件相近并保證蓄電池組可靠工作,實驗室設(shè)置了蓄電池電解液攪拌系統(tǒng)、蒸餾水冷卻系統(tǒng)、通風系統(tǒng)和氫氣監(jiān)測裝置。
蓄電池溫度過高時(溫度值可以設(shè)定)用蒸餾水冷卻系統(tǒng)進行冷卻,共四個冷卻回路,每組蓄電池一個,回路內(nèi)冷卻水的流向可以控制。
電解液攪拌系統(tǒng)用低壓氣攪拌電解液,使其上下兩部分的密度均勻。每塊蓄電池一個攪拌支路,共12個支路。每個支路供給每只蓄電池壓縮空氣,為其內(nèi)循環(huán)裝置提供動力。
密度的測量是本試驗的關(guān)鍵環(huán)節(jié),為了保證測量精度,實驗采用了奧地利 Anton Paar公司DMA35型便攜式密度計,密度測量范圍是0.8~2 g/cm3,精度為 0.001 g/cm3,分辨率為 0.0001 g/cm3,該密度計同時可測量已抽取液體的溫度,測量范圍是為0~40 ℃,精度是0.2 ℃,分辨率為0.1 ℃。
實驗室的通風系統(tǒng)、氫氣監(jiān)測裝置、蓄電池與充放電裝置間的連接系統(tǒng)等不再介紹。
BP神經(jīng)網(wǎng)絡(luò)是一種單向傳播的多層前向網(wǎng)絡(luò),它除了有一個輸入層和一個輸出層外,還有一層或多層的隱層,同層節(jié)點中沒有任何耦合。輸入信號從輸入層節(jié)點依次傳過各隱層節(jié)點,然后傳到輸出節(jié)點,每一層節(jié)點的輸入只影響下一層節(jié)點的輸出。BP神經(jīng)網(wǎng)絡(luò)具有的非線性映射能力保證其能夠成功逼近各種非線性函數(shù),其并行結(jié)構(gòu)加速了運算速度。因此在目前的人工神經(jīng)網(wǎng)絡(luò)的實際應(yīng)用中,大部分的神經(jīng)網(wǎng)絡(luò)模型是采用BP神經(jīng)網(wǎng)絡(luò)及它的變化形式[2]。
如果模型的輸入輸出均已確定,則 BP神經(jīng)網(wǎng)絡(luò)的輸入層、輸出層神經(jīng)元的個數(shù)是確定的,關(guān)鍵是確定隱含層的數(shù)量及每個隱含層神經(jīng)元的個數(shù)。經(jīng)過多次實驗,證明隱含層確定為3層能獲得較好的預測精度。每個隱含層的數(shù)量由人工確定則費時費力,可以編寫合適的軟件,由其自動判斷[3]。實踐表明,總神經(jīng)元的數(shù)量過少時不能達到設(shè)定的訓練目標,神經(jīng)元數(shù)量過多則會造成網(wǎng)絡(luò)訓練時的精度很高但用于預測時的精度反而下降,因此選擇適當數(shù)量的神經(jīng)元至關(guān)重要[4]。
編寫程序建立了神經(jīng)網(wǎng)絡(luò)。該程序設(shè)置每個隱含層神經(jīng)元的個數(shù)為3~9個,并實現(xiàn)了隱含層神經(jīng)元數(shù)量的自動選擇。如果訓練完成的網(wǎng)絡(luò)在測試時得到的測試誤差絕對值的最大值<0.005則停止訓練,并記錄下當前工作空間作為最終的網(wǎng)絡(luò),該網(wǎng)絡(luò)完全滿足模型計算的精度要求。同時每次訓練后的測試都計算仿真測試誤差的平均絕對誤差mae和均方根誤差mse。并分別記錄下全部訓練過程中 mae最小的網(wǎng)絡(luò)Fine_BP_FD_DL_net_Mae和 mse最小的網(wǎng)絡(luò)Fine_BP_FD_DL_net_Mse。如果最終網(wǎng)絡(luò)的計算精度也不能達到要求,則改變隱含層神經(jīng)元的數(shù)量限制重新計算。以下為神經(jīng)網(wǎng)絡(luò)建立與測試的源代碼[5]。
通過該程序獲得的 mae、mse最小的神經(jīng)網(wǎng)絡(luò)有三個隱含層,每個隱含層神經(jīng)元數(shù)量分別為8、6、9,將該網(wǎng)絡(luò)命名為Fine_BP_FD_DL_net_Mae。
該網(wǎng)絡(luò)的總體結(jié)構(gòu)如圖2所示。Layer1層的結(jié)構(gòu)如圖 3所示。Layer2、Layer3、Layer4層的結(jié)構(gòu)與Layer1層的結(jié)構(gòu)相似。
圖2 神經(jīng)網(wǎng)絡(luò)的總體結(jié)構(gòu)
用1286組測試數(shù)據(jù)進行測試,得到的誤差統(tǒng)計如表1所示。其中絕對誤差小于0.005g/cm的數(shù)據(jù)占總測試數(shù)據(jù)的 85.77%;絕對誤差小于0.01g/cm3的數(shù)據(jù)占總測試數(shù)據(jù)的 97.05%。與恒流放電相似,預測時間較長時密度的計算誤差相對較大,預測時間較短時計算誤差較小。
圖3 Layer1層的總體結(jié)構(gòu)
表1 恒功率放電密度預測誤差分布統(tǒng)計
本文所建立的鉛酸蓄電池充放電模型可以完整地反映該型蓄電池的充放電過程,以此模型為基礎(chǔ)研制的蓄電池電量預測裝置經(jīng)實艇航行驗證,精度達到了設(shè)計要求。
[1]朱松然.蓄電池手冊[M].天津: 天津大學出版社,1998: 1~47.
[2]薛建軍.人工神經(jīng)網(wǎng)路法預測 MH-Ni蓄電池容量[J].電源技術(shù),2003, (03): 305~307.
[3]雷肖.電動車電池SOC估計的徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)方法[J].電工技術(shù)學報,2008, (05): 81~87.
[4]李立偉.基于改進灰色模型的蓄電池剩余容量預測[J].電源技術(shù),2006, (12): 1006~1008.
[5]葛哲學,孫志強.神經(jīng)網(wǎng)絡(luò)理論與 MATLABR2007實現(xiàn)[M].北京: 電子工業(yè)出版社,2007: 108~116.