5 Arduino Energiebesparende tips die ervoor zorgen dat je dagen blijft werken
Arduino-platen hebben het gezicht van doe-het-zelftechnologie veranderd. Simpele projecten zoals het maken van miniatuur Arduino-verkeerslichten zijn perfect voor beginners over elementaire elektronica en programmeren.
Arduino's zijn perfect voor thuisprojecten en kunnen onderweg worden gebruikt door een batterijpakket eraan te bevestigen. Het probleem is dat zelfs de dikste batterij snel wordt leeggemaakt door zelfs een klein Arduino-bord.
Als je echt wilt dat je Arduino voor de lange termijn werkt, moet je wat aanpassingen en aanpassingen aanbrengen.
1. Arduino Low-Power-softwarebibliotheken
Er zijn verschillende softwarebibliotheken beschikbaar die het stroomverbruik van uw Arduino kunnen veranderen. Door de Arduino een bepaalde tijd in een diepe slaap te laten, kan energie tussen operaties worden opgeslagen. Dit is vooral handig voor microcontrollers die sensormetingen uitvoeren in afgelegen gebieden zoals weerstations of waardesubgroepen voor grotere apparaten.
De Low-Power bibliotheek van Github user rocketscream is een voorbeeld van een eenvoudig te gebruiken bibliotheek die perfect is om wat kracht te besparen. Beschouw de volgende code, gebaseerd op een voorbeeldcode van de bibliotheek:
# include "LowPower.h" // setup () uw sensoren / LED's hier void loop () // Deze volgende regel voedt de arduino gedurende 8 seconden omlaag // ADC betekent conversie van analoog naar digitaal, en BOD voor detectie van bruin uit / / beide zijn uitgeschakeld tijdens de slaapperiode om energie te besparen LowPower.powerDown (SLEEP_8S, ADC_OFF, BOD_OFF); // Na elke slaap kunt u de Arduino opdracht geven om zijn taken hier uit te voeren, bijvoorbeeld om een temperatuurmeting uit te voeren en deze naar een server te sturen.
Deze code is een goed begin. Niet alleen verliest het het stroomverbruik met behulp van reeds ingebouwde methoden, het schakelt de potentieel dure uit conversie van analoog naar digitaal (die stroom kan gebruiken, zelfs als deze niet wordt gebruikt) en de detectie bruin uit die de Arduino-hardloopcode stopt wanneer de ingangsspanning te laag wordt.
Dit is een eenvoudige maar effectieve maatregel om te beginnen met het verminderen van hoeveel kracht uw Arduino trekt. We kunnen echter veel dieper gaan!
2. Arduino Ingebouwde energiebesparing
De Arduino-programmeertaal heeft een ingebouwde programmeertaal slaap functionaliteit die is ontworpen om te helpen bij energiebesparing. De slaapfunctie, gebruikt in combinatie met onderbreken clausules, laat de Arduino weer ontwaken.
Arduino heeft specifieke pinnen die zijn ontworpen om de slaapcyclus te onderbreken, en u kunt ze openen met behulp van de setup-functie:
#define interruptPin 2 void setup () // interrupt pin MOET Arduino pin 2 of 3 zijn op Uno // zet de pin in pull up mode pinMode (interruptPin, INPUT_PULLUP);
Nu dit als een interrupt-pin is ingesteld, kunt u uw Arduino veilig in slaapstand brengen. Een vereenvoudigde manier om dit te doen is om twee kleine functies te creëren:
void sendToSleep () // slaapstand inschakelen - let op dit gaat slapen, het begint niet! sleep_enable (); // bevestig de interrupt, geef de pin op, de methode om een interrupt, // en de interrupt-voorwaarden aan te roepen, in dit geval wanneer de pin laag wordt getrokken. attachInterrupt (interruptPin, wakeUpAgain, LOW); // activeer eigenlijk de slaapmodus sleep_cpu (); // code gaat verder vanaf hier na onderbreking Serial.println ("Net wakker."); void wakeUpAgain () // stop slaapmodus sleep_disable (); // wis de interrupt detachInterrupt (interrputPin);
De bovenstaande code is een vereenvoudigde manier om je Arduino in slaapmodus te zetten en je kunt hem weer activeren door hem aan te sluiten pin 2 naar de GND pin. Terwijl de Arduino Uno in de slaapstand staat, scheert het ongeveer 11mA van de totale stroomafname en als je een Pro Mini gebruikt, kun je verwachten dat het van 25mA normaal stroomverbruik naar slechts 0,57mA gaat.
Onderbrekingen zijn een geweldige manier om je stroomverbruik omlaag te brengen, en The Kurks-blog heeft een aantal gedetailleerde berichten over hen, die helpen om interrupts voor beginners te demystificeren.
3. Vertraag de Arduino kloksnelheid
De kloksnelheid van uw Arduino bepaalt hoeveel bewerkingen het per seconde kan uitvoeren. De meeste Arduino-kaarten draaien op een 8 of 16 MHz-processor, hoewel sommige uithangborden zoals de Teensy 3.6 verwerkingssnelheden tot 180 MHz bieden! Dit is de reden waarom veel doe-het-hackers graag Teensy boards gebruiken 7 Coole projecten die je kunt bouwen met een tiener 7 coole projecten die je kunt bouwen met een tiener Teensy is een geweldig alternatief voor Arduino, en deze geweldige projecten laten precies zien wat je kunt doen met een Teensy ! Lees meer over Arduino in hun doe-het-zelf-projecten.
Al deze verwerkingscapaciteit komt op energiekosten, en voor veel gebruik is het gebruik van de volledige kloksnelheid overdreven. Dit is waar het regelen van de kloksnelheid door software een verschil kan maken.
Het zou nalatig van me zijn om je niet te waarschuwen, het wijzigen van de kloksnelheid kan problemen met de bootloader veroorzaken en kan je verlaten met een Arduino waar je schetsen niet naar kunt uploaden, als je het verkeerd hebt gedaan.
Als je toch eens wilt proberen je kloksnelheid te veranderen, samen met het maken van tools in de Arduino IDE zodat je de CPU-frequentie on the fly kunt veranderen, kan de gedetailleerde gids van Pieter P je helpen aan de slag te gaan.
4. Vervang Power-Hungry Arduino Components
De Arduino Uno is het populairste bord voor beginners en de meeste Arduino-kits leveren een officieel of kloonmodel. Zijn grotere vormfactor en hot-swappable microchips maken hem perfect voor experimenten, en zijn brede capaciteit voor ingangsspanningen samen met boordvoltageconversie voor 3.3v componenten maken het geschikt voor bijna elk doel.
Al deze functionaliteit is niet goedkoop in termen van energieverbruik. Met dit in gedachten zijn er een aantal dingen die je kunt doen om een Arduino Uno fysiek te veranderen om stroom te sparen.
De spanningsregelaar op de Arduino Uno zorgt voor de grootste stroomafname op het bord. Dit is niet bijzonder verrassend, omdat het veilig tot 7V moet laten vallen van de ingangsvoeding naar het bord zelf. Sommigen hebben geprobeerd dit te omzeilen door de regulator te vervangen door efficiëntere, maar dit lost het probleem niet echt op.
Patrick Fenner van DefProc engineering kwam met een geweldige oplossing in zijn blog over Uno-energiebesparingsstrategieën. Door de spanningsregelaar volledig te vervangen door een DC-DC buck converter, slaagde hij erin het energieverbruik van de microcontroller te halveren.
5. Maak je eigen Arduino
Een goede manier om alleen de stroom te gebruiken die nodig is voor uw project, is om een microcontroller naar eigen specificaties in te richten. In het verleden hebben we laten zien hoe je je eigen Arduino kunt bouwen. Besteed geen geld aan een Arduino - Bouw je eigen voor veel minder Betaal geen geld aan een Arduino - Bouw je eigen voor veel minder Ik hou van mijn Arduino. Op elk moment heb ik een flink aantal projecten onderweg - prototyping is zo eenvoudig met hen. Maar soms wil ik het project functioneel houden zonder te kopen ... Lees meer voor een fractie van de kosten van een officieel bord.
Behalve dat het veel meer controle heeft over de omvang en reikwijdte van uw circuit, kan dit het stroomverbruik tot 15,15 mA in stand-by brengen en slechts 0,36 mA in de slaapmodus. Deze figuren zijn ontleend aan de ongelooflijk gedetailleerde post van Nick Gammon op zijn forum.
Deze post behandelt vele andere aspecten van Arduino energiebesparing, en is een fantastische hulpbron om naar te verwijzen als je probeert wat meer tijd uit een mobiele stroomvoorziening te persen.
Gebruik Arduino voor Big Ideas en een Small Power Footprint
Wanneer je werkt aan je eerste Arduino-beginnersprojecten, is het energieverbruik waarschijnlijk niet zo belangrijk.
Naarmate uw ideeën groter worden en meer aandacht vereisen, is het de moeite waard om manieren te leren om uw opstelling te stroomlijnen. Tussen ervoor zorgen dat u het juiste Arduino-bord krijgt Arduino Koopgids: welk bord moet u kopen? Arduino Koopwijzer: welk bord moet je kopen? Er zijn zoveel verschillende soorten Arduino-boards, dat je zou worden vergeven dat je in de war was. Welke moet je kopen voor je project? Laat ons helpen, met deze Arduino koopgids! Meer lezen en het opzetten om er het maximale uit te halen, je kunt een heel eind verder gaan met het maken van echt unieke en nuttige apparaten. Veel succes en blijf sleutelen!
Ontdek meer over: Arduino, levensduur van de batterij, hardware-tips.