
Nem ritka, hogy egy RTC modul elsőre kifogástalannak látszik. Az I2C busz életre kel, az óra jár, az időt is mutatja, a gombelem-tartó pedig ott van a panel hátlapján, mintha csak arra várna, hogy gondolkodás nélkül bepattintsak egy CR2032 elemet. A kellemetlen meglepetés rendszerint jön csak: néhány nap múlva 5 volt tápfeszültségről járatva a működés során megemelkedik az elem cellafeszültsége, melegedik ezzel együtt a gombelem. Hibásan kapcsol át a tartaléküzemre, rosszabb esetben az elem felpúposodik vagy akár el is pukkan. A (nem is olyan meglepő) jelenség körül az interneten sok a féligazság, a rövid és érthetetlen kéretlen tanács és számos félrevezető termékleírás is bonyolítja a tisztánlátást. Ezért ezt a gombelem – óramodul témát csak úgy érdemes kifésülni, szétszálazni és rendbe tenni, ha különválasztjuk a chip adatlapjára visszavezethető kérdéseket, a hordozópanel kapcsolási rajzának elemzését és a felhasználói tapasztalatokat.

A kulcskérdés tehát nem az, hogy a DS3231 vagy a DS1307 „jobb” vagy „rosszabb” valós idejű óra-e. A valódi probléma ott kezdődik, hogy a sokféle, néhány modulra a gyártó gyakran odaépít egy egyszerű töltőáramköri rézrajzot a gombelem foglalata elé; és a kész áramköri panelen funkcionálisan már nem választja el világosan a chip eredeti, gyári backup-bemenetétől a töltőrészt. Ettől lesz egyre kuszább a helyzet: a felhasználó azt látja, hogy a panelen van egy elemfoglalat, ezért természetesnek veszi a CR2032 gombelem használatát – miközben a nyomtatott áramköri lap valójában eredetileg egy LIR2032 vagy valamilyen újratölthető tartalék áramforrásra utaló töltőáramkört is tartalmaz.
Ebben a témában a legfontosabb mondatot így fogalmaznám meg így a cikk elején: nem az RTC chip gyilkolja meg az elemet, hanem a rosszul vagy félreérthetően kialakított áramköri kialakítás. A DS3231 és a DS1307 adatlapja ugyanis egészen más képet rajzol elénk, mint amit ezek a kisméretű, komplettnek árult panelek sugallnak. Ha ezt a különbséget nem tisztázzuk a felhasználás előtt, minden további kutakodás, tapasztalati állítás és ismeret csak növeli a káoszt.
Nem a DS3231 vagy a DS1307 a ludas
A DS3231 hivatalos adatlapja szerint a chip 2,3,,,5,5 V tápfeszültségen működik és külön VBAT bemenete van a tartalék energiaforrásnak. A gyártó kifejezetten megemlíti, hogy primer lítiumcellás használat mellett visszatöltés ellen védett a VBAT bemeneti tápellátó vonala (azaz nem tölti valami kóbor áram az ide csatlakoztatott akkut vagy elemet. Sőt, az adatlap azt is tartalmazza, hogy kikapcsolt fő tápellátás esetén a VBATT tartalékról működő üzemben az áramfelvétele mikroamperes nagyságrendű: tipikusan 0,84 µA (de legfeljebb 3,0 µA 3,63 voltos VBAT mellett). Ez műszaki szemmel azt jelenti, hogy maga a DS3231 nem falja a szűkös energiát. Épp ellenkezőleg: arra tervezték, hogy a főtáp megszűnése után is sokáig, takarékosan működjön és számlálja az időt és pontosan járjon ekkor is.

A DS1307 az adatlapja alapján – kissé más követelmények mentén mozog. De az alapelv itt is világos. A VCC láb ajánlott üzemi feszültségtartománya 4,5…5,5 V, a VBAT tartalék áramellátási bemenet pedig 2,0…3,5 V feszültségű tartalék áramforrást vár. Az adatlap itt is azt írja, hogy a VBAT lábra „standard 3V lithium cell” köthető, vagyis a chip oldaláról nézve a 3 voltos lítium gombelem teljesen természetes választás. Sőt a gyártó azt is leírja, hogy egy legalább 48 mAh kapacitású lítiumcella több mint tíz évnyi backup időt biztosít 25 °C-on. Sőt a DS1307 is rendelkezik visszatöltési áram elleni védelemmel lítiumcellás használatnál. Ez megint csak arra utal, hogy önmagában a DS1307 sem valamiféle „elemveszélyes” alkatrész.

A két adatlapból is már az látszik, hogy a baj forrása nem az RTC integrált áramkör kialakítása. A chip azt teszi, amit egy valós idejű órának tennie kell: a főrendszer tápfeszültségéről működik, és az áramszünetnél pedig átáll az alacsony áramfelvételű tartalék működésre. A gond akkor lép fel, amikor a modulgyártó úgy dönt, hogy a gombelem-tartót nem egyszerűen a VBAT backup bemenethez kapcsolja – hanem egy egyszerű, félmegoldásos töltőáramkörrel is megtámogatja. Ezt már nem az órachip adatlapja írja, hanem ez a panelkészítő saját döntése volt.

De ha már órachip, akkor a DS1302 is előkerül – ugyanakkor ezt mindig külön kell kezelni. A DS1302 2,0…5,5 V működésre képes és benne már valódi, programozható trickle charger (akkutöltő) van. Az adatlapja szerint a töltéskonfiguráló regiszterben csak egy meghatározott bitminta engedélyezi a töltést, minden más beállítás letiltja és a chip indulásakor is letiltott töltővel ébred. Ez azért fontos kitérő, mert a DS1302-nél a töltési viselkedés az órachip beépített funkciója, míg a DS3231-es és DS1307 alapra épülő paneleknél a töltőág egy nem gyári ajánláson alapuló, külső, panelszintű barkácsmegoldás…
Mit jelent valójában a CR2032 és a LIR2032 közti különbség?
A keveredés egyik oka az akku és az elem félrevezető méretazonossága. A CR2032 és a LIR2032 kívülről szinte ugyanannak látszik: 20 mm átmérő, 3,2 mm vastagság, ugyanaz a foglalat, és ugyanaz a kézmozdulat a foglalatba történő behelyezésnél. Villamos szempontból viszont két teljesen eltérő világ. A CR2032 primer, nem újratölthető lítium gombelem, tipikusan 3 volt névleges feszültséggel és körülbelül 225 mAh névleges kapacitással. Ilyen cellát arra terveznek, hogy lassan, hosszú idő alatt merüljön ki, nem pedig arra, hogy kívülről töltőáramot is kapjon. A Panasonic dokumentációja külön felhívja a figyelmet arra is, hogy ahol töltés lehetősége áll fenn a használatkor, ott visszaáram-gátló dióda szükséges, és az ilyen primer celláknál az összes visszatöltött töltés mennyiségét nagyon szigorúan kell korlátozni.

A LIR2032 ezzel szemben újratölthető lítiumionos gombelem kivitelű akkumulátor. Több gyártói adatlap egybehangzóan 3,6–3,7 V névleges kapocsfeszültséget és 4,2 V töltőfeszültséget ad meg, – állandó áram / állandó feszültség jellegű töltési módszerrel. Ez már önmagában elárulja, hogy a LIR2032 sem „csak azért jó”, mert rá van írva, hogy rechargeable (tölthető). Egy ilyen cella kulturált töltése nem merül ki annyiban, hogy rákötök egy soros ellenállást meg egy diódát, aztán reménykedem, hogy majd valahol megáll a töltés, ha elértem a végfeszültséget. A LIR2032 tehát nem a CR2032 egyszerűen újratölthető változata, hanem más névleges feszültségű, más karakterisztikájú energiaforrás.
Ez az a pont, ahol a termékoldalak és fórumhozzászólások általában elnagyolják a lényeget. A legtöbb helyen azt írják a modulok leírásaiban , hogy a a pót-áramforrás „2032 battery”, esetleg megjegyzik még, hogy LIR2032. De ebből csak annyi marad meg felhasználáskor és beüzemeléskor, hogy „valamilyen 2032”. Pedig itt éppen a működési kémia számít. A két típus közti eltérés miatt a „DS3231 esetén CR2032 vagy LIR2032 – melyik való a modulba?” kérdésre nem lehet egyetlen szóval felelni. Előbb azt kell tisztázni, milyen a panel kapcsolása és csak utána lehet eldönteni, melyik cella adja a korrekt megoldást.
A modulok rejtett trükkje: egyszerű töltőág a gombelemtartó előtt
A DS3231 alapú modul a bonckés alatt
A jól ismert DS3231 modulnál a panelen az órachip mellett rendszerint ott van még az AT24C32 EEPROM is, – és a gombelemes foglalat felé egy egyszerű töltőáramköri út is vezet. Ez a töltőág tipikusan egy 1N4148 típusjelű diódából és egy ~200 ohmos, „201” jelölésű ellenállásból áll. És a modul leírása és a DS3231 chip adatlapja alapján 3,3 voltos kompatibilitásra is lehet számítani, miközben a legtöbb ilyen modul leírása 5 V rendszerről és LIR2032 tölthető akkuról is ír. A panel kapcsolásának felrajzolása után többféle hiba vagy működési mód látszik:
- 3,3 V rendszerfeszültségen a modul rendben működik, de az akkutöltés érdemben nem valósul meg;
- 5 V esetén viszont a töltőág már aktív szereplővé válik és a töltés beindul.

Az Arduino-fórumokon ugyanez a történet gyakorlati tapasztalatokon keresztül is megjelent. Volt olyan beírás, ahol azt mérték, hogy 5V Vcc esetén az akkumulátor/elem nélkül 4,67 V mérhető a foglalatnál. Más szerint húsz óra töltés után a LIR2032 akku lábain a feszültség már 4,4 voltig felkúszott és enyhén púpossá is vált. De keresgélve olyan beszámolóba is belefuthatunk, amely szerint CR2032 elemmel hosszabb idejű 5 V rendszerben való használat után a cella hangos pukkanással távozott el a foglalatból. Ezek nem laborjegyzőkönyvek, hanem gyakorlati tapasztalatok – de egy irányba mutatnak: a panelen alkalmazott egyszerű dióda-ellenállás alapú töltőág nem tekinthető szabályos és minden körülmény között biztonságos akkumulátoros töltőmegoldásnak.
A DS1307 alapú modul a bonckés alatt
A DS1307-es „Tiny RTC” jellegű moduloknál az alapgond majdnem ugyanez, de a panelt nem szabad a DS3231 logikájával azonosnak tekinteni. Több forrás szerint itt is előfordul a dióda- ellenás alapú töltőág. Azonban egyes kapcsolásokban még egy plusz ellenállásosztó is megjelenik a VBAT felé, hogy a 4,2 volt közelébe töltött LIR2032 feszültségét a DS1307 3,5 voltos VBAT-határa alá húzzák! Éppen ezért a DS1307-es modulok módosítása nem mindig ugyanaz az egyetlen vágás vagy alkatrészkiszedés, mint a DS3231 modulok esetén. Az elmúlt jónéhány és számos modul tapasztalatai itt is azt mutatják, hogy a panelvariánsokat előbb azonosítani kell… De a végén a megoldás minden esetben azonos lesz.

Mi történik 5 V rendszerfeszültségnél?
Az 5 voltos táplálás az a határ, ahol a vita már megszűnik elméletinek lenni. Itt már nem arról beszélek, hogy vajon egy primer gombelemre „jut-e némi szivárgó áram”, hanem arról, hogy a gyenge minőségű, primitív töltőút valós feszültséget juttathat a foglalatba helyezett cellára. A DS3231 modul esetén több mérési eredmény is fellelhető fórumokban: jellemzően a akku kapcsain 4,2 V fölötti értékekkel; de volt példa már 4,29V-ról 4,37V-ig emelkedő feszültségre is. Ezekhez nem kell sok kommentár: töltés esetén egy CR2032 elemnek nincs ott keresnivalója.
A gyakori félreértés az, hogy „akkor egyszerűen használjunk LIR2032-t, és kész”. Ezzel a kijelentéssel azonban óvatosan bánnék. A LIR2032 valóban tölthető, de a gyártói adatlapok 4,2 voltos, CC/CV jellegű töltést írnak elő. A dióda és soros ellenállás töltőként való kombinációja ezzel legfeljebb távoli rokonságban áll. Több felhasználói bejegyzés arra figyelmeztet, hogy a dióda-ellenállás töltőút nemcsak a CR2032-höz lehet hibás megoldás, hanem a LIR2032 akkut is túltöltheti vagy legalábbis abszolút szabálytalanul töltheti 5 volt környékéről táplálva a töltőáramkört. Az a kijelentés tehát, hogy „LIR2032-vel minden rendben lesz”, ebben a formában elég merész kijelentés.
A gyakorlat oldaláról, ha CR2032 gombelemet használunk, akkor az 5 V táplálásnál a töltőáramkört érdemes letiltani, például a dióda vagy a 200 ohmos ellenállás eltávolításával, esetleg a megfelelő vezetősáv megszakításával. Nem azért, mert maga a DS3231 rosszul működik 5V-on, hanem azért, mert a panel gombelemes részének kialakítása ebben a formában többet árt, mint használ. Én ezt a megállapítást tartom a legfontosabb gyakorlati tanulságnak. A leggyorsabb és legegyszerűbb megoldás: a dióda vagy az ellenállás kiforrasztása/letörése (ha mégis kell majd az akku egyszerűbb visszarakni). A vezetéksáv elvágását nem javaslom (sérülésveszély miatt!).

A DS1307 chippel szerelt moduloknál a helyzet még összetettebb. Ott maga a chip is 5 V VCC-re van tervezve, tehát tipikusan eleve ilyen rendszerben használják, miközben a VBAT láb felső határa 3.5V! Ha a panel LIR2032-höz és töltőághoz készült, akkor csak valamilyen osztóval vagy egyéb trükkel lehet a backup feszültséget a chip számára elfogadható tartományban tartani. Ez megmagyarázza, miért látni DS1307-es moduloknál bonyolultabb javítási javaslatokat: ott nem elég pusztán a töltést megszüntetni (D1 vagy R5 eltávolítása), a backup ág feszültségviszonyait is helyre kell állítani elem használata esetén (R4 eltávolítása, R6 átkötése).


Mi történik 3,3 V esetén?
A 3,3 V rendszerszintű táplálás körül sokkal több a félreértés, mint a valódi veszély. A DS3231 esetében maga az RTC teljesen otthonos ebben a környezetben, hiszen a hivatalos üzemi tartomány 2,3…5,5V. Ha egy 3,3V-os mikrokontroller, például ESP32, RP2040 vagy 8 MHz-es ATmega328P mellé keresek óramodult, a DS3231 kifejezetten jó választás. A feszültségszintek teljesen stimmelnek.
A panelen levő töltőág viszont 3,3V rendszerfeszültség esetén egészen másképp viselkedik mintha 5V-ot kapna a modul. A D2 dióda nyitófeszültsége miatt a gombelemes töltés ilyen tápszinten gyakorlatilag nem működik érdemben (3.3V – 0,7V = 2.5V). Azaz a töltőfeszültség az akku mélykisülési feszültsége alatt van – azaz nem is működik a töltés. A DS3231 óramodul óra és memória funkciója ettől még működik: az óra jár, az EEPROM elérhető, az I2C kommunikáció rendben van (csak éppen a beépített „töltő” már nem tölt semmit). Ez a tapasztalatok alapján esetben szerencsés mellékkörülmény, mert a CR2032-t sem tudja tölteni!

A 3,3 V tápellátás esetén dióda miatt a foglalat felé már legfeljebb ~2,5…2.7V juthat, tehát jelentős töltés nem tud kialakulni. Ez azonban nem jól megtervezett megoldás, és nem is tudatosan szerencsés körülmény. A panelt akkor is érdemes ellenőrizni, mert a tényleges dióda, a szivárgóáramok, a hőmérséklet és az alkatrész-tűrések befolyásolják a tényleges viselkedést. A 3,3 V tehát kedvezőbb helyzetet teremt, de nem felmentés a javasolt átalakítás alól.
A DS1307-re már nem mondható el ugyanez a működési megoldás, mint a DS3231-re. A DS1307 VCC-je 4,5..5,5 V tartományra van megadva, vagyis 3,3V főtápról használni nem gyári üzemmód! A backup VBAT ettől még lehet 3 volt körüli – de az nem változtat ez semmit azon, hogy a chip üzemi táplálása nem 3,3 voltra készült! Ebből adódik az a gyakorlati tanács, hogy ha ma valaki 3,3 V rendszerhez akar RTC modult választani, akkor a DS1307-et nem ajánlanám jó szívvel…
Mit érnek a fórumos tapasztalatok?
Az RTC modulokkal kapcsolatban nagyon sok tapasztalat, információ és félinformáció kering – jónéhány téves is ezek közül. Így ezeket a bejegyzéseket, érdemes megfontolásra és ellenőrzése váró információként kezelni, mint precíz műszaki tanácsként. A legtöbb esetben nem adatlapok, nem hitelesített vizsgálatok, nem gyártói állásfoglalások alapján készültek, hanem felhasználói tapasztalatok – sokszor téves logikával és következtetéssel. Azonban sokat segítettek, mert olyan jelenségeket gyűjtöttek össze, amelyek ugyanarra a konstrukciós hibára utalnak: kúszó cellafeszültség, púposodás, melegedés, esetleges elpukkanás – de megjelentek a sikeres javítások: a dióda, az ellenállás eltávolításával vagy a vezetősáv megszakításával.
Ami viszont nem szerencsés, az a nagyfokú túláltalánosítás. A fórumokon számos esetben előfordul olyan vélemény is, hogy „LIR2032 kell bele, és kész”, meg olyan is, hogy „3,3 volton semmi baj nem lehet, hisz nálam is működik”, sőt akad olyan hozzászólás, amely szerint a dióda szerepe félre van értelmezve. Ezért a fórumokon előforduló beszámolókat tapasztalati meglátásként olvastam, ilyen-olyan megközelítésben és mindenféle elméleti ás gyakorlati magyarázatokkal. De a gyártói adatlap – amit a fórumokban oly ritkán vesznek elő – segített végül kibogozni a szálakat.
Mit nézzek meg a saját modulon, mielőtt elemet teszek bele?
Az első lépés mindig a szemrevételezés. A DS3231 modulnál meg kell keresni a gombelemtartó környezetében a D2 jelű 1N4148 diódát és a R5 220 ohmos, azaz a „201” jelű ellenállást. Ha ezek ott vannak, jó eséllyel jelen van az a bizonyos egyszerű töltőág is. A DS1307-es Tiny RTC paneleknél még alaposabban kell nézni a backup vonalat, mert nagyon sokszor ott vannak az R4/R6 osztóellenállások is, amely a CR2032 használatnál később külön bosszúságot okozhat.
A második lépés a mérés. Érdemes ellenőrizni, mekkora feszültség jelenik meg a foglalatnál a modul táplálása közben (természetesen akku/elem nélkül). Ha 5 V-os táp mellett a cellafoglalat felé 3,3 V fölötti érték látható, az már komoly figyelmeztetés. De miért kell mérni? Mert a mérés nélkül csak találgatás történik és a mérés után már biztos, hogy a saját panel mit művel valójában.
A harmadik lépés az, hogy ne a ráírt típust, hanem a tényleges működést kell nézni. Egy RTC backup-cella feladata nem a főrendszer tápellátása, hanem az időműködés biztosítása áramszünet esetén. A DS3231 mikroamperes nagyságrendű telepes áramfelvétele és a CR2032 száz mAh feletti kapacitása alapján nyugodtan kijelenthető, hogy jól kialakított backup ág mellett a tartaléküzem több évre is kiterjed. A DS1307 adatlapja ezt még le is írja a 10 év feletti működés kijelentésével. Emiatt sok esetben teljesen felesleges töltőáramkört erőltetni egy olyan feladathoz, amelyhez egy egyszerű gombelem is bőven elegendő.
Melyik megoldást javaslom?
Ha új áramkört rakok össze és nincs valamilyen régi kód- vagy hardware-kompatibilitási kényszerem, akkor a DS3231-et választanám. Nem azért, mert divatosabb, hanem mert az adatlapja alapján (és a gyakorlat szerint is) jobban illeszkedik a mai mikrokontrolleres világhoz. A pontossága is kedvezőbb, és a chip oldaláról nézve tiszta, kulturált backup-kezelést kapok. Aki ESP32, Raspberry Pi Pico, modern ARM vagy alacsony fogyasztású AVR mellé keres RTC modult, annak a DS3231 általában jobb megoldást ad.
Ugyanakkor a DS3231 modul és a DS3231 chip között nem tennék azonnal egyenlőségjelet. A nem módosított alappanel 5 V táplálás mellett szerintem igazán jó a CR2032 használatához, és a LIR2032 is csak kompromisszumos megoldás. A legbiztosabb változat a korábban írtak miatt: a töltőágat megszüntetem, és utána CR2032-t vagy más, dokumentáltan alkalmas elemes backup-forrást használok. Ez egyszerűbb, átláthatóbb és hosszabb távon is kiszámíthatóbb.
Ha a rendszer eleve 3,3 V-ra tervezett, a DS3231 modul kevésbé veszélyes, mert a töltőág ilyenkor érdemi működést nem mutat. Ettől függetlenül nem a szerencsére bízom a dolgot. Egy dióda vagy egy ellenállás eltávolítása egyszeri, jól ellenőrizhető beavatkozás; utána a modul viselkedése biztosabb és az adatlapnak is megfelelő lesz. Az üzembiztonságot nem érdemes kockáztatni.
A DS1307 alapú modulnál szigorúbb vagyok. Mivel a chip 5V rendszerben működik stabilan, és a modulok töltőágas, osztós megoldásai itt még könnyebben okozhatnak galibát elem esetén – nem szívesen használom. A régebbi, 5 V-os Arduino-projektben persze lehet létjogosultsága, – de ma már nem nagyon látom okát, hogy új fejlesztéshez DS1307 modult válasszak, ha a DS3231 is elérhető. A DS1307 ott jön jól, ahol meglévő hardverhez, régebbi könyvtárhoz vagy pontosan ismert panelt kell utánépíteni.
Az órák közül a DS1302 ebből a szempontból külön fejezetben köszön vissza. Ott a töltési funkció jól dokumentált, engedélyezhető és tiltható, nem pedig egy panelen levő valamilyen kialakítású áramkörre van bízva. Az integrált töltőáramkör nem „véletlenül” van jelen a chipben, hanem szándékosan és tervezetten a chip része, és az adatlap is pontosan mutatja, hogyan viselkedik. A DS1302 a kommunikáció, a régebbi konstrukció és a fejlettebb modulok miatt került nálam parkolópályára.
A saját meglátásom, hogy a DS3231 és a DS1307 chipek önmagában nem veszélyesek az elemre nézve; a gondot a modulra tett, egyszerűsített töltőáramkör okozza. Ha CR2032-t akarok használni, a töltőút megszüntetése az első teendő. Ha valaki LIR2032-vel próbálkozik, akkor is tudnia kell, hogy a legtöbb olcsó panel nem valódi lítiumion-töltő. Ha pedig 3,3 voltos rendszerben tervezek, a DS3231 a műszakilag az elfogadott irány.
Felhasznált források
- DS3231 Extremely Accurate I2C-Integrated RTC/TCXO/Crystal [Analog Devices] (Analog Devices)
- DS1307 64 x 8, Serial, I²C Real-Time Clock [Analog Devices] (Analog Devices)
- DS1302 Trickle-Charge Timekeeping Chip [Analog Devices] (Analog Devices)
- Battery charging circuit of DS3231 module [One Transistor] (One Transistor)
- [DS3231: CR2032 vs LIR2032] Warning! Is your module killing the battery? [Arduino Forum] (Arduino Forum)
- ZS-042 DS3231 RTC module [Arduino Forum] (Arduino Forum)
- Ds1307 with lir2032 battery [Arduino Forum] (Arduino Forum)
- Modding RTC DS1307 for non-rechargable battery [IK1ZYW Labs] (ik1zyw.blogspot.com)
- Notes on the DS1307/AT24C32 RTC module [PICAXE Forum] (PICAXE Forum)
- CR2032 [Panasonic Industry] (Panasonic)
- LIR2032 specification examples [EEMB / RS Pro / PowerStream] (xsens.com)
Kapcsolódó cikkek:
– A digitális idő paradoxonja: az óraátállítás árnyoldalai
– DS1302 trükkök: RAM, írásvédelem, burst mód és csepptöltés (trickle charge)
– DS1302 RTC óramodul használata: az óra és a dátum
– A DS1307 órachip (RTC) használata
– Pontos idő, nagy hatás: Miért fontos a precíziós időszolgáltatás?





