Sisällysluettelo:

Akun virrankulutuksen vähentäminen Digispark ATtiny85: 7 askelta
Akun virrankulutuksen vähentäminen Digispark ATtiny85: 7 askelta

Video: Akun virrankulutuksen vähentäminen Digispark ATtiny85: 7 askelta

Video: Akun virrankulutuksen vähentäminen Digispark ATtiny85: 7 askelta
Video: AKKU RIKKI? ÄLÄ HÄTÄILE! NÄIN SELVITÄT AKUN KUNNON KOTIKONSTEIN 2024, Marraskuu
Anonim
Digispark ATtiny85: n akun virrankulutuksen vähentäminen
Digispark ATtiny85: n akun virrankulutuksen vähentäminen
Digispark ATtiny85: n akun virrankulutuksen vähentäminen
Digispark ATtiny85: n akun virrankulutuksen vähentäminen

tai: Arduinon käyttäminen 2032 -nappiparilla 2 vuoden ajan.

Käyttämällä Digispark Arduino Boardia laatikosta Arduino -ohjelmalla se kuluttaa 20 mA 5 voltin jännitteellä.

Kun 5 voltin virtapankki on 2000 mAh, se toimii vain 4 päivää.

Vaihe 1: Syöttöjännitteen alentaminen käyttämällä LiPo -akkua

Syöttöjännitteen alentaminen käyttämällä LiPo -akkua
Syöttöjännitteen alentaminen käyttämällä LiPo -akkua

Kun käytät 3,7 voltin LiPo -akkua virtalähteenä, Digispark -korttisi kuluttaa vain 13 mA.

2000 mAh: n akulla se kestää 6 päivää.

Vaihe 2: Vähennä suorittimen kelloa

Jos et käytä ohjelmassa USB -yhteyttä, raskasta matematiikkaa tai nopeaa pollausta, pienennä kellon nopeutta. Esim. raskaan äänestyksen infrapunavastaanottokirjasto IRMP toimii hyvin 8 MHz: llä.

1 MHz: llä Digispark kuluttaa 6 mA. 2000 mAh: n akulla se kestää 14 päivää.

Vaihe 3: Irrota virran merkkivalo ja virransäädin

Poista virran merkkivalo käytöstä katkaisemalla kuparilanka, joka yhdistää virran merkkivalon diodiin veitsellä, tai poista / poista käytöstä 102 -vastus.

Koska käytät nyt LiPo -akkua, voit myös poistaa sisäisen tehonsäätimen IC. Nosta ensin ulommat tapit juotosraudalla ja tapilla. Juotos sitten iso liitin ja poista säädin. Käytä pieniä säätimiä varten paljon juotetta ja lämmitä kaikki 3 nastaa yhdessä ja poista se sitten.

1 MHz: n ja 3,8 voltin Digispark -virrankulutus on nyt 4,3 mA. 2000 mAh: n akulla se kestää 19 päivää.

Vaihe 4: Irrota USB D-Pullup-vastus (merkitty 152) 5 voltin (VCC) liittimestä ja liitä se USB V+ -liitäntään

USB-D-vetovastus (merkitty 152) irrottaminen 5 voltista (VCC) ja liittäminen USB V+ -liitäntään
USB-D-vetovastus (merkitty 152) irrottaminen 5 voltista (VCC) ja liittäminen USB V+ -liitäntään

Tämä muutos on yhteensopiva micronucleus -käynnistyslataimen all1.x -versioiden kanssa. Jos sinulla on jo uusi 2.x -käynnistyslatauslaite, sinun on päivitettävä sellaiseen 2.5 -versioon, jonka nimessä on "ActivePullup". Helpoin tapa tehdä tämä on asentaa uusi digispark -levypaketti ja polttaa käynnistyslatain suositellulla (!!! ei oletuksella tai aggressiivisella !!!) versiolla.

Katkaise kuparijohdin ATtiny: tä osoittavan vastuksen puolella. Tämä poistaa USB -liitännän käytöstä ja puolestaan mahdollisuuden ohjelmoida Digispark -kortin USB: n kautta. Jos haluat ottaa sen uudelleen käyttöön, mutta silti säästää virtaa, kytke vastus (merkitty 152) suoraan USB V+ -liitäntään, joka on helposti saatavilla kuuman diodin ulkosivulla. Diodi ja sen oikeat sivut löytyvät jatkuvuustesterillä. Tämän diodin toinen puoli on kytketty ATtiny (VCC) ja Digispark 5V nastaan 8. Toinen puoli on liitetty USB V+-liitäntään. Nyt USB -vetovastus aktivoituu vain, jos Digispark -kortti on liitetty USB -laitteeseen, esim. ohjelmoinnin aikana.

Jälkimmäiset kaksi vaihetta on myös dokumentoitu täällä.

1 MHz: n ja 3,8 voltin Digispark -virrankulutus on nyt 3 mA. 2000 mAh: n akulla se kestää 28 päivää.

Vaihe 5: Käytä lepotilaa viiveen sijaan ()

Käytä lepotilaa viiveen sijaan ()
Käytä lepotilaa viiveen sijaan ()

Pitkien viiveiden sijaan voit käyttää virransäästöprosessorin lepotilaa. Unet voivat kestää 15 millisekunnista 8 sekuntiin 15, 30, 60, 120, 250, 500 millisekunnin välein ja 1, 2, 4, 8 sekunnin välein.

Koska käynnistysaika lepotilasta on 65 millisekuntia tehdasasetuksilla varustetuilla sulakeasetuksilla, vain yli 80 ms: n viiveet voidaan korvata lepotilalla.

Unen aikana Digispark kuluttaa 27 µA. 200 mAh: n nappikennolla 2032 se nukkuu 10 kuukautta.

Ollakseen oikein, Digisparkin on herättävä vähintään 8 sekunnin välein, sen on oltava käynnissä vähintään 65 millisekuntia ja sen virta on noin 2 mA. Tämä johtaa keskimääräiseen virtaan 42 µA ja 6 kuukauteen. Tässä skenaariossa ei ole mitään väliä, jos ohjelmasi kestää 10 millisekuntia (8 sekunnin välein).

Unen käytön koodi on:

#include #include haihtuva uint16_t sNumberOfSleeps = 0; ulkoinen haihtuva allekirjoittamaton pitkä millis_timer_millis; void setup () {sleep_enable (); set_sleep_mode (SLEEP_MODE_PWR_DOWN); // syvin lepotila…} void loop () {… sleepWithWatchdog (WDTO_250MS, true); // nukkua 250 ms… sleepWithWatchdog (WDTO_2S, true); // nukkua 2 sekuntia…}/ * * aWatchdogPrescaler voi olla 0 (15 ms) - 3 (120 ms), 4 (250 ms) jopa 9 (8000 ms) */ uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) {uint16_t tResultMillis = 8000; for (uint8_t i = 0; i säästää 200 uA // käytä wdt_enable (), koska se käsittelee, että WDP3 -bitti on WDTCR -rekisterin bitissä 5 wdt_enable (aWatchdogPrescaler); WDTCR | = _BV (WDIE) | _BV (WDIF); // Vahtikoiran keskeytyksen ottaminen käyttöön + nollaus keskeytyksen lippu -> tarvitsee ISR: n (WDT_vect) sei (); // Ota keskeytykset käyttöön sleep_cpu (); // Vahtikoiran keskeytys herättää meidät unesta wdt_disable (); // Koska seuraava keskeytys toisin johtaa nollaukseen, koska wdt_enable () asettaa WDE / Watchdog -järjestelmän nollaus käyttöön ADCSRA | = ADEN; / * * Koska ajastinkello voidaan poistaa käytöstä, säädä millisekunteja vain, jos sitä ei nukuteta idLE -tilassa (SM2… 0 bittiä on 000) * / jos (aAdjustMillis && (MCUCR & ((_BV (SM1) | _BV (SM0))))! = 0) {millis_timer_millis += computeSleepMillis (aWatchdogPrescaler);}} / * * Tämä keskeytys herättää suorittimen lepotilasta * / ISR (WDT_vect) {sNumberOfSleeps ++;}

Vaihe 6: Muokkaa sulakkeita

22 mA 27 mA: sta ottaa BOD (BrownOutDetection/alijännitteen tunnistus). BOD voidaan poistaa käytöstä vain ohjelmoimalla sulakkeet uudelleen, mikä voidaan tehdä vain Internet -palveluntarjoajan kanssa. Tämän komentosarjan avulla voit pienentää virran 5,5 µA: een ja myös käynnistysaikaa lepotilasta 4 millisekuntiin.

5 jäljellä olevasta 5,5 µA: sta vedetään aktiivisen vahtikoiralaskurin avulla. Jos voit käyttää ulkoisia nollauksia herätykseen, virrankulutus voi laskea 0,3 µA: een, kuten taulukossa on ilmoitettu.

Jos et pysty saavuttamaan tätä arvoa, syy voi olla se, että Schottky -diodin vastakkaisvirta VCC: n ja pullupin välillä on liian korkea. Muista, että 12 MOhm: n vastus kuluttaa myös 0,3 µA 3,7 voltin jännitteellä.

Tämä johtaa keskimääräiseen virrankulutukseen 9 µA (2,5 vuotta 200 mAh: n nappikennolla 2032), jos esim. käsittele tietoja 8 sekunnin välein 3 millisekunnin ajan, kuten täällä.

Vaihe 7: Lisätietoja

Digispark -levyn nykyinen piirustus.

Projektia käyttämällä näitä ohjeita.

Suositeltava: