Obsah:

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

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

Video: Zníženie spotreby energie batérie pre Digispark ATtiny85: 7 krokov
Video: Vynalézavý senior vyřešil zdražování energie. Odmontoval elektroměr a jede „na sebe“ 2024, November
Anonim
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: