Zníženie spotreby energie batérie pre Digispark ATtiny85: 7 krokov
Zníženie spotreby energie batérie pre Digispark ATtiny85: 7 krokov
Zníženie spotreby energie batérie pre Digispark ATtiny85
Zníženie spotreby energie batérie pre Digispark ATtiny85
Zníženie spotreby energie batérie pre Digispark ATtiny85
Zníženie spotreby energie batérie pre Digispark ATtiny85

alebo: Prevádzka Arduina s mincovou bunkou 2032 2 roky.

Pomocou dosky Digispark Arduino vybalenej z krabice s programom Arduino odoberá 20 mA pri 5 voltoch.

S 5 voltovou power bankou 2 000 mAh pobeží iba 4 dni.

Krok 1: Zníženie napájacieho napätia pomocou batérie LiPo

Zníženie napájacieho napätia pomocou batérie LiPo
Zníženie napájacieho napätia pomocou batérie LiPo

Pri napájaní batériou LiPo s napätím 3,7 V napája doska Digispark iba 13 mA.

S batériou 2 000 mAh vydrží 6 dní.

Krok 2: Znížte takt procesora

Ak vo svojom programe nepoužívate pripojenie USB, náročnú matematiku alebo rýchle polling, znížte takty. Napr. infračervená prijímacia knižnica IRMP s ťažkým pollingom funguje dobre na 8 MHz.

Pri frekvencii 1 MHz váš Digispark čerpá 6 mA. S batériou 2 000 mAh vydrží 14 dní.

Krok 3: Odstráňte palubnú diódu LED a regulátor napájania

Vypnite napájaciu diódu LED prerušením medeného drôtu, ktorý spája diódu LED napájania s diódou nožom, alebo vyberte / deaktivujte odpor 102.

Pretože teraz používate batériu LiPo, môžete tiež odstrániť integrovaný integrovaný regulátor napájania. Vonkajšie čapy najskôr nadvihnite pomocou spájkovačky a špendlíka. Potom spájkujte veľký konektor a odstráňte regulátor. Pri malých regulátoroch použite veľkú spájku a zahrejte všetky 3 kolíky dohromady a potom ich vyberte.

Pri 1 MHz a 3,8 V váš Digispark teraz odoberá 4,3 mA. S batériou 2 000 mAh pobeží 19 dní.

Krok 4: Odpojte odpínač USB D-pullup (označený 152) z 5 V (VCC) a pripojte ho k USB V+

Odpojenie USB D- výsuvného odporu (označeného 152) z 5 V (VCC) a pripojenie k USB V+
Odpojenie USB D- výsuvného odporu (označeného 152) z 5 V (VCC) a pripojenie k USB V+

Táto úprava je kompatibilná so všetkými verziami 1.x mikronukleového bootloadera. Ak už na svojej doske máte nový bootloader 2.x, musíte upgradovať na jednu z verzií 2.5 s názvom „activePullup“v názve. Najľahšie to urobíte tak, že si nainštalujete nový balík dosky digispark a vypustíte bootloader s odporúčanou (!!! nie predvolenou alebo agresívnou !!!) verziou.

Zlomte medený drôt na strane rezistora, ktorý ukazuje na ATtiny. Tým sa vypne rozhranie USB a následne možnosť naprogramovať dosku Digispark cez USB. Aby ste to znova povolili, ale stále šetrili energiou, pripojte rezistor (označený 152) priamo k USB V+, ktoré je ľahko dostupné na vonkajšej strane shottkyho diódy. Diódu a jej správne strany nájdete pomocou testera spojitosti. Jedna strana tejto diódy je pripojená k pinu 8 ATtiny (VCC) a Digispark 5V. Druhá strana je pripojená k USB V+. Teraz je USB pullup odpor aktivovaný iba vtedy, ak je doska Digispark pripojená k USB napr. počas programovania.

Tu sú zdokumentované aj posledné 2 kroky.

Pri 1 MHz a 3,8 V váš Digispark teraz odoberá 3 mA. S batériou 2 000 mAh pobeží 28 dní.

Krok 5: Použite spánok namiesto oneskorenia ()

Použiť spánok namiesto oneskorenia ()
Použiť spánok namiesto oneskorenia ()

Namiesto dlhého zdržania môžete použiť úsporný režim CPU. Spánok môže trvať od 15 milisekúnd do 8 sekúnd v krokoch po 15, 30, 60, 120, 250, 500 milisekundách a 1, 2, 4, 8 sekúnd.

Pretože doba spustenia z režimu spánku je 65 milisekúnd s výrobnými nastaveniami poistky digispark, spánkom je možné nahradiť iba oneskorenia dlhšie ako 80 ms.

Počas spánku váš Digispark čerpá 27 µA. S 200 mAh gombíkovou bunkou 2032 bude spať 10 mesiacov.

Aby bola správna, Digispark sa musí aspoň 8 sekúnd prebúdzať, bežať najmenej 65 milisekúnd a čerpať okolo 2 mA prúdu. To vedie k priemernému prúdu 42 µA a 6 mesiacov. V tomto prípade nie je takmer žiadny rozdiel, ak váš program beží 10 milisekúnd (každých 8 sekúnd).

Kód na používanie spánku je:

#include #include volatile uint16_t sNumberOfSleeps = 0; externé prchavé bez znamienka dlhé millis_timer_millis; void setup () {sleep_enable (); set_sleep_mode (SLEEP_MODE_PWR_DOWN); // režim najhlbšieho spánku …} void loop () {… sleepWithWatchdog (WDTO_250MS, true); // spánok 250 ms … sleepWithWatchdog (WDTO_2S, true); // spánok na 2 s…}/ * * aWatchdogPrescaler môže byť 0 (15 ms) až 3 (120 ms), 4 (250 ms) až 9 (8000 ms) */ uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) {uint16_t tResultMillis = 8000; for (uint8_t i = 0; i save 200 uA // use wdt_enable () because it handle that the WDP3 bit is in bit 5 of the WDTCR register wdt_enable (aWatchdogPrescaler); WDTCR | = _BV (WDIE) | _BV (WDIF); // Povolenie prerušenia Watchdog + reset vlajky prerušenia -> potrebuje ISR (WDT_vect) sei (); // Povoliť prerušenia sleep_cpu (); // Prerušenie strážneho psa nás prebudí zo spánku wdt_disable (); // Pretože ďalšie prerušenie bude inak viesť k resetu, pretože wdt_enable () nastaví WDE / Watchdog Reset systému Povoliť ADCSRA | = ADEN; / * * Pretože hodiny časovača môžu byť deaktivované, nastavte ich iba v prípade, že nespia v režime IDLE (SM2… 0 bitov je 000) * / ak (aAdjustMillis && (MCUCR & ((_BV (SM1) | _BV (SM0))))! = 0) {millis_timer_millis += computeSleepMillis (aWatchdogPrescaler);}} / * * Toto prerušenie prebudí procesor zo spánku * / ISR (WDT_vect) {sNumberOfSleeps ++;}

Krok 6: Upravte poistky

22 mA z 27 mA sa odoberá BOD (BrownOutDetection/detekcia podpätia). BSK je možné deaktivovať iba preprogramovaním poistiek, ktoré je možné vykonať iba pomocou programátora ISP. Pomocou tohto skriptu môžete znížiť prúd až na 5,5 µA a tiež skrátiť čas spustenia z režimu spánku na 4 milisekundy.

5 zo zostávajúcich 5,5 µA sa odoberá aktívnym počítadlom strážneho psa. Ak môžete na prebudenie použiť externé resety, súčasná spotreba môže klesnúť na 0,3 µA, ako je uvedené v technickom liste.

Ak nemôžete dosiahnuť túto hodnotu, môže to byť spôsobené tým, že spätný prúd schottkyho diódy medzi VCC a pullup je príliš vysoký. Majte na pamäti, že odpor 12 MOhm tiež odoberá 0,3 µA pri 3,7 voltoch.

To má za následok priemernú spotrebu prúdu 9 µA (2,5 roka s 200 mAh gombíkovým článkom 2032), ak napr. spracovávajte údaje každých 8 sekúnd po dobu 3 milisekúnd, ako tu.

Krok 7: Ďalšie informácie

Aktuálna kresba dosky Digispark.

Projektujte podľa týchto pokynov.

Odporúča: