Mundarija:

Digispark ATtiny85 uchun batareya quvvatini kamaytirish: 7 qadam
Digispark ATtiny85 uchun batareya quvvatini kamaytirish: 7 qadam

Video: Digispark ATtiny85 uchun batareya quvvatini kamaytirish: 7 qadam

Video: Digispark ATtiny85 uchun batareya quvvatini kamaytirish: 7 qadam
Video: Использование плат Digispark Attiny85 Mini Arduino: Урок 108 2024, Noyabr
Anonim
Digispark ATtiny85 uchun batareya quvvatini kamaytirish
Digispark ATtiny85 uchun batareya quvvatini kamaytirish
Digispark ATtiny85 uchun batareya quvvatini kamaytirish
Digispark ATtiny85 uchun batareya quvvatini kamaytirish

yoki: 2032 yildagi tanga kamerasi bo'lgan Arduino -ni 2 yil davomida ishlatish.

Digispark Arduino platasini Arduino dasturi yordamida qutidan chiqarib oling, u 5 voltli 20 mA ni tortadi.

2000 mA / soatlik 5 voltli quvvat banki bilan u atigi 4 kun ishlaydi.

1 -qadam: LiPo batareyasidan foydalanib, kuchlanish kuchlanishini pasaytirish

LiPo batareyasi yordamida besleme zo'riqishini kamaytirish
LiPo batareyasi yordamida besleme zo'riqishini kamaytirish

3.7 voltli LiPo batareyasidan Digispark kartasi faqat 13 mA quvvat oladi.

2000 mA / soat batareya bilan u 6 kun ishlaydi.

2 -qadam: CPU soatini kamaytiring

Agar siz dasturda USB ulanish, og'ir matematik yoki tez so'rovlardan foydalanmasangiz, soat tezligini kamaytiring. Masalan, infraqizil qabul qiluvchi kutubxona IRMP 8 MGts da yaxshi ishlaydi.

1 MGts chastotada sizning Digispark 6 mA ni tortadi. 2000 mA / soat batareya bilan u 14 kun ishlaydi.

3 -qadam: Bortdagi LED va quvvat regulyatorini olib tashlang

Quvvat LEDini diodga pichoq bilan bog'laydigan mis simni uzish orqali quvvat LEDini o'chiring yoki 102 rezistorini olib tashlang / o'chiring.

Siz hozir LiPo batareyasidan foydalanayotganingiz uchun, bortdagi IC regulyatorini ham olib tashlashingiz mumkin. Avval tashqi pimlarni lehim temir va pin yordamida ko'taring. Keyin katta ulagichni lehimlang va regulyatorni chiqarib oling. Kichik regulyatorlar uchun juda ko'p lehim ishlating va barcha 3 pinni qizdiring, so'ng uni olib tashlang.

1 MGts va 3,8 voltsli Digispark 4,3 mA ga teng. 2000 mA / soat batareya bilan u 19 kun ishlaydi.

4-qadam: USB D- tortish rezistorini (152 belgisi bilan) 5 voltdan (VCC) ajratib oling va uni USB V+ ga ulang

USB D- tortish rezistorini (152 belgisi bilan) 5 voltdan (VCC) ajratib oling va uni USB V+ ga ulang
USB D- tortish rezistorini (152 belgisi bilan) 5 voltdan (VCC) ajratib oling va uni USB V+ ga ulang

Ushbu o'zgartirish micronucleus bootloader -ning all1.x versiyalariga mos keladi. Agar sizda bortingizda yangi 2.x yuklash vositasi bo'lsa, uning nomiga "activePullup" yozilgan 2,5 versiyasini yangilashingiz kerak. Buning eng oson yo'li - yangi digispark karta paketini o'rnatish va yuklash vositasini tavsiya etilgan (!!! standart yoki tajovuzkor emas !!!) versiyasi bilan yoqish.

ATtiny -ga ishora qiluvchi rezistorning yon tomonidagi mis simni uzing, bu USB interfeysini o'chiradi va o'z navbatida Digispark platasini USB orqali dasturlash imkoniyatini beradi. Qayta yoqish uchun, lekin baribir quvvatni tejash uchun rezistorni (152 belgisi bilan) to'g'ridan -to'g'ri diodning tashqi tomonida joylashgan USB V+ ga ulang. Diyot va uning to'g'ri tomonlarini uzluksizlikni tekshiruvchi yordamida topish mumkin. Bu diodning bir tomoni ATtiny (VCC) va Digispark 5V ning 8 -piniga ulangan. Boshqa tomon USB V+ga ulangan. Endi USB tortish qarshiligi faqat Digispark platasi USB ga ulangan bo'lsa faollashadi. dasturlash paytida.

Oxirgi 2 qadam ham bu erda hujjatlashtirilgan.

1 MGts va 3,8 voltsli Digispark 3 mA ga teng. 2000 mA / soat batareya bilan u 28 kun ishlaydi.

5 -qadam: Kechiktirish o'rniga uyqudan foydalaning ()

Kechiktirish o'rniga uyqudan foydalaning ()
Kechiktirish o'rniga uyqudan foydalaning ()

Uzoq kechikishlar o'rniga, quvvatni tejaydigan CPU uyqusidan foydalanishingiz mumkin. Kutishlar 15 millisekunddan 8 sekundgacha 15, 30, 60, 120, 250, 500 millisekund va 1, 2, 4, 8 sekund davom etishi mumkin.

Uyqudan ishga tushirish vaqti 65 millisekundni tashkil qiladi, shuning uchun zavod sigortasi sigortalari sozlamalari bilan faqat 80 ms dan katta kechikishlarni uyqu bilan almashtirish mumkin.

Uyqu paytida Digispark 27 mAA ni tortadi. 200 mAch tugmachali 2032 uyasi bilan u 10 oy uxlaydi.

To'g'ri bo'lish uchun, Digispark kamida har 8 soniyada uyg'onishi kerak, kamida 65 millisekundda ishlaydi va 2 mA tokini tortadi. Bu o'rtacha 42 mA va 6 oylik oqimga olib keladi. Bu stsenariyda sizning dasturingiz 10 millisekundda (har 8 soniyada) ishlasa, deyarli farq qilmaydi.

Uyqudan foydalanish kodi:

#include #include volatile uint16_t sNumberOfSleeps = 0; extern volatile unsigned uzun millis_timer_millis; void setup () {sleep_enable (); to'siq_sleep_mode (SLEEP_MODE_PWR_DOWN); // eng chuqur uyqu rejimi…} void loop () {… sleepWithWatchdog (WDTO_250MS, rost); // 250 ms uxlash… sleepWithWatchdog (WDTO_2S, rost); // 2 soniya uyqu…}/ * * aWatchdogPrescaler 0 (15 ms) dan 3 (120 ms) gacha, 4 (250 ms) dan 9 gacha (8000 ms) */ uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) {uint16_t tResultMillis = bo'lishi mumkin. 8000; for (uint8_t i = 0; i 200 uA ni saqlaydi // wdt_enable () dan foydalaning, chunki u WDP3 bitining WDTCR registrining 5 -bitida ishlashini boshqaradi wdt_enable (aWatchdogPrescaler); WDTCR | = _BV (WDIE) | _BV (WDIF); // Watchdog interrupt yoqish + uzilish bayrog'ini tiklash -> ISR (WDT_vect) sei (); // Interruptlarni yoqish sleep_cpu (); // Kuzatuvchi uzilishi bizni uyqudan uyg'otadi wdt_disable (); // Chunki keyingi uzilish aks holda bo'ladi qayta o'rnatishga olib keladi, chunki wdt_enable () WDE / Watchdog System Reset ADCSRA | = ADEN; / * * taymer soati o'chirilgan bo'lishi mumkin, chunki millimetrni faqat IDLE rejimida uxlamaganida sozlang (SM2… 0 bit 000) * / agar (aAdjustMillis && (MCUCR va WDT_vect) {sNumberOfSleeps ++;}

6 -qadam: Sigortalarni o'zgartiring

27 mA dan 22 mA BOD (BrownOutDetection/past kuchlanish aniqlash) tomonidan chizilgan. BOD faqat sigortalarni qayta dasturlash orqali o'chirib qo'yilishi mumkin, bu faqat ISP dasturchisi yordamida amalga oshirilishi mumkin. Ushbu skript yordamida siz oqimni 5,5 mkAgacha kamaytirishingiz, shuningdek uyqudan 4 millisekundgacha ishga tushirish vaqtini kamaytirishingiz mumkin.

Qolgan 5,5 mkA dan 5 tasi faol qo'riqchi hisoblagichi tomonidan chizilgan. Agar siz uyg'onish uchun tashqi sozlamalarni ishlata olsangiz, joriy iste'mol ma'lumotlar jadvalida ko'rsatilganidek 0,3 mkA ga tushishi mumkin.

Agar siz bu qiymatga erisha olmasangiz, buning sababi shundaki, VCC va tortishish orasidagi schottky diodining teskari oqimi juda yuqori. Shuni yodda tutingki, 12 Mohmli rezistor ham 3,7 voltda 0,3 mkA ga teng.

Bu o'rtacha 9 mAA oqim sarflanishiga olib keladi (2032 yil 200 mAch tugmachali uyali bilan 2,5 yil), agar siz: bu yerdagi kabi 3 millisekundda har 8 soniyada ma'lumotlarni qayta ishlash.

7 -qadam: Qo'shimcha ma'lumot

Digispark taxtasining hozirgi chizmasi.

Loyihani ushbu ko'rsatmalardan foydalaning.

Tavsiya: