Мазмұны:

Digispark ATtiny85 үшін батарея қуатын тұтынуды азайту: 7 қадам
Digispark ATtiny85 үшін батарея қуатын тұтынуды азайту: 7 қадам

Бейне: Digispark ATtiny85 үшін батарея қуатын тұтынуды азайту: 7 қадам

Бейне: Digispark ATtiny85 үшін батарея қуатын тұтынуды азайту: 7 қадам
Бейне: Использование плат Digispark Attiny85 Mini Arduino: Урок 108 2024, Қараша
Anonim
Digispark ATtiny85 үшін батарея қуатын тұтынуды азайту
Digispark ATtiny85 үшін батарея қуатын тұтынуды азайту
Digispark ATtiny85 үшін батарея қуатын тұтынуды азайту
Digispark ATtiny85 үшін батарея қуатын тұтынуды азайту

немесе: 2032 монеталық ұяшықтары бар Arduino -ны 2 жыл бойы іске қосу.

Digispark Arduino тақтасын Arduino бағдарламасы бар қораптан пайдаланып, ол 5 вольтты 20 мА құрайды.

5 вольтты 2000 мАч қуат банкімен ол тек 4 күн жұмыс істейді.

1 -қадам: LiPo батареясын қолдану арқылы кернеуді төмендету

LiPo батареясын қолдану арқылы кернеуді төмендету
LiPo батареясын қолдану арқылы кернеуді төмендету

LiPo аккумуляторын 3,7 вольтты пайдалану Digispark тақтасын 13 мА құрайды.

2000 мАч батареямен ол 6 күн жұмыс істейді.

2 -қадам: CPU сағатын азайтыңыз

Егер сіз бағдарламада USB байланысын, ауыр математиканы немесе жылдам сұрауды пайдаланбасаңыз, сағат жылдамдығын төмендетіңіз. Мысалы, IRMP инфрақызыл қабылдау кітапханасы 8 МГц жиілікте жақсы жұмыс істейді.

1 МГц жиілігінде сіздің Digispark 6 мА тартады. 2000 мАч батареямен ол 14 күн жұмыс істейді.

3 -қадам: борттық жарық диоды мен қуат реттегішін алып тастаңыз

Қуат диодты пышақпен қосатын мыс сымды үзу арқылы қуат светодиодын өшіріңіз немесе 102 резисторын алып тастаңыз / өшіріңіз.

Сіз LiPo аккумуляторын қолданып жатқандықтан, борттық IC реттегішін де алып тастауға болады. Алдымен дәнекерленген темір мен түйреуіштің көмегімен сыртқы түйреуіштерді көтеріңіз. Содан кейін үлкен қосқышты дәнекерлеп, реттегішті алыңыз. Кішкене реттегіштер үшін көп дәнекерлеуді қолданыңыз және барлық 3 түйреуішті бірге қыздырыңыз, содан кейін оны алыңыз.

1 МГц және 3,8 вольтпен сіздің Digispark енді 4,3 мА құрайды. 2000 мАч батареямен ол 19 күн жұмыс істейді.

4-қадам: USB D- тарту резисторын (152 белгісі) 5 вольттан (VCC) ажыратып, оны USB V+ -ке қосыңыз

USB D- тарту резисторы (152 белгісі) 5 вольттан (VCC) ажыратып, оны USB V+ -ке қосыңыз
USB D- тарту резисторы (152 белгісі) 5 вольттан (VCC) ажыратып, оны USB V+ -ке қосыңыз

Бұл модификация micronucleus жүктеушінің all1.x нұсқаларымен үйлесімді. Егер сізде тақтада жаңа 2.x жүктеуші болса, оның атауында «activePullup» бар 2.5 нұсқасының біреуіне жаңарту қажет. Мұны істеудің ең оңай жолы - digispark тақтасының жаңа бумасын орнату және жүктеушіні ұсынылған нұсқамен (!!! әдепкі немесе агрессивті емес !!!) жазу.

ATtiny көрсететін резистордың бүйіріндегі сымды үзіңіз, бұл USB интерфейсін өшіреді және өз кезегінде Digispark тақтасын USB арқылы бағдарламалау мүмкіндігін береді. Қайта қосу үшін, бірақ әлі де қуатты үнемдеу үшін резисторды (152 белгісі) shottky диодының сыртқы жағында оңай қол жетімді USB V+ -ке қосыңыз. Диодты және оның дұрыс жақтарын үзіліссіздікті тексеруші көмегімен табуға болады. Бұл диодтың бір жағы ATtiny (VCC) және Digispark 5V 8 істігіне қосылады. Екінші жағы USB V+қосылған. Енді USB тартқыш резисторы Digispark тақтасы USB -ге қосылған жағдайда ғана қосылады. программалау кезінде.

Соңғы 2 қадам да осында құжатталған.

1 МГц және 3,8 вольтпен сіздің Digispark енді 3 мА тартады. 2000 мАч батареямен ол 28 күн жұмыс істейді.

5 -қадам: Кешіктірудің орнына ұйқыны қолданыңыз ()

Кешіктірудің орнына ұйқыны қолданыңыз ()
Кешіктірудің орнына ұйқыны қолданыңыз ()

Ұзақ кідірістердің орнына қуатты үнемдейтін процессордың ұйқысын пайдалануға болады. Ұйқының ұзақтығы 15 миллисекундтан 8 секундқа дейін 15, 30, 60, 120, 250, 500 миллисекунд және 1, 2, 4, 8 секундқа созылуы мүмкін.

Ұйқы режимінің іске қосылу уақыты зауыттық сақтандырғыш қондырғыларымен 65 миллисекундты құрайтындықтан, 80 мс -тен асатын кідірістерді ұйқыға ауыстыруға болады.

Ұйқы кезінде сіздің Digispark 27 мкА тартады. 200 мАч түймесі бар 2032 ұяшығымен ол 10 ай ұйықтайды.

Дұрыс болу үшін Digispark кем дегенде 65 миллисекунд жұмыс істеп, шамамен 2 мА ток тартатын әр 8 секунд сайын оянуы керек. Бұл орташа ток 42 мкА және 6 айға әкеледі. Бұл сценарийде сіздің бағдарламаңыз 10 миллисекундқа (әр 8 секунд сайын) жұмыс жасаса, ешқандай айырмашылық жоқ.

Ұйқыны пайдалану коды:

#include #include volatile uint16_t sNumberOfSleeps = 0; extern volatile unsigned long millis_timer_millis; void setup () {sleep_enable (); set_sleep_mode (SLEEP_MODE_PWR_DOWN); // ең терең ұйқы режимі…} void loop () {… sleepWithWatchdog (WDTO_250MS, true); // 250 мс ұйқы… sleepWithWatchdog (WDTO_2S, шын); // 2 секунд ұйықтаңыз…}/ * * aWatchdogPrescaler 0 (15 мс) - 3 (120 мс), 4 (250 мс) - 9 (8000 мс) дейін болуы мүмкін */ uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) {uint16_t tResultMillis = 8000; for (uint8_t i = 0; i 200 uA сақтайды // wdt_enable () пайдаланыңыз, себебі WDP3 биті WDTCR регистрінің 5 -битінде орналасқан wdt_enable (aWatchdogPrescaler); WDTCR | = _BV (WDIE) | _BV (WDIF); // Күзетші үзілісін қосу + үзіліс жалаушасын қалпына келтіру -> ISR (WDT_vect) sei () қажет; // үзілісті қосу sleep_cpu (); // Қарауылдың үзілуі бізді ұйқыдан оятады wdt_disable (); // Себебі келесі үзіліс басқаша болады қалпына келтіруге әкеледі, себебі wdt_enable () WDE / Watchdog System Reset Encable ADCSRA | = ADEN; / * * таймердің сағаты өшірілуі мүмкін болғандықтан, миллиллерді тек IDLE режимінде ұйықтамаған жағдайда ғана реттеңіз (SM2… 0 бит - 000) * / (aAdjustMillis && (MCUCR & ((_BV (SM1) | _BV (SM0))))))! = 0) {millis_timer_millis += computeSleepMillis (aWatchdogPrescaler);}} / * * Бұл үзіліс процессорды ұйқыдан оятады * / ISR (WDT_vect) {sNumberOfSleeps ++;}

6 -қадам: сақтандырғыштарды өзгертіңіз

27 мА -ның 22 мА -ны BOD (BrownOutDetection/төмен кернеуді анықтау) сызады. BOD сақтандырғыштарды қайта бағдарламалау арқылы ғана өшірілуі мүмкін, оны тек провайдер бағдарламашысының көмегімен жасауға болады. Бұл сценарийді қолдана отырып, сіз токты 5,5 мкА дейін төмендете аласыз, сондай -ақ ұйқыдан іске қосу уақытын 4 миллисекундқа дейін қысқарта аласыз.

Қалған 5,5 мкА -ның 5 -ін белсенді бақылаушы есептегіш шығарады. Егер сіз ояту үшін сыртқы қалпына келтіруді қолдана алсаңыз, ағымдағы тұтыну деректер кестесінде көрсетілгендей 0,3 мкА дейін төмендеуі мүмкін.

Егер сіз бұл мәнге жете алмасаңыз, себебі VCC пен тартқыш арасындағы schottky диодының кері ағымы тым жоғары болуы мүмкін. Есіңізде болсын, 12 МОм резисторы 3,7 вольтте 0,3 мкА тартады.

Бұл 9 мкА орташа ток тұтынуына әкеледі (2032 200 мАч түймелі ұяшықпен 2,5 жыл), егер сіз: осындағыдай 3 миллисекунд сайын әр 8 секунд сайын деректерді өңдеңіз.

7 -қадам: Қосымша ақпарат

Digispark тақтасының қазіргі сызбасы.

Осы нұсқауларды қолдана отырып жоба жасаңыз.

Ұсынылған: