Obsah:
- Krok 1: Zníženie napájacieho napätia pomocou batérie LiPo
- Krok 2: Znížte takt procesora
- Krok 3: Odstráňte palubnú diódu LED a regulátor napájania
- Krok 4: Odpojte odpínač USB D-pullup (označený 152) z 5 V (VCC) a pripojte ho k USB V+
- Krok 5: Použite spánok namiesto oneskorenia ()
- Krok 6: Upravte poistky
- Krok 7: Ďalšie informácie
Video: Zníženie spotreby energie batérie pre Digispark ATtiny85: 7 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
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
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+
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 ()
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:
Šetrič batérie, vypínač s ochranou proti vybitiu s ATtiny85 pre olovené alebo automobilové batérie: 6 krokov
Šetrič batérie, vypínač ochrany proti vybitiu s ATtiny85 pre olovené autá alebo batérie Lipo: Keďže potrebujem niekoľko chráničov batérie pre svoje autá a solárne systémy, zistil som, že tie komerčné sú za 49 dolárov príliš drahé. Tiež používajú príliš veľa energie so 6 mA. Nenašiel som žiadne pokyny na túto tému. Vytvoril som teda svoj vlastný, ktorý čerpá 2mA. Ako
Signál alarmu spotreby energie Shelly: 8 krokov
Signál alarmu spotreby energie Shelly: VAROVANIE Tento pokyn musí vykonať niekto, kto má dobré znalosti elektrikára. Nepreberám žiadnu zodpovednosť za nebezpečenstvo pre ľudí alebo veci. ÚVOD: V Taliansku je bežná zmluva o dodávke energie na 3 kW a ak je vaša energia spotreba prekračuje
Zníženie spotreby energie relé - udržanie oproti odberovému prúdu: 3 kroky
Zníženie spotreby energie relé - udržanie oproti odbernému prúdu: Väčšina relé vyžaduje na začiatku aktiváciu viac prúdu, ako je potrebné na udržanie relé po zatvorení kontaktov. Prúd požadovaný na udržanie relé (udržovací prúd) môže byť podstatne menší ako počiatočný prúd potrebný na spustenie
Ako správne zmerať spotrebu energie bezdrôtových komunikačných modulov v období nízkej spotreby energie?: 6 krokov
Ako správne zmerať spotrebu energie bezdrôtových komunikačných modulov v období nízkej spotreby energie ?: Nízka spotreba energie je mimoriadne dôležitým pojmom v rámci internetu vecí. Väčšina uzlov IoT musí byť napájaná batériami. Iba správnym meraním spotreby energie bezdrôtového modulu dokážeme presne odhadnúť, koľko batérie
Merač spotreby elektrickej energie CHINT + ESP8266 & Matrix Led MAX7912: 9 krokov (s obrázkami)
Merač spotreby elektrickej energie CHINT + ESP8266 & Matrix Led MAX7912: Tentoraz sa vrátime k zaujímavému projektu, meraniu spotreby elektrickej energie invazívnym spôsobom s mono fázou CHINT DDS666, technicky ide o bytový alebo bytový merač, ktorý už máme predstavené v predchádzajúcom tu