Indholdsfortegnelse:
- Trin 1: Reducering af forsyningsspænding ved hjælp af et LiPo -batteri
- Trin 2: Reducer CPU -uret
- Trin 3: Fjern indbygget strøm -LED og strømregulator
- Trin 4: Afbrydelse af USB D- Pullup-modstanden (mærket 152) Fra 5 Volt (VCC) og tilslut den til USB V+
- Trin 5: Brug søvn i stedet for forsinkelse ()
- Trin 6: Rediger sikringerne
- Trin 7: Yderligere information
Video: Reducering af batteriforbrug til Digispark ATtiny85: 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
eller: Kører en Arduino med en 2032 møntcelle i 2 år.
Når du bruger dit Digispark Arduino Board ud af boksen med et Arduino -program, trækker det 20 mA ved 5 volt.
Med en 5 volt powerbank på 2000 mAh kører den kun i 4 dage.
Trin 1: Reducering af forsyningsspænding ved hjælp af et LiPo -batteri
Hvis du bruger et LiPo -batteri med 3,7 volt som forsyning, trækker dit Digispark -kort kun 13 mA.
Med et batteri på 2000 mAh vil det køre i 6 dage.
Trin 2: Reducer CPU -uret
Hvis du ikke bruger USB -forbindelse, tung matematik eller hurtig polling i dit program, skal du reducere urets hastighed. F.eks. det infrarøde modtagende bibliotek med tung polling kører godt ved 8 MHz.
Ved 1 MHz trækker din Digispark 6 mA. Med et batteri på 2000 mAh vil det køre i 14 dage.
Trin 3: Fjern indbygget strøm -LED og strømregulator
Deaktiver strøm -LED'en ved at bryde kobbertråden, der forbinder strøm -LED'en til dioden med en kniv, eller fjern / deaktiver 102 -modstanden.
Da du bruger et LiPo -batteri nu, kan du også fjerne den indbyggede strømregulator IC. Løft først de ydre stifter ved hjælp af et loddejern og en nål. Lod derefter det store stik og fjern regulatoren. Til små regulatorer skal du bruge meget loddemetal og varme alle 3 ben sammen, og derefter fjerne det.
Ved 1 MHz og 3,8 volt trækker din Digispark nu 4,3 mA. Med et batteri på 2000 mAh vil det køre i 19 dage.
Trin 4: Afbrydelse af USB D- Pullup-modstanden (mærket 152) Fra 5 Volt (VCC) og tilslut den til USB V+
Denne ændring er kompatibel med alle1.x versioner af mikronukleus bootloader. Hvis du allerede har en ny 2.x bootloader på dit bord, skal du opgradere til en af de 2.5 versioner med "activePullup" i sit navn. Den nemmeste måde at gøre dette på er at installere den nye digispark board -pakke og brænde bootloaderen med den anbefalede (!!! ikke standard eller aggressive !!!) version.
Knæk kobbertråden på siden af modstanden, der peger på ATtiny. Dette deaktiverer USB -interfacet og igen mulighed for at programmere Digispark -kortet via USB. For at aktivere det igen, men stadig spare strøm, skal du tilslutte modstanden (mærket 152) direkte til USB V+, der er let tilgængelig på ydersiden af den shottky -diode. Dioden og dens korrekte sider kan findes ved hjælp af en kontinuitetstester. Den ene side af denne diode er forbundet til pin 8 på ATtiny (VCC) og Digispark 5V. Den anden side er tilsluttet USB V+. Nu aktiveres USB pullup -modstanden kun, hvis Digispark -kortet er tilsluttet USB f.eks. under programmeringen.
De sidstnævnte 2 trin er også dokumenteret her.
Ved 1 MHz og 3,8 volt trækker din Digispark nu 3 mA. Med et batteri på 2000 mAh vil det køre i 28 dage.
Trin 5: Brug søvn i stedet for forsinkelse ()
I stedet for lange forsinkelser kan du bruge strømbesparende CPU -søvn. Soveperioder kan vare fra 15 millisekunder til 8 sekunder i trin på 15, 30, 60, 120, 250, 500 millisekunder og 1, 2, 4, 8 sekunder.
Da opstartstid fra søvn er 65 millisekunder med indstillingerne for digispark -sikring fra fabrikken, kan kun forsinkelser større end 80 ms erstattes af søvn.
Under søvn trækker din Digispark 27 µA. Med en 200 mAh knapcelle 2032 vil den sove i 10 måneder.
For at være korrekt skal Digispark mindst vågne hvert 8. sekund, køre i mindst 65 millisekunder og trække omkring 2 mA strøm. Dette fører til en gennemsnitlig strøm på 42 µA og 6 måneder. I dette scenario gør det næsten ingen forskel, hvis dit program kører i 10 millisekunder (hvert 8. sekund).
Koden til brug af søvn er:
#include #include flygtige uint16_t sNumberOfSleeps = 0; ekstern flygtig usigneret lang millis_timer_millis; tomrumsopsætning () {sleep_enable (); set_sleep_mode (SLEEP_MODE_PWR_DOWN); // dybeste dvaletilstand…} void loop () {… sleepWithWatchdog (WDTO_250MS, true); // sove i 250 ms … sleepWithWatchdog (WDTO_2S, sand); // sove i 2 sekunder…}/ * * aWatchdogPrescaler kan være 0 (15 ms) til 3 (120 ms), 4 (250 ms) op til 9 (8000 ms) */ uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) {uint16_t tResultMillis = 8000; for (uint8_t i = 0; jeg gemmer 200 uA // brug wdt_enable (), da den håndterer, at WDP3 -bit er i bit 5 i WDTCR -registret wdt_enable (aWatchdogPrescaler); WDTCR | = _BV (WDIE) | _BV (WDIF); // Watchdog interrupt enable + reset interrupt flag -> needs ISR (WDT_vect) sei (); // Enable interrupts sleep_cpu (); // Watchdog interrupt will wake us from sleep wdt_disable (); // Fordi næste afbrydelse ellers vil føre til en nulstilling, da wdt_enable () indstiller WDE / Watchdog System Reset Aktiver ADCSRA | = ADEN; / * * Da timeruret muligvis er deaktiveret, kan du kun justere millis, hvis det ikke sov i inaktiv tilstand (SM2 … 0 bit er 000) * / hvis (aAdjustMillis && (MCUCR & ((_BV (SM1) | _BV (SM0))))! = 0) {millis_timer_millis += computeSleepMillis (aWatchdogPrescaler);}} / * * Denne afbrydelse vågner cpuen fra søvn * / ISR (WDT_vect) {sNumberOfSleeps ++;}
Trin 6: Rediger sikringerne
22 mA af de 27 mA tegnes af BOD (BrownOutDetection/underspændingsdetektering). BOD kan kun deaktiveres ved omprogrammering af sikringerne, hvilket kun kan udføres med en internetudbyder. Ved hjælp af dette script kan du reducere strømmen ned til 5,5 µA og også reducere opstartstiden fra søvn til 4 millisekunder.
5 af de resterende 5,5 µA tegnes af den aktive vagthundstæller. Hvis du kan bruge eksterne nulstillinger til vågning, kan strømforbruget falde til 0,3 µA som angivet i databladet.
Hvis du ikke kan nå denne værdi, kan årsagen være, at den omvendte strøm af schottky -dioden mellem VCC og pullup er for høj. Husk, at en 12 MOhm modstand også trækker 0,3 µA ved 3,7 volt.
Dette resulterer i et gennemsnitligt strømforbrug på 9 µA (2,5 år med en 200 mAh knapcelle 2032), hvis du f.eks. behandle data hvert 8. sekund i 3 millisekunder som her.
Trin 7: Yderligere information
Nuværende tegning af et Digispark -bræt.
Projekt ved hjælp af denne vejledning.
Anbefalede:
Reducering af relæstrømforbrug - Holding Versus Pickup Current: 3 trin
Reducering af relæets strømforbrug - Holding Versus Pickup Current: De fleste relæer kræver mere strøm for at starte først, end det er nødvendigt for at holde relæet på, når kontakterne er lukket. Strømmen, der kræves for at holde relæet på (holde strøm) kan være væsentligt mindre end den oprindelige strøm, der kræves for at aktivere
LoRa Messenger til to enheder til distancer Op til 8 km: 7 trin
LoRa Messenger til to enheder til afstande Op til 8 km: Tilslut projektet til din bærbare computer eller telefon, og chat derefter mellem enhederne uden internet eller SMS ved hjælp af bare LoRa.Hey, hvad sker der gutter? Akarsh her fra CETech. I dag skal vi lave et projekt, der kan forbindes til din smartphone eller en hvilken som helst
1A til 40A nuværende BOOST -konverter til op til 1000W DC -motor: 3 trin
1A til 40A Current BOOST-konverter til op til 1000W DC-motor: Hej! I denne video lærer du, hvordan du laver et strømforstærkerkredsløb til dine høj ampere DC-motorer op til 1000W og 40 ampere med transistorer og en center-tap-transformer. Selvom, strømmen ved udgangen er meget høj, men spændingen bliver r
Overbevis dig selv om bare at bruge en 12V-til-AC-line inverter til LED-lysstrenge i stedet for at genoprette dem til 12V .: 3 trin
Overbevis dig selv om bare at bruge en 12V-til-AC-line inverter til LED-lysstrenge i stedet for at genoprette dem til 12V .: Min plan var enkel. Jeg ville skære en væg-drevet LED-lysstreng i stykker og derefter genkoble den til at køre 12 volt. Alternativet var at bruge en strømomformer, men vi ved alle, at de er frygtelig ineffektive, ikke? Ret? Eller er de det?
Reducering af ventilatorstøj fra en NAS -enhed .: 6 trin
Reducering af ventilatorstøj fra en NAS -enhed .: Wow, min første instruerbare, så vær venlig. Mit hjemmenetværk indeholder blandt andet en NAS -enhed. Dette er en enhed, du ville køre 24x7 for generel tilgængelighed, ikke desto mindre foretrækker jeg at beholde denne enhed i stuen, fordi det