Sadržaj:

Smanjenje potrošnje energije baterije za Digispark ATtiny85: 7 koraka
Smanjenje potrošnje energije baterije za Digispark ATtiny85: 7 koraka

Video: Smanjenje potrošnje energije baterije za Digispark ATtiny85: 7 koraka

Video: Smanjenje potrošnje energije baterije za Digispark ATtiny85: 7 koraka
Video: PRODUZITE TRAJANJE BATERIJE | iPhone 2024, Studeni
Anonim
Smanjenje potrošnje energije baterije za Digispark ATtiny85
Smanjenje potrošnje energije baterije za Digispark ATtiny85
Smanjenje potrošnje energije baterije za Digispark ATtiny85
Smanjenje potrošnje energije baterije za Digispark ATtiny85

ili: Pokretanje Arduina s novčanicom od 2032 dvije godine.

Koristeći vašu Digispark Arduino ploču iz kutije s programom Arduino, ona crpi 20 mA na 5 volti.

S 5 voltnom baterijom od 2000 mAh radit će samo 4 dana.

Korak 1: Smanjivanje napona napajanja pomoću LiPo baterije

Smanjivanje napona napajanja korištenjem LiPo baterije
Smanjivanje napona napajanja korištenjem LiPo baterije

Korištenje LiPo baterije s 3,7 V za napajanje vaša Digispark ploča troši samo 13 mA.

Uz bateriju od 2000 mAh radit će 6 dana.

Korak 2: Smanjite CPU sat

Ako ne koristite USB vezu, tešku matematiku ili brzo prozivanje u svom programu, smanjite brzinu takta. Npr. infracrvena biblioteka za prijem podataka IRMP radi dobro na 8 MHz.

Na 1 MHz vaš Digispark crpi 6 mA. S baterijom od 2000 mAh radit će 14 dana.

Korak 3: Uklonite ugrađenu LED diodu za napajanje i regulator snage

Onemogućite LED za napajanje tako što ćete nožem prekinuti bakrenu žicu koja LED diodu za napajanje povezuje s diodom ili ukloniti / onemogućiti otpornik 102.

Budući da sada koristite LiPo bateriju, možete ukloniti i ugrađeni IC regulator regulatora snage. Najprije podignite vanjske igle uz pomoć lemilice i igle. Zatim zalemite veliki priključak i uklonite regulator. Za male regulatore upotrijebite mnogo lema i zagrijte sve 3 igle zajedno, a zatim ih uklonite.

Na 1 MHz i 3,8 volta vaš Digispark sada crpi 4,3 mA. S baterijom od 2000 mAh radit će 19 dana.

Korak 4: Odspojite USB D-Pullup otpornik (označen 152) s 5 V (VCC) i spojite ga na USB V+

Odspojite USB D- Pullup otpornik (označeno 152) s 5 V (VCC) i spojite ga na USB V+
Odspojite USB D- Pullup otpornik (označeno 152) s 5 V (VCC) i spojite ga na USB V+

Ova je izmjena kompatibilna sa svim1.x verzijama mikronuklearnog pokretača. Ako već imate novi 2.x bootloader na ploči, morate nadograditi na jednu verziju 2.5 s "activePullup" u imenu. Najlakši način za to je instaliranje novog paketa digispark ploče i snimanje pokretačkog programa s preporučenom (!!! ne zadanom ili agresivnom !!!) verzijom.

Prekinite bakrenu žicu na strani otpornika koja pokazuje na ATtiny. To onemogućuje USB sučelje i zauzvrat mogućnost programiranja ploče Digispark putem USB -a. Da biste ga ponovno omogućili, ali ipak uštedjeli energiju, priključite otpornik (označen 152) izravno na USB V+ koji je lako dostupan na vanjskoj strani šokirane diode. Dioda i njene ispravne strane mogu se pronaći pomoću ispitivača kontinuiteta. Jedna strana ove diode spojena je na pin 8 ATtiny (VCC) i Digispark 5V. Druga strana je spojena na USB V+. Sada se USB pullup otpornik aktivira samo ako je ploča Digispark spojena na USB, npr. tijekom programiranja.

Posljednja 2 koraka također su ovdje dokumentirana.

Na 1 MHz i 3,8 volta vaš Digispark sada troši 3 mA. Uz bateriju od 2000 mAh radit će 28 dana.

Korak 5: Upotrijebite stanje mirovanja umjesto odgode ()

Koristi spavanje umjesto odgode ()
Koristi spavanje umjesto odgode ()

Umjesto dugih odgoda možete koristiti spavanje CPU -a za uštedu energije. Spavanje može trajati od 15 milisekundi do 8 sekundi u koracima od 15, 30, 60, 120, 250, 500 milisekundi i 1, 2, 4, 8 sekundi.

Budući da je vrijeme pokretanja iz stanja mirovanja 65 milisekundi s tvorničkim postavkama osigurača digispark, samo se kašnjenja veća od 80 ms mogu nadomjestiti.

Tijekom spavanja vaš Digispark troši 27 µA. S ćelijom s gumbom od 200 mAh 2032 spavat će 10 mjeseci.

Da budemo točni, Digispark se mora probuditi barem svakih 8 sekundi, raditi najmanje 65 milisekundi i vući struju od 2 mA. To dovodi do prosječne struje od 42 µA i 6 mjeseci. U ovom scenariju nema gotovo nikakve razlike ako vaš program radi 10 milisekundi (svakih 8 sekundi).

Kôd za korištenje sna je:

#include #include volatile uint16_t sNumberOfSleeps = 0; vanjski hlapivi nepotpisani dugi millis_timer_millis; void setup () {sleep_enable (); set_sleep_mode (SLEEP_MODE_PWR_DOWN); // najdublji način mirovanja…} void loop () {… sleepWithWatchdog (WDTO_250MS, istina); // spavanje 250 ms… sleepWithWatchdog (WDTO_2S, istina); // spavanje 2 s…}/ * * aWatchdogPrescaler može biti 0 (15 ms) do 3 (120 ms), 4 (250 ms) do 9 (8000 ms) */ uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) {uint16_t tResultMillis = 8000; for (uint8_t i = 0; i sprema 200 uA // koristi wdt_enable () budući da obrađuje da je bit WDP3 u bitu 5 registra WDTCR wdt_enable (aWatchdogPrescaler); WDTCR | = _BV (WDIE) | _BV (WDIF); // Stražarski prekid omogućavanje + poništavanje zastavice prekida -> treba ISR (WDT_vect) sei (); // Omogućivanje prekida sleep_cpu (); // Prekid stražara probudit će nas iz sna wdt_disable (); // Budući da će sljedeći prekid u protivnom dovesti do resetiranja, budući da wdt_enable () postavlja WDE / Watchdog Reset sustava Omogući ADCSRA | = ADEN; / * * Budući da sat vremena može biti onemogućen, podesite milise samo ako nije u stanju mirovanja (SM2 … 0 bita su 000) * / ako (aAdjustMillis && (MCUCR & ((_BV (SM1) | _BV (SM0))))! = 0) {millis_timer_millis += computeSleepMillis (aWatchdogPrescaler);}} / * * Ovaj prekid budi CPU iz stanja spavanja * / ISR (WDT_vect) {sNumberOfSleeps ++;}

Korak 6: Izmijenite osigurače

22 mA od 27 mA dobiva BOD (BrownOutDetection/detekcija podnapona). BPK se može onemogućiti samo ponovnim programiranjem osigurača, što se može učiniti samo s ISP programatorom. Pomoću ove skripte možete smanjiti struju na 5,5 µA i također smanjiti vrijeme pokretanja iz stanja mirovanja na 4 milisekunde.

5 od preostalih 5,5 µA izvlači aktivni brojač nadzornika. Ako za buđenje možete koristiti vanjska resetiranja, trenutni potrošač može se spustiti na 0,3 µA kako je navedeno u podatkovnoj tablici.

Ako ne možete doseći tu vrijednost, razlog može biti taj što je obrnuta struja schottky diode između VCC -a i pullapa previsoka. Imajte na umu da otpornik od 12 MOhm također troši 0,3 µA na 3,7 volti.

To rezultira prosječnom potrošnjom struje od 9 µA (2,5 godine s ćelijom s gumbom od 200 mAh 2032) ako npr. obrađujte podatke svakih 8 sekundi tijekom 3 milisekunde kao ovdje.

Korak 7: Dodatne informacije

Trenutni crtež Digispark ploče.

Projektirajte prema ovim uputama.

Preporučeni: