Naperő mérése ESP

Hobby projektem részeként egy ESP32-es lapkát táplálok Li akkumulátorról (3.7V), amit egy napelemmel folyamatosan töltök.

Szeretném mérni az akkumulátor feszültségét, a töltőfeszültséges és a töltőáramot.

Az ESP-ben van több ADC, amik [0-3.3V] tartományban képesek mérni, így ezekkel mérek.

Mivel a mért feszültség 6 volt is lehet, ezért a mérési pont és a GPIO lába közé teszek egy R1 ellenállást, valamint a GPIO láb és a föld közé még egy R1 értékű ellenállást. Ha jól gondolom, így 6.6V-ig fogok tudni maximum mérni.

1 - Első kérdés az R1 értéke. Van ahol 47k értéket találtam, de nálam most R1 = 500k van. Ami úgy tűnik működik, de nem elég stabil. Az ADC-vel mért érték stabilitása függ R1 értékétől? Minél kisebb, annál jobb? Mekkora legyen R1 értéke?

Egy ESP dokumentáció ajánlotta, hogy a föld és a GPIO láb közé tegyek be 100nF-os kondit. Ezt betettem. Van ennek így is értelme? Kell? Jó? Vagy torzítja a mérést?

2 - Mivel a töltőáramot is mérem, az egész rendszer elé betettem egy R2 = 1 ohmos ellenállást (ez volt itthon a legkisebb), és ennek a két lábán is mérem a feszültséget a fenti módszerrel. Ebből számolok töltőáramot. Ez így jó? Mekkora legyen R2 értéke? A töltőáram ideális esetben több amper is lehet, amihez az 1 ohm elég durvának tűnik. De a mérési bizonytalanság miatt nem merek kisebbet. Így is van, hogy negatív értéket kapok. :O Mekkorára állítsam R2 értékét, hogy használható legyen, de ne pazarló? Vagy máshogy kellene mérnem a töltőáramot?

Hozzászólások

Szerkesztve: 2021. 01. 04., h – 17:20

A Li akkumulátorok kapocsfeszültségét viszonylag pontos értéken kell tartanod, míg a PV egy áramgenerátor. Mindenképpen kell egy töltő áramkört használnod pl. ezt: 5pcs/lot Micro USB 5V 1A 18650 TP4056 Lithium Battery Charger Module Charging Board With Protection Dual Functions 1A Li ion|charging board|usb 5v 1ausb 5v - AliExpress, vagy saját magadnak kell építened valamit.

Ha beraksz egy ellenállást, akkor el fogod disszpálni az energiát. Ezért minnél alacsonyabb ellenállást kell beraknod. Az áramot áramszenzorral kéne mérned.

Napsugárzást meg besugárzás mérővel szokták mérni.

Én egy ilyet javasonék, van rajta akksitöltő és rögtön ki is esik belőle 5V, amivel meg tudsz hajtani egy esp32 devbaord-ot (ennél egyszerűbben nem kötsz be (már csak a forrasztás miatt sem) esp32-t, így a kondi sem kell).

Devboard: https://www.aliexpress.com/item/32959541446.html (olcsóbb is van ESP12-től lefelé ESP01-ig)

Töltő: https://www.aliexpress.com/item/33057915333.html

Még mindig mérheted a napelem feszültségét, nagyon jó infók a feszültségosztóról (két ellenállás a max feszültség alapján kalkulálva): https://www.youtube.com/watch?v=S34R4zg03uE 

Még mindig mérheted a napelem feszültségét, nagyon jó infók a feszültségosztóról (két ellenállás a max feszültség alapján kalkulálva)

A napelem feszültsége a terheléstől függ, munkapontot fogyasztási oldalon kell beállítani. Lásd 32. oldal: A napelemek fizikai alapjai - PDF Ingyenes letöltés (docplayer.hu)

Mondom, én mit csinálnék. A feszültségosztó a kisebbik probléma, kell a 100 nF, mert amikor a mintavevő és tartó betölti a mintavevő kondenzátorába a töltést, akkor kell a kis meghajtó impedancia. Árammérésre hasznánék valami csinos kis ellenállást, mondjuk 0.033 Ω, vagy valami hasonló. Fontos a jó topológia, mert a hozzávezetések ellenállása már nem elhanyagolható. Az áramot a negatív ágban mérném, egy invertáló műveleti erősítős áramkörrel oldanám meg a jel A/D-re küldését. Ugyanide tennék még egy erősítőt, amelyet egy másik A/D-re kötnék. Ezzel megoldódott a méréshatár váltás. A nagy erősítésű bemenetről kis áramot mérnék. Ha ez telítésbe ment, azaz itt 3.3 V-ot mérek, akkor a kis erősítésű bemenetről mért adatból számolnék nyilván más konstansokból. Ekkor nagy áramot mérünk.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Lassú változást mér, jó a 100 nF, de ezen nem veszünk össze, elég a 10 nF is. Egyébként számolható.

C1 * U1 = (C1 + C2) * U2
U2 = U1 * C1 / (C1 + C2)

ahol C1 a külső kondenzátor kapacitása, C2 a mintavevőé, U1 a mérni kívánt feszültség, U2 a meghamisított, valójában mért feszültség. Az a lényeg, hogy U1 - U2 < Uref / 2^n teljesüljön, ahol n bites az A/D konverter, Uref a teljes range, U1 - U2 pedig az a hiba, amit 1 LSB-n belül szeretnénk tartani.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Buckonak sajnos igaza van. Ilyeneket sosem tanultam. Fizikát igen, így az ellenállást, kondenzátort, feszültségosztót még értem. A negatív ágba tett műveleti erősítő azonban már túllép a képességeimen. Főleg, hogy így is, úgy is kell ADC-t használnom.

De legalább kaptam végre egy konkrét ellenállás értéket, ami mindenképp hasznos!