Obsah:
- Krok 1: Snížení napájecího napětí pomocí baterie LiPo
- Krok 2: Snižte takt procesoru
- Krok 3: Demontujte integrovanou LED napájení a regulátor napájení
- Krok 4: Odpojte USB D- Pullup Resistor (označený 152) z 5 V (VCC) a připojte jej k USB V+
- Krok 5: Místo zpoždění použijte spánek ()
- Krok 6: Upravte pojistky
- Krok 7: Další informace
Video: Snížení spotřeby baterie u Digispark ATtiny85: 7 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
nebo: Provozování Arduina s mincovou buňkou 2032 po dobu 2 let.
Pomocí desky Digispark Arduino Board vybalené z krabice s programem Arduino odebírá 20 mA při 5 voltech.
S 5voltovou powerbankou 2 000 mAh poběží pouze 4 dny.
Krok 1: Snížení napájecího napětí pomocí baterie LiPo
Použitím baterie LiPo s 3,7 V jako zdroje napájení deska Digispark odebírá pouze 13 mA.
S baterií 2 000 mAh poběží 6 dní.
Krok 2: Snižte takt procesoru
Pokud ve svém programu nepoužíváte připojení USB, těžkou matematiku nebo rychlé dotazování, snižte rychlost hodin. Např. infračervená přijímací knihovna IRMP pro intenzivní polling funguje dobře na 8 MHz.
Při 1 MHz odebírá váš Digispark 6 mA. S baterií 2 000 mAh poběží 14 dní.
Krok 3: Demontujte integrovanou LED napájení a regulátor napájení
Vypněte LED diodu napájení přerušením měděného drátu, který spojuje LED diodu napájení s diodou, nožem nebo odstraňte / deaktivujte odpor 102.
Protože nyní používáte baterii LiPo, můžete také odstranit integrovaný integrovaný regulátor napájení IC. Vnější čepy nejprve nadzvedněte pomocí páječky a čepu. Poté připájejte velký konektor a odstraňte regulátor. U malých regulátorů použijte hodně pájky a zahřejte všechny 3 piny dohromady a poté je odeberte.
Při frekvenci 1 MHz a 3,8 V nyní váš Digispark odebírá 4,3 mA. S baterií 2 000 mAh poběží 19 dní.
Krok 4: Odpojte USB D- Pullup Resistor (označený 152) z 5 V (VCC) a připojte jej k USB V+
Tato úprava je kompatibilní se všemi verzemi 1.x zavaděče mikronukleů. Pokud již na desce máte nový zavaděč 2.x, musíte upgradovat na verzi 2.5 s názvem „activePullup“. Nejjednodušší způsob, jak to udělat, je nainstalovat nový balíček desky digispark a vypálit zavaděč doporučenou (!!! ne výchozí nebo agresivní !!!) verzí.
Přerušte měděný vodič na straně rezistoru, který ukazuje na ATtiny. Tím se deaktivuje rozhraní USB a následně možnost naprogramovat desku Digispark přes USB. Chcete -li jej znovu povolit, ale přitom ušetřit energii, připojte odpor (označený 152) přímo k USB V+, které je snadno dostupné na vnější straně diody shottky. Diodu a její správné strany lze zjistit pomocí testeru spojitosti. Jedna strana této diody je připojena k pinu 8 ATtiny (VCC) a Digispark 5V. Druhá strana je připojena k USB V+. Nyní je USB pullup rezistor aktivován pouze v případě, že je deska Digispark připojena k USB, např. během programování.
Poslední 2 kroky jsou zde také zdokumentovány.
Při frekvenci 1 MHz a 3,8 V nyní váš Digispark odebírá 3 mA. S baterií 2 000 mAh poběží 28 dní.
Krok 5: Místo zpoždění použijte spánek ()
Místo dlouhých prodlev můžete využít úsporný režim CPU. Spánek může trvat od 15 milisekund do 8 sekund v krocích po 15, 30, 60, 120, 250, 500 milisekundách a 1, 2, 4, 8 sekund.
Protože doba spuštění z režimu spánku je 65 milisekund s továrním nastavením pojistky digispark, spánkem lze nahradit pouze zpoždění větší než 80 ms.
Během spánku váš Digispark čerpá 27 µA. S 200 mAh knoflíkovým článkem 2032 spí 10 měsíců.
Aby to bylo správné, Digispark se musí alespoň každých 8 sekund probudit, běžet alespoň 65 milisekund a odebírat proud přibližně 2 mA. To vede k průměrnému proudu 42 µA a 6 měsíců. V tomto scénáři není téměř žádný rozdíl, pokud váš program běží po dobu 10 milisekund (každých 8 sekund).
Kód pro použití spánku je:
#include #include volatile uint16_t sNumberOfSleeps = 0; externí nestálý nepodepsaný dlouhý millis_timer_millis; neplatné nastavení () {sleep_enable (); set_sleep_mode (SLEEP_MODE_PWR_DOWN); // nejhlubší režim spánku …} void loop () {… sleepWithWatchdog (WDTO_250MS, true); // spánek 250 ms … sleepWithWatchdog (WDTO_2S, true); // spánek na 2 s…}/ * * aWatchdogPrescaler může být 0 (15 ms) až 3 (120 ms), 4 (250 ms) až 9 (8000 ms) */ uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) {uint16_t tResultMillis = 8000; pro (uint8_t i = 0; i ušetří 200 uA // použijte wdt_enable (), protože zpracovává, že bit WDP3 je v bitu 5 registru WDTCR wdt_enable (aWatchdogPrescaler); WDTCR | = _BV (WDIE) | _BV (WDIF); // Povolení přerušení Watchdog + reset vlajky přerušení -> potřebuje ISR (WDT_vect) sei (); // Povolení přerušení sleep_cpu (); // Přerušení hlídacího psa nás probudí ze spánku wdt_disable (); // Protože další přerušení bude jinak vést k resetu, protože wdt_enable () nastavuje WDE / Watchdog Reset systému Povolit ADCSRA | = ADEN; / * * Protože hodiny časovače mohou být deaktivovány, nastavte milis pouze v případě, že nespíte v režimu IDLE (SM2… 0 bitů je 000) * / pokud (aAdjustMillis && (MCUCR & ((_BV (SM1) | _BV (SM0))))! = 0) {millis_timer_millis += computeSleepMillis (aWatchdogPrescaler);}} / * * Toto přerušení probouzí procesor ze spánku * / ISR (WDT_vect) {sNumberOfSleeps ++;}
Krok 6: Upravte pojistky
22 mA z 27 mA je odebíráno pomocí BOD (BrownOutDetection/detekce podpětí). BOD lze deaktivovat pouze přeprogramováním pojistek, což lze provést pouze pomocí programátoru ISP. Pomocí tohoto skriptu můžete snížit proud až na 5,5 µA a také zkrátit dobu spuštění z režimu spánku na 4 milisekundy.
5 ze zbývajících 5,5 µA je odebíráno aktivním čítačem hlídacího psa. Pokud můžete pro probuzení použít externí resety, současná spotřeba může klesnout na 0,3 µA, jak je uvedeno v datovém listu.
Pokud této hodnoty nejste schopni dosáhnout, může to být z toho důvodu, že zpětný proud schottkyho diody mezi VCC a pullupem je příliš vysoký. Mějte na paměti, že odpor 12 MOhm také odebírá 0,3 µA při 3,7 voltu.
To má za následek průměrnou spotřebu proudu 9 µA (2,5 roku s 200 mAh knoflíkovým článkem 2032), pokud např. zpracovávejte data každých 8 sekund po dobu 3 milisekund, jako zde.
Krok 7: Další informace
Aktuální kresba desky Digispark.
Projektujte podle těchto pokynů.
Doporučuje:
DIY Arduino Solar Tracker (ke snížení globálního oteplování): 3 kroky
DIY Arduino Solar Tracker (ke snížení globálního oteplování): Ahoj všichni, v tomto tutoriálu vám ukážu, jak vyrobit solární tracker pomocí mikrokontroléru arduino. V dnešním světě trpíme řadou souvisejících problémů. Jedním z nich je změna klimatu a globální oteplování. Potřeba
Signál alarmu spotřeby energie Shelly: 8 kroků
Signál alarmu spotřeby energie Shelly: VAROVÁNÍ Tento pokyn musí provést někdo, kdo má dobré elektrikářské dovednosti. Nepřijímám žádnou odpovědnost za nebezpečí pro lidi nebo věci. ÚVOD: V Itálii je běžná smlouva o dodávce energie na 3 kW a pokud spotřeba přesahuje
Snížení spotřeby energie relé - udržení versus proud snímače: 3 kroky
Snížení spotřeby energie relé - držení versus svodový proud: Většina relé vyžaduje na začátku aktivaci většího proudu, než je nutné k udržení relé po sepnutí kontaktů. Proud potřebný k udržení relé (udržovací proud) může být podstatně menší než počáteční proud potřebný k aktivaci
Automatický dávkovač vody ke sledování spotřeby: 6 kroků
Automatický dávkovač vody ke sledování spotřeby: Dobrý den! Před několika měsíci jsem byl ve svém pokoji a přemýšlel o tom, jaký projekt chci udělat pro školní úkol. Chtěl jsem udělat něco, co by mi vyhovovalo a co by mi do budoucna prospělo. Najednou do pokoje vešla moje matka a
Snížení hluku ventilátoru zařízení NAS .: 6 kroků
Snížení hluku ventilátoru zařízení NAS .: Páni, můj první pokyn, prosím buďte opatrní. Moje domácí síť obsahuje mimo jiné zařízení NAS. Jedná se o zařízení, které byste provozovali 24x7 pro obecnou dostupnost, že? Nicméně dávám přednost tomu, aby bylo toto zařízení v obývacím pokoji, protože