?

基于SA+BP混合算法的動力電池放電峰值功率估算

2020-05-08 05:08張文博鄧元望
關鍵詞:峰值功率神經網絡

朱 浩, 張文博, 鄧元望, 李 夢, 吉 祥

(湖南大學 機械與運載工程學院, 湖南 長沙 410082)

動力鋰電池的短時峰值功率能為電動汽車整車系統的功率分配作參考,能夠衡量車輛的爬坡性能和剎車時制動能量回收功能[1-3],以及有效防止電池包過充、過放現象的發生.目前對于動力鋰電池峰值功率的研究大多集中于某單一因素對電池峰值功率的影響,以及改進研究中所使用的電池模型.文獻[4]通過試驗分析電池的荷電狀態(state of charge,SOC)、溫度和端電壓對于電池峰值功率的影響,結果表明溫度對于電池峰值功率的影響最大.文獻[5]認為SOC、電池老化等估算值不能作為功率狀態估算的影響因素,而應直接使用電池物理模型中的參數來估算電池的在線峰值功率.文獻[6]在RC電池模型中加入平行移動的噪聲,使用遞歸擴展最小二乘法來估算電池在不同時長的電池峰值功率.文獻[7]為了提高長期的功率預測精度,考慮了擴散電阻對電池模型的影響.

若使用端電壓作為峰值功率估算條件,可能會導致估算誤差較大,因為端電壓在車輛加速時驟降,減速時驟升,跳動過于劇烈.此外,大部分有關電池功率狀態的研究中,使用的電池模型為基于物理現象的數學模型,如Thevenin模型、Rint模型等,而電池的充放電是一種復雜的電化學反應.若采用基于數據統計和機器學習算法的神經網絡建立電池模型,則可以更加準確地模擬電池的特性.文獻[8]運用小波神經網絡來模擬電池的動力特性,使得電池的能量狀態(state of energy,SOE)估算誤差小于4%.文獻[9]提出了一種基于人工神經網絡的電池模型,使得SOC估算的均方根誤差小于2.5%,最大誤差小于3.5%.文獻[10]建立了BP神經網絡電池模型,進行了靜態和動態電流脈沖試驗,試驗結果表明該模型健康狀態(state of health,SOH)的估算誤差小于8%.

筆者采用前饋神經網絡建立電池峰值功率模型,運用SA+BP混合算法作為模型的訓練方法,以克服BP算法局部收斂的缺點,通過仿真結果的擬合程度和誤差分析,證明該模型能夠精確地模擬電池的功率特性.

1 電池峰值功率估算模型

1.1 模型參數

在實際應用中,電池本身是一個復雜的非線性系統,其放電峰值功率受溫度、SOC、歐姆內阻、端電壓及電池的老化程度等多個因素影響.若把所有的影響因素都作為模型的輸入變量,將會使模型的復雜程度提高,計算量變大,訓練時間變長,輸入變量之間可能存在的共線性導致模型的估算失真等.因此,在保證模型估算精度和訓練效率的情況下,應該考慮能準確反映電池峰值功率特性的變量作為輸入參數,同時也需要考慮模型的輸入變量可在線獲得,以保證模型的實際可行性.

輸入參數的選擇中,由于端電壓在車輛運行過程中跳動過于劇烈,不適合作為模型的輸入參數.溫度、SOC及歐姆內阻可以考慮作為模型的輸入參數,通過文獻[11]對電池的SOC、溫度和歐姆內阻的共線性分析可知,歐姆內阻與SOC、溫度之間存在嚴重的共線性,若同時作為模型的輸入變量會導致估算精度降低,而SOC和溫度是由試驗設定的,不存在共線性關系,故選取SOC和溫度作為輸入變量.

輸出參數的選擇中,若使用電池峰值功率作為輸出值,由于電池的個性差異導致各個電池歐姆內阻不同,而電池的峰值功率包含歐姆內阻的發熱功率,故歐姆內阻的差異性會降低電池峰值功率估算的精度,故決定使用電池的峰值電流IE作為模型的輸出值,代入公式(2)計算電池的峰值功率.

考慮到動力傳輸過程中的能量損耗和采集誤差,選取放電截止電壓作為功率計算的電壓值,根據歐姆定律計算電池的歐姆內阻.通過電池管理系統(battery management system, BMS)對電池的溫度、SOC和歐姆內阻每0.1 s更新一次,代入公式(1)和(2)計算電池的峰值功率:

IE=f(SOC,θ),

(1)

(2)

式中:θ指電池的溫度;f指神經網絡模型;IE指估算的峰值電流;R1指電池的歐姆內阻;Umin指放電截止電壓;P指電池的峰值功率.

1.2 電池模型

神經網絡電池模型由輸入層、隱藏層和輸出層組成.確定了模型的輸入和輸出參數后,需要進一步確定隱藏層的數量,若使用單隱藏層,模型相對簡單,會降低模型估算精度;若使用隱藏層數目太多,會使模型的訓練時間變長,計算量變大,收斂速度變慢,且誤差不一定最小,甚至會降低其泛化能力等.綜合考慮模型的復雜程度及估算精度,筆者決定采用雙隱藏層神經網絡.隱藏層神經元的數量由經驗公式(3)選取:

(3)

式中:a指輸入層變量的個數,個;b指輸出層的變量個數,個;常數p=1,2,…,10[12];l指神經元的個數,個.

最終通過對模型的訓練來確定隱藏層神經元的個數.建立的神經網絡電池模型如圖1所示,其中E,w和b分別為誤差、權值和閾值.

圖1 神經網絡電池模型

1.3 電池峰值功率估算

1.3.1BP算法

BP神經網絡因具有很強的自學能力、泛化能力及非線性函數逼近能力,使其應用廣泛.BP網絡的學習過程有信號的正向傳播和誤差的反向傳播兩部分組成[13].針對筆者建立的神經網絡電池模型,在其正向傳播過程中,把電池的SOC和溫度輸入網絡中,經過隱藏層和輸出層后,得到峰值電流IE.信號正向傳播的過程如公式(4)-(6)所示:

(4)

(5)

(6)

在誤差的反向傳播過程中,計算神經網絡估算峰值電流與實際峰值電流的誤差,將其由輸出端反向傳播至輸入端,用梯度下降法更新網絡的權值和閾值.網絡的訓練過程持續不斷地進行,直到輸出誤差降低到可接受的程度,或滿足其他終止條件才停止訓練.輸出層神經元的連接權值和閾值的更新過程如公式(7)-(11)所示,其他層參數的更新過程與其類似,即

(7)

(8)

(9)

wm=wm+Δwm,

(10)

bk=bk+Δbk,

(11)

式中:y為實際的峰值電流;α為學習率,可以采用自適應的學習率,在接近極值點時,使用較小的學習率,反之則使用較大的學習率.

1.3.2SA+BP混合算法

為提高模型的估算精度和解決BP算法的局部最優問題,采用SA+BP的混合算法作為模型的訓練方法.SA算法的關鍵參數包括Markov鏈長度Lx、截止溫度θf和溫度變化率β等.其中Markov鏈長度由經驗公式(12)確定:

Lx=100N,

(12)

式中:N指樣本總數,個.

利用Matlab神經網絡工具箱與Matlab編程語言相結合,編寫SA+BP混合算法,該算法對模型的訓練過程如圖2所示,其中xc,xL和xB指神經元的連接權值和閾值,xc指當前值,xL指上次值,xB指目前最優值;Et指目標誤差,Ec指當前誤差,EL指上次誤差,EB指目前訓練最小誤差;P指降溫的概率.

圖2 SA+BP混合算法訓練流程圖

訓練過程中,當xc收斂到一個極值點時,比較上次誤差EL與目前的最小誤差EB,若EL小于EB,則更新EB和xB,而后對xc進行隨機擾動,使其偏離目前的極值點,若滿足降溫概率,則對溫度t進行更新,否則直接進入下次訓練中.只有當溫度降到θf或滿足網絡設置的目標誤差Et時,則停止訓練,輸出訓練網絡所需的參數xB.

2 仿真及結果分析

2.1 峰值功率試驗

目前,動力鋰離子電池峰值功率試驗方法主要包括美國Freedom CAR項目提出的混合脈沖功率特性(HPPC)測試法和恒功率測試法[11],本研究中采用HPPC測試法.試驗中,當電池在恒定電流下持續放電t秒后,端電壓降至放電截止電壓Umin時,此恒定電流即為電池在該狀態下的峰值電流.根據GB/T 31485—2015《電動汽車用動力蓄電池安全要求及試驗方法》中功率試驗方法規定的純電動汽車峰值功率持續時間為30 s[14],故取t=30 s作為峰值電流的持續時長.試驗以5節ICR18650/26V1型號的三元鋰電池作為研究對象,試驗平臺由上位機、BTS20充放電機和恒溫恒濕箱組成,其連接如圖3所示.

對于試驗測試點數的選取,綜合考慮了試驗時長、材料花費和模型訓練時間等因素,溫度為5~45 ℃,每隔20 ℃設置一個溫度點;SOC設置為0.20~1.00,每隔0.05設置一個SOC點.在峰值電流試驗中,當電池放電至測試點時,將其放置到恒溫恒濕箱內靜置2 h,之后以I1對電池進行放電,當電池端電壓下降至放電截止電壓Umin時,記錄試驗時間t1.HPPC脈沖放電曲線如圖4所示.

再次調整動力鋰離子電池至放電前的狀態,經過2 h靜置后,繼續以I2對電池進行放電,記錄放電時間t2.經過多次循環測試后,得到動力鋰離子電池在該狀態下的放電峰值電流I與時間t的關系曲線,如圖5所示.通過查詢法,從擬合曲線中得到電池峰值電流持續時間30 s的峰值電流Imax.共獲得245組有效的試驗數據.表1為電池峰值電流試驗部分結果.

圖4 HPPC脈沖放電曲線

圖5 恒定電流放電測試擬合曲線

表1 電池峰值電流試驗部分結果

2.2 模型的訓練

首先選取適合的樣本作為訓練數據.訓練樣本量一般約為80%,試驗共獲得245組數據,故選取200組數據為訓練樣本;考慮到樣本的遍歷性,分別選取單個電池在5,25和45 ℃的12,14和14組數據,由于5 ℃下SOC最大約為90%,故選取樣本略少于其他溫度;為了降低單個電池的個性化差異,提高模型的泛化能力,因此選取 5個電池同等條件下的樣本數據.其次,為了提高模型的訓練效率和模型精度,需要對樣本數據作量綱一化處理,量綱一化處理方法如公式(13)所示,其中yi指相同性質的變量.

(13)

然后把處理后的數據輸入網絡中,開始進行訓練.分別使用BP算法、SA+BP混合算法作為模型的訓練方法,通過不斷調整激活函數、學習率和隱藏層神經元的數量等,使模型估算值與期望值之間的誤差不斷減小,直到滿足設置的誤差范圍.最終通過在訓練中不斷調整神經網絡的參數,確定第1,2隱藏層神經元個數分別為8,6個,2個隱藏層和輸入層的激活函數為tansing.將估算和實際得到的電流值分別代入公式(2)后,得到估算與實際得到的峰值功率擬合曲線,如圖6所示.由圖6可知:基于兩種算法的估算值與實際值擬合曲線的變化趨勢保持一致,基于SA+BP混合算法的估算值與實際值擬合曲線的吻合程度更高.

圖6 訓練樣本峰值功率的估算值與實際值對比

圖7為訓練樣本的峰值功率相對誤差.表2為基于BP算法和SA+BP算法的訓練結果對比.由圖7和表2可知:基于SA+BP混合算法估算值的精度明顯高于基于BP算法估算值;峰值功率的最大相對誤差為7.45%,平均相對誤差為3.12%;基于BP算法估算值的最大相對誤差為11.91%,平均相對誤差為4.67%.由圖6,7可知:在峰值功率較小時,基于兩種算法的估算值相對誤差都較大,究其原因是在功率較小時,即便絕對誤差很小,也會使相對誤差較大.綜上,基于SA+BP混合算法訓練的電池模型估算精度更高.

圖7 訓練樣本的峰值功率相對誤差對比

表2 基于BP和SA+BP算法的訓練結果%

2.3 模型的驗證及結果分析

試驗共獲得245組數據,以其中45組數據作為測試樣本,分別對基于BP算法和SA+BP算法訓練的模型進行驗證,得到峰值功率估算值與實際值的對比散點圖,如圖8所示.由圖8可知,基于SA+BP混合算法的估算值與實際值擬合程度更高,基于BP算法的估算值與實際值的擬合程度相對較低.

圖8 測試樣本峰值功率估算值與實際值對比散點圖

圖9為測試樣本峰值功率的相對誤差.表3為基于BP算法和SA+BP算法的峰值功率測試結果對比.由圖9可知,基于SA+BP混合算法估算值的相對誤差不超過10%,而基于BP算法的測試樣本中,有接近一半估算值相對誤差在8%以上.由表3可知:基于SA+BP混合算法的估算值最大相對誤差為9.84%,平均相對誤差為4.73%;基于BP算法的估算值最大相對誤差是15.94%,平均相對誤差是7.71%.由此可知,相比BP算法訓練模型的估算精度,基于SA+BP混合算法的峰值功率估算的最大相對誤差降低了38.27%,平均相對誤差降低38.65%.

圖9 測試樣本峰值功率的相對誤差對比

表3 基于BP和SA+BP算法的峰值功率測試結果%

綜上,基于SA+BP混合算法訓練的神經網絡電池模型,可以提高峰值功率的估算精度,能更加準確地描述電池的功率特性.此模型更適用于高峰值功率估算的場合,而對較低峰值功率的估算精度還有待提高,可通過增加訓練樣本數量或交叉驗證的方式來提高模型的估算精度.

3 結 論

1) 基于數據統計和機器學習神經網絡電池模型的建立,使得從研究電池內部復雜的化學反應轉移到分析電池的數據特性上,降低了研究的難度.

2) 通過估算電池的峰值電流,并將其代入相應的公式中,以計算電池的峰值功率,而非直接估算電池的峰值功率,可以避免歐姆內阻的差異性導致估算誤差增大.

3) 仿真結果表明:相比于BP算法模型的估算精度,本研究中采用基于SA+BP混合算法的估算值最大相對誤差降低了38.27%,平均相對誤差降低了38.65%,證明該算法訓練的電池模型能更加準確地模擬電池的功率特性.

4) 本研究中采用基于SA+BP混合算法訓練的電池模型估算值相對誤差不超過10%,具有較高的準確性,對于電池峰值功率的研究有重要的理論意義和實用價值.

猜你喜歡
峰值功率神經網絡
“四單”聯動打造適齡兒童隊前教育峰值體驗
『功率』知識鞏固
功與功率辨
追本溯源識功率
神經網絡抑制無線通信干擾探究
做功有快慢功率來表現
基于神經網絡的中小學生情感分析
基于峰值反饋的電流型PFM控制方法
基于神經網絡的拉矯機控制模型建立
一種適用于微弱信號的新穎雙峰值比率捕獲策略
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合