基于STM32的多通道鋰電池充放電測(cè)試系統(tǒng)
本文設(shè)計(jì)了一個(gè)擁有多通道的鋰電池充放電測(cè)試系統(tǒng),以STM32F429為主控芯片,配合雙量程的電流采集、充放電控制、雙探測(cè)器的溫度檢測(cè)以及電壓檢測(cè)等電路,實(shí)現(xiàn)了同時(shí)對(duì)多個(gè)串聯(lián)動(dòng)力鋰電池組的充放電測(cè)試及保護(hù)。在測(cè)試過(guò)程中,通過(guò)上位機(jī)程序,可對(duì)多個(gè)鋰電池組的充放電測(cè)試過(guò)程進(jìn)行監(jiān)視,并將鋰電池充放電測(cè)試數(shù)據(jù)實(shí)時(shí)顯示。
1、系統(tǒng)的硬件設(shè)計(jì)
本系統(tǒng)采用STMicroelectronics公司所生產(chǎn)的高性能、低功耗、高性?xún)r(jià)比的STM32F429作為整個(gè)系統(tǒng)的核心控制器,通過(guò)SPI(serialperipheralin-terface)總線以及SMBus(systemmanagementbus)總線分別與電流、溫度、電壓檢測(cè)模塊通信,通過(guò)普通IO引腳控制充放電回路的開(kāi)斷,實(shí)現(xiàn)相應(yīng)的保護(hù)功能,并且將采集到的數(shù)據(jù)通過(guò)串口轉(zhuǎn)USB模塊發(fā)送給上位機(jī)電腦,通過(guò)上位機(jī)實(shí)現(xiàn)采集數(shù)據(jù)的實(shí)時(shí)監(jiān)控和數(shù)據(jù)分析與處理,系統(tǒng)結(jié)構(gòu)圖如圖1所示。本系統(tǒng)擁有8個(gè)獨(dú)立監(jiān)控通道,每個(gè)通道能監(jiān)控1~8節(jié)鋰電池的充放電狀態(tài),并且通道1和2、通道3和4、通道5和6、通道7和8還可兩兩組合,實(shí)現(xiàn)監(jiān)控9~16節(jié)串聯(lián)的鋰電池組。
系統(tǒng)的硬件設(shè)計(jì)主要包括鋰電池電壓檢測(cè)模塊設(shè)計(jì)、溫度檢測(cè)模塊設(shè)計(jì)、電流檢測(cè)模塊設(shè)計(jì)以及充放電保護(hù)功能模塊設(shè)計(jì)。
1.1、電流檢測(cè)及充放電控制硬件設(shè)計(jì)
電流是鋰電池組充放電狀態(tài)的重要參數(shù)之一,是直接判斷是否出現(xiàn)過(guò)流的依據(jù),同時(shí)也是安時(shí)積分法估算充放電總量的重要參數(shù),所以電流檢測(cè)精度直接影響到充放電量的估算以及充放電數(shù)據(jù)的處理和分析。因?yàn)楸銛y式電動(dòng)工具所用的鋰電池包容量、型號(hào)以及性能上的差異,系統(tǒng)中的電流檢測(cè)模塊必須具有通用性。本系統(tǒng)采用雙量程的電流檢測(cè)方案設(shè)計(jì),這樣既保證了在小電流和大電流情況下的檢測(cè)精度,也提高了系統(tǒng)檢測(cè)電流大小的能力??紤]到閉環(huán)霍爾電流傳感器具有測(cè)量動(dòng)態(tài)范圍寬、測(cè)量精度高、響應(yīng)速度快和隔離測(cè)量的特點(diǎn),所以本系統(tǒng)各個(gè)通道均采用一個(gè)閉環(huán)電流霍爾傳感器MMI-200B來(lái)實(shí)現(xiàn)充放電電流的采集。鋰電池充放電電流Ip為原邊電流從MMI-200B傳感器通孔輸入,副邊輸出電流/out與ID的關(guān)系為:
n&mes;Ia=K&mes;/Ion.(1)
式中,K為比例系數(shù),其大小與霍爾傳感器型號(hào)有關(guān),MMI-200B中K=1000;n為原邊線圈的匝數(shù),本系統(tǒng)n=2。
通過(guò)測(cè)量采樣電阻上的電壓,即可測(cè)得充放電電流Ip的大小。系統(tǒng)為了保證在大小電流情況下的檢測(cè)精度,通過(guò)主控芯片STM32的IO引腳的高低電平來(lái)控制三極管的通斷,從而控制繼電器G6K-2P的開(kāi)關(guān)狀態(tài)選擇阻值不同的采樣電阻,再經(jīng)過(guò)具有兩路差分輸入的高精度、24位ADC芯片ADS1247進(jìn)行AD轉(zhuǎn)換,最后主控芯片通過(guò)SPI總線讀取各個(gè)電流檢測(cè)模塊的ADC芯片的轉(zhuǎn)換值,計(jì)算出各個(gè)通道的充放電電流大小。
鋰電池充放電控制結(jié)構(gòu)如圖2所示??紤]到若采用充放電負(fù)極分離控制電路,鋰電池組正極直接與充電器或負(fù)載正極相連,當(dāng)鋰電池組節(jié)數(shù)較多,總體電壓較大時(shí),存在損壞充電器或負(fù)載的風(fēng)險(xiǎn)。本系統(tǒng)采用充放電正極分離控制電路,即電池組、充電器和負(fù)載的負(fù)極保持連接,鋰電池正極通過(guò)兩路PMOS開(kāi)關(guān)電路分別與充電器和負(fù)載正極相連。充放電控制電路結(jié)構(gòu)基本一致,充電控制電路圖如圖3所示。
1.2、電壓檢測(cè)硬件設(shè)計(jì)
電壓是鋰電池組充放電狀態(tài)的重要參數(shù)之一,是檢測(cè)電池是否損壞最直觀的參數(shù),只有檢測(cè)到足夠精確的電壓值,才能判斷出充放電過(guò)程中電池是否過(guò)度充電或放電,及時(shí)啟動(dòng)系統(tǒng)保護(hù)功能,停止對(duì)鋰電池組的充電或放電。本系統(tǒng)選用凌特公司的多節(jié)電池組監(jiān)控芯片LTC6804-1,可測(cè)量多達(dá)12節(jié)串聯(lián)電池的電壓,同時(shí)還可以通過(guò)菊花鏈把多個(gè)LTC6804器件串接起來(lái),實(shí)現(xiàn)測(cè)量12節(jié)以上串聯(lián)電池電壓的功能。
本系統(tǒng)共使用8個(gè)LTC6804-1電壓檢測(cè)模塊,每個(gè)電壓檢測(cè)模塊負(fù)責(zé)一個(gè)通道最多8節(jié)電池電壓的測(cè)量,其中,通道1與通道2、通道3與通道4、通道5與通道6、通道7與通道8的電壓檢測(cè)模塊均采用菊花鏈級(jí)聯(lián)連接,因此,在通道組合情況下,可以測(cè)量多達(dá)16節(jié)電池電壓,電壓檢測(cè)結(jié)構(gòu)如圖4所示。
1.3、溫度檢測(cè)硬件設(shè)計(jì)
鋰電池對(duì)溫度范圍的要求很高,通常情況下,其理想的工作溫度范圍在20℃~35℃,當(dāng)溫度超過(guò)40℃后會(huì)影響電池的使用壽命,當(dāng)溫度低于0‘C會(huì)影響電池的充放電性能,當(dāng)鋰電池在過(guò)充階段和過(guò)放階段時(shí),其溫度也會(huì)明顯上升。因此,實(shí)時(shí)監(jiān)控充放電過(guò)程中電池溫度才能更好地選擇合適的充放電策略,更加及時(shí)地保護(hù)鋰電池。
系統(tǒng)采用一種雙探測(cè)器鋰電池表面溫度檢測(cè)方法,來(lái)確保鋰電池溫度在發(fā)生突變情況下,溫度檢測(cè)能夠及時(shí)響應(yīng),并且兼顧較高的溫度檢測(cè)精度,防止在極端測(cè)試條件下?lián)p壞鋰電池。檢測(cè)硬件包括PT1000鉑熱電阻溫度傳感器、熱敏電阻轉(zhuǎn)換模塊、MLX90614紅外溫度傳感器、SMBus緩沖模塊以及主控芯片STM32。熱敏電阻溫度檢測(cè)可以獲取較高的溫度檢測(cè)精度,但其溫度檢測(cè)需要電池與熱電雙探測(cè)器溫度檢測(cè)結(jié)構(gòu)如圖5所示。
2、系統(tǒng)的軟件設(shè)計(jì)
2.1、下位機(jī)軟件設(shè)計(jì)
本系統(tǒng)下位機(jī)軟件流程如圖6所示。下位機(jī)共開(kāi)啟了兩處中斷功能,一是串口接收中斷,其目的是將上位機(jī)發(fā)送的命令存儲(chǔ)在一個(gè)環(huán)形數(shù)組中;二是定時(shí)器中斷,定時(shí)器每隔50ms觸發(fā)一次中斷,并將tt置1,程序通過(guò)不斷查詢(xún)tt值來(lái)決定是否進(jìn)行采樣。系統(tǒng)在第一次運(yùn)行時(shí)會(huì)進(jìn)行系統(tǒng)的初始化,并完成與上位機(jī)的通信握手,隨后在無(wú)限循環(huán)中運(yùn)行。在整個(gè)循環(huán)過(guò)程中,下位機(jī)會(huì)不斷解析環(huán)形數(shù)組里面的數(shù)據(jù)即上位機(jī)所發(fā)送命令,一旦有定義好的命令被解析出來(lái)后,就會(huì)進(jìn)行相對(duì)應(yīng)的操作,如配置通道1的充放電狀態(tài)、通道1的保護(hù)參數(shù),開(kāi)啟或關(guān)閉通道1采樣等等。隨后,通過(guò)判斷變量tt值是否為1,從而選擇是否進(jìn)入采樣、保護(hù)功能函數(shù)并將tt清零,count值加1,等待定時(shí)器刷新tt值進(jìn)行下一次采樣。當(dāng)count值等于mulTIple值時(shí),系統(tǒng)就會(huì)將采樣數(shù)據(jù)發(fā)送給上位機(jī)。mulTIple值由上位機(jī)發(fā)送特定的命令修改,通過(guò)改變multiple的值,即可控制下位機(jī)發(fā)送數(shù)據(jù)的間隔,時(shí)間為50ms的multiple倍,上位機(jī)將下位機(jī)傳送的數(shù)據(jù)保存并實(shí)時(shí)顯示出來(lái)。
2.2、上位機(jī)軟件設(shè)計(jì)
系統(tǒng)上位機(jī)軟件是基于PyQt庫(kù)設(shè)計(jì)的,運(yùn)行軟件后,系統(tǒng)將處于設(shè)備查找狀態(tài),等待下位機(jī)響應(yīng)后,系統(tǒng)進(jìn)入主界面進(jìn)行鋰電池充放電測(cè)試,主界面如圖7所示,能實(shí)時(shí)顯示各節(jié)電池單體電壓、通道總電壓、通道電流通道溫度、充放電電量、保護(hù)參數(shù)以及測(cè)試時(shí)間等。
3、測(cè)試結(jié)果
在實(shí)際測(cè)試過(guò)程中,使用BOSCH18V5.0Ah的鋰電池包作為充放電電池,大功率電子負(fù)載作為放電負(fù)載,通過(guò)不斷改變電子負(fù)載放電電流,分別對(duì)8個(gè)通道進(jìn)行測(cè)試。其中,通道3的測(cè)試數(shù)據(jù)如表1所示。
驗(yàn)證系統(tǒng)的檢測(cè)精度達(dá)到要求后,利用BOSCH專(zhuān)用充電底座對(duì)鋰電池進(jìn)行充電,系統(tǒng)監(jiān)控整個(gè)充電過(guò)程并自動(dòng)繪制充電曲線如圖8所示。從圖8(a)可知,BOSCH充電器選擇的充電階段大致分為兩個(gè)階段,在電池充電的第一階段,電池溫度是持續(xù)上升的;第二階段,由于充電電流不斷減小,溫度緩緩減低。從圖8(b)可知,充電結(jié)束時(shí),充電電量為4.95Ah,與電池容量5Ah相符;電池電壓隨著充電的進(jìn)行不斷上升。從圖8(c)可知,系統(tǒng)運(yùn)行穩(wěn)定,能夠?qū)崟r(shí)準(zhǔn)確監(jiān)視電池的狀態(tài),電池組能夠可靠、安全地工作。
4、結(jié)束語(yǔ)
本文提出和設(shè)計(jì)了一種基于STM32的多通道鋰電池充放電測(cè)試系統(tǒng),能夠準(zhǔn)確監(jiān)視和記錄鋰電池組的狀態(tài),同時(shí)提供過(guò)充、過(guò)放、過(guò)溫等保護(hù)。系統(tǒng)的電流檢測(cè)設(shè)計(jì)采用雙量程的設(shè)計(jì)方案,實(shí)現(xiàn)了小電流以及大電流檢測(cè)的高精度,溫度檢測(cè)采用雙探測(cè)器相結(jié)合的檢測(cè)方案,獲得了準(zhǔn)確的溫度采集以及對(duì)過(guò)溫或低溫的快速保護(hù)。本系統(tǒng)具有測(cè)試通道多、集成度高、精度高、量程大、反應(yīng)快、抗干擾等優(yōu)點(diǎn)。該設(shè)計(jì)的不足之處在于系統(tǒng)雖然支持組合模式,但最多也只能測(cè)試16節(jié)電池組的充放電。