Sisukord:

Aku energiatarbimise vähendamine Digispark ATtiny jaoks 85: 7 sammu
Aku energiatarbimise vähendamine Digispark ATtiny jaoks 85: 7 sammu

Video: Aku energiatarbimise vähendamine Digispark ATtiny jaoks 85: 7 sammu

Video: Aku energiatarbimise vähendamine Digispark ATtiny jaoks 85: 7 sammu
Video: DIY kütteahi! ja ülikiire ja tõhus soojaveesüsteem! Salvestage liivapatareidest energiat 2024, November
Anonim
Digispark ATtiny85 aku tarbimise vähendamine
Digispark ATtiny85 aku tarbimise vähendamine
Digispark ATtiny85 aku tarbimise vähendamine
Digispark ATtiny85 aku tarbimise vähendamine

või: Arduino käitamine 2032 mündirakuga 2 aastat.

Kasutades oma Digispark Arduino plaati karbist välja koos Arduino programmiga, võtab see 5 mA juures 20 mA.

5 -voldise toitepangaga (2000 mAh) töötab see ainult 4 päeva.

Samm: toitepinge vähendamine LiPo aku abil

Toitepinge vähendamine LiPo aku abil
Toitepinge vähendamine LiPo aku abil

Kasutades toiteallikana 3,7 -voldist LiPo akut, võtab Digispark -plaat ainult 13 mA.

2000 mAh akuga töötab see 6 päeva.

2. samm: vähendage protsessorikella

Kui te ei kasuta oma programmis USB -ühendust, rasket matemaatikat ega kiiret küsitlust, vähendage kella kiirust. Nt. raske küsitlusega infrapuna vastuvõtteek IRMP töötab hästi sagedusel 8 MHz.

1 MHz juures võtab Digispark 6 mA voolu. 2000 mAh akuga töötab see 14 päeva.

Samm: eemaldage pardal olev toite LED ja toiteregulaator

Lülitage toite LED välja, katkestades noaga toitetuld dioodiga ühendava vasktraadi või eemaldage / keelake 102 takisti.

Kuna kasutate praegu LiPo akut, saate eemaldada ka pardal oleva toiteregulaatori IC. Esmalt tõstke jootekolvi ja tihvti abil välja välised tihvtid. Seejärel jootke suur pistik ja eemaldage regulaator. Väikeste regulaatorite jaoks kasutage palju jootet ja kuumutage kõik 3 tihvti kokku, seejärel eemaldage see.

1 MHz ja 3,8 voldi juures tarbib Digispark nüüd 4,3 mA. 2000 mAh akuga töötab see 19 päeva.

Samm 4: USB D-tõmbetakisti (tähistatud 152) lahtiühendamine 5-voldisest (VCC) ja ühendage see USB V+ -ga

USB D-tõmbetakisti (tähistatud 152) lahtiühendamine 5-voldisest (VCC) ja ühendage see USB V+ -ga
USB D-tõmbetakisti (tähistatud 152) lahtiühendamine 5-voldisest (VCC) ja ühendage see USB V+ -ga

See muudatus ühildub mikrotuuma alglaaduri all1.x versioonidega. Kui teie pardal on juba uus 2.x alglaadur, peate uuendama ühe 2.5 versiooni, mille nimes on "ActivePullup". Lihtsaim viis seda teha on installida uus digispark -plaadipakett ja põletada alglaadur soovitatud (!!! mitte vaikimisi või agressiivse !!!) versiooniga.

Katkesta vasktraat takisti küljel, mis osutab ATtiny -le. See keelab USB -liidese ja omakorda võimaluse programmeerida Digispark -plaadi USB kaudu. Selle uuesti sisselülitamiseks, kuid siiski energia säästmiseks ühendage takisti (tähistatud 152) otse USB V+ -ga, mis on hõlpsasti saadaval läikiva dioodi välisküljel. Dioodi ja selle õiged küljed leiate järjepidevuse testri abil. Selle dioodi üks külg on ühendatud ATtiny (VCC) ja Digispark 5V pistikuga 8. Teine pool on ühendatud USB V+-ga. Nüüd aktiveeritakse USB tõmbetakistus ainult siis, kui Digisparki plaat on ühendatud USB -ga, nt. programmeerimise ajal.

Viimased 2 sammu on samuti siin dokumenteeritud.

1 MHz ja 3,8 voldi juures tarbib Digispark nüüd 3 mA. 2000 mAh akuga töötab see 28 päeva.

Samm: kasutage viivituse asemel unerežiimi ()

Kasutage viivituse asemel unerežiimi ()
Kasutage viivituse asemel unerežiimi ()

Pikkade viivituste asemel saate kasutada energiasäästlikku CPU unerežiimi. Magad võivad kesta 15 millisekundist kuni 8 sekundini, sammuga 15, 30, 60, 120, 250, 500 millisekundit ja 1, 2, 4, 8 sekundit.

Kuna unerežiimist käivitamise aeg on 65 millisekundit koos digitaalse sädekaitsme tehase seadistustega, saab unerežiimi asendada ainult suuremad kui 80 ms viivitused.

Une ajal tõmbab Digispark 27 µA. 200 mAh nupuelemendiga 2032 jääb see magama 10 kuuks.

Et olla õige, peab Digispark vähemalt iga 8 sekundi järel ärkama, töötama vähemalt 65 millisekundit ja tõmbama umbes 2 mA voolu. Selle tulemuseks on keskmine vool 42 µA ja 6 kuud. Selle stsenaariumi korral pole peaaegu mingit vahet, kas teie programm töötab 10 millisekundit (iga 8 sekundi järel).

Une kasutamise kood on järgmine:

#include #include lenduv uint16_t sNumberOfSleeps = 0; väline lenduv allkirjastamata pikk millis_timer_millis; void setup () {sleep_enable (); set_sleep_mode (SLEEP_MODE_PWR_DOWN); // sügavaim unerežiim…} void loop () {… sleepWithWatchdog (WDTO_250MS, true); // unerežiim 250 ms… sleepWithWatchdog (WDTO_2S, tõsi); // maga 2 sekundit…}/ * * aWatchdogPrescaler võib olla 0 (15 ms) kuni 3 (120 ms), 4 (250 ms) kuni 9 (8000 ms) */ uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) {uint16_t tResultMillis = 8000; jaoks (uint8_t i = 0; i salvestab 200 uA // kasuta wdt_enable (), kuna see tegeleb sellega, et WDP3 -bit on WDTCR -registri bitis 5 wdt_enable (aWatchdogPrescaler); WDTCR | = _BV (WDIE) | _BV (WDIF); // Vahtkoera katkestamise lubamine + katkestuse lähtestamise lipp -> vajab ISR -i (WDT_vect) sei (); // Luba katkestab sleep_cpu (); // Valvekoera katkestus äratab meid unest wdt_disable (); // Sest järgmine katkestus muidu viivad lähtestamiseni, kuna wdt_enable () määrab WDE / Watchdog System Reset lubab ADCSRA | = ADEN; / * * Kuna taimerikell võib olla keelatud, reguleerige millisekundeid ainult siis, kui see ei ole puhkerežiimis (SM2… 0 bitti on 000) * / kui (aAdjustMillis && (MCUCR & ((_BV (SM1) | _BV (SM0))))! = 0) {millis_timer_millis += computeSleepMillis (aWatchdogPrescaler);}} / * * See katkestus äratab CPU unest * / ISR (WDT_vect) {sNumberOfSleeps ++;}

Samm: muutke kaitsmeid

22 mA 27 mA -st tõmbab BOD (BrownOutDetection/alapinge tuvastamine). BOD saab välja lülitada ainult kaitsmete ümberprogrammeerimisel, mida saab teha ainult ISP programmeerijaga. Selle skripti abil saate vähendada voolu kuni 5,5 µA ja lühendada ka unest käivitamise aega 4 millisekundini.

Ülejäänud 5,5 µA -st 5 tõmmatakse aktiivse valvekoera loenduri abil. Kui saate äratuseks kasutada väliseid lähtestusi, võib voolutarve väheneda 0,3 µA -ni, nagu on märgitud andmelehel.

Kui te ei suuda seda väärtust saavutada, võib põhjuseks olla see, et Schottky dioodi pöördvool VCC ja tõmbe vahel on liiga kõrge. Pidage meeles, et 12 MOhm takisti tarbib ka 0,7 µA pingel 3,7 volti.

Selle tulemuseks on keskmine voolutarve 9 µA (2,5 aastat 200 mAh nupuelemendiga 2032), kui te nt. töödelda andmeid iga 8 sekundi järel 3 millisekundi jooksul nagu siin.

Samm: lisateave

Praegune Digisparki tahvli joonis.

Projektige neid juhiseid kasutades.

Soovitan: