5 Arduino energiebesparende tips die de jouwe dagenlang laten werken

5 Arduino energiebesparende tips die de jouwe dagenlang laten werken

Arduino-boards hebben het gezicht van doe-het-zelftechnologie veranderd. Eenvoudige projecten zoals het maken van miniatuur Arduino-verkeerslichten zijn perfect om beginners te leren over basiselektronica en programmeren.





Arduino's zijn perfect voor thuisprojecten en kunnen onderweg worden gebruikt door er een batterijpakket aan te bevestigen. Het probleem is dat zelfs de dikste batterij snel leeg raakt door zelfs een klein Arduino-bord.





google play-services is gestopt met lolly

Als je echt wilt dat je Arduino voor de lange termijn werkt, moet je wat tweaks en wijzigingen aanbrengen.





1. Arduino Low-Power-softwarebibliotheken

Er zijn verschillende softwarebibliotheken beschikbaar die het stroomverbruik van uw Arduino kunnen veranderen. Door de Arduino gedurende een bepaalde tijd in een diepe slaap te sturen, kan tussen bewerkingen stroom worden bespaard. Dit is met name handig voor microcontrollers die sensormetingen uitvoeren in afgelegen gebieden zoals weerstations, of subcircuits voor grotere apparaten detecteren.

De Low-Power bibliotheek door Github-gebruiker rocketscream is een voorbeeld van een eenvoudig te gebruiken bibliotheek die perfect is om wat energie te besparen. Overweeg de volgende code, gebaseerd op enkele voorbeeldcode van de bibliotheek:



#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.
}

Deze code is een goed begin. Het verlaagt niet alleen het stroomverbruik met behulp van reeds ingebouwde methoden, het schakelt de potentieel dure analoog naar digitaal conversie (die zelfs bij inactiviteit stroom kan verbruiken) en de detectie bruining die de Arduino-runcode stopt wanneer de ingangsspanning te laag wordt.

Dit is een eenvoudige maar effectieve maatregel om te beginnen met het verminderen van de hoeveelheid stroom die uw Arduino trekt. We kunnen echter veel dieper gaan dan dit!





2. Arduino ingebouwde energiebesparing

De Arduino-programmeertaal heeft zijn eigen ingebouwde 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 je kunt ze openen met behulp van de setup-functie:





#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);
}

Nu dit is ingesteld als een interrupt-pin, kun je veilig je Arduino in de slaapstand sturen. Een vereenvoudigde manier om dit te doen is door twee kleine functies te creëren:

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);
}

De bovenstaande code is een vereenvoudigde manier om je Arduino in de slaapstand te sturen en je kunt hem weer wakker maken door verbinding te maken pin 2 naar de GND pin. Terwijl de Arduino Uno in de slaapstand staat, scheert hij ongeveer 11 mA van het totale stroomverbruik, en als u in plaats daarvan een Pro Mini gebruikt, kunt u verwachten dat het normale stroomverbruik van 25 mA daalt naar slechts 0,57 mA.

Onderbrekingen zijn een geweldige manier om uw stroomverbruik te verlagen, en De 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 je Arduino bepaalt hoeveel bewerkingen hij per seconde kan uitvoeren. De meeste Arduino-kaarten werken op een 8 of 16 MHz-processor, hoewel sommige van de uitlopers, zoals de Teensy 3.6, verwerkingssnelheden tot 180 MHz hebben! Dit is waarom velen DIY-hackers gebruiken graag Teensy-borden over Arduino in hun doe-het-zelfprojecten.

Al deze verwerkingskracht brengt stroomkosten met zich mee, en voor veel gebruikssituaties is het overkill om de volledige kloksnelheid te gebruiken. Dit is waar het softwarematig regelen van de kloksnelheid een verschil kan maken.

Het zou nalatig zijn als ik je niet zou waarschuwen, het veranderen van de kloksnelheid kan problemen met de bootloader veroorzaken en kan je achterlaten met een Arduino waar je geen schetsen naar kunt uploaden, als het verkeerd wordt gedaan.

Als je wilt proberen je kloksnelheid te veranderen, samen met het maken van tools in de Arduino IDE waarmee je de CPU-frequentie on-the-fly kunt wijzigen, De gedetailleerde gids van Pieter P kan u op weg helpen.

4. Vervang Power-Hungry Arduino-componenten

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 de ingebouwde spanningsconversie voor 3,3v-componenten maken hem geschikt voor bijna elk doel.

Al deze functionaliteit is niet goedkoop in termen van stroomverbruik. Met dit in gedachten zijn er een aantal dingen die u kunt doen om een ​​Arduino Uno fysiek te veranderen om stroom te besparen.

De spanningsregelaar op de Arduino Uno veroorzaakt de grootste stroomafname op het bord. Dit is niet bijzonder verrassend, omdat het veilig tot 7v moet dalen van de ingangsvoeding naar het bord zelf. Sommigen hebben geprobeerd dit te omzeilen door de regelaar te vervangen door efficiëntere exemplaren, maar dit lost het probleem niet echt op.

Patrick Fenner van DefProc Engineering kwam met een geweldige oplossing in zijn blogpost over energiebesparende strategieën van Uno. Door de spanningsregelaar volledig te vervangen door een DC-DC buck converter wist hij het stroomverbruik van de microcontroller te halveren.

5. Maak je eigen Arduino

Een zekere manier om alleen de stroom te gebruiken die nodig is voor uw project, is door een microcontroller te ontwerpen volgens uw eigen specificaties. In het verleden hebben we laten zien hoe je je eigen Arduino kunt bouwen voor een fractie van de kosten van een officieel bord.

Dit heeft niet alleen veel meer controle over de grootte en reikwijdte van uw circuit, maar kan het stroomverbruik ook terugbrengen tot 15,15 mA in stand-by en slechts 0,36 mA in de slaapstand. Deze cijfers zijn ontleend aan de ongelooflijk gedetailleerde post door Nick Gammon op zijn forum.

Dit bericht behandelt vele andere aspecten van Arduino-energiebesparing en is een fantastische bron om naar te verwijzen wanneer u probeert wat meer tijd uit een mobiele voeding te halen.

Gebruik Arduino voor grote ideeën en een kleine vermogensvoetafdruk

Wanneer je bezig bent met je eerste Arduino-projecten voor beginners , stroomverbruik is waarschijnlijk niet zo'n probleem.

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 je het juiste Arduino-bord krijgt en het instellen om er het maximale uit te halen, kun je een heel eind gaan om echt unieke en nuttige apparaten te maken. Succes en blijf knutselen!

stop code geheugenbeheer windows 10
Deel Deel Tweeten E-mail Dit is waarom de FBI een waarschuwing heeft afgegeven voor Hive Ransomware

De FBI waarschuwde voor een bijzonder vervelende vorm van ransomware. Dit is waarom je extra op je hoede moet zijn voor Hive-ransomware.

Lees volgende
Gerelateerde onderwerpen
  • doe-het-zelf
  • Batterijduur
  • Arduino
  • Hardwaretips
Over de auteur Ian Buckley(216 artikelen gepubliceerd)

Ian Buckley is een freelance journalist, muzikant, performer en videoproducent die in Berlijn, Duitsland woont. Als hij niet aan het schrijven of op het podium staat, sleutelt hij aan doe-het-zelf-elektronica of code in de hoop een gekke wetenschapper te worden.

Meer van Ian Buckley

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren