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, Novembar
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 Arduino programom, ona crpi 20 mA na 5 volti.

Sa bankom napajanja od 5 volti od 2000 mAh radit će samo 4 dana.

Korak 1: Smanjivanje napona napajanja pomoću LiPo baterije

Smanjivanje napona napajanja pomoću LiPo baterije
Smanjivanje napona napajanja pomoću LiPo baterije

Koristeći LiPo bateriju od 3,7 V za napajanje, vaša Digispark ploča troši samo 13 mA.

Sa baterijom od 2000 mAh radit će 6 dana.

Korak 2: Smanjite CPU sat

Ako ne koristite USB vezu, tešku matematiku ili brzo ispitivanje u programu, smanjite brzinu takta. Npr. infracrvena biblioteka za prijem podataka IRMP koja radi sa velikim brojem anketa dobro radi na 8 MHz.

Na 1 MHz vaš Digispark crpi 6 mA. Sa 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 napajanja. Najprije podignite vanjske igle pomoću lemilice i igle. Zatim zalemite veliki konektor 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. Sa baterijom od 2000 mAh radit će 19 dana.

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

Odspajanje USB D- Pullup otpornika (označeno 152) s 5 V (VCC) i povezivanje s USB V+
Odspajanje USB D- Pullup otpornika (označeno 152) s 5 V (VCC) i povezivanje s USB V+

Ova modifikacija je kompatibilna sa all1.x verzijama mikronuklearnog pokretača. Ako već imate novi 2.x bootloader na ploči, morate nadograditi na jednu verziju 2.5 sa "activePullup" u svom 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. Ovo onemogućava USB sučelje i zauzvrat mogućnost programiranja Digispark ploče putem USB -a. Da biste ga ponovo 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 otpornik aktivira samo ako je Digispark ploča spojena na USB, npr. tokom programiranja.

Posljednja 2 koraka su također dokumentirana ovdje.

Na 1 MHz i 3,8 volta vaš Digispark sada troši 3 mA. Sa baterijom 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 sa tvorničkim postavkama osigurača digispark, samo se kašnjenja veća od 80 ms mogu zamijeniti mirovanjem.

Tokom sna vaš Digispark troši 27 µA. Sa ćelijom s gumbom od 200 mAh 2032 spavat će 10 mjeseci.

Da bi bio u pravu, 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 spavanja…} void loop () {… sleepWithWatchdog (WDTO_250MS, true); // 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 štedi 200 uA // koristi wdt_enable () jer obrađuje da je bit WDP3 u bitu 5 WDTCR registra wdt_enable (aWatchdogPrescaler); WDTCR | = _BV (WDIE) | _BV (WDIF); // Omogućivanje prekida stražara + poništavanje zastavice prekida -> treba ISR (WDT_vect) sei (); // Omogući prekide sleep_cpu (); // Prekid straže će nas probuditi iz sna wdt_disable (); // Zato što će sljedeći prekid u protivnom dovesti do resetiranja, budući da wdt_enable () postavlja WDE / Watchdog System Reset Enable ADCSRA | = ADEN; / * * Budući da sat mjerača 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 crpi BOD (BrownOutDetection/detekcija podnapona). BPK se može onemogućiti samo reprogramiranjem 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 podatkovnom listu.

Ako ne možete doseći ovu 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.

Ovo 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 tokom 3 milisekunde kao ovdje.

Korak 7: Dodatne informacije

Trenutni crtež Digispark ploče.

Projektirajte prema ovim uputama.

Preporučuje se: