Sadržaj:
- Korak 1: Smanjivanje napona napajanja pomoću LiPo baterije
- Korak 2: Smanjite CPU sat
- Korak 3: Uklonite ugrađenu LED diodu za napajanje i regulator snage
- Korak 4: Odspojite USB D-Pullup otpornik (označeno 152) s 5 V (VCC) i spojite ga na USB V+
- Korak 5: Upotrijebite stanje mirovanja umjesto odgode ()
- Korak 6: Izmijenite osigurače
- Korak 7: Dodatne informacije
Video: Smanjenje potrošnje energije baterije za Digispark ATtiny85: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
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
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+
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 ()
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:
Uradi sam Arduino solarni tragač (za smanjenje globalnog zagrijavanja): 3 koraka
Uradi sam Arduino solarni tragač (za smanjenje globalnog zagrijavanja): Pozdrav svima, u ovom tutorijalu ću vam pokazati kako napraviti solarni tracker pomoću arduino mikrokontrolera. U današnjem svijetu patimo od brojnih zabrinjavajućih pitanja. Jedan od njih su klimatske promjene i globalno zatopljenje. Potreba za
Nadzor potrošnje električne energije i okoliša putem Sigfoxa: 8 koraka
Potrošnja električne energije i nadzor okoliša putem Sigfoxa: OpisOvaj projekt će vam pokazati kako povećati potrošnju električne energije u prostoriji na trofaznu distribuciju energije, a zatim je poslati na server koristeći Sigfoxovu mrežu svakih 10 minuta. Kako mjeriti snagu? Imamo tri strujne stezaljke iz
Smanjivanje potrošnje energije releja - Zadržavanje u odnosu na pokupnu struju: 3 koraka
Smanjivanje potrošnje energije releja - Zadržavanje naspram struje prikupljanja: Većini releja je za početak potrebno više struje za aktiviranje nego što je potrebno za držanje releja nakon što se kontakti zatvore. Struja potrebna za držanje releja (struja zadržavanja) može biti znatno manja od početne struje potrebne za aktiviranje
Kako ispravno mjeriti potrošnju energije bežičnih komunikacijskih modula u doba niske potrošnje energije?: 6 koraka
Kako ispravno mjeriti potrošnju energije bežičnih komunikacijskih modula u doba niske potrošnje energije ?: Mala potrošnja energije izuzetno je važan koncept u Internetu stvari. Većina IoT čvorova moraju se napajati baterijama. Samo pravilnim mjerenjem potrošnje energije bežičnog modula možemo precizno procijeniti koliko sam baterije napunila
Napravite analogni mjerač potrošnje električne energije: 8 koraka (sa slikama)
Napravite analogni mjerač potrošnje električne energije: Koristio sam Kill A Watt (http://www.p3international.com/products/special/P4400/P4400-CE.html) električno brojilo neko vrijeme i ja sam odlučio izgraditi analogni. Ovaj projekt je postao jednostavan, sa ampermetrom s jednom pločom i