Mündəricat:
- Addım 1: LiPo Batareya istifadə edərək Təchizat Gərginliyinin Azaldılması
- Addım 2: CPU saatını azaldın
- Addım 3: Gəmidəki Güc LEDini və Güc Tənzimləyicisini çıxarın
- Addım 4: USB D-Çekmə Rezistorunu (152 işarəsi ilə) 5 Voltdan (VCC) ayırın və USB V+ -ya qoşun
- Addım 5: Gecikmə yerinə Yuxudan istifadə edin ()
- Addım 6: Sigortaları dəyişdirin
- Addım 7: Əlavə məlumat
Video: Digispark ATtiny85: 7 Addım üçün Batareya Gücünün Azaldılması
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
və ya: 2032 sikkə hüceyrəsi olan bir Arduino -nu 2 il işlədin.
Digispark Arduino lövhənizi bir Arduino proqramı ilə 5 voltda 20 mA çəkir.
2000 mAh olan 5 volt güc bankı ilə yalnız 4 gün işləyəcək.
Addım 1: LiPo Batareya istifadə edərək Təchizat Gərginliyinin Azaldılması
Digispark lövhənizin təchizatı olaraq 3,7 volt LiPo batareyasından istifadə etməklə cəmi 13 mA çəkir.
2000 mAh batareya ilə 6 gün işləyəcək.
Addım 2: CPU saatını azaldın
Proqramınızda USB bağlantısı, ağır riyaziyyat və ya sürətli sorğu istifadə etmirsinizsə, saat sürətini azaldın. Məsələn, ağır sorğu infraqırmızı qəbul kitabxanası IRMP 8 MHz -də yaxşı işləyir.
1 MHz -də Digispark 6 mA çəkir. 2000 mAh batareya ilə 14 gün işləyəcək.
Addım 3: Gəmidəki Güc LEDini və Güc Tənzimləyicisini çıxarın
Güc LED -ini diodla bıçaqla bağlayan mis telini qıraraq güc LEDini söndürün və ya 102 rezistorunu çıxarın / söndürün.
İndi LiPo batareyası istifadə etdiyiniz üçün, təyyarədəki IC tənzimləyicisini də çıxara bilərsiniz. Əvvəlcə bir lehimləmə dəmiri və bir pin istifadə edərək xarici sancaqları qaldırın. Sonra böyük konnektoru lehimləyin və tənzimləyicini çıxarın. Kiçik tənzimləyicilər üçün çoxlu lehim istifadə edin və 3 pimi birlikdə qızdırın, sonra çıxarın.
1 MHz və 3.8 voltda Digisparkınız indi 4.3 mA çəkir. 2000 mAh batareya ilə 19 gün işləyəcək.
Addım 4: USB D-Çekmə Rezistorunu (152 işarəsi ilə) 5 Voltdan (VCC) ayırın və USB V+ -ya qoşun
Bu dəyişiklik micronucleus bootloader -in all1.x versiyaları ilə uyğundur. Lövhənizdə artıq yeni bir 2.x yükləyicisi varsa, adında "activePullup" olan 2.5 versiyadan birinə yüksəltməlisiniz. Bunun ən asan yolu, yeni digispark lövhə paketini qurmaq və bootloader -ı tövsiyə olunan (!!! standart və ya aqressiv deyil !!!) versiyası ilə yandırmaqdır.
Rezistorun yan tərəfindəki ATtiny -ə işarə edən mis teli kəsin, bu USB interfeysini deaktiv edir və öz növbəsində Digispark lövhəsini USB vasitəsilə proqramlaşdırmaq imkanı verir. Yenidən işə salmaq, lakin yenə də enerjiyə qənaət etmək üçün, rezistoru (152 işarəsi ilə) birbaşa shottky diodunun xarici tərəfində asanlıqla mövcud olan USB V+ -ya qoşun. Diod və düzgün tərəfləri bir davamlılıq test cihazı istifadə edərək tapıla bilər. Bu diodun bir tərəfi ATtiny (VCC) və Digispark 5V pin 8 -ə bağlıdır. Digər tərəf USB V+ilə əlaqəlidir. İndi USB çəkmə rezistoru yalnız Digispark lövhəsi USB -yə qoşulduqda işə salınır. proqramlaşdırma zamanı.
Sonuncu 2 addım da burada sənədləşdirilmişdir.
1 MHz və 3.8 voltda Digispark 3 mA çəkir. 2000 mAh batareya ilə 28 gün işləyəcək.
Addım 5: Gecikmə yerinə Yuxudan istifadə edin ()
Uzun gecikmələr əvəzinə enerji qənaət edən CPU yuxusundan istifadə edə bilərsiniz. Yuxular 15, 30, 60, 120, 250, 500 milisaniyə və 1, 2, 4, 8 saniyəlik addımlarla 15 millisaniyədən 8 saniyəyə qədər davam edə bilər.
Fabrik digispark sigorta parametrləri ilə yuxudan başlama müddəti 65 milisaniyə olduğundan, yalnız 80 ms -dən böyük gecikmələr yuxu ilə əvəz edilə bilər.
Yuxu zamanı Digispark 27 µA çəkir. 200 mAh düymə hüceyrəsi 2032 ilə 10 ay yatacaq.
Doğru olmaq üçün, Digispark ən az 65 millisaniyə işləyərək və təxminən 2 mA cərəyan çəkərək hər 8 saniyədən bir oyanmalıdır. Bu, ortalama 42 µA və 6 aylıq bir cərəyana səbəb olur. Bu ssenaridə, proqramınızın 10 milisaniyə (hər 8 saniyədə) işləməsi demək olar ki, fərq etməz.
Yuxudan istifadə kodu:
#include #include uçucu uint16_t sNumberOfSleeps = 0; xarici uçucu işarəsiz uzun millis_timer_millis; void setup () {sleep_enable (); set_sleep_mode (SLEEP_MODE_PWR_DOWN); // ən dərin yuxu rejimi…} void loop () {… sleepWithWatchdog (WDTO_250MS, doğru); // 250 ms yuxu… sleepWithWatchdog (WDTO_2S, doğru); // 2 saniyə yuxu…}/ * * aWatchdogPrescaler 0 (15 ms) - 3 (120 ms), 4 (250 ms) - 9 (8000 ms) */ uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) {uint16_t tResultMillis = ola bilər 8000; for (uint8_t i = 0; i 200 uA saxlayır // wdt_enable () istifadə edir, çünki WDP3 biti WDTCR qeydinin wdt_enable (aWatchdogPrescaler) bitinin 5 -də olduğunu idarə edir; WDTCR | = _BV (WDIE) | _BV (WDIF); // Gözətçi müdaxiləsini aktiv et + kəsmə bayrağını sıfırla -> ISR (WDT_vect) sei () lazımdır; // Aralıqları aktiv et yuxu_cpu (); // Gözətçi müdaxiləsi bizi yuxudan oyandıracaq wdt_disable (); // Çünki növbəti fasilə başqa cür olacaq wdt_enable () WDE / Watchdog System Reset Encable ADCSRA | = ADEN; / * * timer saatı söndürülə biləcəyi üçün yalnız IDLE rejimində yatmadığı təqdirdə millisi tənzimləyin (SM2… 0 bit 000 -dir) * / (aAdjustMillis && (MCUCR & ((_BV (SM1) | _BV (SM0)))))! = 0) {millis_timer_millis += computeSleepMillis (aWatchdogPrescaler);}} / * * Bu fasilə cpu yuxudan oyadır * / ISR (WDT_vect) {sNumberOfSleeps ++;}
Addım 6: Sigortaları dəyişdirin
27 mA -nın 22 mA -ı BOD (BrownOutDetection/undervoltage detect) tərəfindən çəkilir. BOD yalnız qoruyucuları yenidən proqramlaşdırmaqla söndürülə bilər, bu yalnız bir ISP proqramçısı ilə edilə bilər. Bu skriptdən istifadə edərək cərəyanı 5.5 µA -a qədər azalda bilərsiniz və yuxudan başlayaraq 4 millisaniyəyə qədər işə salma müddətini azalda bilərsiniz.
Qalan 5.5 µA -dan 5 -i aktiv nəzarətçi sayğacı tərəfindən çəkilir. Oyanmaq üçün xarici sıfırlamalardan istifadə edə bilsəniz, cari istehlak məlumat cədvəlində göstərildiyi kimi 0.3 µA -a enə bilər.
Bu dəyərə çata bilmirsinizsə, bunun səbəbi VCC ilə çəkmə arasındakı schottky diodunun tərs cərəyanının çox yüksək olması ola bilər. Unutmayın ki, 12 MOhm rezistor da 3.7 voltda 0.3 µA çəkir.
Bu, orta hesabla 9 µA (200 mAh düyməli hüceyrə 2032 ilə 2,5 il) istehlakına səbəb olur. buradakı kimi 3 milisaniyədə hər 8 saniyədə bir məlumat işlə.
Addım 7: Əlavə məlumat
Digispark lövhəsinin cari təsviri.
Bu təlimatları istifadə edərək layihə hazırlayın.
Tövsiyə:
Batareya Qənaətçisi, Qurğuşun Asitli Avtomobil və ya Lipo Batareya üçün ATtiny85 ilə Boşalma Qoruyucu Kesici Anahtarı: 6 Addım
Batareya Qənaətçisi, Qurğuşunlu Avtomobil və ya Lipo Batareya üçün ATtiny85 ilə Boşalma Qoruyucusu Kəsmə Açarı: Avtomobillərim və günəş sistemlərim üçün bir neçə batareya qoruyucuya ehtiyacım olduğu üçün ticari olanları 49 dollara çox bahalı tapdım. 6 mA ilə çox güc istifadə edirlər. Mövzu ilə bağlı heç bir təlimat tapa bilmədim. Beləliklə, 2 mA çəkən özüm hazırladım
Rölenin Enerji İstehsalının Azaldılması - Qarşıdakı Toplama Cərəyanının Tutulması: 3 Addım
Röleyi Güc Tükətməsini Azaltmaq - Qarşılaşma Cərəyanını Tutmaq: Əksər rölelər kontaktları bağladıqdan sonra röleyi tutmaqdan daha çox işə düşmək üçün daha çox cərəyan tələb edir. Röleyi tutmaq üçün lazım olan cərəyan (Tutma cərəyanı) hərəkət etmək üçün lazım olan ilkin cərəyandan əhəmiyyətli dərəcədə az ola bilər
BH1715 və Arduino Nano istifadə edərək İşıq Gücünün Hesablanması: 5 addım
BH1715 və Arduino Nano istifadə edərək işıq intensivliyi hesablaması: Dünən LCD displeylər üzərində işləyirdik və onların üzərində işləyərkən işıq intensivliyi hesablamasının əhəmiyyətini anladıq. İşıq intensivliyi təkcə bu dünyanın fiziki aləmində deyil, bioloji fəaliyyətində də çox yaxşı deyilən rola malikdir
AVR mikro nəzarətçisi. Pulse Genişliyi Modulyasiyası. DC Motor və LED İşıq Gücünün Nəzarətçisi .: 6 Addım
AVR mikro nəzarətçisi. Pulse Genişliyi Modulyasiyası. DC Motor və LED İşıq Gücünün Nəzarətçisi .: Hamıya salam! Pulse Width Modulation (PWM) telekommunikasiya və güc nəzarətində çox yayılmış bir texnikadır. bir mühərrik, bir LED, dinamiklər və s., bir elektrik cihazına verilən enerjini idarə etmək üçün ümumiyyətlə istifadə olunur. Əsasən bir modudur
DIY Batareya Səviyyə Göstəricisi/12v Batareya üçün Avtomatik Kəsmə: 5 Addım (Şəkillərlə)
12 V Batareya üçün DIY Batareya Səviyyə Göstəricisi/Avtomatik Kəsmə: DIYers … Hamımız yüksək səviyyəli şarj cihazlarımızın bu lityum polimer batareyaları doldurmaqla məşğul olduğu bir vəziyyətdən keçmişik, amma yenə də bu 12v qurğuşun turşusu batareyasını və yalnız şarj cihazınızı doldurmalısınız. var kor birisidir …. Bəli, kor kimi