周維,嚴(yán)小峰,鄒波
(1.江西科技學(xué)院汽車服務(wù)工程及產(chǎn)業(yè)升級協(xié)同創(chuàng)新中心,江西南昌 330098;2.湖南大學(xué)機(jī)械與運(yùn)載工程學(xué)院,湖南長沙 410082)
BMS作為電動(dòng)汽車電池系統(tǒng)的大腦,對電池的全生命周期工作過程進(jìn)行監(jiān)控和管理,能有效提高電池的使用性能,延長其使用壽命,并保證其安全可靠地工作,是電池系統(tǒng)中必不可少的一部分。當(dāng)前BMS軟件的開發(fā)仍較多采用手寫C代碼的方式,不僅效率低,而且代碼可讀性差,導(dǎo)致錯(cuò)誤不易察覺,開發(fā)周期很長。本文作者采用基于模型的軟件開發(fā)方式可以很好地解決這些問題?;谀P偷脑O(shè)計(jì)是基于框圖進(jìn)行設(shè)計(jì),模塊化程度高、可讀性強(qiáng)、模型搭建效率高,且測試快捷和方便,能夠很好地發(fā)現(xiàn)軟件設(shè)計(jì)過程中的不足,并及時(shí)進(jìn)行修改,大大提高軟件開發(fā)的效率,同時(shí)也為企業(yè)的軟件開發(fā)節(jié)約了成本[1-3]。
BMS的主要功能包括電池狀態(tài)估計(jì)、能量控制管理、電池狀態(tài)監(jiān)測和安全保護(hù)等。
SOC作為電池管理系統(tǒng)中最基本和最重要的參數(shù)之一,其估計(jì)算法的研究十分廣泛,包括安時(shí)積分法、電池內(nèi)阻法、開路電壓法、Kalman濾波算法、模糊控制算法以及神經(jīng)網(wǎng)絡(luò)算法[4]。在工程上,安時(shí)積分法因?yàn)樗惴ê唵吻矣?jì)算量小而被廣泛使用。安時(shí)積分法的工作原理模型為
(1)
式中:SOC0為充放電的起始狀態(tài);C為電池的實(shí)際最大容量;I為電池的瞬時(shí)放電電流(充電為負(fù),放電為正);η為庫侖效率系數(shù)。
從式(1)可以看出,SOC估算誤差的來源包括初值誤差、電流測量誤差以及電池實(shí)際容量變化產(chǎn)生的誤差等,其中影響較為明顯的是電流采集的誤差。電池系統(tǒng)由于處在電動(dòng)汽車這一復(fù)雜環(huán)境中,電流信號的采集往往會(huì)因?yàn)榄h(huán)境的干擾而引入噪聲。這些噪聲會(huì)隨著電流的積分慢慢累積變大,最終導(dǎo)致SOC估計(jì)值與實(shí)際值偏差較大。
為了消除安時(shí)積分產(chǎn)生的誤差,文中設(shè)計(jì)了6種修正機(jī)制來對安時(shí)積分估計(jì)得到的SOC值進(jìn)行修正。這6種修正機(jī)制分別為開路電壓修正、預(yù)充電修正、充滿修正、極限高端修正、極限低端修正以及動(dòng)態(tài)低端修正??稍陔姵靥幱诓煌ぷ鳡顩r時(shí)采用相應(yīng)的修正方法對SOC估計(jì)值進(jìn)行修正,以實(shí)現(xiàn)SOC的高精度估算。下面對這6種機(jī)制的修正策略和觸發(fā)時(shí)機(jī)進(jìn)行簡要介紹。
開路電壓修正:當(dāng)電池系統(tǒng)下電且靜置較長時(shí)間時(shí),在下一次上電時(shí)可根據(jù)OCV-SOC關(guān)系,通過采集此時(shí)電池的端電壓對SOC進(jìn)行一次修正。
預(yù)充電修正和充滿修正是在電池處于充電狀態(tài)下,對電池的SOC進(jìn)行修正。其中預(yù)充電修正是在充電后期,當(dāng)電池組中最大單體電壓接近充電截至電壓時(shí),根據(jù)實(shí)驗(yàn)值對SOC進(jìn)行修正。充滿修正是在電池即將充滿時(shí),當(dāng)電池組的平均電壓超過電壓設(shè)定值時(shí),對SOC進(jìn)行修正。
極限高端修正和極限低端修正則是分別在SOC處于極高和極低的兩種極限狀態(tài)時(shí),對電池的SOC進(jìn)行修正。極限高端修正是當(dāng)電池處于高SOC狀態(tài)時(shí),通過采集此時(shí)電池組的最高電壓,根據(jù)實(shí)驗(yàn)標(biāo)定的電壓與SOC關(guān)系對SOC進(jìn)行修正。而極限低端修正與極限高端修正恰好相對,當(dāng)電池組中的最小電壓處于一定的區(qū)間,且電池組的總電壓低于設(shè)定值時(shí),根據(jù)實(shí)驗(yàn)數(shù)據(jù)對SOC進(jìn)行修正。
動(dòng)態(tài)低端修正:當(dāng)SOC低于一定閾值,電流較小且保持平穩(wěn)時(shí),可根據(jù)實(shí)驗(yàn)測得的端電壓與SOC的關(guān)系,采集此時(shí)電池組中的最小端電壓對安時(shí)積分每次積分計(jì)算的安時(shí)量進(jìn)行平滑修正,以消除安時(shí)積分所產(chǎn)生誤差。
SOP表示動(dòng)力電池的峰值功率狀態(tài), 它的準(zhǔn)確估計(jì)對于電動(dòng)汽車安全可靠地行駛尤為重要。由于SOP受多個(gè)變量的約束,在對SOP進(jìn)行估計(jì)時(shí),可將這些約束劃分為電約束和熱約束兩大類。電約束包括SOC約束和端電壓約束;熱約束則主要是溫度約束。通過對電池組加載電流激勵(lì),可得到溫度和端電壓限制下的峰值電流,進(jìn)而可對電池組的峰值功率進(jìn)行估計(jì)。
目前國內(nèi)外對電池組均衡技術(shù)的研究主要集中在均衡策略和均衡電路拓?fù)浣Y(jié)構(gòu)兩個(gè)方面。選擇合適的均衡變量是制定合理均衡策略的前提。電壓和SOC是目前常用的均衡變量。均衡電路的拓?fù)湫问桨凑沼袩o能量耗散可分為主動(dòng)均衡和被動(dòng)均衡。主動(dòng)均衡沒有能量耗散,能量轉(zhuǎn)移速度快,均衡效率高,但控制電路較復(fù)雜,實(shí)現(xiàn)難度大,且成本較高;被動(dòng)均衡存在能量耗散,但控制電路簡單、極易實(shí)現(xiàn)、成本較低。
針對被動(dòng)均衡方案,選擇端電壓和SOC作為均衡變量。具體的均衡策略為:當(dāng)某個(gè)電池單體的SOC達(dá)到限定值時(shí)(即在本均衡控制中將這一狀態(tài)定義為電池處于充滿狀態(tài))采用SOC作為均衡變量;否則,采用電池組的端電壓作為均衡變量。因此文中的均衡階段可按控制變量的不同分為電壓均衡階段和SOC均衡階段。文中所設(shè)計(jì)的均衡系統(tǒng)的作用過程為充電過程,因?yàn)槌潆娺^程中,電池所處的環(huán)境較為穩(wěn)定、干擾源少、均衡控制簡單、均衡效果好。
文中所設(shè)計(jì)的充電控制策略為恒流恒壓充電法。采用恒流恒壓的充電方法可以保證電池盡可能快地充滿,同時(shí)對電池?fù)p害小。具體的控制策略為:對于直流充電,為了保證電池在大倍率充電電流下不出現(xiàn)安全事故,最大允許充電電流受電池溫度約束,即對應(yīng)于一定的溫度值,有一個(gè)最大的許用電流;在開始恒流階段之前,為避免電流突然的劇增對電池造成損傷,在電流由零增加到最大許用充電電流這一階段,對電流做一個(gè)短時(shí)間的電流逐步增加處理;在充電電流的作用下,電池的電壓逐步增大,當(dāng)某個(gè)單體電池的最高電壓達(dá)到充電截止電壓或者整個(gè)電池組的總電壓超過某一設(shè)定閾值時(shí),恒流充電階段結(jié)束;進(jìn)入恒壓充電階段,維持電池組中單體電池的最高電壓一直穩(wěn)定在充電截止電壓,直至電池組中的最大SOC達(dá)到100%,充電結(jié)束。交流充電的控制過程與直流類似,不同的是交流充電的充電電流相對較小,充滿時(shí)間較長。
文中所設(shè)計(jì)的熱管理系統(tǒng)采用風(fēng)冷的冷卻方式,風(fēng)速通過一個(gè)兩擋風(fēng)扇進(jìn)行控制。BMS采集電池組中單體電池的最高溫度、最低溫度以及最大溫差。當(dāng)單體電池的最高溫度超過35 ℃,或者最大溫差超過8 ℃且最小溫度超過30 ℃時(shí),低速風(fēng)扇開啟。在此基礎(chǔ)上,當(dāng)單體電池的最高溫度超過40 ℃時(shí),高速風(fēng)扇開啟。在風(fēng)扇處于開啟狀態(tài),電池組中最高溫度低于30 ℃且最大溫差低于5 ℃時(shí),風(fēng)扇重新關(guān)閉,電池進(jìn)行自然冷卻,整個(gè)過程根據(jù)條件依次循環(huán),直至電池溫度處于最適宜的溫度范圍內(nèi)(25~40 ℃)。
為了更好地對已設(shè)計(jì)好的BMS軟件進(jìn)行仿真測試和驗(yàn)證,需要建立BMS的受控對象,即電池系統(tǒng)模型。該模型必須能很好地模擬電池的外特性、產(chǎn)熱和散熱,以及單體電池間的不一致性。同時(shí),受控對象必須與所研究的對象有很強(qiáng)的相關(guān)性。基于以上幾點(diǎn),在MATLAB/Simulink中對電池系統(tǒng)進(jìn)行建模,包括電池單體的建模和電池包的建模。
電池單體模型采用電熱耦合的電池模型,如圖1所示。其中電模型采用常用的二階RC等效電路模型,熱模型采用二狀態(tài)熱模型[5]。
圖1 電熱耦合模型原理
2.1.1 二階RC等效電路
對等效電路進(jìn)行分析,得到等效電路中各個(gè)部分電壓和電流的關(guān)系為
(2)
2.1.2 二狀態(tài)熱模型
二狀態(tài)熱模型中的生熱和傳熱方程為
(3)
電動(dòng)汽車的動(dòng)力電池系統(tǒng)是由單體電池通過串并聯(lián)的方式組合在一起的,單個(gè)電池的特性無法體現(xiàn)整個(gè)電池系統(tǒng)的特征,因此為了更好地服務(wù)于軟件測試,在單體電池建模的基礎(chǔ)上,考慮各單體電池之間的聯(lián)系以及對整個(gè)電池組的影響,建立了一個(gè)既能反映單體電池間一致性,又能反映各單體電池間熱傳遞以及與環(huán)境之間進(jìn)行熱交換情況的電池包模型。由于并聯(lián)在一起的電池組對所要研究的均衡策略的仿真分析無影響,且這部分的電池單體間緊密接觸,溫度效應(yīng)接近,為了讓模型看起來簡潔且便于分析,將并聯(lián)在一起的電池視為完全一樣的電池,因此并聯(lián)的電池組與單個(gè)電池只存在數(shù)量上的倍數(shù)關(guān)系,所設(shè)計(jì)的電池組為20并。為了考慮串聯(lián)電池組間熱量的傳遞關(guān)系,在串聯(lián)的電池組間建立了熱對流模型,模擬電池組間電池的熱對流情況,能很好地反映電池包內(nèi)部熱場分布。同時(shí)為了模擬電池與空氣的熱交換,引入一個(gè)等效熱阻Ru。Ru的值與電池包內(nèi)部的空氣流速有關(guān),能很好地模擬散熱系統(tǒng)在不同工作狀態(tài)時(shí),電池包內(nèi)部的熱場分布情況。除此之外,文中在模型中建立了正負(fù)繼電器、預(yù)充電回路和充電繼電器模型,以模擬電池充放電時(shí)的上下電過程和充電過程。為了分析的方便,只建立了4組電池串聯(lián)的模型,對于串?dāng)?shù)更多的電池組,可以很方便地進(jìn)行添加。建好的電池包模型如圖2所示。
圖2 電池包結(jié)構(gòu)及封裝
MIL即模型在環(huán),是在Matlab/Simulink環(huán)境下進(jìn)行仿真,通過輸入一系列測試用例,驗(yàn)證模型是否滿足設(shè)計(jì)的功能要求。MIL測試簡單快捷、效率高,在個(gè)人計(jì)算機(jī)上就能實(shí)現(xiàn),能夠很好地檢測軟件設(shè)計(jì)中的缺陷,已被廣泛應(yīng)用于軟件開發(fā)初期的模型驗(yàn)證[6-9]?;谇笆鏊⒌碾姵叵到y(tǒng)模型,對所開發(fā)的BMS軟件模型進(jìn)行MIL測試,以驗(yàn)證所設(shè)計(jì)的軟件功能的合理性。MIL測試分為單元測試和集成測試兩部分。
為了便于對模型仿真進(jìn)行控制,并對仿真結(jié)果進(jìn)行整理和顯示,文中基于MATLAB/GUI,建立了模型的可視化閉環(huán)仿真平臺,不僅可以通過GUI控件的簡單操控實(shí)現(xiàn)后臺模型的自動(dòng)化仿真測試,還能對仿真中的主要數(shù)據(jù)進(jìn)行動(dòng)態(tài)顯示,較方便地對整個(gè)仿真過程進(jìn)行更好的監(jiān)控,極大地提高了軟件測試的效率。
圖形用戶界面GUI(Graphics User Interface)是由各種圖形對象,如圖形窗口、光標(biāo)、按鍵、菜單、文字說明等對象構(gòu)成的用戶界面。在GUIDE平臺下可實(shí)現(xiàn)對用戶自定義界面的菜單、快捷菜單以及各種控件的位置布置及其屬性編輯,從而設(shè)計(jì)出自定義的圖形用戶界面。圖形用戶界面可視化強(qiáng)、操作靈活,能為人們提供良好的科學(xué)分析仿真平臺。圖3為所建立的BMS應(yīng)用層軟件模型仿真控制界面。
圖3 BMS模型MIL仿真控制界面
為了驗(yàn)證各軟件模塊設(shè)計(jì)的合理性,將對模型中的SOC估計(jì)模塊、充電管理模塊、SOP估計(jì)模塊進(jìn)行獨(dú)立的單元測試。由于熱管理在BMS中一直處于工作狀態(tài),且通常都是和其他模塊一起工作,因此不單獨(dú)對熱管理模塊進(jìn)行測試。
3.2.1SOC單元測試
將電池包模型與SOC估計(jì)模型結(jié)合組成SOC單元測試模型,如圖4所示。對SOC單元模型進(jìn)行仿真測試,測試結(jié)果如圖5所示。
圖4 SOC單元模型
圖5 SOC單元模塊仿真結(jié)果
由圖5的仿真結(jié)果圖可以看到,在1處,通過開路電壓對SOC進(jìn)行修正,精度較高,與真實(shí)值很接近。隨著安時(shí)積分的進(jìn)行,由于系統(tǒng)噪聲的加入,安時(shí)積分對誤差不斷累積,導(dǎo)致積分得到的SOC與真實(shí)值的差距慢慢變大。當(dāng)電池所處的工況滿足SOC修正機(jī)制的條件時(shí),會(huì)觸發(fā)對應(yīng)的SOC修正機(jī)制,從而對SOC進(jìn)行修正。如圖中所示,2~6分別對應(yīng)為動(dòng)態(tài)低端修正、極限低端修正、預(yù)充電修正、充滿修正和極限高端修正。為了避免SOC值變化過大,給用戶帶來不安,文中所設(shè)計(jì)的修正策略加入了平滑處理。當(dāng)電池處于放電工況時(shí),如果計(jì)算得到的SOC比實(shí)際值小時(shí),每次計(jì)算SOC變化值時(shí),少減一定數(shù)值;反之,則多加一定數(shù)值。對于充電工況而言,其平滑處理與放電情況則相反。按照此修正機(jī)制,隨著時(shí)間的累積,誤差將會(huì)慢慢消除。
3.2.2 充電單元測試
將電池包模型與充電模型組合成充電單元測試模型如圖6所示,進(jìn)行充電仿真測試。在這里對充電模塊的快充過程進(jìn)行測試,測試結(jié)果如圖7所示。
圖6 充電單元模塊
圖7 充電模塊仿真結(jié)果
由圖7可以看到充電過程中SOC和充電電流的變化情況。由圖可知,電池是按照恒流恒壓進(jìn)行充電的;電池從10%充到80%大概需要30 min。圖7(c)是由圖7(b)中A區(qū)域放大得到的,表示電流從零慢慢增加到最大允許充電電流,這樣做的目的是為了避免電流的迅速增大給電池組帶來沖擊。
3.2.3 SOP單元測試
將SOP估計(jì)模型和電池模型組合成SOP單元測試模型,如圖8所示。通過對電池組加載一定工況下的電流,得到在電壓、溫度和SOC限制下各時(shí)刻單體電池的峰值電流,結(jié)果如圖9所示。由圖9的結(jié)果可以看到,該電池組的峰值電流主要是受到單體電池端電壓的限制。隨著放電的持續(xù),電池溫度在逐步上升,在中后期的時(shí)候達(dá)到溫度限制值,此時(shí)的峰值電流主要受溫度的限制。在后期,由于持續(xù)的放電,電池SOC在逐步減小,最終到達(dá)SOC限制值,此時(shí)的峰值電流主要受SOC的約束。在測試前,將溫度限制為不超過45 ℃;SOC限制為不低于0.05;端電壓的限制范圍為3~4.2 V。從溫度、SOC和端電壓的仿真可以看到,三者的變化范圍都在預(yù)期設(shè)定的限制范圍內(nèi)。
圖8 SOP單元模塊
圖9 峰值電流仿真結(jié)果
由于BMS是由許多系統(tǒng)模塊組成的,在BMS實(shí)際工作過程中,要求各系統(tǒng)模塊協(xié)同作用,以達(dá)到期望的整體效果。因此,為了驗(yàn)證各模塊集成在一起時(shí)的工作效果,文中以電池包模型為受控對象,將均衡管理模型、充電模型、SOC模型、SOP模型和熱管理模型集成在一起組成集成測試模型。
3.3.1 集成測試1
首先對該集成測試模型進(jìn)行放電工況的仿真,建立的集成測試模型如圖10所示,測試結(jié)果如圖11所示。圖11(a)為該工況下,單體電池的峰值電流。圖11(b)表示SOC的變化情況以及對SOC進(jìn)行動(dòng)態(tài)低端和極限低端修正的情況。由仿真結(jié)果可以看到,經(jīng)過修正后,SOC的誤差明顯減小。圖11(c)反映了該工況下,電池的溫度變化及相應(yīng)的散熱系統(tǒng)的響應(yīng)。當(dāng)最高溫度超過35 ℃時(shí),風(fēng)扇開啟,對應(yīng)的轉(zhuǎn)速為500 r/min,此時(shí)為低速擋;當(dāng)溫度繼續(xù)增加時(shí),超過40 ℃時(shí),對應(yīng)轉(zhuǎn)速為1 000 r/min,此時(shí)為高速擋;當(dāng)溫度低于40 ℃時(shí),風(fēng)扇又回到低速擋。
3.3.2 集成測試2
為了對集成模型充電時(shí)的情況進(jìn)行分析,對該模型進(jìn)行了充電仿真測試。為了模擬電池組的不一致性,將各電池的初始SOC設(shè)置為不同值,將電池1和電池2設(shè)為一組,初始SOC為0.1;將電池3和電池4設(shè)為一組,初始SOC為0.15,最終得到測試結(jié)果如圖12所示。由圖可以看出,在初始階段,主要是以端電壓為均衡變量,對串聯(lián)電池組進(jìn)行電壓均衡。之后到達(dá)SOC閾值時(shí),以SOC為均衡變量進(jìn)行均衡。由于所設(shè)計(jì)的均衡模式為被動(dòng)均衡,每次的均衡電流很小,效率比較低,所以均衡時(shí)間較長。但是經(jīng)過長時(shí)間的均衡作用,電池間的不一致性得到緩解。因此要完全消除電池間的不一致性,需要長時(shí)間的充電均衡來實(shí)現(xiàn)。對于一些不一致性非常嚴(yán)重的電池組來說,甚至需要多次的充電均衡才能達(dá)到很好的均衡效果。
圖10 集成測試模型
圖11 集成測試模型1仿真結(jié)果
圖12 集成測試模型2均衡仿真分析
當(dāng)前的車載系統(tǒng)均為嵌入式系統(tǒng),模型功能的實(shí)現(xiàn),最終都要轉(zhuǎn)換成相應(yīng)的代碼來實(shí)現(xiàn)。雖然通過之前的MIL仿真,已經(jīng)驗(yàn)證了模型的正確性,但是在模型代碼生成過程中可能會(huì)引入一些錯(cuò)誤,導(dǎo)致模型功能無法正確實(shí)現(xiàn)。為了驗(yàn)證自動(dòng)生成的代碼和用于代碼生成的模型在功能實(shí)現(xiàn)上的一致性,建立了相應(yīng)的軟件在環(huán)(SIL)模型,并進(jìn)行了SIL仿真測試。
在進(jìn)行SIL測試之前,需要將模型生成相應(yīng)的代碼?;谀P驮O(shè)計(jì)有一個(gè)很大的優(yōu)勢就是代碼自動(dòng)生成,且生成的代碼質(zhì)量和執(zhí)行效率較高,省去了代碼編寫和調(diào)試的相關(guān)工作,大大提高了產(chǎn)品的開發(fā)效率[10-11]。因此,基于MATLAB R2017a/Simulink軟件平臺,將之前驗(yàn)證過的模型進(jìn)行代碼自動(dòng)生成,并將代碼編譯成可執(zhí)行文件。
在SIL測試階段,模型驗(yàn)證已經(jīng)完成,可以復(fù)用模型測試時(shí)使用的測試用例,避免對測試用例進(jìn)行重新設(shè)計(jì)。
SIL測試主要是對比驗(yàn)證測試。如圖13所示,在測試過程中,給SIL模型和用于代碼生成的模型相同的輸入,然后比較兩者的輸出是否一致。當(dāng)輸入信號的數(shù)據(jù)量足夠大,能夠反映電池管理系統(tǒng)的各功能模塊,涵蓋各種信號范圍,并且兩者的輸出結(jié)果一致時(shí),基本可以認(rèn)為代碼和模型在功能上的執(zhí)行效果是一致的。
圖13 SIL測試仿真模型
由圖14的對比測試結(jié)果可看出,自動(dòng)生成的代碼和用于代碼生成的模型的仿真結(jié)果完全重合,誤差均為0,兩者在功能實(shí)現(xiàn)上具有很好的一致性。
圖14 仿真結(jié)果對比分析
基于模型設(shè)計(jì)這一產(chǎn)品開發(fā)思想給前期算法研究和應(yīng)用層軟件開發(fā)帶來了極大的便利,可視化的開發(fā)環(huán)境可以讓工程師在前期軟件設(shè)計(jì)時(shí)效率大大增加,且降低出錯(cuò)率。采用基于模型的設(shè)計(jì)思想,對BMS應(yīng)用層軟件的主要功能模塊進(jìn)行了開發(fā)和測試。單元測試和集成測試的結(jié)果均表明,所開發(fā)的BMS應(yīng)用層軟件能滿足主要的功能需求和可靠性要求,所建立的BMS MIL仿真平臺能快捷、方便地對BMS應(yīng)用層軟件進(jìn)行測試和驗(yàn)證。同時(shí)SIL仿真平臺能夠很方便地對模型生成的代碼在功能上的執(zhí)行效果進(jìn)行驗(yàn)證。在后續(xù)的工作中,當(dāng)把相應(yīng)的硬件系統(tǒng)元件確定后,還能對模型進(jìn)行PIL和HIL仿真,實(shí)現(xiàn)模型從MIL到HIL的一個(gè)完整的模型驗(yàn)證流程,極大地方便了對所設(shè)計(jì)的功能策略進(jìn)行驗(yàn)證,提高前期功能軟件開發(fā)的效率,縮短產(chǎn)品的開發(fā)周期。