ESP8266 táp elemről (2xAA, akku)
ESP8266 táp elemről (2xAA, akku)
Sziasztok
Leírom az eddigi tapasztalataimat, és elképeléseimet az ESP8266 + elemes táppal kapcsolatban.
Eddig az alábbi kombókat próbáltam:
-AMS1117 (3.3V power regulator) +3xAA: gyakorlatilag ez volt az első próbám, és ez a legkevésbé gazdaságos megoldás, mivel kb 1V-os dropoutja van. Ez miatt 3db AA elemről működik ideig-óráig, viszont aksiról (3x1.2) nem.
-MT3608 DCDC Stepup booster. Jelenleg ezt használom, aránylag jók a tapasztalataim, olcsó cucc (kb 300Ft) kompletten a panel passziv áramkörökkel együtt. https://www.olimex.com/Products/Breadbo ... MT3608.pdf
De mivel viszonylag alacsony a hatásfoka, elérkezett az idő, hogy szintent lépjek
Az alábbi áramköröket néztem amúgy: LTC3525-3.3, NCP1450A, MCP1640, L6920, LM2623, MCP1703.
Számos konkrét leírás, áramkör, pcb is van neten, de nálam a nyerő az AAsaver megoldása.
http://rayshobby.net/aasaver/aasaver-download/
Ők MCP1640-re, a 2. verzóban pedig NCP1450A-ra építenek.
Én az MCP1640 irányon indultam el (adatlap: http://www.microchip.com/wwwproducts/en/en547080), mert az NCP1450A nehezen beszerezehető idehaza, és drágább is..
Az MCP1640 egy un. szinkron feszültségnövelő tápáramkör. Amikor nincs terhelés, az áramkört az EN bemeneten keresztül lekapcsolhatjuk. Ekkor 1µA a fogyasztása Ha nem kapcsoljuk le, akkor 20µA
Az MCP1640 kétféle lekapcsolási opcióval készül:
-True Output Disconnect (valósan lekapcsolja a terhelés az ICről)
-Bypass (amikor a telep közvetlen táplálja a terhelést).
Az MCP1640 2 féle működési módot tud: PWM (Pulse-Width Modulation, fix 500kHz-es működés) és PFM (Pulse-Frequency Modulation).
A PWM/PFM opciónál automatikusan vált a 2 üzemmód között, így tudja elérni a 96%os hatásfokot, értelem szerűen a PWM only nem tudja a PFM-et.
4 opció érhető el belőle (MCP1640/40B/40C/40D).
MCP1640: PWM/PFM + True Output Disconnect
MCP1640B: PWM only + True Output Disconnect
MCP1640C: PWM/PFM + Bypass
MCP1640D: PWM only + Bypass
Ezekről az üzemmódokról az IC adatlapján is írnak, de találtam egy Optimizing Battery Life in DC Boost Converters Using MCP1640 cikket is a témáról:
http://ww1.microchip.com/downloads/en/A ... 01337A.pdf
Szóval ez az a pont, ahol tulajdonképpen elakadtam.
Ugyanis nem tudom, hogy milyen szinten lehet / érdemes kombilnálni az ESP deepsleepet az itt írt megoldással..
Az alábbiak a lehetőségek:
1, nem bonyolítom tovább az áramkört, kap egy alap MCP1640-et, és Deepsleepel elküldjük pihenni.
2, Az ESP amikor elvégezte a dolgát, ATtiny13-nek leküldi, hogy mikor szeretne felébredni. Az Attiny egy mosfeten keresztül teljesen power offolja az ESP-t. Majd amikor letellt az idő, visszakapcsolja az ESP-t. Az ATtiny13-t leküldve 1MHZes üzemmódba, 0.2µA-t fogyaszt. Szemben az ESP-vel aminek sleep üzemmódban is 20µA kell.
Egy kis számolgatás a várható élettartamról ezzel a kalkulátorral: http://oregonembedded.com/batterycalc.htm
Paraméterek:
Capacity rating of battery (mAh) : 2700
Current consumption of device during wake (mA): 120 mA (esp mérés, adatküldés közbeni áramfelvétel)
Number of wakeups per hour: 4 (15 percenként ébresszük)
Duration of wake time (ms): 4800 (kb ennyi, amíg feléled, rácsatlakozik wifire, adatot küld)
Current consumption of device during sleep (mA): az alvási idő alatti áramfelvétel.
MCP1640: lekapcsolt fogyasztóval 1µA, különben 20µA
ESP deepsleep: 20µA
ATtiny13: 0.2µA
ATtinyvel, lekapcsolt fogyasztóval: 1.2µA -> 0,0012mA -> számított működési idő: 149 nap
ATtiny nélkül: 40µA -> 0,04mA -> számított működési idő: 140 nap
Tehát az látszik, hogy az alvási áram ilyen szinten már alig szól bele a képletbe. 0,1mA esetén is 129 nap.
Úgyhogy én azt gondolom, hogy nem szórakozok egyelőre ATtiny-vel, mert sokkal többet érek az ESP ébrendléti idejének a csökkentésével, és az akku/elem kapacitás növelésével.
Nektek mi a tapasztalatotok, javaslatok, stb? Kíváncsi vagyok más megoldásokra is
Leírom az eddigi tapasztalataimat, és elképeléseimet az ESP8266 + elemes táppal kapcsolatban.
Eddig az alábbi kombókat próbáltam:
-AMS1117 (3.3V power regulator) +3xAA: gyakorlatilag ez volt az első próbám, és ez a legkevésbé gazdaságos megoldás, mivel kb 1V-os dropoutja van. Ez miatt 3db AA elemről működik ideig-óráig, viszont aksiról (3x1.2) nem.
-MT3608 DCDC Stepup booster. Jelenleg ezt használom, aránylag jók a tapasztalataim, olcsó cucc (kb 300Ft) kompletten a panel passziv áramkörökkel együtt. https://www.olimex.com/Products/Breadbo ... MT3608.pdf
De mivel viszonylag alacsony a hatásfoka, elérkezett az idő, hogy szintent lépjek
Az alábbi áramköröket néztem amúgy: LTC3525-3.3, NCP1450A, MCP1640, L6920, LM2623, MCP1703.
Számos konkrét leírás, áramkör, pcb is van neten, de nálam a nyerő az AAsaver megoldása.
http://rayshobby.net/aasaver/aasaver-download/
Ők MCP1640-re, a 2. verzóban pedig NCP1450A-ra építenek.
Én az MCP1640 irányon indultam el (adatlap: http://www.microchip.com/wwwproducts/en/en547080), mert az NCP1450A nehezen beszerezehető idehaza, és drágább is..
Az MCP1640 egy un. szinkron feszültségnövelő tápáramkör. Amikor nincs terhelés, az áramkört az EN bemeneten keresztül lekapcsolhatjuk. Ekkor 1µA a fogyasztása Ha nem kapcsoljuk le, akkor 20µA
Az MCP1640 kétféle lekapcsolási opcióval készül:
-True Output Disconnect (valósan lekapcsolja a terhelés az ICről)
-Bypass (amikor a telep közvetlen táplálja a terhelést).
Az MCP1640 2 féle működési módot tud: PWM (Pulse-Width Modulation, fix 500kHz-es működés) és PFM (Pulse-Frequency Modulation).
A PWM/PFM opciónál automatikusan vált a 2 üzemmód között, így tudja elérni a 96%os hatásfokot, értelem szerűen a PWM only nem tudja a PFM-et.
4 opció érhető el belőle (MCP1640/40B/40C/40D).
MCP1640: PWM/PFM + True Output Disconnect
MCP1640B: PWM only + True Output Disconnect
MCP1640C: PWM/PFM + Bypass
MCP1640D: PWM only + Bypass
Ezekről az üzemmódokról az IC adatlapján is írnak, de találtam egy Optimizing Battery Life in DC Boost Converters Using MCP1640 cikket is a témáról:
http://ww1.microchip.com/downloads/en/A ... 01337A.pdf
Szóval ez az a pont, ahol tulajdonképpen elakadtam.
Ugyanis nem tudom, hogy milyen szinten lehet / érdemes kombilnálni az ESP deepsleepet az itt írt megoldással..
Az alábbiak a lehetőségek:
1, nem bonyolítom tovább az áramkört, kap egy alap MCP1640-et, és Deepsleepel elküldjük pihenni.
2, Az ESP amikor elvégezte a dolgát, ATtiny13-nek leküldi, hogy mikor szeretne felébredni. Az Attiny egy mosfeten keresztül teljesen power offolja az ESP-t. Majd amikor letellt az idő, visszakapcsolja az ESP-t. Az ATtiny13-t leküldve 1MHZes üzemmódba, 0.2µA-t fogyaszt. Szemben az ESP-vel aminek sleep üzemmódban is 20µA kell.
Egy kis számolgatás a várható élettartamról ezzel a kalkulátorral: http://oregonembedded.com/batterycalc.htm
Paraméterek:
Capacity rating of battery (mAh) : 2700
Current consumption of device during wake (mA): 120 mA (esp mérés, adatküldés közbeni áramfelvétel)
Number of wakeups per hour: 4 (15 percenként ébresszük)
Duration of wake time (ms): 4800 (kb ennyi, amíg feléled, rácsatlakozik wifire, adatot küld)
Current consumption of device during sleep (mA): az alvási idő alatti áramfelvétel.
MCP1640: lekapcsolt fogyasztóval 1µA, különben 20µA
ESP deepsleep: 20µA
ATtiny13: 0.2µA
ATtinyvel, lekapcsolt fogyasztóval: 1.2µA -> 0,0012mA -> számított működési idő: 149 nap
ATtiny nélkül: 40µA -> 0,04mA -> számított működési idő: 140 nap
Tehát az látszik, hogy az alvási áram ilyen szinten már alig szól bele a képletbe. 0,1mA esetén is 129 nap.
Úgyhogy én azt gondolom, hogy nem szórakozok egyelőre ATtiny-vel, mert sokkal többet érek az ESP ébrendléti idejének a csökkentésével, és az akku/elem kapacitás növelésével.
Nektek mi a tapasztalatotok, javaslatok, stb? Kíváncsi vagyok más megoldásokra is
Re: ESP8266 táp elemről (2xAA, akku)
Amit kihagytál a képletből:
- hőfokfüggés,,
- elemek önkisülése,
A ESP alvómód: kimenetek bemenetek, kapcsolt eszközök pl I/O lábon legyenek (tápfeszkapcsolás),
A WiFi kommunikációra én magasabb értéket tennék- De tipp:
- ESP felkel (WiFi OFF), mér, adatment, alszik.
- Nap végén ESP felkel, WiFi elküld
Vagy ESP felkel, mér, wifiConnect, elküld, WiFi logoff (szabályosan), Sleep.
Elemből: ReadyGo vagy egyéb kis önkisülésű NiNH.
Ha megoldható: napelemes rendszerben csepp/utántöltés. Így örökélet: gariidő+1 nap
Adj rá 5 évet
- hőfokfüggés,,
- elemek önkisülése,
A ESP alvómód: kimenetek bemenetek, kapcsolt eszközök pl I/O lábon legyenek (tápfeszkapcsolás),
A WiFi kommunikációra én magasabb értéket tennék- De tipp:
- ESP felkel (WiFi OFF), mér, adatment, alszik.
- Nap végén ESP felkel, WiFi elküld
Vagy ESP felkel, mér, wifiConnect, elküld, WiFi logoff (szabályosan), Sleep.
Elemből: ReadyGo vagy egyéb kis önkisülésű NiNH.
Ha megoldható: napelemes rendszerben csepp/utántöltés. Így örökélet: gariidő+1 nap
Adj rá 5 évet
http://www.tavir.hu - a gazda
Re: ESP8266 táp elemről (2xAA, akku)
"The output of this calculator is an estimate, not a guarantee.
Capacity is automatically derated by 15% to account for some self discharge.
Other factors such as temperature can extend or shorten the battery life."
A szenzorok tápját espről kapcsolom offkóz
Az n db mérés, majd gyűjtött küldés is félig meddig implementálva van, de még csiszolnom kell rajta.
Viszont azt még meg kell oldani, hogy mivel nincs wifi kapcsolat, az eszköz viszont alszik, pontos időt sem tud, tehát jó lenne még egy RTC modul is hozzá, hogy korrekt időbélyeget tudjak tenni a mért eredményekhez.
Illetve, így kicsit mellékszál, de egyszerűen nem találtam normálisan működő array kezelést, amibe mondjuk structot tudok eltenni queue szerűen. Talán json.. de az meg kész pocsékolás )) Mivel rugalmas kódot szeretnék, nem akarok x db elemű deklarált változóval dolgozni (most így van amúgy, de rühellem az ilyen megoldást). Az EEPROMOT meg nem akarom erre "koptatni". Lehet SD-re logolás lesz a megoldás, vagy valamilyen memória IC. De ezzel már tényleg elkanyarodtam a topictól
Capacity is automatically derated by 15% to account for some self discharge.
Other factors such as temperature can extend or shorten the battery life."
A szenzorok tápját espről kapcsolom offkóz
Az n db mérés, majd gyűjtött küldés is félig meddig implementálva van, de még csiszolnom kell rajta.
Viszont azt még meg kell oldani, hogy mivel nincs wifi kapcsolat, az eszköz viszont alszik, pontos időt sem tud, tehát jó lenne még egy RTC modul is hozzá, hogy korrekt időbélyeget tudjak tenni a mért eredményekhez.
Illetve, így kicsit mellékszál, de egyszerűen nem találtam normálisan működő array kezelést, amibe mondjuk structot tudok eltenni queue szerűen. Talán json.. de az meg kész pocsékolás )) Mivel rugalmas kódot szeretnék, nem akarok x db elemű deklarált változóval dolgozni (most így van amúgy, de rühellem az ilyen megoldást). Az EEPROMOT meg nem akarom erre "koptatni". Lehet SD-re logolás lesz a megoldás, vagy valamilyen memória IC. De ezzel már tényleg elkanyarodtam a topictól
Re: ESP8266 táp elemről (2xAA, akku)
Az ESP-ben ott van a 3MB vagy 15 MB belső flash (filekezeléssel).
ÓraIC: DS3231 (mellette van 24LC32 is (ennek cseréje 24LC512-re is lehetséges). A DS1307 5V-os I2Chez van!
ÓraIC: DS3231 (mellette van 24LC32 is (ennek cseréje 24LC512-re is lehetséges). A DS1307 5V-os I2Chez van!
http://www.tavir.hu - a gazda
Re: ESP8266 táp elemről (2xAA, akku)
Öö mármint az eepomon kívül? Én eddig azthittem h az FS az eepromit hasznja, és nem mertem logolásra használni... )) Eeprom ugyebár 100E írást bír ki, de azért logolásra nem terhelném. Mindenesetre kössz az infót,ennek uránajárok.
Re: ESP8266 táp elemről (2xAA, akku)
Nincs az IC-n belül se flash, se EEPROM. A modul része az IC mellé rakott flash (nem eeprom) IC. Ott a firmware és azt használja FS-nek is. Ezek 100,000 és 1 millió közötti írást tudnak általában.
Re: ESP8266 táp elemről (2xAA, akku)
Hát igen, ez a 100.000 azért karcsú.. ha pl 5 percenként logolok FSbe, akkor 1 évig sem bírja... Jó, nyilván nem ez a szándékom, de azért worst caseként számolhatunk ezzel. Mondjuk azzal lehetne trükközni h minden log külön állomány, így biztosítva h mindig más területre írjon. De nem ismerem az ESP FSt, h pl hol tartja nyílván az állomány pointereket. Mert ha olyasmi mint pl a dos fat-ja, akkor ugyis minden file műveletnél beleír, és akkor az készül ki 100.000 után.
Ezért gondolom hogy jobb mondjuk egy SDlogger, pláne hogy azon még óra modul is van.
Ezért gondolom hogy jobb mondjuk egy SDlogger, pláne hogy azon még óra modul is van.
Re: ESP8266 táp elemről (2xAA, akku)
Az SD kártyában is flash memória van, ami ugyanúgy korlátos számban írható... A nagyságrend ott is hasonló. Érdemes megnézni az adott SD kártya és az ESP modul flash IC adatlapját is.
Re: ESP8266 táp elemről (2xAA, akku)
Hibás a számolás:
Flashmemória: Blokkonkénti írás van 1M-ban (legkedvezőtlenebb eset) limitálva. Ez legyen mondjuk a memória FAT táblája.
1 blokk 512 byte méretű.
5 percenként írok, és _mindig_ azonos területre írok:
5perc * 1M / 60perc/24óra = 3472 nap = 10 év!
De mi van ha más állományba írók? Naponta egyet nyitok - rögtön nem azonos flash terület lesz a FAT alatt! Ez így 10++ évet jelet!
A SD-kártya belül meg átpakolgatja a háttérben a flash blokkokat, azaz elosztja a terhelést. Előbb avul el az egész holmi, minthogy a kártya meghibásodjon a túlírás miatt....
Flashmemória: Blokkonkénti írás van 1M-ban (legkedvezőtlenebb eset) limitálva. Ez legyen mondjuk a memória FAT táblája.
1 blokk 512 byte méretű.
5 percenként írok, és _mindig_ azonos területre írok:
5perc * 1M / 60perc/24óra = 3472 nap = 10 év!
De mi van ha más állományba írók? Naponta egyet nyitok - rögtön nem azonos flash terület lesz a FAT alatt! Ez így 10++ évet jelet!
A SD-kártya belül meg átpakolgatja a háttérben a flash blokkokat, azaz elosztja a terhelést. Előbb avul el az egész holmi, minthogy a kártya meghibásodjon a túlírás miatt....
http://www.tavir.hu - a gazda