5 Arduino Power Saving Tips som kommer att hålla din körning för dagar
Arduino brädor har ändrat ansiktet på DIY-tekniken. Enkla projekt som att skapa miniatyr Arduino trafikljus är perfekta för att undervisa nybörjare om grundläggande elektronik och programmering.
Arduinos är perfekta för hemprojekt och kan användas på farten genom att fästa ett batteri till dem. Problemet är att även den chunkiest batteriet kommer att kasta ner snabbt med ens en liten Arduino bräda.
Om du verkligen vill att din Arduino ska springa för lång sikt, kommer du behöva göra några tweaks och förändringar.
1. Arduino Low-Power Software-bibliotek
Det finns flera mjukvarubibliotek tillgängliga som kan ändra din Arduino strömförbrukning. Genom att skicka Arduino till en djup sömn under en viss tid kan ström sparas mellan operationerna. Detta är särskilt användbart för mikrokontroller som tar sensoravläsningar i avlägsna områden, såsom väderstationer, eller avkänning av delkretsar för större enheter.
Low-Power-biblioteket från Githubs användare rocketscream är ett exempel på ett lättanvänt bibliotek som är perfekt för att spara lite ström. Tänk på följande kod, baserad på något av bibliotekets exemplar kod:
#include "LowPower.h" // setup () dina sensorer / lysdioder här tomrumsling () // Den här raden driver arduino ner i 8 sekunder // ADC betyder analog till digital konvertering och BOD för brunt ut detektering / / båda är avstängda under sömnperioden för att spara strömmen LowPower.powerDown (SLEEP_8S, ADC_OFF, BOD_OFF); // Efter varje sömn kan du instruera Arduino att utföra sina uppgifter här - till exempel, ta en temperaturavläsning och skicka den till en server.
Denna kod är en bra start. Det släpper inte bara strömförbrukningen med redan inbyggda metoder, det slår av den potentiellt kostsamma analog till digital konvertering (som kan använda ström även vid tomgang) och brun ut detektering vilket stoppar Arduino-körkoden när dess ingångsspänning blir för låg.
Detta är en enkel men effektiv åtgärd för att börja minska hur mycket kraft din Arduino drar. Vi kan gå mycket djupare än detta dock!
2. Arduino inbyggd energisparande
Arduino programmeringsspråk har sin egen inbyggda sova Funktionalitet utformad för att hjälpa till med energibesparing. Sömnfunktionen, som används i tandem med avbryta klausuler, tillåta Arduino att vakna igen.
Arduino har specifika stiften utformade för att avbryta sömncykeln, och du kan komma åt dem med hjälp av installationsfunktionen:
#define interruptPin 2 void setup () // avbryt stift MÅSTE vara Arduino pin 2 eller 3 på Uno // ställa in stiftet för att dra upp läge pinMode (interruptPin, INPUT_PULLUP);
Nu när det här ställs in som en avbrottstift kan du säkert gå och skicka din Arduino till sömn. Ett förenklat sätt att göra detta är att skapa två små funktioner:
void sendToSleep () // aktivera sovande - notera detta primärn sov, inte startar det! sleep_enable (); // bifoga avbrottet, ange stiftet, metoden för att ringa på avbrott, // och avbrott, i det här fallet när stiftet dras ned. attachInterrupt (interruptPin, wakeUpAgain, LOW); // Aktivera verkligen sovläge sleep_cpu (); // koden fortsätter på härifrån efter avbrott Serial.println ("Just woke up"); void wakeUpAgain () // stop sleep mode sleep_disable (); // rensa avbrytningsavbrottetInterrupt (interrputPin);
Koden ovan är ett förenklat sätt att skicka din Arduino till viloläge, och du kan väcka upp det igen genom att ansluta stift 2 till GND stift. Medan Arduino Uno är i viloläge rakar det omkring 11mA av det totala kraftdraget, och om du använder en Pro Mini istället kan du förvänta dig att släppa från 25mA vanlig strömförbrukning till bara 0,57mA.
Avbrott är ett bra sätt att få ner din strömförbrukning, och The Kurks blogg har några detaljerade inlägg om dem, vilket hjälper till att avbryta avbrott för nybörjare.
3. Sakta ner Arduino Clock Speed
Klockhastigheten för din Arduino bestämmer hur många operationer det kan utföra per sekund. De flesta Arduino-kort styrs på en 8 eller 16 MHz-processor, även om några av offshoot-korten som Teensy 3.6 har en hastighet på upp till 180 MHz! Det är därför många DIY-hackare gillar att använda Teensy boards 7 Coola projekt du kan bygga med teensy 7 Coola projekt du kan bygga med en Teensy Teensy är ett bra alternativ till Arduino, och dessa fantastiska projekt visar bara vad du kan göra med en Teensy ! Läs mer om Arduino i deras DIY-projekt.
Allt detta bearbetningseffekt kommer till en strömkostnad, och för många användningsfall är det helt överkill att använda hela klockhastigheten. Det är här som reglerar klockhastigheten genom programvara kan göra skillnad.
Det skulle vara min åsikt att jag inte varnar dig, Att ändra klockhastigheten kan orsaka problem med startlastaren och kan lämna dig med en Arduino du kan inte ladda upp skisser till, om det görs felaktigt.
Om du vill försöka ändra din klockhastighet, tillsammans med att göra verktyg i Arduino IDE så att du kan ändra CPU-frekvensen i flygningen, kan Pieter Ps detaljerade guide hjälpa dig att komma igång.
4. Byt ut Power-Hungry Arduino Components
Arduino Uno är den mest populära styrelsen för nybörjare, och de flesta Arduino-kit levererar antingen en officiell eller klonmodell. Dess större formfaktor och hot swappable mikrochips gör den perfekt för experiment, och dess breda kapacitet för ingångsspänningar tillsammans med ombordspänningskonvertering för 3,3v-komponenter gör den lämplig för nästan alla ändamål.
All denna funktionalitet kommer inte billigt när det gäller strömförbrukning. Med detta i åtanke finns det ett antal saker du kan göra för att fysiskt ändra en Arduino Uno för att spara ström.
Spänningsregulatorn på Arduino Uno orsakar det största enskilda strömavloppet på brädet. Detta är inte särskilt förvånande, eftersom det måste släppa upp till 7v säkert från den ingångsförsörjning till styrelsen själv. Vissa har försökt att komma runt detta genom att ersätta regulatorn med effektivare, men det löser inte verkligen problemet.
Patrick Fenner av DefProc engineering kom med en bra lösning i hans bloggpost som täckte Uno-energisparande strategier. Genom att helt ersätta spänningsregulatorn med en DC-DC-buck-omvandlare lyckades han hälften av mikrokontrollens strömförbrukning.
5. Gör din egen Arduino
Ett säkert sätt att bara använda den ström som behövs för ditt projekt är att designa en mikrokontroller till dina egna specifikationer. Tidigare har vi visat hur du kan bygga din egen Arduino. Spendera inte pengar på en Arduino - Bygg din egen för mycket mindre. Spendera inte pengar på en Arduino - Bygg din egen för mycket mindre Jag älskar min Arduino. När som helst, jag har en hel del projekt på språng - prototyper är bara så lätt med dem. Men ibland vill jag hålla projektet funktionellt utan att köpa ... Läs mer för en bråkdel av kostnaden för en officiell styrelse.
Förutom att ha mycket mer kontroll över storleken och omfattningen av din krets kan detta leda till strömförbrukning ner till 15,15 mA i vänteläge och så lite som 0,36 mA i viloläge. Dessa siffror är hämtade från Nick Gammons otroligt detaljerade inlägg på sitt forum.
Det här inlägget täcker många andra aspekter av energisparande Arduino och är en fantastisk resurs att hänvisa till när man försöker pressa lite mer tid ut ur en mobil strömförsörjning.
Använd Arduino för stora idéer och en liten kraftfotavtryck
När du arbetar med dina första nybörjare Arduino-projekt, är strömförbrukningen förmodligen inte för mycket av en oro.
När dina idéer blir större och kräver mer tanke, är det väl värt att lära sig sätt att effektivisera din inställning. Mellan att du får rätt Arduino-bord Arduino Köpguide: Vilket styrelse ska du få? Arduino Köpguide: Vilket styrelse ska du få? Det finns så många olika typer av Arduino brädor där ute, du skulle bli förlåtad för att vara förvirrad. Vilket ska du köpa för ditt projekt? Låt oss hjälpa till med den här Arduino-köpguiden! Läs mer och ställa in det för att få ut det mesta, du kan gå långt för att göra verkligen unika och användbara enheter. Lycka till och fortsätt tinkering!
Utforska mer om: Arduino, batterilivslängd, hårdvara tips.