Útmutató az akkumulátor gyorstöltéséhez – 2. rész
Megjelent: 2023. szeptember 14.
Az „Útmutató az akkumulátor gyorstöltéséhez – 1. rész” című cikkben bemutattunk a gyorstöltő akkumulátorrendszerek tervezésével kapcsolatos néhány kihívást. A töltöttségiszint-jelző funkciónak az akkumulátorcsomagba való beépítésével az eredeti berendezések gyártói (OEM) olyan intelligens gyorstöltőket tervezhetnek, amelyek növelik a rendszer rugalmasságát, minimalizálják az energiaveszteséget, garantálják a biztonságos töltést/kisütést, és javítják az általános felhasználói élményt. A 2. részben egy párhuzamos akkumulátorokkal működő gyorstöltő rendszer megvalósítási részleteit vizsgáljuk meg kiértékelőkészletek és egy Raspberry Pi kártya segítségével.
Az 1S2P architektúrák értékelése
Egy egyszerű töltőrendszer kiértékelése és működőképességének tesztelése jellemzően kiértékelőkészlettel végezhető el. A készletek tartalmazzák az összes szükséges hardvert és szoftveralkalmazást, valamint grafikus felhasználói felület (GUI) -alapú eszközöket és API-kat (Application Programming Interface) a töltési rendszerek konfigurálásához.
A több cellát tartalmazó összetett rendszerek értékelése természetesen bonyolultabb. A fejlesztőknek szoftverkódot kell írniuk, hogy kiolvassák a különböző rendszerrészekből generált jeleket, azokat kielemezzék, és intézkedjenek. Vegyünk két Li+ cellát egy párhuzamos akkumulátor-gyorstöltő rendszerben a MAX17330 integrált áramkör alkalmazásával. Az adatlapon leírtak szerint a MAX17330 két Li+ cella egyidejű töltésére és vezérlésére használható. Ehhez a rendszerhez két MAX17330 IC-re van szükség, amelyek mindegyike egy Li+ cellát kezel, és egy buck konverterre (például a MAX20743), amely képes menet közben változtatni a kimeneti feszültségét.
Az akkumulátor töltésének konfigurálásához és vezérléséhez, valamint a két IC közötti kommunikáció kezeléséhez egy mikrokontroller szükséges. Mivel ez egy gyakran használt platform, a rendszertesztelésre egy Raspberry Pi kártyát választottunk, amely programozási nyelvként a Pythont használja. A Raspberry Pi I2C-n keresztül kezeli a kommunikációt, és naplózza a fontos rendszerparamétereket, amelyek hasznosak az értékeléshez és a hibakereséshez, beleértve a töltési áramot, az akkumulátor feszültségét és az akkumulátor töltöttségi állapotát (SOC). Az értékeket a rendszer egy excel fájlban tárolja, hogy lehetővé tegye az offline elemzést.
Az 1S2P architektúra tesztelése
Ez a rész bemutatja, hogyan tesztelték a töltőt és a töltöttségiszint-jelzőt (MAX17330). Leírja a párhuzamos töltéstől elvárható valós teljesítményt is. A legnagyobb rugalmasság és vezérlés érdekében az eszközt egy mikrokontroller programozza I2C segítségével.
Az 1. ábra az 1S2P rendszer architektúráját és azokat a kapcsolatokat mutatja be, amelyek két cella párhuzamos töltésének kiértékeléséhez szükségesek. A Raspberry Pi három EVKIT-et vezérel: egy MAX20743EVKIT-et (buck konverter) és két MAX17330EVKIT-et (töltő + töltöttségiszint-jelző). Az adatok egy excel fájlban kerülnek naplózásra.
1. ábra 1S2P töltési rendszer kiértékelési architektúrája Raspberry Pi használatával
A GUI-alapú MAX17330EVKIT szoftver elérhető és letölthető a MAX17330 termékoldaláról az Eszközök és Szimulációk (Tools and Simulations) fül alatt. Az Eszköz (Device) fül alatt választható konfigurációs varázsló segítségével inicializálási fájlokat (.INI) lehet létrehozni a MAX17330 számára. Az INI fájl tartalmazza az eszköz regiszterinicializálási információit regisztercím/regiszterérték formátumban. Ezt a fájlt használja a mikrokontroller a MAX17330 regiszter regiszterenkénti konfigurálásához.
2. ábra A MAX17330 konfigurálása párhuzamos töltéshez
A MAX17330EVKIT adatlap részletezi az inicializálási fájl létrehozásához szükséges különböző lépéseket. A 2. ábrán látható konfiguráció a párhuzamos töltés megkezdésére szolgál. Ezután a lépcsős töltés engedélyezve van (lásd a 3. ábrát). A 4. ábra a várható lépésenkénti töltési profilt mutatja a 3. ábrán látható lépésenkénti töltési konfiguráció alapján.
3. ábra Lépésenkénti töltés engedélyezése
A MAX20734 buck konverter a két MAX17330EVKIT-re adott feszültség növelésére szolgál, amennyiben szükséges. A MAX20734 buck konverter a 0x21 címen lévő belső regiszter értékének megfelelően változtatja a kimeneti feszültséget. A buck konverter I2C-n keresztül vezérelhető; egy megírt Python-osztály segítségével.
Végül, amint az 5. ábrán látható, a MAX20743EVKIT kimeneti feszültségosztó 3 V és 4,6 V közötti kimeneti tartományra módosul (az R6 = 4K7 és R9 = 1K3 értékeket használva).
1. táblázat Konverziós kimeneti feszültség a 0x21 regiszter alapján a MAX20743 esetében
Az 1. táblázatból számítható a görbe:
ahol x az a feszültség, amelyet a kimenetre akarunk kapcsolni. Bár ez a megközelítés enyhe hibával jár, jó módszer arra, hogy a feszültségből megbecsüljük a regiszter kívánt értékét.
Bekapcsolás és inicializálás
Amikor a MAX17330-at először csatlakoztatjuk az akkumulátorhoz, az alapértelmezett regiszterérték-beállítások kikapcsolási állapotba kényszerítik az IC-t. Az eszköz felébresztéséhez meg kell nyomni a PKWK gombot. Ez rövidre zárja az ideiglenes védelemmel ellátott MOSFET-eket, és így mindkét MAX17330EVKIT-et felébreszti.
Ezután a Raspberry Pi-nek mindhárom eszközzel kommunikálnia kell az I2C-n keresztül. Gondosan inicializálja az I2C hardvert, hogy elkerülje az eszközcímkonfliktusokat. Alapértelmezés szerint a két MAX17330EVKIT ugyanazt az I2C-címet használja. Az első lépés a két töltöttségiszint-jelző egyikének címmegváltoztatása.
A MAX17330 rendelkezik felejtő és nem felejtő regiszterekkel, a nem felejtő regisztereket az „n” előtaggal azonosítjuk. Ez szintén egy csomóponti címpárt eredményez, 6Ch (felejtő regiszterek) és 16h (nem felejtő regiszterek).
A MAX17330 eszközcsomópont címét kétféleképpen lehet megváltoztatni:
- Az nPackCfg NV regiszter beállítása az I2CSid mező segítségével lehetséges. Ez a módosítás a Konfigurációs varázsló segítségével állítható be. Lásd a 3. táblázatot.
- Az I2CCmd regiszter lehetővé teszi az I2C busz dinamikus módosítását. Lásd a 4. táblázatot.
2. táblázat MAX17330 regiszterek
3. táblázat nPackCfg (1B5h) regiszterformátum
4. táblázat I2CCmd (12Bh) regiszterformátum
Az egyszerűség kedvéért a cím megváltoztatására a második mód használható, így ugyanazzal az INI-fájllal mindkét eszköz inicializálható. A két eszköz által közösen használható beállítások generálása leegyszerűsíti az eszközök konfigurálását, és kiküszöböli a felhasználói hiba lehetőségét, amikor a címet kézzel kell megadni.
4. ábra A 3. ábrán látható lépcsős töltési konfiguráción alapuló várható lépcsős töltési profil
5. ábra A kimeneti feszültségosztót módosítottuk a 3 V és 4,6 V közötti kimeneti tartományhoz (R6 = 4 K7 és R9 = 1 K3).
Mivel a két MAX17330 eszköz ugyanazt az I2C buszt használja, ez az eljárás megköveteli, hogy az egyik eszköz ALRT jelét alacsonyra, a másikét pedig magasra állítsák.
5. táblázat I2C ALRT beállítások
A MAX17330 adatlap 4. táblázata bemutatja, hogy az I2CCmd regiszter hogyan tudja dinamikusan megváltoztatni az eszköz címét az ALERT GPIO pin értéke alapján. Ebben az esetben a GoToSID és az INcSID mezőket használják az I2C cím megváltoztatására:
► 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
Miután minden eszköznek megvan a saját egyedi címe, a teljes rendszer egyetlen mikrokontrollerrel vezérelhető.
Itt található a mikrokontroller szkriptje az I2C konfiguráció befejezéséhez. Ez a rendszer inicializálásának része lesz.
► 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
Lásd a 6. táblázatot.
6. táblázat nProtCfg (1D7h) regiszterformátum
A nem felejtő területen lévő egyes regiszterek megkövetelik a firmware újraindítását, hogy a változás érvénybe lépjen. Ezért a következő lépésre van szükség:
► Assert Config2.POR_CMD to restart firmware
Lásd a 7. táblázatot.
7. táblázat Config2 (OABh) regiszterformátum
Ezután engedélyeznünk kell a töltők megszakításait:
► Set (Config.Aen and Config.Caen) = 1
Lásd a 8. táblázatot.
8. táblázat Config (O0Bh) regiszterformátum
Most az eszközök inicializálva vannak.
Adatok és megszakítások naplózása
Tudnunk kell olvasni a regisztereket az adatok naplózásához és annak ellenőrzéséhez, hogy nem generálódott-e megszakítás az ALERT GPIO vonalakon. Ezt a szkriptet használhatjuk:
► Set 500 ms Timer
► VMIN = min (VBATT_A, VBATT_B)
► Vsys_min = nVEmpty[15:7]
► CrossCharge = False
► If (VMIN<Vsys_min) → CrossCharge = True
Értékelje, hogy az akkumulátor minimális feszültsége meghaladja-e a rendszer minimális üzemi feszültségét.
► If FProtStat.IsDis = 0
A rendszer töltési jelet észlel.
► Clear Status.AllowChgB
Minden akkumulátornál jelezze a töltő jelenlétét.
► If (VBATT > VMIN + 400 mV and !Cross Charge)
Határozza meg, hogy melyik akkumulátort blokkolja a kereszttöltés elkerülése érdekében.
Config2.BlockDis = 1
else
Config2.BlockDis = 0
Engedélyezze a kisütést, ha az alacsonyabb töltöttségi szintű akkumulátor feszültsége sokkal kisebb, mint a magasabb töltöttségű akkumulátor feszültsége.
Lásd a 9., 10. és 11. táblázatot.
9. táblázat FProtStat (0DAh) regiszterformátum
10. táblázat Állapot (000h) regiszterformátum
11. táblázat Config2 (0ABh) regiszterformátum
Amikor az ALRT érvényesül a MAX17330-ról, a gazdagép a következőket hajtja végre:
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
Lásd a 12. és 13. táblázatot.
12. táblázat Állapotregiszter (000h) formátum
13. táblázat ChgStat (0A3h) regiszterformátum
A 6. ábra a naplózott adatokból (excel fájl) kivont párhuzamos töltési diagramot mutatja. Figyelje meg, hogyan követi a lépéses töltési profilt.
6. ábra Párhuzamos töltési diagram
FProtStat regiszter
Opcionálisan, ha a készülék az állandó áramú (CC) fázisból az állandó feszültségű (CV) fázisba vált, a step-down konverter által generált feszültség az alábbiak szerint csökkenthető:
If VBATT = ChargingVoltage
Read ChgStat Register
If ChgStat.CV = 1 → decrease VOUT until VPCK = ChargingVoltage + 25 mV
Ezek mind az 1S2P töltési konfiguráció kezeléséhez szükséges lépések. A MAX17330-usercode.zip tartalmazza a Python kódot a buck konverter (MAX20743), valamint a töltő és a töltöttségiszint-jelző (MAX17330) konfigurálásához. Tartalmazza az excel adatnaplót is a fontos töltési paraméterek rögzítéséhez és a lépésenkénti töltési profil értékeléséhez. A MAX17330 által generált riasztási jelek kezelésével egy mikrokontroller a MAX17330 lineáris töltőjét a dropout közelében tartja, minimalizálva az energiaveszteséget, és lehetővé téve ezáltal a nagy töltőáramot. A MAX17330-at alkalmazó akkumulátorcsomag tárolja a telepített akkumulátor paramétereit, amelyekre a gazdagép-mikrokontrollernek szüksége van a hatékony gyorstöltés megvalósításához. Ez lehetővé teszi az eredeti gyártók számára, hogy a teljesítmény vagy a megbízhatóság veszélyeztetése nélkül lecseréljék a szabványos töltő IC-eszközt egy egyszerűbb és olcsóbb konverterre.
Következtetés
A készülék töltési ideje az egyik legfontosabb szempont a felhasználói élmény szempontjából. A MAX17330-hoz hasonló buck konverter használata lehetővé teszi a nagyon nagy áram hatékony kezelését a töltési idő csökkentése érdekében egy kis IC-tokban. A nagyon nagy áramerősségű párhuzamos töltés támogatása, például két MAX17330 esetén, lehetővé teszi a fejlesztők számára, hogy több akkumulátort biztonságosan és megbízhatóan töltsenek, a töltési idő minimálisra csökkentésével.
További műszaki és kereskedelmi információkat az Analog Devices hivatalos hazai forgalmazójától, az Arrow Electronics Hungary-től kaphatnak.
Szerzők: Franco Contadini – alkalmazástechnikai mérnök, Analog Devices
Alessandro Leonardi – ügyfélmenedzser, Analog Devices
Arrow Electronics Hungary
1138 Budapest, Váci út 140.
Bihari Tamás,
Senior Field Application Engineer
E-mail: Ez az e-mail-cím a szpemrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.
Tel.: +36 30 748 0457
www.arrow.com
#7f4e9f