Съдържание:
- Стъпка 1: Намаляване на захранващото напрежение чрез използване на LiPo батерия
- Стъпка 2: Намалете часовника на процесора
- Стъпка 3: Премахнете вградения светодиод за захранване и регулатора на захранването
- Стъпка 4: Изключване на USB D-Pullup резистор (маркиран 152) от 5 волта (VCC) и го свържете към USB V+
- Стъпка 5: Използвайте Sleep вместо Delay ()
- Стъпка 6: Променете предпазителите
- Стъпка 7: Допълнителна информация
Видео: Намаляване на консумацията на енергия от батерията за Digispark ATtiny85: 7 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:49
или: Управление на Arduino с монетна клетка 2032 за 2 години.
Използвайки вашия Digispark Arduino Board извън кутията с програма Arduino, той извлича 20 mA при 5 волта.
С 5 -волтова захранваща банка от 2000 mAh тя ще работи само за 4 дни.
Стъпка 1: Намаляване на захранващото напрежение чрез използване на LiPo батерия
Използването на LiPo батерия с 3,7 волта като захранване вашата Digispark платка изразходва само 13 mA.
С батерия от 2000 mAh ще работи 6 дни.
Стъпка 2: Намалете часовника на процесора
Ако не използвате USB връзка, тежка математика или бързо анкетиране в програмата си, намалете тактовата честота. Напр. IRMP библиотеката за тежко анкетиране IRMP работи добре на 8 MHz.
При 1 MHz вашият Digispark извлича 6 mA. С батерия от 2000 mAh ще работи 14 дни.
Стъпка 3: Премахнете вградения светодиод за захранване и регулатора на захранването
Деактивирайте светодиода за захранване, като счупите медната жица, която свързва захранващия светодиод с диода с нож или премахнете / деактивирайте резистора 102.
Тъй като сега използвате LiPo батерия, можете също да премахнете интегралната схема на регулатора на захранването. Първо повдигнете външните щифтове с помощта на поялник и щифт. След това запоявайте големия конектор и отстранете регулатора. За малки регулатори използвайте много спойка и загрейте всичките 3 щифта заедно, след което я извадете.
При 1 MHz и 3,8 волта вашият Digispark сега извлича 4,3 mA. С батерия от 2000 mAh ще работи 19 дни.
Стъпка 4: Изключване на USB D-Pullup резистор (маркиран 152) от 5 волта (VCC) и го свържете към USB V+
Тази модификация е съвместима с всички версии 1.x на микроядрения буутлоудър. Ако вече имате нов 2.x буутлоудър на дъската си, трябва да надстроите до една версия 2.5 с „activePullup“в името му. Най -лесният начин да направите това е да инсталирате новия пакет на digispark борда и да запишете буутлоудъра с препоръчителната (!!! не по подразбиране или агресивна !!!) версия.
Счупете медния проводник отстрани на резистора, който сочи към ATtiny. Това деактивира USB интерфейса и от своя страна възможността да програмирате платката Digispark чрез USB. За да го активирате отново, но все пак да пестите енергия, свържете резистора (маркиран с 152) директно към USB V+, който е лесно достъпен от външната страна на шокиращия диод. Диодът и правилните му страни могат да бъдат намерени с помощта на тестер за непрекъснатост. Едната страна на този диод е свързана към пин 8 на ATtiny (VCC) и Digispark 5V. Другата страна е свързана към USB V+. Сега USB резисторът се активира само ако платката Digispark е свързана към USB, напр. по време на програмиране.
Последните 2 стъпки също са документирани тук.
При 1 MHz и 3.8 волта вашият Digispark сега извлича 3 mA. С батерия от 2000 mAh той ще работи в продължение на 28 дни.
Стъпка 5: Използвайте Sleep вместо Delay ()
Вместо дълги забавяния можете да използвате енергоспестяващ CPU сън. Сънят може да продължи от 15 милисекунди до 8 секунди на стъпки от 15, 30, 60, 120, 250, 500 милисекунди и 1, 2, 4, 8 секунди.
Тъй като времето за стартиране от режим на заспиване е 65 милисекунди с фабричните настройки на предпазителя digispark, само закъснения, по -големи от 80 ms, могат да бъдат заменени от режим на заспиване.
По време на сън вашият Digispark извлича 27 µA. С клетка с бутон 200 mAh 2032 тя ще спи 10 месеца.
За да бъдем правилни, Digispark трябва да се събужда поне на всеки 8 секунди, да работи поне 65 милисекунди и да изтегля около 2 mA ток. Това води до среден ток от 42 µA и 6 месеца. В този сценарий няма почти никаква разлика, ако вашата програма работи в продължение на 10 милисекунди (на всеки 8 секунди).
Кодът за използване на сън е:
#include #include volatile uint16_t sNumberOfSleeps = 0; външни летливи неподписани дълги millis_timer_millis; void setup () {sleep_enable (); set_sleep_mode (SLEEP_MODE_PWR_DOWN); // най -дълбок режим на заспиване …} void loop () {… sleepWithWatchdog (WDTO_250MS, вярно); // спи за 250 ms … sleepWithWatchdog (WDTO_2S, вярно); // спи за 2 s…}/ * * aWatchdogPrescaler може да бъде 0 (15 ms) до 3 (120 ms), 4 (250 ms) до 9 (8000 ms) */ uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) {uint16_t tResultMillis = 8000; for (uint8_t i = 0; i спестява 200 uA // използвайте wdt_enable (), тъй като обработва, че битът WDP3 е в бит 5 на регистъра wdt_enable (aWatchdogPrescaler); WDTCR | = _BV (WDIE) | _BV (WDIF); // Прекъсване на наблюдател активиране + нулиране на флаг за прекъсване -> се нуждае от ISR (WDT_vect) sei (); // Активиране на прекъсвания sleep_cpu (); // Прекъсването на наблюдателя ще ни събуди от сън wdt_disable (); // Тъй като следващото прекъсване иначе водят до нулиране, тъй като wdt_enable () задава WDE / Watchdog System Reset Enable ADCSRA | = ADEN; / * * Тъй като часовникът на таймера може да бъде деактивиран, регулирайте милисекунди само ако не спи в режим IDLE (SM2… 0 бита са 000) * / ако (aAdjustMillis && (MCUCR & ((_BV (SM1) | _BV (SM0))))! = 0) {millis_timer_millis += computeSleepMillis (aWatchdogPrescaler);}} / * * Това прекъсване събужда процесора от режим на заспиване * / ISR (WDT_vect) {sNumberOfSleeps ++;}
Стъпка 6: Променете предпазителите
22 mA от 27 mA се изтеглят от BOD (BrownOutDetection/детекция на понижено напрежение). BOD може да бъде деактивиран само чрез препрограмиране на предпазителите, което може да стане само с ISP програмист. С помощта на този скрипт можете да намалите тока до 5,5 µA и също така да намалите времето за стартиране от режим на заспиване до 4 милисекунди.
5 от останалите 5.5 µA се изтеглят от брояча на активния пазач. Ако можете да използвате външни нулиране за събуждане, текущият консуматор може да слезе до 0,3 µA, както е посочено в листа с данни.
Ако не можете да достигнете тази стойност, причината може да бъде, че обратният ток на диода на Шотки между VCC и издърпването е твърде висок. Имайте предвид, че 12 MOhm резистор също извлича 0,3 µA при 3,7 волта.
Това води до средна консумация на ток от 9 µA (2,5 години с клетка с бутон 200 mAh 2032), ако например обработвайте данни на всеки 8 секунди за 3 милисекунди, както тук.
Стъпка 7: Допълнителна информация
Текущ чертеж на дъска Digispark.
Проектирайте, като използвате тези инструкции.
Препоръчано:
Намаляване на консумацията на релейна енергия - задържане срещу пикап ток: 3 стъпки
Намаляване на консумацията на енергия на релето - задържане срещу пикап ток: Повечето релета изискват по -голям ток за задействане първоначално, отколкото се изисква за задържане на релето, след като контактите се затворят. Токът, необходим за задържане на релето (задържащ ток), може да бъде значително по -малък от първоначалния ток, необходим за задействане
Как правилно да измерваме консумацията на енергия на модулите за безжична комуникация в епохата на ниска консумация на енергия?: 6 стъпки
Как правилно да измерваме консумацията на енергия на безжичните комуникационни модули в епохата на ниска консумация на енергия?: Ниската консумация на енергия е изключително важно понятие в Интернет на нещата. Повечето IoT възли трябва да се захранват от батерии. Само чрез правилно измерване на консумацията на енергия на безжичния модул можем да преценим точно колко батерия съм
ГЕНЕРАТОР НА СЛЪНЧЕВА ЕНЕРГИЯ - Енергия от слънцето за ежедневни домакински уреди: 4 стъпки
ГЕНЕРАТОР НА СЛЪНЧЕВА ЕНЕРГИЯ | Енергия от слънцето за ежедневни домакински уреди: Това е много прост научен проект, който се основава на превръщането на слънчевата енергия в използваема електрическа енергия. Той използва регулатора на напрежението и нищо друго. Изберете всички компоненти и се пригответе да направите страхотен проект, който ще ви помогне да
Как да стартирате часовник на батерията на слънчева енергия: 15 стъпки (със снимки)
Как да стартирате часовник на батерията на слънчева енергия: Този принос следва от предишния през 2016 г. (вижте тук,), но през междинния период имаше развитие в компоненти, които улесняват работата и подобряват производителността. Показаните тук техники ще позволят слънчева
Как да накарате вашия лаптоп да пести енергия на батерията с минимална загуба на производителност: 4 стъпки
Как да накарате вашия лаптоп да пести енергия на батерията с минимална загуба на производителност: Кой казва, че вашият лаптоп трябва да страда бавно, за да спести малко енергия? Колко се променя производителността или живота на батерията зависи от възрастта на вашия лаптоп, от батерията и от други програми и настройки. Ето няколко прости стъпки, които ще ви помогнат да увеличите