5 tips om strømsparing fra Arduino som holder din kjørende i flere dager

5 tips om strømsparing fra Arduino som holder din kjørende i flere dager

Arduino -plater har forandret ansiktet til DIY -teknologien. Enkle prosjekter som å lage miniatyr Arduino -trafikklys er perfekte for å lære nybegynnere om grunnleggende elektronikk og programmering.





Arduinos er perfekte for hjemmeprosjekter, og kan brukes på farten ved å feste en batteripakke til dem. Problemet er at selv det tykkeste batteriet vil bli tappet raskt av enda et lite Arduino -kort.





stoppekode for blå skjerm i Windows 10

Hvis du virkelig vil at Arduino skal kjøre på lang sikt, må du gjøre noen justeringer og endringer.





1. Arduino Low-Power Software Libraries

Det er flere programvarebiblioteker tilgjengelig som kan endre Arduinos strømforbruk. Ved å sende Arduino i en dyp søvn i en bestemt tid, kan du spare strøm mellom operasjonene. Dette er spesielt nyttig for mikrokontrollere som tar sensoravlesninger i fjerntliggende områder, for eksempel værstasjoner, eller som registrerer underkretser for større enheter.

De Lavt strømbibliotek av Github -bruker rocketscream er et eksempel på et brukervennlig bibliotek som er perfekt for å spare strøm. Vurder følgende kode, basert på noen av bibliotekets eksempelkode:



#include 'LowPower.h'
// setup() your sensors/LEDs here
void loop()
{
// This next line powers the arduino down for 8 seconds
//ADC means analogue to digital conversion, and BOD for brown out detection
//both are turned off during the sleep period to save power
LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);

//After each sleep, you can instruct the Arduino to carry out its tasks here - for example, take a temperature reading and send it to a server.
}

Denne koden er en god start. Ikke bare reduserer det strømforbruket ved hjelp av allerede innebygde metoder, det slår av det potensielt kostbare analog til digital konvertering (som kan bruke strøm selv når den er inaktiv) og brun ut deteksjon som stopper Arduino -løpekoden når inngangsspenningen blir for lav.

Dette er et enkelt, men effektivt tiltak for å begynne å kutte ned hvor mye strøm Arduino trekker. Vi kan gå mye dypere enn dette!





2. Arduino innebygd strømsparing

Programmeringsspråket Arduino har sitt eget innebygde søvn funksjonalitet designet for å hjelpe med strømsparing. Søvnfunksjonen, brukt sammen med avbryte klausuler, la Arduino våkne igjen.

Arduino har spesifikke pinner designet for å avbryte søvnsyklusen, og du kan få tilgang til dem ved hjelp av oppsettfunksjonen:





#define interruptPin 2
void setup()
{
//interrupt pin MUST be Arduino pin 2 or 3 on Uno
//set the pin to pull up mode
pinMode(interruptPin, INPUT_PULLUP);
}

Nå som dette er konfigurert som en avbruddsnål, kan du trygt sende Arduino i dvale. En forenklet måte å gjøre dette på er å lage to små funksjoner:

void sendToSleep()
{
//enable sleeping - note this primes sleep, not starts it!
sleep_enable();
//attach the interrupt, specify the pin, the method to call on interrupt,
//and the interrupt conditions, in this case when the pin is pulled low.
attachInterrupt(interruptPin, wakeUpAgain, LOW);
//actually activate sleep mode
sleep_cpu();
//code continues on from here after interrupt
Serial.println('Just awoke.');
}
void wakeUpAgain()
{
//stop sleep mode
sleep_disable();
//clear the interrupt
detachInterrupt(interrputPin);
}

Koden ovenfor er en forenklet måte å sende Arduino i hvilemodus, og du kan vekke den igjen ved å koble til pinne 2 til GND pin. Mens Arduino Uno er i hvilemodus, barberer den rundt 11mA av den totale strømuttaket, og hvis du bruker en Pro Mini i stedet, kan du forvente å falle fra 25mA vanlig strømforbruk til bare 0,57mA.

Avbrudd er en fin måte å få ned strømforbruket, og Kurks -bloggen har noen detaljerte innlegg om dem , som bidrar til å demystifisere avbrudd for nybegynnere.

3. Senk Arduino -klokkehastigheten

Klokkehastigheten til din Arduino bestemmer hvor mange operasjoner den kan utføre per sekund. De fleste Arduino -kort kjører på en 8 eller 16 MHz prosessor, selv om noen av offshoot -kortene, for eksempel Teensy 3.6, har prosesshastigheter på opptil 180 MHz! Det er derfor mange DIY -hackere liker å bruke Teensy -brett over Arduino i sine DIY -prosjekter.

All denne prosessorkraften kommer med en strømkostnad, og for mange bruksområder er det helt overkill å bruke full klokkehastighet. Det er her regulering av klokkehastigheten gjennom programvare kan gjøre en forskjell.

Det ville være en remise av meg å ikke advare deg, endring av klokkehastigheten kan forårsake problemer med oppstartslaster og kan gi deg en Arduino du ikke kan laste opp skisser til, hvis det gjøres feil.

Hvis du vil prøve å endre klokkehastigheten, sammen med å lage verktøy i Arduino IDE, slik at du kan endre CPU -frekvensen i farten, Pieter Ps detaljerte guide kan hjelpe deg i gang.

4. Bytt Power-Hungry Arduino-komponenter

Arduino Uno er det mest populære brettet for nybegynnere, og de fleste Arduino -settene leverer enten en offisiell eller klonemodell. Den større formfaktoren og hot swappable mikrochips gjør den perfekt for eksperimentering, og den brede kapasiteten for inngangsspenninger sammen med innebygd spenningskonvertering for 3.3v komponenter gjør at den passer til nesten alle formål.

All denne funksjonaliteten kommer ikke billig når det gjelder strømforbruk. Med dette i bakhodet er det en rekke ting du kan gjøre for å fysisk endre en Arduino Uno for å spare strøm.

Spenningsregulatoren på Arduino Uno forårsaker det største enkelt strømuttaket på brettet. Dette er ikke spesielt overraskende, ettersom det må falle opptil 7v trygt fra inngangsspenningen til selve kortet. Noen har prøvd å komme seg rundt dette ved å erstatte regulatoren med mer effektive, men dette løser egentlig ikke problemet.

Patrick Fenner fra DefProc engineering kom med en flott løsning i sitt blogginnlegg som dekker Uno strømsparingsstrategier. Ved å erstatte spenningsregulatoren helt med en DC-DC buck-omformer, klarte han å halvere strømforbruket til mikrokontrolleren.

5. Lag din egen Arduino

En sikker måte å bare bruke strømmen som trengs for prosjektet ditt, er å designe en mikrokontroller etter dine egne spesifikasjoner. Tidligere har vi vist hvordan du kan bygge din egen Arduino for en brøkdel av kostnaden for et offisielt styre.

I tillegg til å ha mye mer kontroll over størrelsen og omfanget av kretsen din, kan dette bringe strømforbruket ned til 15,15mA i standby, og så lite som 0,36mA i hvilemodus. Disse tallene er hentet fra utrolig detaljert innlegg av Nick Gammon på forumet hans.

Dette innlegget dekker mange andre aspekter ved Arduino strømsparing, og er en fantastisk ressurs å referere til når du prøver å presse litt mer tid ut av en mobil strømforsyning.

Bruk Arduino for store ideer og et lite fotavtrykk

Når du jobber med dine første nybegynnere Arduino -prosjekter , strømforbruk er sannsynligvis ikke så mye bekymring.

Etter hvert som ideene dine blir større og krever mer tenking, er det vel verdt å lære måter å effektivisere oppsettet ditt. Mellom å sørge for at du får det riktige Arduino -kortet og sette det opp for å få mest mulig ut av det, kan du gå langt for å lage virkelig unike og nyttige enheter. Lykke til og fortsett å tukle!

hvordan ser jeg abonnentene mine på youtube
Dele Dele kvitring E -post Her er hvorfor FBI utstedte en advarsel for Hive Ransomware

FBI utstedte en advarsel om en spesielt ekkel stamme av ransomware. Her er hvorfor du må være spesielt forsiktig med Hive ransomware.

Les neste
Relaterte temaer
  • DIY
  • Batteritid
  • Arduino
  • Maskinvaretips
Om forfatteren Ian Buckley(216 artikler publisert)

Ian Buckley er frilansjournalist, musiker, utøver og videoprodusent bosatt i Berlin, Tyskland. Når han ikke skriver eller står på scenen, pusler han med DIY -elektronikk eller kode i håp om å bli en gal forsker.

Mer fra Ian Buckley

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere