A routerhez beszerzett 12V-os szünetmentes sikeres működésén felbuzdulva továbbvittem a gondolatot: a Domoticz szervernek otthont adó Raspberryt is szünetmentesíteni kellene, de ez már 5V-os tápot igényel. (vagy egy jóval nagyobb 230V-os szünetmentesítő tápegységet, ami hülyén mutatna nálam a plafonon a Raspberry doboza mellett, nem beszélve az egyéb körülötte levő akadályozó tereptárgyakról és a rányíló ajtóról)
Természetesen a 12V-ból épp olyan könnyen lehetne az 5V-ot átalakítani, ahogy a 12V-ot 24V-ra, de ennél tovább megyek: nem ártana, ha a Raspberry tudná, hogy áramszünet van, illetve hogy mennyi az akkumulátor töltöttsége, hogy pl leállítsa magát, ha 10% alatt van már az akku.
Erre biztosan legyintenek majd páran, hagyományos 230V-os szünetmenteseknél is van USB csatlakozós modell, ami le tudja jelenteni, a PC-re telepített Windowsos (térdemet csapkodom a röhögéstől) program felé, illetve EATON típusúakhoz Linuxos program is van (elismerő taps).
Ám én az 1 db USB csatlakozót inkább másra használnám. Rövid keresés után Magyarországon is találtam nagyon okos UPS PIco szünetmentest, alig 20 ezer forintért. Persze még mindig nem tartom ésszerűnek a 4800Ft-os PI Zeromhoz, de valóban megvehetném. Rövid tépelődést követően átugrottam az e-bayre, és találtam sokkal reálisabb variációt is "UPS HAT Board Module 2500mAh Battery for Raspberry" néven cirka 4000Ft-ért, ami már-már a vásárlási tűréshatáromat feszegeti. De nem, még mindig nem, ugyanis keresgélés közben szembe jött pár ígéretes modul, és felmerült a szokásos gondolat: miért ne csinálnám meg?
Sokan sokféleképpen felfedezték már az alábbi TP4056 eszközt, viszont mivel csak 1A-re van hitelesítve leginkább Pi Zero, Pi Zero W, Pi Model A/B, ESP8266 projektek szünetmentesítésére alkalmas. (a Pi3-hoz már egy 1,5A-es töltő ajánlott, különösen, ha USB eszköz is van rákötve, arra már mindenképpen a fent írt 4000Ft-os UPS HAT modult javaslom, ami 2A-es)
Ami kell a normál használathoz:
Eszköz | Bruttó ár |
5V MicroUSB 1A 18650 Li-ion akkutöltő modul | 204 Ft |
DC-DC 3V/3.3V/3.7V/4.2V -> 5V USB 1A 2A feszültségszabályzó | 264 Ft |
Műanyag 18650 akkutartó, fekete, 1db-os | 204 Ft |
Samsung ICR18650-26HM 2600mAh tölthető akku, laposfejű | 1154 Ft |
ADS1015 analóg-digitál átalakító (*) | 500 Ft |
1 db, nagyjából az akkutartó méretű műanyag a három alkatrész elhelyezésére | újrahasznosítva (ismeretlen, megfizethetetlen) |
3 db 4k7 ellenállás + 1 db 2k7 ellenállás | cirka 20 Ft |
Összesen: | 2346 Ft |
Látható, hogy az ár legnagyobb részét az akkumulátor teszi ki, de az e-bayes noname akkumulátorokról semmi jót nem olvastam még, a banggood viszont egy fokkal megbízhatóbb (és drágább), a Samsung ICR pedig egy ár-érték arányban nagyon jónak mondott darab.
Gyors próba, összekötjük az akkutöltő B+ lábát az akkutartó piros vezetékével, a B- lábát pedig a fekete vezetékével. Majd az OUT+ továbbkötendő a feszültségszabályzó IN+ra, az OUT- pedig az IN-ra.. eddig gyerekjáték, akku be a tartójába. (szigorúan polaritáshelyesen!!)
Bevallom itt elkövettem egy kis hibát, mivel nem Plate Head, vagyis lapos tetejűt, hanem Button Top, vagyis a tetején egy túlfeszvédő áramkörrel szerelt modellt rendeltem, és ez magasabb, vagyis nem nagyon fér be az elemtartóba, valamint a külön kapható DIY powerbank adapterekbe sem.. de többet erővel, mint ésszel, én azért beletettem. Mindenki másnak a lapostetejű, alacsonyabb változatot javaslom. :)
A továbbiakról már bekötési rajzot is mutatok inkább, mert most jön a java. Mivel a Raspberrynek nincs analóg bemenete, kell az ADS1015 ADC, aminek az analóg lábaira maximum a modul tápfeszültségével megegyező (3.3V) feszültséget lehet ráengedni, így megtörtént az, amit már régóta kerülgetek, eddig inkább kész szintillesztőket használtam, de ezúttal muszáj voltam közelebbről megismerkednem a feszültségosztó ellenállásokkal.
Két értéket akarok figyelni, egyrészt a B+ van rákötve az ADC A0 csatornájára, ez jó esetben 3.5-4.2V között változik, erre egy 2k7 és egy 4k7 ellenállást terveztem, a másik az IN+ van rákötve az A1 csatornára, erre egy felező két darab 4k7 ellenállás terveztem, mert töltés közben 5.4V-ot is mértem ezen a ponton, ennek elégnek kell lennie a biztonságos működéshez, továbbá ha ezt a Raspberry digitális lábára (pl BCM17 ahogy az ábra mutatja) továbbviszem 2V-ig logikai 1 lesz az eredménye, vagyis elméletben akkor vált 0-ra a digitális bemenet majd, ha nincs áram. Ami igen praktikusan jelzi egy figyelő programnak - ami python lesz természetesen - hogy hohó nincs áram, ideje rálesni az akkumulátor feszültségére néha (pl percenként, I2C buszon keresztül) és ha 3.6V alá csökken, akkor shutdown parancs. De akár figyelmeztető hangjelzést vagy e-mailt is küldhet, ízlés kérdése.
A végső rettenet, inkább praktikus, mint ízléses, ahogy én szeretem, zsugorcsövet, melegragasztót nem kímélve (csak azért is belefér):
Miután multiméterrel meggyőződtem róla, hogy nem süti meg a Raspberryt, meg is kezdtem a tesztelését:
Az RPI Zero nem fogyaszt túl sokat, ám indításkor azért felugrik 0.2A-ra, ez lerántja a feszültségszabályzó kimenetét 4.95-ről 4.78V-ra, ami aztán normál működéskor beáll 4.86V-ra nagyjából 0.07A mellett. (A Pi3 nem igazán szereti a 4.95V alatti feszültséget, márcsak ezért sem ajánlom az eljárást, de a Pi Zero mindent megeszik, laptop USB-jéről is működtethető)
Az akkumulátoros üzemidőről annyit, hogy 100% töltöttségnél lehúzva a 230V-ról 1 óra 7 perc alatt ment le 89%-ra, végül 3 óra 20 perc után 65%-nál szakítottam meg a tesztet, biztos vagyok benne, hogy 6 órát ki fog bírni, nekem ennyi bőven elég.
Python unit az akkufeszültség mérésére és áramkimaradás jelzésére:
https://github.com/enesbcs/multisensor-python-rpi/blob/master/unit_ups.py
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.