首頁 > 新能源汽車

基于STM32的多通道鋰電池充放電測試系統(tǒng)

來源:新能源汽車網
時間:2018-01-22 19:12:04
熱度:

基于STM32的多通道鋰電池充放電測試系統(tǒng)本文設計了一個擁有多通道的鋰電池充放電測試系統(tǒng),以STM32F429為主控芯片,配合雙量程的電流采集、充放電控制、雙探測器的溫度檢測以及電

本文設計了一個擁有多通道的鋰電池充放電測試系統(tǒng),以STM32F429為主控芯片,配合雙量程的電流采集、充放電控制、雙探測器的溫度檢測以及電壓檢測等電路,實現了同時對多個串聯動力鋰電池組的充放電測試及保護。在測試過程中,通過上位機程序,可對多個鋰電池組的充放電測試過程進行監(jiān)視,并將鋰電池充放電測試數據實時顯示。

1、系統(tǒng)的硬件設計

本系統(tǒng)采用STMicroelectronics公司所生產的高性能、低功耗、高性價比的STM32F429作為整個系統(tǒng)的核心控制器,通過SPI(serialperipheralin-terface)總線以及SMBus(systemmanagementbus)總線分別與電流、溫度、電壓檢測模塊通信,通過普通IO引腳控制充放電回路的開斷,實現相應的保護功能,并且將采集到的數據通過串口轉USB模塊發(fā)送給上位機電腦,通過上位機實現采集數據的實時監(jiān)控和數據分析與處理,系統(tǒng)結構圖如圖1所示。本系統(tǒng)擁有8個獨立監(jiān)控通道,每個通道能監(jiān)控1~8節(jié)鋰電池的充放電狀態(tài),并且通道1和2、通道3和4、通道5和6、通道7和8還可兩兩組合,實現監(jiān)控9~16節(jié)串聯的鋰電池組。

基于STM32的多通道鋰電池充放電測試系統(tǒng)

系統(tǒng)的硬件設計主要包括鋰電池電壓檢測模塊設計、溫度檢測模塊設計、電流檢測模塊設計以及充放電保護功能模塊設計。

1.1、電流檢測及充放電控制硬件設計

電流是鋰電池組充放電狀態(tài)的重要參數之一,是直接判斷是否出現過流的依據,同時也是安時積分法估算充放電總量的重要參數,所以電流檢測精度直接影響到充放電量的估算以及充放電數據的處理和分析。因為便攜式電動工具所用的鋰電池包容量、型號以及性能上的差異,系統(tǒng)中的電流檢測模塊必須具有通用性。本系統(tǒng)采用雙量程的電流檢測方案設計,這樣既保證了在小電流和大電流情況下的檢測精度,也提高了系統(tǒng)檢測電流大小的能力。考慮到閉環(huán)霍爾電流傳感器具有測量動態(tài)范圍寬、測量精度高、響應速度快和隔離測量的特點,所以本系統(tǒng)各個通道均采用一個閉環(huán)電流霍爾傳感器MMI-200B來實現充放電電流的采集。鋰電池充放電電流Ip為原邊電流從MMI-200B傳感器通孔輸入,副邊輸出電流/out與ID的關系為:

n&mes;Ia=K&mes;/Ion.(1)

式中,K為比例系數,其大小與霍爾傳感器型號有關,MMI-200B中K=1000;n為原邊線圈的匝數,本系統(tǒng)n=2。

通過測量采樣電阻上的電壓,即可測得充放電電流Ip的大小。系統(tǒng)為了保證在大小電流情況下的檢測精度,通過主控芯片STM32的IO引腳的高低電平來控制三極管的通斷,從而控制繼電器G6K-2P的開關狀態(tài)選擇阻值不同的采樣電阻,再經過具有兩路差分輸入的高精度、24位ADC芯片ADS1247進行AD轉換,最后主控芯片通過SPI總線讀取各個電流檢測模塊的ADC芯片的轉換值,計算出各個通道的充放電電流大小。

基于STM32的多通道鋰電池充放電測試系統(tǒng)

鋰電池充放電控制結構如圖2所示。考慮到若采用充放電負極分離控制電路,鋰電池組正極直接與充電器或負載正極相連,當鋰電池組節(jié)數較多,總體電壓較大時,存在損壞充電器或負載的風險。本系統(tǒng)采用充放電正極分離控制電路,即電池組、充電器和負載的負極保持連接,鋰電池正極通過兩路PMOS開關電路分別與充電器和負載正極相連。充放電控制電路結構基本一致,充電控制電路圖如圖3所示。

基于STM32的多通道鋰電池充放電測試系統(tǒng)

1.2、電壓檢測硬件設計

電壓是鋰電池組充放電狀態(tài)的重要參數之一,是檢測電池是否損壞最直觀的參數,只有檢測到足夠精確的電壓值,才能判斷出充放電過程中電池是否過度充電或放電,及時啟動系統(tǒng)保護功能,停止對鋰電池組的充電或放電。本系統(tǒng)選用凌特公司的多節(jié)電池組監(jiān)控芯片LTC6804-1,可測量多達12節(jié)串聯電池的電壓,同時還可以通過菊花鏈把多個LTC6804器件串接起來,實現測量12節(jié)以上串聯電池電壓的功能。

本系統(tǒng)共使用8個LTC6804-1電壓檢測模塊,每個電壓檢測模塊負責一個通道最多8節(jié)電池電壓的測量,其中,通道1與通道2、通道3與通道4、通道5與通道6、通道7與通道8的電壓檢測模塊均采用菊花鏈級聯連接,因此,在通道組合情況下,可以測量多達16節(jié)電池電壓,電壓檢測結構如圖4所示。

基于STM32的多通道鋰電池充放電測試系統(tǒng)

1.3、溫度檢測硬件設計

鋰電池對溫度范圍的要求很高,通常情況下,其理想的工作溫度范圍在20℃~35℃,當溫度超過40℃后會影響電池的使用壽命,當溫度低于0‘C會影響電池的充放電性能,當鋰電池在過充階段和過放階段時,其溫度也會明顯上升。因此,實時監(jiān)控充放電過程中電池溫度才能更好地選擇合適的充放電策略,更加及時地保護鋰電池。

系統(tǒng)采用一種雙探測器鋰電池表面溫度檢測方法,來確保鋰電池溫度在發(fā)生突變情況下,溫度檢測能夠及時響應,并且兼顧較高的溫度檢測精度,防止在極端測試條件下損壞鋰電池。檢測硬件包括PT1000鉑熱電阻溫度傳感器、熱敏電阻轉換模塊、MLX90614紅外溫度傳感器、SMBus緩沖模塊以及主控芯片STM32。熱敏電阻溫度檢測可以獲取較高的溫度檢測精度,但其溫度檢測需要電池與熱電雙探測器溫度檢測結構如圖5所示。

基于STM32的多通道鋰電池充放電測試系統(tǒng)

2、系統(tǒng)的軟件設計

2.1、下位機軟件設計

本系統(tǒng)下位機軟件流程如圖6所示。下位機共開啟了兩處中斷功能,一是串口接收中斷,其目的是將上位機發(fā)送的命令存儲在一個環(huán)形數組中;二是定時器中斷,定時器每隔50ms觸發(fā)一次中斷,并將tt置1,程序通過不斷查詢tt值來決定是否進行采樣。系統(tǒng)在第一次運行時會進行系統(tǒng)的初始化,并完成與上位機的通信握手,隨后在無限循環(huán)中運行。在整個循環(huán)過程中,下位機會不斷解析環(huán)形數組里面的數據即上位機所發(fā)送命令,一旦有定義好的命令被解析出來后,就會進行相對應的操作,如配置通道1的充放電狀態(tài)、通道1的保護參數,開啟或關閉通道1采樣等等。隨后,通過判斷變量tt值是否為1,從而選擇是否進入采樣、保護功能函數并將tt清零,count值加1,等待定時器刷新tt值進行下一次采樣。當count值等于mulTIple值時,系統(tǒng)就會將采樣數據發(fā)送給上位機。mulTIple值由上位機發(fā)送特定的命令修改,通過改變multiple的值,即可控制下位機發(fā)送數據的間隔,時間為50ms的multiple倍,上位機將下位機傳送的數據保存并實時顯示出來。

基于STM32的多通道鋰電池充放電測試系統(tǒng)

2.2、上位機軟件設計

系統(tǒng)上位機軟件是基于PyQt庫設計的,運行軟件后,系統(tǒng)將處于設備查找狀態(tài),等待下位機響應后,系統(tǒng)進入主界面進行鋰電池充放電測試,主界面如圖7所示,能實時顯示各節(jié)電池單體電壓、通道總電壓、通道電流通道溫度、充放電電量、保護參數以及測試時間等。

3、測試結果

在實際測試過程中,使用BOSCH18V5.0Ah的鋰電池包作為充放電電池,大功率電子負載作為放電負載,通過不斷改變電子負載放電電流,分別對8個通道進行測試。其中,通道3的測試數據如表1所示。

基于STM32的多通道鋰電池充放電測試系統(tǒng)

驗證系統(tǒng)的檢測精度達到要求后,利用BOSCH專用充電底座對鋰電池進行充電,系統(tǒng)監(jiān)控整個充電過程并自動繪制充電曲線如圖8所示。從圖8(a)可知,BOSCH充電器選擇的充電階段大致分為兩個階段,在電池充電的第一階段,電池溫度是持續(xù)上升的;第二階段,由于充電電流不斷減小,溫度緩緩減低。從圖8(b)可知,充電結束時,充電電量為4.95Ah,與電池容量5Ah相符;電池電壓隨著充電的進行不斷上升。從圖8(c)可知,系統(tǒng)運行穩(wěn)定,能夠實時準確監(jiān)視電池的狀態(tài),電池組能夠可靠、安全地工作。

基于STM32的多通道鋰電池充放電測試系統(tǒng)

4、結束語

本文提出和設計了一種基于STM32的多通道鋰電池充放電測試系統(tǒng),能夠準確監(jiān)視和記錄鋰電池組的狀態(tài),同時提供過充、過放、過溫等保護。系統(tǒng)的電流檢測設計采用雙量程的設計方案,實現了小電流以及大電流檢測的高精度,溫度檢測采用雙探測器相結合的檢測方案,獲得了準確的溫度采集以及對過溫或低溫的快速保護。本系統(tǒng)具有測試通道多、集成度高、精度高、量程大、反應快、抗干擾等優(yōu)點。該設計的不足之處在于系統(tǒng)雖然支持組合模式,但最多也只能測試16節(jié)電池組的充放電。