Annons
Arduino-brädor har förändrat DIY-teknikens ansikte. Enkla projekt som att skapa miniatyr Arduino trafikljus är perfekta för att lära nybörjare om grundläggande elektronik och programmering.
Arduinos är perfekta för hemmaprojekt och kan användas på resande fot genom att ansluta ett batteripaket till dem. Problemet är att till och med det chunkaste batteriet kommer att tappas snabbt av till och med ett litet Arduino-kort.
Om du verkligen vill att din Arduino ska köra för lång tid, kommer du att behöva göra några justeringar och ändringar.
1. Arduino lågkraft-programvarubibliotek
Det finns flera mjukvarubibliotek som kan ändra din Arduinos strömförbrukning. Genom att skicka Arduino i en djup sömn under en viss tid kan du spara ström mellan operationerna. Detta är särskilt användbart för mikrokontroller som tar sensoravläsningar i avlägsna områden som väderstationer, eller avkänner underkretsar för större enheter.
De Lågeffektbibliotek av Github användaren 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ågon av bibliotekets exempelkod:
#include "LowPower.h" // setup () dina sensorer / lysdioder här void loop () {// Den här nästa raden stänger av arduino i 8 sekunder // ADC betyder analog till digital konvertering, och BOD för brun utdetektering // båda stängs av under sömnperioden för att spara ström 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. }
Den här koden är en bra start. Inte bara tappar den strömförbrukningen med redan inbyggda metoder, det stänger av den potentiellt kostsamma analog till digital konvertering (som kan använda ström även när den är inaktiv) och brun ut upptäckt 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 dock gå mycket djupare än detta!
2. Arduino inbyggd energibesparing
Arduino-programmeringsspråket har sitt eget inbyggda sömn funktionalitet utformad för att hjälpa till med energisparande Sömnfunktionen, används tillsammans med avbryta klausuler, låt Arduino vakna igen.
Arduino har specifika stift utformade för att avbryta sömncykeln, och du kan komma åt dem med installationsfunktionen:
#definiera interruptPin 2 void-installation () {// interrupt pin 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 detta är konfigurerat som en avbrottsstift kan du säkert gå vidare med att skicka din Arduino i vila. Ett förenklat sätt att göra detta är att skapa två små funktioner:
void sendToSleep () {// möjliggöra sova - notera att den primära sömnen inte startar den! sleep_enable (); // bifoga avbrottet, ange stiftet, metoden för att anropa avbrott, // och avbrottsförhållandena, i detta fall när stiftet dras lågt. attachInterrupt (interruptPin, wakeUpAgain, LOW); // aktivera faktiskt viloläge sleep_cpu (); // kod fortsätter härifrån efter avbrott Serial.println ("Bara vaken."); } void wakeUpAgain () {// stoppa sömnläget sleep_disable (); // rensa interrupt detachInterrupt (interrputPin); }
Koden ovan är ett förenklat sätt att skicka din Arduino till viloläge, och du kan väcka upp den igen genom att ansluta stift 2 till GND stift. Medan Arduino Uno är i viloläge rakar den sig runt 11 mA från det totala strömavtrycket, och om du använder en Pro Mini istället kan du förvänta dig att sjunka från 25 mA regelbunden strömförbrukning till bara 0,57 mA.
Avbrott är ett bra sätt att minska din energiförbrukning och Kurks-bloggen har några detaljerade inlägg om dem, vilket hjälper till att avmystifiera avbrott för nybörjare.
3. Sakta ner Arduino Clock Speed
Klockhastigheten för din Arduino avgör hur många operationer den kan utföra per sekund. De flesta Arduino-brädor körs på en 8 eller 16 MHz-processor, även om några av avlastningsbrädorna, som Teensy 3.6, har processhastigheter på upp till 180 MHz! Det är därför många DIY-hackare gillar att använda Teensy-brädor 7 coola projekt du kan bygga med en teensyTeensy är ett bra alternativ till Arduino, och dessa fantastiska projekt visar precis vad du kan göra med en Teensy! Läs mer över Arduino i sina DIY-projekt.
All denna bearbetningskraft kommer till en energikostnad, och för många användningsfall är det mycket överdrivet. Det är här att reglera klockhastigheten genom programvara kan göra en skillnad.
Det skulle ta mig till mig att inte varna dig, ändra klockhastighet kan orsaka problem med bootloader och kan lämna dig en Arduino som du inte kan ladda upp skisser till, om det görs fel.
Om du vill försöka ändra din klockhastighet, tillsammans med att skapa verktyg i Arduino IDE så att du kan ändra CPU-frekvens under resan, Pieter P: s detaljerade guide kan hjälpa dig komma igång.
4. Byt ut Power-Hungry Arduino-komponenter
Arduino Uno är det mest populära brädet för nybörjare, och de flesta Arduino-kit levererar antingen en officiell modell eller en klonmodell. Dess större formfaktor och heta bytbara mikrochips gör det perfekt för experiment och dess breda kapacitet för ingångsspänningar tillsammans med ombord spänningskonvertering för 3.3v komponenter gör det passande för nästan alla syfte.
All den här funktionen är inte billig 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 förändra en Arduino Uno för att spara ström.
Spänningsregulatorn på Arduino Uno orsakar den största enskilda kraftuttaget på kortet. Detta är inte särskilt överraskande, eftersom det måste sjunka upp till 7v säkert från ingångsförsörjningen till själva kortet. Vissa har försökt komma runt detta genom att ersätta regulatorn med mer effektiva, men det löser inte problemet.
Patrick Fenner från DefProc engineering kom med en bra lösning i hans blogginlägg som täcker Uno strömsparestrategier. Genom att byta ut spänningsregulatorn helt med en DC-DC buck-omvandlare lyckades han halva mikroförbrukarens effektförbrukning.
5. Gör din egen Arduino
Ett säkert brand-sätt att bara använda kraften som behövs för ditt projekt är att designa en mikrokontroller enligt dina egna specifikationer. Tidigare har vi visat hur du kan bygg din egen Arduino Spendera inte pengar på en Arduino - Bygg din egen för mycket mindreJag älskar min Arduinos. När som helst har jag ganska många projekt på språng - prototyper är bara så enkelt 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 ett officiellt styrelse.
Förutom att du har mycket mer kontroll över storleken och omfattningen på din krets kan detta bringa energiförbrukningen 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 otroligt detaljerat inlägg av Nick Gammon på sitt forum.
Det här inlägget täcker många andra aspekter av Arduino-energibesparing, och är en fantastisk resurs att hänvisa till när du försöker pressa lite mer tid ur en mobil strömförsörjning.
Använd Arduino för stora idéer och ett litet kraftavtryck
När du arbetar med dina första nybörjars Arduino-projekt, strömförbrukning är förmodligen inte för mycket oroande.
När dina idéer blir större och kräver mer eftertanke är det väl värt att lära sig sätt att effektivisera din uppsättning. Mellan se till att du får rätt Arduino-bräde Arduino Buying Guide: Vilket styrelse ska du få?Det finns så många olika typer av Arduino-brädor där ute, du skulle bli förlåten för att du är förvirrad. Vilket ska du köpa för ditt projekt? Låt oss hjälpa till med denna Arduino-köpguide! Läs mer och ställa in det för att få ut mesta möjliga av det kan du gå en lång väg att göra verkligt unika och användbara enheter. Lycka till och fortsätt att tippa!
Ian Buckley är frilansjournalist, musiker, artist och videoproducent bosatt i Berlin, Tyskland. När han inte skriver eller på scenen tänker han på DIY-elektronik eller kod i hopp om att bli en gal forskare.