Arduino Nano Stromverbrauch Teil 2

Vor etwa einem Jahr hatte ich mir den Stromverbrauch von einem Arduino Nano angeschaut. Es ist über ein Jahr vergangen und damals hatte ich nur mal ein paar Experimente gemacht.

Seit dem hat sich aber nichts mehr getan. Ich habe mal wieder Lust bekommen, an dem Thema weiter zu arbeiten. Das Ziel ist nach wie vor, Internetgeräte für ein paar Monate mit Batterie zu betreiben.

Inflation trifft Arduino

Ich wollte mir erst wieder mal das genaue Modell von dem Gerät raus suchen, was ich da habe. Ich habe mit Schrecken festgestellt, dass die Inflation auch die Arduinos getroffen hat.

Preis des Nano auf AzDelivery

Vor etwa einem Jahr hatte ich für 3 Nanos etwa 10€ gezahlt. Nun ist es doppelt so viel. Das ist eine traurige Entwicklung. Aber abgesehen davon, sieht man hier das genaue Modell von meinem Arduino Kompatiblen Gerät. Ich werde in den kommenden Abschnitten nur von „Arduino“ sprechen.

Review der letzten Messungen

Ich habe mir die Messungen vom letzten Mal angeschaut. Ich konnte alles reproduzieren und bin zufrieden. Mein Ansatz dieses Mal ist es den Arduino vollständig mit 2MHz Taktung zu betreiben, damit ich immer im unteren Bereich des Stromverbrauches bin. Außerdem habe ich etwas interessantes festgestellt.

Pins aus dem Arduino Nano Datasheet

Der Arduino Nano hat nicht nur den 5V und 3.3V PIN als Energie-Pin, sondern auch den Pin Namens „VIN“. Ich habe also einfach mal auch diesen Pin probiert und mit Erstaunen habe ich festgesellt, dass der Stromverbrauch hier sogar noch niedriger ist.

Messung am VIN-Pin

Im Vergleich zu meiner vorherigen besten Messung am 3.3V Pin mit 4,2 mA, habe ich hier 3,0 mA messen können, was eine Verbesserung von 30% ist, alleine durch die Auswahl eines anderen Pins.

Power-LED Entfernen

Was ich eigentlich geplant hatte umzusetzen, ist es, die Power-LED des Arduino Nano aus zu schalten. Die Power LED ist fest verdrahtet und über die Software kann man sie nicht einfach ausschalten. Man muss den Transistor entfernen, der mit der LED verlötet ist, damit die LED aus bleibt.

Also habe ich mein Lötkolben ausgepackt und das Teil erhitzt. Das Teil ist so klein, dass ich durchaus meine Schwierigkeiten hatte, es ordentlich zu greifen und entfernen. Aber es hat dann doch funktioniert. Hier auf dem Bild sieht man, wie winzig das Teil ist.

Direkt nach der Entfernung habe ich eine weitere Messung durchgeführt um zu schauen, um wie viel der Stromverbrauch gesunken ist. Im Durchschnitt ist der Stromverbrauch um 2mA gesunken. Das ist sehr beachtlich!

3-Phasen-Messung

Arduino Code für die Messung

Für die Messungen dieses Mal habe ich drei Phasen überlegt. Der Arduino besitzt insgesamt vier LEDs. Die Power-LED habe ich entfernt. Ich nutze eine andere programmierbare LED für die Messung in Phase 1. Anschließend wird die LED ausgeschaltet und der Strom wird in diesem Zustand gemessen. Das ist die Zweite Phase. In der letzten Phase wird der Arduino in den Low-Power Modus versetzt. In einer produktiven Umgebung (z.B. bei einer Wetterstation) ist der Arduino die größte Zeit über im Low-Power Modus. Er aktiviert sich gelegentlich, führt Messungen durch, sendet Daten und wird wieder in den Low-Power Modus versetzt.

Die Messung aller drei Phasen ist also relevant, um abschätzen zu können, wie lange sich der Arduino mit seiner Energie betreiben lässt.

Testreihen Parameter

Neben der 3-Phasen Messung habe ich mir verschiedene Testreihen überlegt. Ein Test definiert sich aus den folgenden Werten.

Board

Für meine Messungen will ich künftig eindeutig festlegen, auf was für einem Gerät eine Messung durchgeführt wurde. Ich habe auch bei mir inzwischen eine ganze Menge Arduinos und Arduino kompatible Boards rumliegen. Es ist manchmal nicht klar, was ich damit meine.

Energiequelle

Ich arbeite mit den Energiequellen, die später auch produktiv genutzt werden sollen. In diesem Projekt sind es Akkus aber vor allem Batterien, die in Frage kommen. Ich arbeite daher mit Batterien als Energiequelle. Batterien können aber eine erwartete Spannung haben, die sich theoretisch ergibt (Expected Voltage). Sie besitzen aber meistens eine andere eigentliche Spannung (Actual Voltage), weil Batterien meistens bereits genutzt wurden und nicht immer ganz neu sind.

Power Pins

Ich nutze auf dem Arduino drei mögliche Pins für die Messungen. der 5V Pin, 3.3V Pin oder VIN Pin.

Stromstärke

Die Stromstärke wird für jede einzelne Phase gemessen. Mithilfe dieser Messung ist es später möglich, die erwartete Betriebsdauer festzulegen oder beeinflussen.

Energiequellen

Folgende zwei Energiequellen stehen mir für dieses Experiment zur Verfügung.

3.7V Lithium Polymer Akku

https://www.amazon.de/gp/product/B07XQG75RT/

Ein einfacher Akku mit einer Kapazität von 2000mA.

Batterien

https://www.amazon.de/gp/product/B00LN803LE

Ich nutze AA Batterien von Varta. Man kann nicht genau sagen, wie groß die Kapazität ist, da das stark von der Nutzung abhängig ist. Für dieses Experiment verbinde ich 3 Batterien in Reihe, sodass ich 4.5 Volt Spannung habe.

Messungen

3.7V Lithium Polymer ohne Upstepper

BoardNano V3 CH340
Energiequelle3.7V Lithium Polymer
Erwartete Spannung in V3,7
Eigentliche Spannung in V3,94
Power-PinVIN
Stromstärke Phase 1 (LED an) in mA4,32
Stromstärke Phase 2 (LED aus) in mA3,28
Stromstärke Phase 3 (Low-Power Modus) in mA1,97
Messung 1
BoardNano V3 CH340
Energiequelle3.7V Lithium Polymer
Erwartete Spannung in V3,7
Eigentliche Spannung in V3,94
Power-Pin5V
Stromstärke Phase 1 (LED an) in mA6,40
Stromstärke Phase 2 (LED aus) in mA4,47
Stromstärke Phase 3 (Low-Power Modus) in mA2,63
Messung 2
BoardNano V3 CH340
Energiequelle3.7V Lithium Polymer
Erwartete Spannung in V3,7
Eigentliche Spannung in V3,94
Power-Pin3.3V
Stromstärke Phase 1 (LED an) in mA6,15
Stromstärke Phase 2 (LED aus) in mA4,17
Stromstärke Phase 3 (Low-Power Modus) in mA2,25
Messung 3

In dieser Testreihe habe ich einfach mal den Akku genutzt, den ich da bei mir rumliegen hatte. Ich habe hier auch meine beste Messung aus dem ganzen Experiment gemessen. Der Arduino Nano verbraucht am VIN Pin mit dem Akku nur 1,97 mAh!

3.7V Lithium Polymer mit Upstepper

Ich will Akku und Batterien mit einer ähnlichen Spannung messen. Daher habe ich in dieser Reihe ein Upstepper genutzt, um die Spannung von 3.7 V auf 4.5 V zu bekommen.

BoardNano V3 CH340
Energiequelle3.7V Lithium Polymer mit Upstepper
Erwartete Spannung in V4,5
Eigentliche Spannung in V4,5
Power-PinVIN
Stromstärke Phase 1 (LED an) in mA5,40
Stromstärke Phase 2 (LED aus) in mA3,90
Stromstärke Phase 3 (Low-Power Modus) in mA2,30
Messung 4
BoardNano V3 CH340
Energiequelle3.7V Lithium Polymer mit Upstepper
Erwartete Spannung in V4,5
Eigentliche Spannung in V4,5
Power-Pin5V
Stromstärke Phase 1 (LED an) in mA7,70
Stromstärke Phase 2 (LED aus) in mA5,40
Stromstärke Phase 3 (Low-Power Modus) in mA2,90
Messung 5
BoardNano V3 CH340
Energiequelle3.7V Lithium Polymer mit Upstepper
Erwartete Spannung in V4,5
Eigentliche Spannung in V4,5
Power-Pin3.3V
Stromstärke Phase 1 (LED an) in mA8,20
Stromstärke Phase 2 (LED aus) in mA5,20
Stromstärke Phase 3 (Low-Power Modus) in mA2,70
Messung 6

Durch die höhere Spannung steigt auch die Stromstärke leicht an. Ich muss an der Stelle leider sagen, dass ich mir noch einmal die Theorie in Elektrotechnik reinziehen muss, weil mir das gerade nicht ganz intuitiv verständlich ist.

3x AA Batterien

Ich habe drei Batterien in Reihe geschaltet und komme so auf erwarteten 4,5 V Spannung. Die eigentliche Spannung war jedoch leicht niedriger.

BoardNano V3 CH340
Energiequelle3.7V Lithium Polymer mit Upstepper
Erwartete Spannung in V4,5
Eigentliche Spannung in V4,37
Power-PinVIN
Stromstärke Phase 1 (LED an) in mA5,30
Stromstärke Phase 2 (LED aus) in mA3,80
Stromstärke Phase 3 (Low-Power Modus) in mA2,30
Messung 7
BoardNano V3 CH340
Energiequelle3.7V Lithium Polymer mit Upstepper
Erwartete Spannung in V4,5
Eigentliche Spannung in V4,37
Power-Pin5V
Stromstärke Phase 1 (LED an) in mA7,60
Stromstärke Phase 2 (LED aus) in mA5,20
Stromstärke Phase 3 (Low-Power Modus) in mA2,90
Messung 8
BoardNano V3 CH340
Energiequelle3.7V Lithium Polymer mit Upstepper
Erwartete Spannung in V4,5
Eigentliche Spannung in V4,37
Power-Pin3.3V
Stromstärke Phase 1 (LED an) in mA7,80
Stromstärke Phase 2 (LED aus) in mA5,00
Stromstärke Phase 3 (Low-Power Modus) in mA2,60
Messung 9

Die Messungen haben ein ähnliches Ergebnis vermittelt, wie auch die Messung mit dem Akku mit 4,5V.

Ergebnis

Übersicht der Messungen

Hier ist die Übersicht über alle Messungen und ein farblicher Indikator, welche Messungen am Besten abgeschnitten haben.

Mithilfe des VIN Pins, entfernter Power-LED, senken der Taktung und Nutzen der Low-Power Library konnte der Stromverbrauch in Batteriebetrieb auf 2,3 mA gesenkt werden. Vermutlich ist hier sogar noch mehr Potenzial. Der Arduino brauch mindestens 2,7V, damit dieser betrieben werden kann. Die Stromspannung meiner Messungen waren deutlich höher. In niedrigeren Spannungsbereichen könnte der Stromverbrauch geringer ausfallen (wie aus Messung 1 zu sehen ist).

https://m.media-amazon.com/images/I/61wqIh25WIS.pdf

Laut dem Datenblatt besitzt die Batterie 2600mAh. Das ist sehr viel und vermutlich nur in optimalen Bedingungen. In Reihenschaltung bleibt die Kapazität unverändert. Das heißt, dass man hier bei 2mA Verbrauch und 2600mAh Kapazität etwa 54 Tage Laufzeit hätte. Das ist bereits ein erstes Ergebnis und eine spannende Erkenntnis. Ich bin erst einmal zufrieden mit den Ergebnissen, aber es reicht nicht aus. Ich möchte längere Laufzeiten mit dem Arduino erzielen.

Nächste Schritte

Eine Sache, die ich ebenfalls ausprobieren möchte ist die oben erwähnte niedrigere Spannung. Mit einer niedrigeren Spannung könnte ich auch den Stromverbrauch verringern.

Ich möchte die Batterien außerdem sowohl in Reihe, als auch Parallel Schalten und so aus der Kombination ideale Bedingungen erreichen, um den Arduino noch länger zu betreiben.