Arduino mit 9V-Batterie

16

Gestern Nachmittag habe ich meinen Arduino mit einer frischen 9-V-Alkalibatterie laufen lassen (+ mit Vin verbunden, - mit GND verbunden). Heute Morgen (16 Stunden später) war das LCD-Display nicht mehr sichtbar, und als ich die Spannung gemessen habe, sah ich, dass der Akku zu meiner Überraschung erschöpft war - seine Leerlaufspannung betrug nur 7 V.

Mein Gerät ist Arduino Uno mit LCD 2x16 mit LCD-Hintergrundbeleuchtung und 2 DS18B20-Sensoren. Ist es normal, dass ein solches Gerät die 9-V-Batterie so schnell entlädt?

Ich habe eine Antwort auf Was sind (oder wie verwende ich) die Energiesparoptionen des Arduino, um die Batterielebensdauer zu verlängern? Frage und ich denke, was ich sehe, könnte damit zusammenhängen, aber ich bin nicht sicher. Wenn ja, gibt es einige gebräuchliche Schaltpläne, wie Arduino angeschlossen werden kann, um effizient mit einer Batterie betrieben zu werden?

Suma
quelle
Ich würde versuchen, ein Multimeter anzuschließen und den Strom aus der Batterie zu messen, während das Ganze und das Display und die Sensoren nicht angeschlossen sind. Versuchen Sie nicht, das Arduino zu optimieren, wenn es die meiste Energie verbraucht.
BowlOfRed
@bowlofred "Messen des Stroms aus der Batterie" - Das kann ich, wenn ich zuerst eine neue 9-V-Zelle kaufen muss. :)
Suma
1
9V-Batterien sind winzig, nur etwa 500mAh. Die LCD-Hintergrundbeleuchtung allein wird es innerhalb von Stunden töten.
Hobbs
Radikalerer Ansatz zum Stromsparen: 1. Verwenden der TI MSP430-Karte anstelle von Arduino; 2. Verwenden eines nichtlinearen Reglers; 3. Verwenden des LCD ohne Hintergrundbeleuchtung (wie in einem Taschenrechner).
Vi.
@bowlofred Der Gesamtstrom beträgt 61 mA. Ohne Hintergrundbeleuchtung sind es 57 mA, ohne LCD und ohne Sensoren 56 mA.
Suma

Antworten:

21

Energieverbrauch

Die Arduino-Boards verbrauchen im Vergleich zu anderen eingebetteten Systemen mit ähnlichen Funktionen ein gutes Stück Leistung.

Es gibt drei Hauptfaktoren:

  • Der 5- V-Linearregler NCP1117 ( Datenblatt ) im Arduino UNO R3 ( schematisch ) hat einen Ruhestrom von ca. 6 mA.

  • Der ATMega328P ( Datenblatt ) verbraucht etwa 5 mA bei 8 MHz und 5 V und ist wahrscheinlich mehr als doppelt so hoch wie bei 16 MHz.

  • user2973: Der für die USB-Kommunikation verwendete ATMega16U2 verbraucht ebenfalls ungefähr 13 mA.

Auch LEDs und andere Peripheriegeräte verbrauchen Strom. In Ihrer Schaltung verbraucht die LCD-Hintergrundbeleuchtung wahrscheinlich ebenfalls 4 mA.

Bei einem Spannungsabfall von 9V auf 5V über einen Linearregler geht fast die Hälfte der Leistung aufgrund des 4V-Abfalls durch den Regler verloren. Duncan merkt an, dass dies den Stromverbrauch im Ruhezustand von 9 V sowie den Stromverbrauch für jeden mA von 5 V nahezu verdoppelt , da 4/9-Teile des Stroms vom Spannungsregler als Wärme verschwendet werden. Ein effizienter Schaltregler würde 5 V mit wenig Energieverschwendung abgeben und die Stromaufnahme der Batterie effektiv um 4/9 verringern.

Eine Duracell-9V-Batterie ( Datenblatt ) fällt bei einer Stromaufnahme von 50 mA in ca. 7,5 Stunden von 9 V auf 7 V ab. Eine grobe Vermutung ist daher, dass Ihr Stromkreis ungefähr 25 mA zieht, was sich nach der Beschreibung Ihres Stromkreises ungefähr richtig anhört.

Beachten Sie, dass die Lebensdauer der Alkalibatterien in Bezug auf den Strom nicht linear ist. Bei sehr kleinen Strömen (<1 mA) entspricht die Lebensdauer einer Alkaline der einer Lithiumbatterie.

Strom runter

Hier sind einige Tipps, um den Stromverbrauch zu senken:

  • Regler: Ersetzen Sie den Regler durch einen mit niedrigem Ruhestrom oder noch besser durch einen Schaltregler (auch mit niedrigem Ruhestrom). Ein Schaltregler verwendet Stromimpulse und einige externe Induktivitäten und Kondensatoren, um eine vernünftige konstante Spannungsausgabe zu erzielen. Es wird keine Energie verschwendet wie beim Spannungsabfall des Linearreglers und ein Wirkungsgrad im hohen Bereich von 90% ist möglich.

    • Es gibt Abwärtswandler, die die Batterie als Eingang verwenden und direkt an 5 V und GND angeschlossen werden, wobei die VIN und der Regler umgangen werden. Dieser von Pololu geht sowohl hoch als auch runter und hat einen Ruhestrom von 0,1 mA.
    • Alternativ können Sie auch 1,5-V-Alkalibatterien und einen Hochsetzsteller verwenden, um die Spannung auf 5 V zu bringen (z. B. dieses Produkt von Sparkfun). Es scheint, dass Aufwärtswandler häufiger auf Lager sind.
    • Schließlich können Sie eine wiederaufladbare Lithiumbatterie mit Ladeschild kaufen. Dieser Vorteil ist, dass Sie keine neuen Batterien kaufen müssen, und für ein kleines bisschen größer als eine 9-V-Batterie hat die Lithium-Batterie eine viel größere Kapazität. Ein wirklich cooles Produkt ist das wasserdichte seeeduino Stalker-Kit , das eine Ladeschaltung, einen Akku, ein Solarpanel und andere Extras enthält.
  • ATMega328P: Anstatt mit delayfür Timing und Spinnen in loopendlos warten , dass etwas geschieht, neu schreiben Ihren Code , so dass es in den Schlaf geht in zwischen Sensor liest, usw. Es gibt ein paar Low - Power - Bibliotheken gibt , die den Watchdog - Timer verwenden für periodisches Aufwachen aus dem Schlaf, was praktisch ist. Sie können den Stromverbrauch des ATMega328P im Ruhezustand unter 0,1 mA halten.

  • LCD: Schalten Sie die Hintergrundbeleuchtung oder sogar das gesamte LCD aus. Fügen Sie dem Design eine Schaltfläche hinzu, mit der der Benutzer das LCD aktivieren und nach einer festgelegten Inaktivitätsdauer ausschalten kann.

  • Peripheriegeräte: Die meisten Peripheriegeräte-Chips verfügen auch über einen Ruhezustand, der den Stromverbrauch drastisch senkt. Entfernen Sie nicht benötigte Betriebs-LEDs und andere Anzeigen.

  • ATMegu16U2: user2973 comments Es sieht so aus, als ob dieser Chip ziemlich leistungshungrig ist ( user2973 ). Es könnte entfernt werden, um Energie zu sparen und stattdessen nur den UART zu verwenden, aber das scheint übertrieben. Es gibt Arduino Pro-Boards, die nur die nackten Knochen von Arduino sind, ohne dass die USB-Schnittstelle anstelle der UNO verwendet werden könnte.

  • Batterien: Andere Alkalizellen haben eine viel größere Kapazität. Zum Beispiel hat eine 1,5 V AA über 2000 mAh für niedrige Ströme. Die Verwendung von AA-Zellen und eines Aufwärtswandlers kann die Zeit bis zum Batteriewechsel verlängern. Verwenden Sie D-Zellen (16000mAh) und es wird eine Weile laufen. : D

Zusammenfassung

Mit einer geeigneten Stromversorgung und Kodierung können Sie eine Batterie mit einer angemessenen Lebensdauer ausstatten. Unter Verwendung der obigen Prinzipien habe ich ein Arduino-Derivat-Board hergestellt, das einige Sensoren misst und die Messwerte jede halbe Sekunde auf einer SD-Karte speichert. Es kann mit 2 AA-Batterien ungefähr 4 Monate dauern, so dass es definitiv möglich ist, einen niedrigen Stromverbrauch zu haben und im Arduino-Ökosystem zu bleiben.

Der Chip, den ich für den geringen Stromverbrauch in meinem Board verwendet habe, ist der LTC3525-3.3V. Es nimmt eine Eingangsspannung von nur 0,8 V auf und erhöht diese auf 3,3 V. Eine 5-V-Version ist ebenfalls verfügbar. Ich habe eine Platine für diesen Chip entworfen, da es keine vorgefertigten Ausbrüche gab, und im Datenblatt sind Referenzdesigns angegeben. Das Hauptkriterium für die Wahl dieses Chips war, dass er bei sehr geringen Strömen immer noch einen hohen Wirkungsgrad aufweist. Einige andere Wandler benötigen eine geringe Mindeststromaufnahme.

Der größte Stromverbraucher auf dem Board war die Micro-SD-Karte. Sie kann je nach Hersteller zwischen 0,1 mA und 1,5 mA Leerlaufstrom variieren. Ich habe festgestellt, dass Verbatim- und Lexar-Karten am wenigsten Strom verbrauchen. Ich werde diese EE.SE-Frage mit den Ergebnissen meiner Micro-SD-Card-Stromverbrauchstests auf den neuesten Stand bringen.

geometrikal
quelle
1
Gute gründliche Antwort. Hinweis: Der Stromverbrauch des USB zu seriellen atmega16u2, die nach der Lösung der anderen Probleme sehr wichtig sein wird.
User2973
@ user2973 hast du eine idee woran es liegen könnte? Ich kann die typischen Eigenschaften aus dem Datenblatt entnehmen, aber ich habe sie nicht eingegeben, da ich nicht weiß, ob die Firmware irgendwelche enthält. Wenn es nur normal läuft, sind es 12 mA bei 5 V, was eine erhebliche Belastung darstellt.
geometrikal
@geometrikal, wie versorgst du einen Arduino mit 2 AA-Batterien? Das sind nur 3 Volt, was unter dem Minimum liegt. Handelt es sich bei dem von Ihnen erwähnten Netzteil um eine Abwärts- / Aufwärtsversorgung? (Hervorragende Antwort übrigens <abgestimmt>.)
Duncan C
1
@geometrikal, würde es Ihnen etwas ausmachen, einen Link zu einem der von Ihnen erwähnten Buck-Netzteile wie dem von SparkFun zu veröffentlichen? Ich habe nur gesucht und kann es nicht finden. Für eine lange Lebensdauer scheint eine Buck-Versorgung entscheidend zu sein, da der Leerlaufstrom eines herkömmlichen Spannungsreglers erheblich ist.
Duncan C
1
@geometrikal, Sie sagten: "... Auch wenn der Regler über einen linearen Regler 9V auf 5V senkt, geht fast die gesamte Leistung durch den Abfall von 4V verloren." die Leistung für jeden mA von 5V benötigt? (Da 4 / 9stel des Stroms vom Spannungsregler als Wärme verschwendet werden.) Scheint, als würde es besser sein , ihn von einem Abwärtswandler wie einem TSR 1-2450 zu lassen
Duncan C
3

Ich denke, ein Arduino Uno ist für solche Projekte nicht geeignet. Einige Komponenten auf der Platine verbrauchen zu viele Verstärker, wie @geometrikal richtig anzeigt. Wenn Sie einer Herausforderung gewachsen sind, empfehle ich Ihnen, Ihr Projekt auf eine andere Ebene zu heben und barebones zu gehen.

Sparkfun hat einen guten Artikel über die Verlängerung der Batterielebensdauer mit einem ATmega328, den Sie auch auf Ihrem Arduino Uno haben: https://www.sparkfun.com/tutorials/309

Suchen Sie nach Möglichkeiten, eine Schaltung nur mit den Komponenten zu erstellen, die Sie wirklich benötigen, und lassen Sie Ihren Mikrocontroller so lange wie möglich schlafen.

Franklin
quelle
1

Eine andere Möglichkeit besteht darin, nach einer Hardware (Arduino Clone) zu suchen, die dafür entwickelt wurde, wie dieses Board: https://bitbucket.org/talk2/whisper-node-avr/overview

Wenn Sie diese Hardware mit stromsparenden Codetechniken kombinieren, sollten Sie in der Lage sein, Projekte über einen längeren Zeitraum mit Batterien auszuführen!

Talk2
quelle