劉耿峰,張向文,2
(1.桂林電子科技大學(xué)電子工程與自動(dòng)化學(xué)院,廣西桂林 541004;2.廣西自動(dòng)檢測(cè)技術(shù)與儀器重點(diǎn)實(shí)驗(yàn)室(桂林電子科技大學(xué)),廣西桂林 541004)
動(dòng)力電池組是電動(dòng)汽車重要的能量來源,動(dòng)力電池組由大量的單體通過串并聯(lián)的方式組成,通過電池管理系統(tǒng)(battery management system,BMS)可以優(yōu)化單體的充放電管理,延長電動(dòng)汽車的續(xù)航里程。電池荷電狀態(tài)估計(jì)(state of charge,SOC)作為BMS 最重要的任務(wù)之一,對(duì)電池的安全運(yùn)行和智能充放電優(yōu)化管理具有重要意義[1]。電池組在日常的使用中需要將電池SOC控制在正常范圍內(nèi),防止電池過充過放,可以較大程度地確保電池的使用安全[2]。另外,通過溫度控制可以防止電池過熱爆炸起火,通過均衡管理可以降低單體電池之間的電壓差,延長電池組的使用壽命。因此BMS 通過測(cè)量電池的電壓、電流和溫度,不僅需要進(jìn)行電池組的充放電管理、均衡管理和熱管理,而且要能夠較精確地估計(jì)電池的SOC,同時(shí)實(shí)現(xiàn)對(duì)電池組運(yùn)行狀況的監(jiān)控報(bào)警功能。
目前BMS 的研究重點(diǎn)主要集中在電池信息采集處理、電池均衡管理、SOC估算方法和上位機(jī)通信等幾個(gè)方面[3]。尚麗平等[4]設(shè)計(jì)了一種鋰電池組實(shí)時(shí)主動(dòng)均衡BMS 健康管理系統(tǒng),通過鋰電池組總電壓給單體充電的形式實(shí)現(xiàn)了供能過程中單體電壓實(shí)時(shí)在線均衡調(diào)節(jié),但是缺少對(duì)電池SOC的估算。李頂根等[5]設(shè)計(jì)了基于CAN 通信的BMS 系統(tǒng)并將檢測(cè)結(jié)果在上位機(jī)上進(jìn)行顯示和記錄,未涉及到溫度管理與均衡控制等方面。汪陽雄等[6]設(shè)計(jì)實(shí)現(xiàn)了一款BMS 上位機(jī)模塊,利用串口HMI 觸摸屏實(shí)現(xiàn)充放電管理及對(duì)電池狀態(tài)參數(shù)閾值的設(shè)定。張捍東等[7]設(shè)計(jì)的BMS 管理系統(tǒng)實(shí)現(xiàn)了參數(shù)采集、信息顯示、安全報(bào)警等功能,但僅給出了SOC估算的仿真結(jié)果。羅勇等[8]提出一種基于容量修正的安時(shí)積分SOC估算方法,通過充放電實(shí)驗(yàn)得到不同倍率、庫侖效率、溫度等對(duì)電池容量的修正因子,最后使用帶修正因子的安時(shí)積分法估算SOC。綜上所述,目前的BMS 仍有待進(jìn)一步完善其功能完整性,特別是提高SOC實(shí)時(shí)在線估算的精度。
本文針對(duì)電動(dòng)汽車動(dòng)力電池組的智能充放電管理需求,設(shè)計(jì)了一款由飛思卡爾MC9S12XEP100 控制并級(jí)聯(lián)兩片LTC6804 芯片作為多節(jié)電池監(jiān)控器的鋰電池充放電智能管理系統(tǒng),實(shí)現(xiàn)對(duì)19 節(jié)磷酸鐵鋰電池的電壓、電流和溫度實(shí)時(shí)監(jiān)控、電壓均衡控制、數(shù)據(jù)存儲(chǔ)、熱管理和上位機(jī)顯示等功能。同時(shí),通過開路電壓和安時(shí)積分融合方法實(shí)現(xiàn)SOC的實(shí)時(shí)在線估計(jì)。下文首先給出設(shè)計(jì)的BMS 整體結(jié)構(gòu),然后具體介紹各功能模塊的設(shè)計(jì)以及SOC估計(jì)算法的實(shí)現(xiàn),最后采用Arbin 電池測(cè)試設(shè)備對(duì)上述功能以及SOC估計(jì)算法進(jìn)行測(cè)試和驗(yàn)證。
本文設(shè)計(jì)的BMS 整體結(jié)構(gòu)如圖1 所示。主要功能模塊包括:主控制器模塊,電壓采集模塊,電流采集模塊,溫度控制模塊,均衡控制模塊,數(shù)據(jù)存儲(chǔ)模塊以及人機(jī)接口模塊。
圖1 BMS 系統(tǒng)整體結(jié)構(gòu)簡圖
圖1中,主控制器模塊由飛思卡爾單片機(jī)MC9S12XEP100及最小系統(tǒng)電路組成;通過SPI接口級(jí)聯(lián)兩片LTC6804-2 電池組監(jiān)控芯片來采集電壓和溫度,并實(shí)現(xiàn)均衡控制;由霍爾電流傳感器測(cè)量充放電電流,由ATD 功能送至主控芯片處理;數(shù)據(jù)存儲(chǔ)模塊SD 卡由SPI接口實(shí)現(xiàn);通過GPIO 口控制繼電器通斷進(jìn)行散熱控制和充放電控制;人機(jī)界面通過SCI通信模塊與主控芯片進(jìn)行通信,實(shí)現(xiàn)電池狀態(tài)的顯示與報(bào)警功能。
本設(shè)計(jì)的控制器采用飛思卡爾16 位汽車級(jí)微控制器MC9S12XEP100,由標(biāo)準(zhǔn)的片上外設(shè)組成,包括串行通信接口(SCI)、串行外設(shè)接口(SPI)、增強(qiáng)捕獲定時(shí)器(ECT)等眾多擴(kuò)展功能,具有低成本,低功耗與兼容性高等特點(diǎn),在汽車工業(yè)領(lǐng)域廣泛應(yīng)用。同時(shí),該控制器自帶基于2.0B 標(biāo)準(zhǔn)和J1939 協(xié)議的CAN 總線通訊,可用于連接整車控制器做后續(xù)開發(fā)。圖2 為主控制器的最小系統(tǒng)電路。
圖2 最小系統(tǒng)硬件電路
電壓采集模塊選擇凌力爾特公司的第三代電池組監(jiān)視芯片LTC6804,每片可測(cè)量多達(dá)12 節(jié)串聯(lián)電池的電壓,常應(yīng)用于電動(dòng)汽車的電源系統(tǒng)或電網(wǎng)能量存儲(chǔ)中。芯片內(nèi)置isoSPITM接口,每個(gè)通道最大測(cè)量誤差1.2 mV。本設(shè)計(jì)通過級(jí)聯(lián)兩片LTC6804 來采集19 節(jié)單體電池的電壓,通過SPI 與主控制器進(jìn)行通訊,電路原理圖如圖3 所示。兩片LTC6804均采用ADUM1401 數(shù)字隔離器對(duì)主控制器的SPI 接口進(jìn)行信號(hào)隔離。根據(jù)LTC6804S 芯片數(shù)據(jù)手冊(cè),ADCV 命令用于啟動(dòng)電池電壓測(cè)量輸入(引腳C0 至C12),芯片內(nèi)部共有四組電池電壓寄存器組CVAR-CVDR,每組電壓寄存器組由六個(gè)八位寄存器組成(如CVAR0-CVAR5),采用輪詢方式讀出寄存器值,通過數(shù)據(jù)變換即可得到每個(gè)單體電池對(duì)應(yīng)電壓。
圖3 LTC6804電壓采集電路原理圖
電動(dòng)汽車電池組通常由大量的單體電池串聯(lián)組成,但由于單體電池在內(nèi)阻、自放電率、容量等參數(shù)上的不一致,易導(dǎo)致個(gè)別電池在充放電過程中過充電或者過放電,增加電池報(bào)廢的風(fēng)險(xiǎn)。因此BMS 需要設(shè)計(jì)均衡管理來盡可能地消除各單體電池的差異性,提高各電池之間容量和電壓的一致性,進(jìn)而延長電池組的使用壽命。本文設(shè)計(jì)的BMS 系統(tǒng)利用外部MOSFET 和放電電阻進(jìn)行電壓平衡,每片LTC6804 的S(x)引腳能夠充當(dāng)一個(gè)適合于驅(qū)動(dòng)外部MOSFET 的柵極的數(shù)字輸出,將一個(gè)分立型PMOS 開關(guān)器件和合適的放電電阻器連接至電池,并將柵極端子連接至S(x)輸出引腳。均衡模塊的電路原理圖如圖4 所示。當(dāng)?shù)趚節(jié)電池的單體電壓低于19 節(jié)電池的最低電壓時(shí),通過配置寄存器組的DCC[x]存儲(chǔ)位實(shí)現(xiàn)對(duì)電池x的放電控制。每片LTC6804 可獨(dú)立控制12 節(jié)電池的電壓均衡,當(dāng)某節(jié)電池處于均衡放電時(shí),對(duì)應(yīng)的LED 會(huì)被點(diǎn)亮,直到達(dá)到均衡要求。
1.2.3 對(duì)照II組 2例患者,給予胰激肽原酶240 U/次,3次/d,甲鉆胺0.5 mg/次,3次/d,療程為持續(xù) 4周。
圖4 均衡管理模塊原理圖
BMS 系統(tǒng)監(jiān)控電池狀態(tài)時(shí)也需要實(shí)時(shí)測(cè)量充電放電過程的電流變化,本設(shè)計(jì)采用霍爾電流傳感器來檢測(cè)電池組的總電流。該電流傳感器采用±15 V 供電,測(cè)量輸入輸出電流的最大量程為100 A,誤差可控制在1%以內(nèi),輸出為0~4 V 電壓,再通過LM358 雙運(yùn)算放大器電路將測(cè)量數(shù)據(jù)直接送入主控制器的模數(shù)轉(zhuǎn)換通道(ATD)進(jìn)行處理。
由于電池組充放電過程中都會(huì)伴隨發(fā)熱現(xiàn)象,過高的環(huán)境溫度將嚴(yán)重影響電池的使用壽命。同時(shí)利用外部電阻進(jìn)行電池均衡時(shí),電阻發(fā)熱也會(huì)導(dǎo)致主板溫度過高,影響LTC6804 芯片的采集精度,因此整體系統(tǒng)的溫度采集分為主板溫度與電池溫度兩個(gè)部分。本設(shè)計(jì)采用單線接口方式的溫度傳感器DS18B20 監(jiān)控主板溫度,使用兩片LTC6804 的10個(gè)通用GPIO 外接負(fù)溫度系數(shù)NTC 熱敏電阻組成外部溫度探頭,用于監(jiān)控電池組環(huán)境溫度。NTC 熱敏電阻采用B值為3 470,25 ℃標(biāo)稱阻值為5 kW 的熱敏電阻。本設(shè)計(jì)的散熱系統(tǒng)采用風(fēng)冷,將散熱風(fēng)扇安裝在電池箱的散熱點(diǎn),當(dāng)主板溫度或者電池組溫度超過設(shè)定閾值時(shí),程序控制繼電器來控制散熱風(fēng)扇進(jìn)行降溫。
由于對(duì)電池SOC進(jìn)行估算時(shí),涉及到當(dāng)前電池的狀態(tài),因此需要考慮電池上一次斷電前電池容量和測(cè)試數(shù)據(jù)的存儲(chǔ)。本文采用單片機(jī)內(nèi)部32KB 的D-FLASH 存儲(chǔ)器用于存儲(chǔ)系統(tǒng)斷電前的電池容量和SOC等數(shù)據(jù)。同時(shí)設(shè)計(jì)了2 G 內(nèi)存的SD 卡存儲(chǔ)模塊,將電池運(yùn)行過程中的電壓電流以及SOC的變化數(shù)據(jù)存入SD 卡中,存儲(chǔ)的數(shù)據(jù)可通過PC 機(jī)讀取并用于后續(xù)的電池健康狀態(tài)(SOH)估算中。
電池組的充電方式采用恒流恒壓[9](constant currentconstant voltage,CC-CV)充電方式。利用Arbin 電池測(cè)試設(shè)備對(duì)電池組進(jìn)行充放電測(cè)試過程中,BMS 將實(shí)時(shí)獲取每節(jié)單體電池的充電電壓及充電電流。如果檢測(cè)到單節(jié)電池充電電壓上升到3.9 V(充電截止電壓)或者下降到2.5 V(放電截止電壓)時(shí),程序控制繼電器模塊切斷充放電電流,并通過蜂鳴器報(bào)警,防止電池被嚴(yán)重過充過放,造成不可逆的損害。
本BMS 設(shè)計(jì)的人機(jī)界面由7 寸增強(qiáng)型USART HMI 串口屏實(shí)現(xiàn),主控制器與人機(jī)界面之間通過USART 串口進(jìn)行通訊。通過自主設(shè)計(jì)的操作界面用于顯示單體電池電壓、充放電電流、主板及電池溫度與估算的SOC,同時(shí)進(jìn)行充放電控制,設(shè)置報(bào)警參數(shù)與信息存儲(chǔ)等功能。顯示屏界面如圖5 所示。
圖5 人機(jī)界面
對(duì)電池SOC進(jìn)行準(zhǔn)確估計(jì),既是電動(dòng)汽車估算續(xù)航里程的基本要求,也關(guān)系到電池的使用壽命及使用效率。常用的SOC估算方法有開路電壓法[10]、安時(shí)積分法、卡爾曼濾波法[11]和神經(jīng)網(wǎng)絡(luò)法[12]等。其中開路電壓法相對(duì)簡單便捷,只需要構(gòu)建開路電壓(open circuit voltage,OCV)與SOC的函數(shù)曲線OCV-SOC,通過測(cè)量得到的開路電壓即可得到當(dāng)前電池SOC。但是電池需要經(jīng)過長時(shí)間靜置來使電壓穩(wěn)定,若電池使用頻繁,開路電壓短時(shí)間內(nèi)難以達(dá)到穩(wěn)定。安時(shí)積分法是通過累積充進(jìn)和放出的電量來估算SOC,但電流采樣的誤差累積與充放電倍率等影響因素易導(dǎo)致估算誤差??柭鼮V波法適用于各種類型不同老化階段的電池,但是其精確性很大程度依賴于電池等效模型的建立,而且計(jì)算量比較大。而神經(jīng)網(wǎng)絡(luò)法需要大樣本數(shù)據(jù)用于建立電池模型。綜合以上方法的特點(diǎn),本文采用開路電壓法與安時(shí)積分融合的改進(jìn)型SOC估算方法,首先獲取電池組的開路電壓,然后根據(jù)開路電壓隨SOC變化的曲線特征,確定SOC估算的初始值,結(jié)合該初始值,通過安時(shí)積分估算SOC的實(shí)時(shí)變化。下面對(duì)該估算方法的具體步驟進(jìn)行介紹:
步驟一:獲取電池組開路電壓。
使用Arbin 電池測(cè)試設(shè)備對(duì)19 節(jié)額定容量為100 Ah 的磷酸鐵鋰電池組成的電池組進(jìn)行充放電實(shí)驗(yàn):恒流恒壓方式將電池組充滿電,標(biāo)記滿電狀態(tài)電池組的SOC為1。然后以1C的放電電流對(duì)電池組進(jìn)行放電,SOC每降低10%記錄電池在靜置狀態(tài)下的開路電壓,獲取電池OCV與SOC的對(duì)應(yīng)關(guān)系,結(jié)果如表1 所示。
表1 OCV 值和SOC 的對(duì)應(yīng)值
使用Matlab 對(duì)表1 的離散點(diǎn)進(jìn)行曲線擬合,得到開路電壓與SOC的函數(shù)關(guān)系曲線如圖6 所示。
圖6 開路電壓與SOC擬合曲線
由圖6 可知,實(shí)驗(yàn)采用的磷酸鐵鋰電池組SOC大于20%時(shí),電池組處于平臺(tái)期[13]。當(dāng)電池組開路電壓處于62.4~63.3 V 之間時(shí),SOC的變化比較大,開路電壓與SOC的對(duì)應(yīng)關(guān)系難以準(zhǔn)確確定,因此本文采用兩種方式獲取SOC的值作為SOC估計(jì)算法的初始值SOC(t0)。
(1)BMS 系統(tǒng)開機(jī)后,先獲取電池組開路總電壓,若電壓大于63.3 V 或者小于62.4 V,則通過OCV-SOC曲線估算SOC(t0)。
(2)若開路總電壓處于62.4~63.3 V 之間,則采用上一次BMS 停機(jī)時(shí)存儲(chǔ)的SOC作為當(dāng)前的SOC(t0)。
步驟二:安時(shí)積分法。
獲取SOC初始值之后,在電池組充放電過程中,結(jié)合安時(shí)積分法實(shí)現(xiàn)SOC實(shí)時(shí)在線估算。安時(shí)積分法的計(jì)算公式如下:
式中:SOC(t)為t時(shí)刻的SOC;i為測(cè)量的充放電電流,充電時(shí)為正,放電時(shí)為負(fù);Q0為電池額定容量;η 為庫侖效率,其定義為電池的充電容量與放電容量比值,本文按照充放電效率為1 進(jìn)行計(jì)算;KT為溫度系數(shù),本文取室溫(25 ℃)下KT=25℃=1,其他溫度系數(shù)按式(2)進(jìn)行計(jì)算:
式中:t為放電時(shí)的環(huán)境溫度;k為溫度系數(shù),本文取溫度系數(shù)k=0.005 進(jìn)行計(jì)算。
使用安時(shí)積分法時(shí)電流的采樣精度直接關(guān)系到電池SOC的估計(jì)結(jié)果。本設(shè)計(jì)采集的電流信號(hào)為離散信號(hào),傳輸過程中易受到干擾導(dǎo)致信號(hào)失真。為了降低干擾的影響,采用遞推平均濾波算法來處理采集的電流信號(hào),如式(3):
式中:t為當(dāng)前時(shí)刻;y(t)為當(dāng)前濾波器輸出;I(t)為當(dāng)前電流采樣信號(hào);t0為遞推濾波長度,本文選擇t0=10 s。
為了驗(yàn)證設(shè)計(jì)的BMS 的可靠性,實(shí)驗(yàn)測(cè)試平臺(tái)由BMS系統(tǒng)、電池組與Arbin 電池測(cè)試設(shè)備組成,以19 節(jié)額定容量為100 Ah、額定電壓為3.7 V 的串聯(lián)磷酸鐵鋰電池為測(cè)試對(duì)象,各設(shè)備連接圖如圖7 所示。
圖7 各設(shè)備連接圖
通過Arbin 設(shè)備連接電池組測(cè)試單節(jié)電池電壓與電池組總電壓,與設(shè)計(jì)的BMS 系統(tǒng)測(cè)得電壓相比,實(shí)驗(yàn)結(jié)果如表2 所示。由實(shí)驗(yàn)數(shù)據(jù)可得,BMS 系統(tǒng)測(cè)量單節(jié)電池電壓與Arbin設(shè)備測(cè)得的實(shí)際電壓的誤差在0.07 V 之內(nèi),符合設(shè)計(jì)要求。
表2 電池電壓比較 V
當(dāng)電池電壓不一致時(shí)可開啟被動(dòng)均衡功能,同時(shí)將采集的電池溫度與主板溫度與Arbin 設(shè)備測(cè)量的溫度作比較,實(shí)驗(yàn)結(jié)果如表3 所示。由表3 可知,電池溫度的實(shí)際值與BMS 的測(cè)量值誤差在1 ℃以內(nèi),主板溫度的實(shí)際值與板子上DS18B20 的測(cè)量值誤差約為0.5 ℃,滿足實(shí)際應(yīng)用的精度要求。
表3 溫度比較 ℃
磷酸鐵鋰電池SOC在10%~90%之間時(shí),其電池電壓和內(nèi)阻變化較為平穩(wěn),是電池運(yùn)行的最佳區(qū)間。為了測(cè)試設(shè)計(jì)的SOC實(shí)時(shí)估算算法的精度,本文將電池組充電90%SOC,靜置1 h 后,分四個(gè)階段對(duì)電池組進(jìn)行放電:(1)SOC為90%時(shí),設(shè)置電池放電,當(dāng)電池SOC降至70%時(shí),停止放電并靜置30 min;(2)SOC為70%時(shí),設(shè)置電池放電,當(dāng)電池SOC降至50%時(shí),停止放電并靜置30 min;(3)SOC為50%時(shí),設(shè)置電池放電,當(dāng)電池SOC降至30%時(shí),停止放電并靜置30 min;(4)SOC為30%時(shí),設(shè)置電池放電,放電至SOC降至10%。
放電過程通過模擬NEDC 工況的曲線來設(shè)置變電流的循環(huán)放電工況,具體的變電流循環(huán)曲線如圖8 所示。
圖8 變電流循環(huán)放電曲線
放電過程中,BMS 系統(tǒng)處于運(yùn)行狀態(tài),采用上述的改進(jìn)型估算方法對(duì)SOC進(jìn)行實(shí)時(shí)估算,人機(jī)交互界面上每1 s 更新一次顯示數(shù)據(jù),單片機(jī)每30 s 記錄一次估算SOC數(shù)據(jù)存于SD卡中。同時(shí)使用傳統(tǒng)的開路電壓結(jié)合安時(shí)積分方法估算SOC,將兩種方法估算的SOC與實(shí)際SOC進(jìn)行對(duì)比。圖9(a)描繪了改進(jìn)型SOC估算方法和傳統(tǒng)SOC估算方法在四個(gè)不同放電倍率階段估算的SOC與真實(shí)SOC曲線對(duì)比,由圖可以看出由于電池組OCV-SOC曲線存在平臺(tái)期,若在停機(jī)后采用開路電壓獲取初始SOC,容易造成較大誤差。而設(shè)計(jì)的改進(jìn)型SOC估算方法可以根據(jù)上次停機(jī)時(shí)記錄的SOC結(jié)合當(dāng)前的開路電壓獲取電池組SOC,實(shí)現(xiàn)較好地跟蹤實(shí)際SOC變化。估算的SOC與實(shí)際SOC之間誤差如圖9(b)所示,改進(jìn)型算法的誤差小于1.17%,而傳統(tǒng)方法的誤差超過2.1%。同時(shí)將改進(jìn)型SOC估算方法、傳統(tǒng)SOC估算方法與其他文獻(xiàn)的不同SOC估算方法進(jìn)行對(duì)比,誤差對(duì)比結(jié)果如表4 所示。通過對(duì)比可以看出,本文提出的改進(jìn)型SOC估算方法的誤差要明顯小于目前其他文獻(xiàn)所設(shè)計(jì)的方法。因此,本文所設(shè)計(jì)的SOC估算算法具有更高的估算精度。
圖9 真實(shí)SOC與兩種方法估算的SOC對(duì)比及誤差曲線
表4 改進(jìn)型SOC 估算方法、傳統(tǒng)SOC估算方法與其他文獻(xiàn)的誤差對(duì)比 %
本文設(shè)計(jì)了一款由MC9S12XEP100 單片機(jī)控制并以LTC6804 作為多節(jié)電池監(jiān)控器的電動(dòng)汽車動(dòng)力電池組充放電管理系統(tǒng),并實(shí)現(xiàn)對(duì)多節(jié)電池單體的電壓、電流和溫度實(shí)時(shí)監(jiān)控、電壓均衡控制、數(shù)據(jù)存儲(chǔ)、熱管理、充放電管理和上位機(jī)顯示等功能。同時(shí)在該管理系統(tǒng)上實(shí)現(xiàn)一種開路電壓與安時(shí)積分融合的改進(jìn)型SOC實(shí)時(shí)在線估算方法。最后采用ARBIN 動(dòng)力電池測(cè)試平臺(tái)對(duì)設(shè)計(jì)的BMS 功能進(jìn)行了功能測(cè)試,測(cè)試得到電壓誤差小于0.07 V,溫度誤差小于1 ℃,SOC估算可以較好地跟蹤實(shí)際SOC變化,估算誤差小于1.2%。另外,為了滿足電動(dòng)汽車安全需要,下一步將增加高壓上下電控制和絕緣檢測(cè)等功能,以建立更完善的電池管理系統(tǒng)。