電池快速充電指南——第2部分
2023-08-23 16:57:02 ADI作者:Franco Contadini,主管工程師
Alessandro Leonardi,現(xiàn)場(chǎng)銷售客戶經(jīng)理
“電池快速充電指南——第1部分”介紹了有關(guān)快速充電電池系統(tǒng)設(shè)計(jì)的一些挑戰(zhàn)。通過在電池包中實(shí)現(xiàn)電量計(jì)功能,原始設(shè)備制造商(OEM)可以設(shè)計(jì)智能快速充電器,從而提高系統(tǒng)靈活性,更大限度地降低功耗,確保安全充電/放電,并改善整體用戶體驗(yàn)。在第2部分中,我們將詳細(xì)探討如何使用評(píng)估套件和樹莓派板實(shí)現(xiàn)電池并聯(lián)的快速充電系統(tǒng)。
評(píng)估簡(jiǎn)單充電系統(tǒng)并測(cè)試其功能,通常可以使用評(píng)估套件來完成。這些套件包括配置充電系統(tǒng)所需的所有硬件和軟件應(yīng)用,以及基于圖形用戶界面(GUI)的工具和API。
但相應(yīng)地,包含多個(gè)單元的復(fù)雜系統(tǒng)的相關(guān)評(píng)估工作也更加繁瑣。復(fù)雜系統(tǒng)中可能有多個(gè)器件需要進(jìn)行表征。開發(fā)人員將需要編寫一些軟件代碼來讀取系統(tǒng)不同部分生成的信號(hào),對(duì)其進(jìn)行分析,并采取行動(dòng)。MAX17330可幫助管理包含兩節(jié)鋰離子電池的并聯(lián)電池快速充電系統(tǒng)。如數(shù)據(jù)手冊(cè)所述,MAX17330可用于同時(shí)對(duì)兩節(jié)鋰離子電池進(jìn)行充電和控制。該系統(tǒng)需要兩個(gè)MAX17330 IC,每個(gè)IC管理一節(jié)鋰離子電池,以及一個(gè)能夠即時(shí)調(diào)整輸出電壓的降壓轉(zhuǎn)換器(如MAX20743)。
該系統(tǒng)還需要使用一個(gè)微控制器來配置和管理電池充電,以及處理兩個(gè)IC之間的通信。本文選擇的樹莓派板是系統(tǒng)測(cè)試中普遍使用的平臺(tái),此外我們選用Python作為編程語言。樹莓派通過I2C管理通信,并記錄有助于評(píng)估和調(diào)試的重要系統(tǒng)參數(shù),包括充電電流、電池電壓和電池荷電狀態(tài)(SOC)。這些數(shù)值均存儲(chǔ)在Excel文件中,方便進(jìn)行離線分析。
本節(jié)將介紹如何測(cè)試充電器和電量計(jì)(MAX17330)。本節(jié)還會(huì)說明并聯(lián)充電可達(dá)到的實(shí)際性能。為了獲得更大的靈活性和可控性,該器件由微控制器通過I2C進(jìn)行編程。
圖1顯示了1S2P系統(tǒng)架構(gòu)以及評(píng)估兩節(jié)并聯(lián)電池充電所需的連接。樹莓派控制三個(gè)EVKIT:一個(gè)MAX20743EVKIT(降壓轉(zhuǎn)換器)和兩個(gè)MAX17330EVKIT(充電器+電量計(jì))。數(shù)據(jù)記錄在Excel文件中。
圖1.使用樹莓派的1S2P充電系統(tǒng)評(píng)估架構(gòu)
可從MAX17330產(chǎn)品頁面的“工具和仿真”選項(xiàng)卡中下載并使用基于GUI的MAX17330評(píng)估套件軟件。使用配置向?qū)В◤?/span>“器件”選項(xiàng)卡中選擇)可為MAX17330生成初始化文件(.INI)。INI文件中包含寄存器地址/寄存器值格式的器件寄存器初始化信息。微控制器需使用該文件來逐個(gè)配置MAX17330中的寄存器。
MAX17330EVKIT數(shù)據(jù)手冊(cè)詳細(xì)說明了生成初始化文件所需的各個(gè)步驟。圖2所示的配置用于啟動(dòng)并聯(lián)充電。接下來可按圖3中的配置啟用步進(jìn)充電。圖4顯示了基于圖3配置步進(jìn)充電后的預(yù)期步進(jìn)充電曲線。
圖2.配置MAX17330進(jìn)行并聯(lián)充電
圖3.啟用步進(jìn)充電
MAX20734降壓轉(zhuǎn)換器可在需要時(shí)提高兩個(gè)MAX17330EVKIT上的電壓。MAX20734降壓轉(zhuǎn)換器根據(jù)地址0x21處的內(nèi)部寄存器值改變輸出電壓。降壓轉(zhuǎn)換器可以通過I2C控制;已編寫一個(gè)Python類來執(zhí)行此操作。
最后,如圖5所示,MAX20743EVKIT輸出分壓器被修改,輸出范圍為3 V至4.6 V(使用的值為R6 = 4K7和R9 = 1K3)。
表1.MAX20743基于寄存器0x21的轉(zhuǎn)換輸出電壓
0x21寄存器值 | 電壓 |
0x014E | 3 V |
0x0150 | 3.05 V |
0x0158 | 3.1 V |
0x015C | 3.15 V |
0x0162 | 3.2 V |
0x0166 | 3.25 V |
0x016E | 3.3 V |
0x0172 | 3.35 V |
0x0178 | 3.4 V |
0x017C | 3.45 V |
0x0182 | 3.5 V |
0x0188 | 3.55 V |
0x018E | 3.6 V |
0x0192 | 3.65 V |
0x019E | 3.7 V |
0x01A4 | 3.75 V |
0x01A9 | 3.8 V |
0x01AE | 3.85 V |
0x01B4 | 3.9 V |
0x01BA | 3.95 V |
0x01BF | 4 V |
0x01C4 | 4.05 V |
0x01CB | 4.1 V |
0x01D1 | 4.15 V |
0x01D6 | 4.2 V |
0x01DC | 4.25 V |
0x01E2 | 4.3 V |
0x01E8 | 4.35 V |
0x01ED | 4.4 V |
0x01F3 | 4.45 V |
0x01F8 | 4.5 V |
0x01FE | 4.55 V |
0x0204 | 4.6 V |
從表1可以得出如下曲線:
其中,x為要在輸出端施加的電壓。雖然這種方法會(huì)有輕微誤差,但也是根據(jù)電壓估算所需寄存器值的好方法。
當(dāng)MAX17330首次連接電池時(shí),默認(rèn)寄存器值設(shè)置強(qiáng)制IC進(jìn)入關(guān)斷狀態(tài)。要喚醒器件,請(qǐng)按PKWK按鈕。這將使臨時(shí)保護(hù)MOSFET短路,從而喚醒兩個(gè)MAX17330EVKIT。
接下來,樹莓派需要通過I2C與所有三個(gè)器件通信。小心地初始化I2C硬件,避免器件地址沖突。默認(rèn)情況下,兩個(gè)MAX17330EVKIT使用相同I2C地址。第一步是更改兩個(gè)電量計(jì)之一的地址。
MAX17330兼有易失性和非易失性寄存器,非易失性寄存器以“n”前綴標(biāo)識(shí)。這也導(dǎo)致產(chǎn)生一對(duì)節(jié)點(diǎn)地址:6Ch(易失性寄存器)和16h(NV寄存器)。
改變MAX17330器件節(jié)點(diǎn)地址的方法有兩種:
? 使用I2CSid字段設(shè)置nPackCfg NV寄存器。此更改可以利用配置向?qū)гO(shè)置。參見表3。
? I2CCmd寄存器支持動(dòng)態(tài)更改I2C總線。參見表4。
為了便于使用,我們采用第二種方法來改變地址,這樣可以使用同一INI文件來初始化兩個(gè)器件。生成兩個(gè)器件的通用設(shè)置可以簡(jiǎn)化器件配置,并消除有關(guān)手動(dòng)輸入地址的用戶錯(cuò)誤。
圖4.基于圖3來配置步進(jìn)充電的預(yù)期步進(jìn)充電曲線
圖5.輸出分壓器已被修改,輸出范圍為3 V至4.6 V(R6 = 4 K7且R9 = 1 K3)。
表2.MAX17330寄存器
寄存器頁 | 鎖 | 說明 | 2-Wire節(jié)點(diǎn)地址 | 2-Wire協(xié)議 | 2-Wire外部 |
00 h |
Modelgauge M5 EZ數(shù)據(jù)塊 |
6通道 |
I2C |
00 h – 4 Fh | |
01 h – 04 h | 鎖2 | ||||
05 h – 0Ah | 保留 | ||||
0 Bh | 鎖2 | Modelgauge M5 EZ數(shù)據(jù)塊(續(xù)) | 6通道 | I2C | B0 h – BFh |
0 Ch | SHA | SHA存儲(chǔ)器 | 6通道 | I2C | C0h – CFh |
0 Dh | 鎖2 | Modelgauge M5 EZ數(shù)據(jù)塊(續(xù)) | 6通道 | I2C | D0h – DFh |
0 Eh – 0 Fh | 保留 | ||||
10 h – 17 h | SBS數(shù)據(jù)塊 | 16通道 | SBS | 00 h – 7 Fh | |
18 h – 19 h | 鎖3 | Modelgauge M5 EZ非易失性存儲(chǔ)器模塊 |
16通道 | I2C |
80 h – EFh |
1 Ah – 1 Bh | 鎖1 | 壽命記錄和配置非易失性存儲(chǔ)器模塊 | |||
1 Ch | 鎖4 | 配置非易失性存儲(chǔ)器模塊 |
表3. nPackCfg (1B5h)寄存器格式
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
0 | S_Hib | THCfg | THType | 000 | 0 | ParEn | I2CSid | 0001 |
表4.I2CCmd (12Bh)寄存器格式
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
0 | GoToSID | 0 | IncSID |
由于兩個(gè)MAX17330器件共用同一I2C總線,因此該程序要求將一個(gè)器件的ALRT信號(hào)設(shè)置為低電平,并將另一個(gè)設(shè)置為高電平。
表5.I2C ALRT設(shè)置
GoToSID | 警報(bào)高 | 警報(bào)低 |
主要/次要地址 | 主要/次要地址 | |
0b00 | ECh/96h | 6Ch/16h |
0b01 | 64h/1Eh | ECh/96h |
0b10 | E4h/9Eh | 64h/1Eh |
0b11 | 6Ch/16h | E4h/9Eh |
表4中的數(shù)據(jù)來自MAX17330數(shù)據(jù)手冊(cè),顯示了I2CCmd寄存器如何根據(jù)ALERT GPIO引腳值動(dòng)態(tài)更改器件地址。在這種情況下,可使用GoToSID和INcSID字段更改I2C地址:
? Set ALRT_A logic low
? Set ALRT_B logic high
? Write I2CCmd = 0 × 0001 ?MAX17330_A address remains at 6Ch/16h
?MAX17330_B address set to ECh/96h
每個(gè)器件都分配有唯一的地址后,整個(gè)系統(tǒng)便可以由單個(gè)微控制器控制。
下面是微控制器完成I2C配置的腳本。這將是系統(tǒng)初始化的一部分。
? Load .INI file
? Assert ALRT_A and ALRT_B to keep the path between SYSP and BATTP open
? Read VBATT_A and VBATT_B
? VMAX = max (VBATT_A, VBATT_B)
? Set VOUT = VMAX + 50 mV
? Release ALRT_A and ALRT_B
? Set nProtCfg.OvrdEn = 0 to use ALRT as Output
非易失性空間中的某些寄存器需要重啟固件才能使更改生效。因此,需要執(zhí)行以下步驟:
? 置位Config2.POR_CMD以重啟固件
參見表7。
接下來,我們需要啟用充電器的中斷:
? 設(shè)置(Config.Aen和Config.Caen)= 1
參見表8。
現(xiàn)在器件已初始化。
表6. nProtCfg (1D7h)寄存器格式
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 |
ChgWDTEn | nChgAutoCtrl | FullEn | SCTest | CmOvrdEn | ChgTestEn | PrequalEn |
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
保留 | PFEn | DeepShpEn | OvrdEn | UVRdy | FetPFEn | BlockDisCEn | DeepShp2En |
表7.Config2 (OABh)寄存器格式
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 |
POR_CMD | 0 | AtRtEn | 0 | 0 | 0 | 0 | 0 |
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
dSOCen | TAlrtEn | 0 | 1 | DRCfg | CPMode | BlockDis |
表8.Config (O0Bh)寄存器格式
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 |
0 | SS | TS | VS | 0 | PBen | DisBlockRead | ChgAutoCtrl |
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
SHIP | COMMSH | FastADCen | ETHRM | FTHRM | Aen | CAen | PAen |
我們需要能夠讀取寄存器以記錄數(shù)據(jù),并檢查ALERT GPIO線上是否已生成中斷。我們可以使用如下腳本:
? 設(shè)置500 ms定時(shí)器
? VMIN = min (VBATT_A, VBATT_B)
? Vsys_min = nVEmpty[15:7]
? CrossCharge = False
? If (VMIN
評(píng)估最小電池電壓是否超過系統(tǒng)的最小工作電壓
? If FProtStat.IsDis = 0
檢測(cè)到充電信號(hào)
? Clear Status.AllowChgB
向所有電池表明充電器存在
? If (VBATT > VMIN + 400 mV and !Cross Charge)
確定要阻止哪個(gè)電池以避免交叉充電
Config2.BlockDis = 1
else
Config2.BlockDis = 0
如果低電量電池遠(yuǎn)低于高電量電池,則允許放電
參見表9、10和11。
當(dāng)MAX17330置位ALRT信號(hào)時(shí),主機(jī)將執(zhí)行以下操作:
Read Status register data
If Status.CA is set
Read ChgStat register
If ChgStat.Dropout = 1 ?increase VOUT
If (ChgStat.CP or ChgStat.CT) = 1 ?decrease VOUT
Clear Status.CA
參見表12和13。
圖6顯示了從Excel文件的記錄數(shù)據(jù)提取的并聯(lián)充電曲線。請(qǐng)注意該曲線隨步進(jìn)充電曲線的變化情況。
表9.FProtStat (0DAh)寄存器格式
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
X | IsDis | X | Hot | Cold | Warm |
表10.Status (000h)寄存器格式
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
PA | Smx | Tmx | Vmx | CA | Smn | Tmn | Vmn | dSOCi | Imx | AllowChgB | X | Bst | Imn | POR | X |
表11.Config2 (0ABh)寄存器格式
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 |
POR_CMD | 0 | AtRtEn | 0 | 0 | 0 | 0 | 0 |
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
dSOCen | TAlrtEn | 0 | 1 | DRCfg | CPMode | BlockDis |
表12.狀態(tài)寄存器(000h)格式
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
PA | Smx | Tmx | Vmx | CA | Smn | Tmn | Vmn | dSOCi | lmx | AllowChgB | X | Bst | Imn | POR | X |
表13.ChgStat (0A3h)寄存器格式
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
Dropout | X | X | X | X | X | X | X | X | X | X | CP | CT | CC | CV |
圖6.并聯(lián)充電曲線
另外,一旦器件從恒流(CC)階段轉(zhuǎn)為恒壓(CV)階段,降壓轉(zhuǎn)換器生成的電壓可以降低如下:
? If VBATT = ChargingVoltage
Read ChgStat Register
If ChgStat.CV = 1 ?ecrease VOUT until VPCK = ChargingVoltage + 25 mV
以上就是管理1S2P充電配置所需的所有步驟。MAX17330-usercode.zip中包含了配置降壓轉(zhuǎn)換器(MAX20743)以及充電器和電量計(jì)(MAX17330)的Python代碼。其中還包含了用于捕獲重要充電參數(shù)和評(píng)估步進(jìn)充電曲線的Excel數(shù)據(jù)日志。通過管理MAX17330產(chǎn)生的警報(bào)信號(hào),微控制器可保持MAX17330的線性充電器接近壓差,從而更大限度地降低功耗并支持高充電電流。使用MAX17330的電池包可存儲(chǔ)已安裝電池的參數(shù),以便主機(jī)微控制器實(shí)現(xiàn)高效快速充電。這使得OEM可以用更簡(jiǎn)單、更便宜的降壓轉(zhuǎn)換器取代標(biāo)準(zhǔn)充電器IC器件,而不影響性能或可靠性。
設(shè)備充電時(shí)間是最重要的用戶體驗(yàn)考量因素之一。MAX17330降壓轉(zhuǎn)換器采用小型IC封裝,可以有效管理非常高的電流,從而縮短充電時(shí)間。通過采用兩個(gè)MAX17330等的方式可支持以高電流并聯(lián)充電,讓開發(fā)人員能夠以安全可靠的方式為多個(gè)電池充電,從而大幅節(jié)省充電時(shí)間。
關(guān)鍵詞: 快速充電
EETOP 官方微信
創(chuàng)芯大講堂 在線教育
半導(dǎo)體創(chuàng)芯網(wǎng) 快訊
相關(guān)文章