Werbung
Arduino-Boards haben das Gesicht der DIY-Technologie verändert. Einfache Projekte wie das Erstellen Miniatur-Arduino-Ampeln sind perfekt, um Anfängern grundlegende Elektronik und Programmierung beizubringen.
Arduinos eignen sich perfekt für Heimprojekte und können unterwegs verwendet werden, indem ein Akku daran befestigt wird. Das Problem ist, dass selbst die klobigste Batterie selbst von einem kleinen Arduino-Board schnell entladen wird.
Wenn Sie wirklich möchten, dass Ihr Arduino auf lange Sicht läuft, müssen Sie einige Optimierungen und Änderungen vornehmen.
1. Arduino Low-Power-Softwarebibliotheken
Es stehen mehrere Softwarebibliotheken zur Verfügung, mit denen Sie den Stromverbrauch Ihres Arduino ändern können. Wenn Sie den Arduino für eine bestimmte Zeit in einen tiefen Schlaf versetzen, können Sie zwischen den Operationen Strom sparen. Dies ist besonders nützlich für Mikrocontroller, die Sensorwerte in abgelegenen Gebieten wie Wetterstationen erfassen oder Teilkreise für größere Geräte erfassen.
Das Low-Power-Bibliothek von Github-Benutzer rocketscream ist ein Beispiel für eine benutzerfreundliche Bibliothek, die sich perfekt zum Sparen von Strom eignet. Betrachten Sie den folgenden Code, der auf einigen Beispielcodes der Bibliothek basiert:
#include "LowPower.h" // Setup () Ihre Sensoren / LEDs hier void loop () {// Diese nächste Zeile schaltet das Arduino für 8 Sekunden aus. // ADC bedeutet Analog-Digital-Wandlung und BSB für Braun Auserkennung // Beide werden während der Ruhephase ausgeschaltet, um Strom zu sparen. LowPower.powerDown (SLEEP_8S, ADC_OFF, BOD_OFF); // Nach jedem Schlaf können Sie das Arduino anweisen, seine Aufgaben hier auszuführen. Nehmen Sie beispielsweise eine Temperaturmessung vor und senden Sie sie an einen Server. }
Dieser Code ist ein guter Anfang. Es senkt nicht nur den Stromverbrauch mit bereits integrierten Methoden, sondern schaltet auch die potenziell kostspieligen aus Analog-Digital-Wandlung (die auch im Leerlauf Strom verbrauchen können) und die Brown-Out-Erkennung Dies stoppt den Arduino-Laufcode, wenn seine Eingangsspannung zu niedrig wird.
Dies ist eine einfache, aber effektive Maßnahme, um die Leistung Ihres Arduino zu verringern. Wir können aber viel tiefer gehen!
2. Arduino eingebaute Energieeinsparung
Die Programmiersprache Arduino verfügt über eine eigene integrierte Sprache Schlaf Funktionalität zur Energieeinsparung. Die Schlaffunktion, die zusammen mit verwendet wird unterbrechen Klauseln, lassen Sie den Arduino wieder aufwachen.
Arduino verfügt über spezielle Pins, mit denen der Schlafzyklus unterbrochen werden kann. Sie können über die Setup-Funktion darauf zugreifen:
#define InterruptPin 2 void setup () {// Interrupt-Pin MUSS Arduino-Pin 2 oder 3 auf Uno sein // den Pin so einstellen, dass er den PinMode-Modus (InterruptPin, INPUT_PULLUP) aufruft; }
Nachdem dies als Interrupt-Pin eingerichtet ist, können Sie Ihr Arduino sicher in den Ruhezustand versetzen. Eine vereinfachte Möglichkeit besteht darin, zwei kleine Funktionen zu erstellen:
void sendToSleep () {// Schlaf aktivieren - beachte, dass dieser Primer-Schlaf ihn nicht startet! sleep_enable (); // Den Interrupt anhängen, den Pin, die Methode zum Aufrufen des Interrupts // und die Interrupt-Bedingungen angeben, in diesem Fall, wenn der Pin nach unten gezogen wird. attachInterrupt (interruptPin, wakeUpAgain, LOW); // aktiviere den Schlafmodus sleep_cpu (); // Code wird von hier aus nach Interrupt fortgesetzt. Serial.println ("Just awoke."); } void wakeUpAgain () {// Schlafmodus beenden sleep_disable (); // lösche den Interrupt separInterrupt (interrputPin); }
Der obige Code ist eine vereinfachte Methode, um Ihr Arduino in den Ruhemodus zu versetzen, und Sie können es durch Verbinden wieder aktivieren Pin 2 zum GND Stift. Während sich das Arduino Uno im Ruhemodus befindet, werden rund 11 mA weniger Strom verbraucht. Wenn Sie stattdessen einen Pro Mini verwenden, können Sie damit rechnen, dass der normale Stromverbrauch von 25 mA auf nur 0,57 mA sinkt.
Interrupts sind eine großartige Möglichkeit, Ihren Stromverbrauch zu senken Der Kurks-Blog enthält einige detaillierte Beiträge dazu, die helfen, Interrupts für Anfänger zu entmystifizieren.
3. Verlangsamen Sie die Arduino-Taktrate
Die Taktrate Ihres Arduino bestimmt, wie viele Operationen es pro Sekunde ausführen kann. Die meisten Arduino-Boards laufen auf einem 8- oder 16-MHz-Prozessor, obwohl einige der Ableger-Boards wie das Teensy 3.6 Verarbeitungsgeschwindigkeiten von bis zu 180 MHz aufweisen! Deshalb viele DIY-Hacker verwenden gerne Teensy-Boards 7 coole Projekte, die Sie mit einem Teensy erstellen könnenTeensy ist eine großartige Alternative zu Arduino, und diese großartigen Projekte zeigen, was Sie mit einem Teensy machen können! Weiterlesen über Arduino in ihren DIY-Projekten.
All diese Verarbeitungsleistung ist mit Stromkosten verbunden, und für viele Anwendungsfälle ist die Verwendung der vollen Taktrate übertrieben. Hier kann die Regulierung der Taktrate durch Software einen Unterschied machen.
Es wäre mir ein Dorn im Auge, Sie nicht zu warnen. Das Ändern der Taktrate kann zu Problemen mit dem Bootloader führen und kann Sie mit einem Arduino verlassen, auf das Sie keine Skizzen hochladen können, wenn dies falsch gemacht wird.
Wenn Sie versuchen möchten, Ihre Taktrate zu ändern und Tools in der Arduino IDE zu erstellen, mit denen Sie die CPU-Frequenz im laufenden Betrieb ändern können, Pieter Ps ausführlicher Leitfaden kann Ihnen beim Einstieg helfen.
4. Ersetzen Sie leistungshungrige Arduino-Komponenten
Das Arduino Uno ist das beliebteste Board für Anfänger, und die meisten Arduino-Kits liefern entweder ein offizielles oder ein Klonmodell. Sein größerer Formfaktor und die Hot-Swap-fähigen Mikrochips machen es perfekt zum Experimentieren und seine breite Kapazität Für Eingangsspannungen und integrierte Spannungsumwandlung für 3,3-V-Komponenten ist es für fast alle geeignet Zweck.
All diese Funktionen sind im Hinblick auf den Stromverbrauch nicht billig. In diesem Sinne gibt es eine Reihe von Möglichkeiten, einen Arduino Uno physisch zu verändern, um Strom zu sparen.
Der Spannungsregler am Arduino Uno verursacht den größten Stromverbrauch auf der Platine. Dies ist nicht besonders überraschend, da es sicher bis zu 7 V von der Eingangsstromversorgung zur Platine selbst abfallen muss. Einige haben versucht, dies zu umgehen, indem sie den Regler durch effizientere ersetzt haben, aber dies löst das Problem nicht wirklich.
Patrick Fenner von DefProc Engineering hat eine großartige Lösung gefunden in seinem Blogbeitrag Abdeckung von Uno-Energiesparstrategien. Durch den vollständigen Austausch des Spannungsreglers durch einen DC-DC-Abwärtswandler gelang es ihm, den Stromverbrauch des Mikrocontrollers zu halbieren.
5. Machen Sie Ihr eigenes Arduino
Ein sicherer Weg, nur die für Ihr Projekt benötigte Leistung zu nutzen, besteht darin, einen Mikrocontroller nach Ihren eigenen Vorgaben zu entwerfen. In der Vergangenheit haben wir gezeigt, wie Sie können baue dein eigenes Arduino Geben Sie kein Geld für ein Arduino aus - bauen Sie Ihr eigenes für viel wenigerIch liebe meine Arduinos. Zu jedem Zeitpunkt habe ich einige Projekte in Arbeit - Prototyping ist mit ihnen einfach so einfach. Aber manchmal möchte ich das Projekt funktionsfähig halten, ohne es zu kaufen ... Weiterlesen für einen Bruchteil der Kosten eines offiziellen Vorstandes.
Dies hat nicht nur eine viel bessere Kontrolle über die Größe und den Umfang Ihrer Schaltung, sondern kann auch den Stromverbrauch im Standby-Modus auf 15,15 mA und im Ruhemodus auf nur 0,36 mA senken. Diese Zahlen stammen aus dem unglaublich detaillierter Beitrag von Nick Gammon in seinem Forum.
Dieser Beitrag behandelt viele andere Aspekte der Energieeinsparung von Arduino und ist eine fantastische Ressource, auf die Sie sich beziehen können, wenn Sie versuchen, etwas mehr Zeit aus einem mobilen Netzteil herauszuholen.
Verwenden Sie Arduino für große Ideen und einen kleinen Power Footprint
Wenn Sie daran arbeiten Ihre ersten Arduino-Projekte für AnfängerDer Stromverbrauch ist wahrscheinlich kein allzu großes Problem.
Wenn Ihre Ideen größer werden und mehr Nachdenken erfordern, lohnt es sich zu lernen, wie Sie Ihre Einrichtung optimieren können. Zwischen Stellen Sie sicher, dass Sie das richtige Arduino-Board erhalten Arduino Buying Guide: Welches Board solltest du bekommen?Es gibt so viele verschiedene Arten von Arduino-Boards, dass man sich verzeihen kann, verwirrt zu sein. Was solltest du für dein Projekt kaufen? Lassen Sie uns mit diesem Arduino-Einkaufsführer helfen! Weiterlesen Wenn Sie es so einrichten, dass Sie das Beste daraus machen, können Sie einen großen Beitrag zur Herstellung wirklich einzigartiger und nützlicher Geräte leisten. Viel Glück und weiter basteln!
Ian Buckley ist freiberuflicher Journalist, Musiker, Performer und Videoproduzent und lebt in Berlin. Wenn er nicht schreibt oder auf der Bühne steht, bastelt er an DIY-Elektronik oder Code in der Hoffnung, ein verrückter Wissenschaftler zu werden.