Kazalo:
- 1. korak: Zmanjšajte napajalno napetost z uporabo LiPo baterije
- 2. korak: Zmanjšajte uro procesorja
- 3. korak: Odstranite vgrajeno LED diodo za napajanje in regulator moči
- Korak 4: Odklopite USB D-Pullup upor (označen s 152) od 5 voltov (VCC) in ga priključite na USB V+
- 5. korak: Namesto zamika uporabite stanje spanja ()
- 6. korak: spremenite varovalke
- 7. korak: Dodatne informacije
Video: Zmanjšanje porabe energije baterije za Digispark ATtiny85: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
ali: Zagon Arduina s kovancem 2032 dve leti.
S svojo ploščo Digispark Arduino iz škatle s programom Arduino črpa 20 mA pri 5 voltih.
S 5 -voltnim napajalnikom 2000 mAh bo deloval le 4 dni.
1. korak: Zmanjšajte napajalno napetost z uporabo LiPo baterije
Če za napajanje uporabite LiPo baterijo s 3,7 volta, vaša plošča Digispark porabi le 13 mA.
Z baterijo 2000 mAh bo deloval 6 dni.
2. korak: Zmanjšajte uro procesorja
Če v programu ne uporabljate povezave USB, težke matematike ali hitrega glasovanja, zmanjšajte hitrost ure. Npr. infrardeča sprejemna knjižnica IRMP za težko glasovanje dobro deluje pri 8 MHz.
Pri 1 MHz vaš Digispark porabi 6 mA. Z baterijo 2000 mAh bo deloval 14 dni.
3. korak: Odstranite vgrajeno LED diodo za napajanje in regulator moči
Onemogočite LED za napajanje tako, da z nožem zlomite bakreno žico, ki LED za napajanje poveže z diodo, ali odstranite / onemogočite upor 102.
Ker trenutno uporabljate LiPo baterijo, lahko odstranite tudi vgrajen IC regulator regulatorja moči. Zunanji zatiči najprej dvignite s pomočjo spajkalnika in zatiča. Nato spajkajte velik konektor in odstranite regulator. Za majhne regulatorje uporabite veliko spajkanja in segrejte vse 3 zatiče skupaj, nato pa jih odstranite.
Pri 1 MHz in 3,8 volta vaš Digispark zdaj porabi 4,3 mA. Z baterijo 2000 mAh bo deloval 19 dni.
Korak 4: Odklopite USB D-Pullup upor (označen s 152) od 5 voltov (VCC) in ga priključite na USB V+
Ta sprememba je združljiva z vsemi različicami 1.x zagonskega nalagalnika mikronukleusa. Če na plošči že imate nov zagonski nalagalnik 2.x, morate nadgraditi na eno različico 2.5 z imenom "activePullup". Najlažji način za to je, da namestite nov paket plošč digispark in zaženete zagonski nalagalnik s priporočeno (!!! ne privzeto ali agresivno !!!) različico.
Prekinite bakreno žico na strani upora, ki kaže na ATtiny. To onemogoči vmesnik USB in posledično možnost programiranja plošče Digispark prek USB -ja. Če ga želite znova omogočiti, vendar še vedno prihranite energijo, upor (označen s 152) priključite neposredno na USB V+, ki je zlahka dostopen na zunanji strani šokirane diode. Diodo in njene pravilne stranice lahko najdete s pomočjo merilnika kontinuitete. Ena stran te diode je priključena na pin 8 ATtiny (VCC) in Digispark 5V. Druga stran je priključena na USB V+. Sedaj se vlečni upor USB aktivira le, če je plošča Digispark priključena na USB, npr. med programiranjem.
Zadnja 2 koraka sta tukaj tudi dokumentirana.
Pri 1 MHz in 3,8 volta vaš Digispark zdaj porabi 3 mA. Z baterijo 2000 mAh bo deloval 28 dni.
5. korak: Namesto zamika uporabite stanje spanja ()
Namesto dolgih zamud lahko uporabite varčevalni procesor CPU. Spanje lahko traja od 15 milisekund do 8 sekund v korakih po 15, 30, 60, 120, 250, 500 milisekund in 1, 2, 4, 8 sekund.
Ker je čas zagona iz stanja mirovanja 65 milisekund s tovarniškimi nastavitvami varovalk digispark, je mogoče le mirovanje, večje od 80 ms, nadomestiti s spanjem.
Med spanjem vaš Digispark porabi 27 µA. Z gumbno celico 200 mAh 2032 bo spala 10 mesecev.
Če želimo biti pravilni, se mora Digispark prebuditi vsaj vsakih 8 sekund, delovati najmanj 65 milisekund in črpati okoli 2 mA toka. To vodi do povprečnega toka 42 µA in 6 mesecev. V tem scenariju ni skoraj nobene razlike, če se vaš program izvaja 10 milisekund (vsakih 8 sekund).
Koda za uporabo spanja je:
#include #include hlapni uint16_t sNumberOfSleeps = 0; zunanji hlapni nepodpisani dolgi millis_timer_millis; void setup () {sleep_enable (); set_sleep_mode (SLEEP_MODE_PWR_DOWN); // najgloblji način spanja…} void loop () {… sleepWithWatchdog (WDTO_250MS, true); // spanje 250 ms… sleepWithWatchdog (WDTO_2S, res); // spanje 2 s…}/ * * aWatchdogPrescaler je lahko 0 (15 ms) do 3 (120 ms), 4 (250 ms) do 9 (8000 ms) */ uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) {uint16_t tResultMillis = 8000; for (uint8_t i = 0; i prihrani 200 uA // uporabi wdt_enable (), ker obravnava, da je bit WDP3 v bitu 5 registra WDTCR wdt_enable (aWatchdogPrescaler); WDTCR | = _BV (WDIE) | _BV (WDIF); // Omogočanje prekinitve nadzorne zastavice + ponastavitev zastavice za prekinitev -> potrebuje ISR (WDT_vect) sei (); // Omogoči prekinitve sleep_cpu (); // Prekinitev nadzornega psa nas bo prebudila iz spanja wdt_disable (); // Ker bo naslednji prekinitev drugače vodijo v ponastavitev, saj wdt_enable () nastavi WDE / Watchdog System Reset Enable ADCSRA | = ADEN; / * * Ker je časovna ura lahko onemogočena, prilagodite milise samo, če niso v stanju mirovanja (SM2… 0 bitov 000) * / če (aAdjustMillis && (MCUCR & ((_BV (SM1) | _BV (SM0))))! = 0) {millis_timer_millis += computeSleepMillis (aWatchdogPrescaler);}} / * * Ta prekinitev zbudi procesor iz spanja * / ISR (WDT_vect) {sNumberOfSleeps ++;}
6. korak: spremenite varovalke
BOD črpa 22 mA od 27 mA (BrownOutDetection/podnapetostno zaznavanje). BPK lahko onemogočite le s ponovnim programiranjem varovalk, kar lahko storite samo s programerjem ponudnika internetnih storitev. S tem skriptom lahko zmanjšate tok na 5,5 µA in skrajšate čas zagona iz stanja mirovanja na 4 milisekunde.
5 od preostalih 5,5 µA potegne števec aktivnega nadzornika. Če lahko za prebujanje uporabite zunanje ponastavitve, se lahko trenutni potrošnik zniža na 0,3 µA, kot je navedeno v podatkovnem listu.
Če ne morete doseči te vrednosti, je lahko razlog v tem, da je obratni tok schottky diode med VCC in vlečenjem previsok. Upoštevajte, da 12 MOhm upor črpa tudi 0,3 µA pri 3,7 volta.
Posledica tega je povprečna trenutna poraba 9 µA (2,5 leta z gumbno celico 200 mAh 2032), če npr. obdelujte podatke vsakih 8 sekund za 3 milisekunde, kot tukaj.
7. korak: Dodatne informacije
Trenutna risba plošče Digispark.
Projektirajte po teh navodilih.
Priporočena:
Zmanjšanje porabe energije releja - zadrževanje v primerjavi s pobiralnim tokom: 3 koraki
Zmanjšanje porabe energije releja - zadrževanje v primerjavi s pobiralnim tokom: Večina relejev za začetni vklop potrebuje več toka, kot je potrebno, da rele zadržite, ko se stiki zaprejo. Tok, potreben za držanje releja (Zadrževalni tok), je lahko bistveno manjši od začetnega toka, potrebnega za aktiviranje
Kako pravilno izmeriti porabo energije brezžičnih komunikacijskih modulov v dobi nizke porabe energije?: 6 korakov
Kako pravilno izmeriti porabo energije brezžičnih komunikacijskih modulov v dobi nizke porabe energije ?: Nizka poraba energije je izjemno pomemben koncept v internetu stvari. Večino vozlišč IoT je treba napajati iz baterij. Samo s pravilnim merjenjem porabe energije brezžičnega modula lahko natančno ocenimo, koliko baterije porabim
Merilnik porabe električne energije CHINT + ESP8266 & Matrix Led MAX7912: 9 korakov (s slikami)
Merilnik porabe električne energije CHINT + ESP8266 & Matrix Led MAX7912: Tokrat se bomo vrnili k zanimivemu projektu, merjenju porabe električne energije na invaziven način s fazo CHINT DDS666 Mono, tehnično gre za stanovanjski ali stanovanjski števec, ki ga že imamo predstavljeno v prejšnjih tu
HOME Avtomatizacija in napoved porabe energije: 6 korakov (s slikami)
HOME Automation and Energy Prediction: HAEP (Home Automation and Energy Prediction System) je projekt o sistemu avtomatizacije doma, ki temelji na ideji merjenja in predvidevanja porabe energije v hiši. Minilo je že nekaj let, odkar je avtomatizacija doma začela delovati
Zgradite analogni števec porabe električne energije: 8 korakov (s slikami)
Zgradite analogni števec porabe električne energije: Uporabil sem Kill A Watt (http://www.p3international.com/products/special/P4400/P4400-CE.html) električni števec za nekaj časa in sem se odločil zgraditi analogni. Ta projekt je bil preprost, z enim panelnim ampermetrom