陳瑞 張博倫 白創



摘 要 本文針對21700鋰電池管理系統(BMS)的設計,提出了以STM32F104處理器為核心,基于神經網絡法的電池管理系統設計方案。設計中,使用了LTC6803芯片完成了電壓監測電壓均衡,電池組保護的設計要求。通過BP神經網絡模型實現模型的建立,該設計可以應用于鋰離子電池的管理系統中。
關鍵詞 BMS;神經網絡;電壓監測;電池組保護
引言
本文基于BP神經網絡模型,電壓監測芯片LTC6803,霍爾電流計ACS758,數字隔離器ISO7241,處理器STM32F104,溫度監測芯片TMP36以及其他外圍電路,提出了一種基于神經網絡法的電池管理系統,它能夠實現對電池進行狀態估算,對電池組中每節電池進行電壓均衡以及安全保護的功能。
1常見的SOC估算方法分析
首先,我要闡述兩個概念:
第一個概念是SOC,全稱是State of Charge,荷電狀態,也叫剩余電量,代表的是電池放電后剩余容量與其完全充電狀態的容量的比值。其取值范圍為0~1,當SOC=0時表示電池放電完全,當SOC=1時表示電池完全充滿。SOC的計算公式[1-3]為:
第二個概念是電池放電倍率(C)放電倍率是指在規定時間內放出其額定容量(Q)時所需要的電流值,它在數值上等于電池額定容量的倍數。即:充放電電流(A)/額定容量(Ah),其單位一般為C ( C-rate的簡寫),如0.5C,1C,5C等。
對于電池管理系統來說,主要的監測對象就是SOC。然而,動力電池SOC的估算不能簡單地通過儀表觀測得到,它必須對動力電池采集大量的動態數據,并通過相應的估算方法來間接估算。目前常見的方法有:安時法、開路電壓法、卡爾曼濾波法,神經網絡法等。下面將對這幾種常見的SOC估算方法進行分析:
1.1 安時法
安時法也稱庫侖計量法,主要通過對一段時間內動力電池回路中電流與時間進行積分,然后根據SOC初始值,就可以計算出當前的SOC值:
式中:SOC0為動力電池數據采集時的SOC初始值。 安時法對于估算動力電池當前狀態的SOC十分有效,但安時法的缺點非常明顯:首先,安時法對于初始狀態SOC0的精度非常依賴,不僅如此,在后續的工作過程中,安時法會累計誤差,最終導致系統誤差變大,精度降低。
1.2 開路電壓法
開路電壓法的工作原理主要是采集動力電池的開路電壓值(OCV),由于大量的試驗數據證明,動力電池的OCV和動力電池的SOC之間存在一定的函數關系,所以可以通過使用專業儀器測量電池開路電壓與SOC之間的關系,得到OCV曲線。
1.3 卡爾曼濾波法
卡爾曼濾波法通過一個狀態方程和一個量測方程來完整的描述一個線性動態過程,計算基礎是利用動力電池的工作特性建立相應的等效模型,然后通過等效模型的具體表征來描述動力電池的狀態方程,通過結合狀態空間和隨機估計理論,來估算動力電池的SOC。
但是鋰電池的工作狀態并不是線性過程。同時,卡爾曼濾波法嚴重依賴建立的等效模型的準確度,所以我們選取了神經網絡法。
1.4 神經網絡法
神經網絡法通過大量的電池充放電數據建立神經網絡模型,并且利用神經網絡模型的強非線性、自主學習能力等特點,可以在自主學習過程中會不斷修改自身的權重以及偏差,使其誤差始終保持在最小值,從而確保神經網絡模型的精度。
2電池數據的采集
本設計針對“天津力神21700鋰電池”進行設計。
首先,我們要獲得電池的OCV曲線,方法是:將一個充滿電的電池在25℃的溫度下,通過0.33C的電流恒流放電,每放電10%,等待30分鐘后記錄此刻的開路電壓。重復此步驟,直到電池工作電壓低于放電截止電壓。將這些開路電壓通過Matlab軟件進行擬合,就得到了OCV曲線。
根據神經網絡模型的要求,我們需要準確的知道電池放電過程中,電壓與電池剩余電量的對應關系,這樣,我們就可以通過檢測電池在工作中的電壓,得到電池的剩余電量。但是,由于鋰電池會受到放電電流和環境溫度的影響,所以我們也將放電電流和環境溫度作為參變量考慮在模型內。
具體的測試方法是:我們通過鋰電池測試儀,在控制環境溫度恒溫的前提下,對充滿電的鋰電池進行恒流放電。根據公式Q=It,我們就可以得到在該條件下電壓與剩余電量的關系。在室溫為20℃,放電電流1C的情況下,測得的放電電壓與剩余電量的關系。
用同樣的方法,我們改變環境溫度和放電電流,就可以得到不同環境下,放電電壓與剩余電量的關系。將數據通過神經網絡模型進行訓練,就可以得到適合于本系統的電池工作模型。
3系統設計
3.1 電壓監測的實現方法
LTC6803中,C1至C12是用于監視電池電壓的輸入。底端電池的負端子連接至引腳V- 。 S1至S12引腳用于平衡電池組里的電池。如果串聯電池中的一節電池過度充電,則S輸出的內部可用于對該節電池進行放電。每個S輸出的內部具有一個用于放電N溝道MOSFET。(見圖1),實現電壓均衡的效果。
3.2 停機保護的實現方法
保護模塊中,每當電壓,電流和溫度中任意一項超過了預設的警戒值,處理器就會立刻輸出信號,關斷繼電器,使電路停止工作。由于并聯電容的作用,雖然電路被關斷,但是整個系統并不會瞬間失去供電,而是緩慢的耗盡電容中儲存的電量,繼而停機。這一緩沖裝置在實際的應用中,能夠減輕突然開關機產生的瞬時電壓對電路的沖擊,起到保護效果。
4神經網絡模型的搭建
4.1 神經網絡建模原理
BP神經網絡是一種信息正向傳播,誤差反向傳播的多層前向型網絡。常見模型結構如圖1所示. 按照信息傳播的方向給出網絡的狀態方程,用和分別表示第i層第j個神經元的輸入和輸出量,則BP網絡的每一層輸入輸出關系可描述為:
人工神經網絡無須事先確定輸入輸出之間映射關系的數學方程,僅通過自身的訓練,學習某種規則,在給定輸入值時得到最接近期望輸出值的結果。作為一種智能信息處理系統,人工神經網絡實現其功能的核心是算法。BP神經網絡是一種按誤差反向傳播(簡稱誤差反傳)訓練的多層前饋網絡,其算法稱為BP算法,它的基本思想是梯度下降法,利用梯度搜索技術,以期使網絡的實際輸出值和期望輸出值的誤差均方差為最小。
基本BP算法包括信號的前向傳播和誤差的反向傳播兩個過程。正向傳播時,輸入信號通過隱含層作用于輸出節點,經過非線性變換,產生輸出信號,若實際輸出與期望輸出不相符,則轉入誤差的反向傳播過程。誤差反傳是將輸出誤差通過隱含層向輸入層逐層反傳,并將誤差分攤給各層所有單元,以從各層獲得的誤差信號作為調整各單元權值的依據。通過調整輸入節點與隱層節點的連接強度和隱層節點與輸出節點的連接強度以及閾值,使誤差沿梯度方向下降,經過反復學習訓練,確定與最小誤差相對應的網絡參數(權值和閾值),訓練即告停止。此時經過訓練的神經網絡即能對類似樣本的輸入信息,自行處理輸出誤差最小的經過非線性轉換的信息。
4.2 神經網絡建模方法
21700鋰電池 SOC 預測需考慮的因素有很多,在進行21700鋰電池 SOC 預測時必須綜合考慮,研究選取電池的放電電壓作為預測指標,荷電狀態 SOC 為網絡輸出,以生成 BP 神經網絡的21700鋰電池 SOC 預測模型。
(1)數據預處理
原始數據預處理包括數據量化和歸一化。預處理后的數據能夠被 BP 神經網絡讀入。
數據歸一化是神經網絡預測前對數據的預處理,是將網絡中所有輸入數據都轉化為[0,1]之間的值。數據歸一化的函數形式為
式中,和分別為數據序列中的最小值和最大值。
(2)訓練集/測試集產生
為保證訓練數據隨機性,隨機選取測試數據庫中—— 組數據作為訓練集,其余 —— 組數據作為測試集。
(3)BP 神經網絡
把訓練集輸入構建好的 BP 神經網絡,然后進行網絡訓練,具體步驟如下:①隨機生成BP神經網絡的初始權值和閾值構造 BP 神經網絡;②BP 網絡創建完畢后,便可將訓練集向量輸入到網絡中,利用BP 神經網絡對網絡的權值和閾值進行優化調整,直至滿足訓練要求,迭代終止。
(4)21700鋰電池 SOC 測試
網絡訓練完成后,即可對測試集的21700鋰電池SOC 進行預測。
5軟件系統的實現方法系統框架:采用uC/OS-III內核
uC/OS-III被設計用于32位處理器,適合本系統使用的STM32F103主控芯片。
uC/OS-III允許多個任務具有相同的優先級,例如本系統中的SPI函數、溫度檢測函數和電流檢測函數的優先級便相同。這三個函數通過時間片輪轉法輪流(round robin) 運行。uC/OS-III是一個可擴展的,可固化的,搶占式的實時內核。當狀態異常時,便能及時插入停機保護函數。雖然目前的任務數不多,但是在二次開發增加功能時,該框架可以為各個任務之間的調度提供方便。
參考文獻
[1] 楊保亮,楊守良. 基于STM32和PWM的鋰離子電池檢測系統設計和研究[J]現代電子技術,2018(12):128-131.
[2] 唐俊龍,龔磊,禹智文,等. 基于UCOSII鋰離子電池監控管理系統的設計[J].電子測試,2019,407(2):48-50,115.
[3] 高文敬.動力電池 SOC 估算方法研究與BMS開發[D].淄博:山東理工大學,2018.