Raspberry Pi Pico: Grundlagen zum Strom sparen

Wenn ein Raspberry Pi Pico ohne Host-Computer laufen soll, dann muss man sich auch um die Stromversorgung kümmern. Wenn klar ist, dass man ein Netzteil braucht, dann ist in der Regel nichts weiter zu tun. Der Stromverbrauch eines Raspberry Pi Pico und weitere angeschlossene Komponenten werden in der Regel mit jedem USB-Netzteil bedient werden können.

Es kann aber trotzdem sein, dass sich durch Stromsparen weitere Spielräume und Möglichkeiten der Stromversorgung ergeben, die vorher unmöglich schienen. Zum Beispiel der Akku- und Batteriebetrieb.

Wenn man den Raspberry Pi Pico mit MicroPython programmiert, dann kann man ein paar Schrauben drehen, um den Stromverbrauch während der Laufzeit zu reduzieren.

  1. Senken der Taktfrequenz: Im Programmcode kann man die Taktrate verändern. Ein geringerer Takt führt dazu, dass weniger Strom geschaltet werden muss und somit der Stromverbrauch sinkt.
  2. Zeitweise in den Schlafmodus versetzen: Der Programmcode versetzt den Pico möglichst oft in einen Betriebszustand, in dem er nur ganz wenig Strom verbraucht.
  3. Spannungsregler steuern: Der Pin 3V3_EN am Raspberry Pi Pico ermöglicht es, den 3,3-V-Schaltregler (SMPS) komplett abzuschalten. Dadurch wird praktisch das gesamte Boards stromlos. Das kann man gezielt zum Stromsparen nutzen.
  4. Mikrocontroller steuern: Wenn RUN dauerhaft auf Low gezogen wird, bleibt der Mikrocontroller im abgeschalteten Zustand und verbraucht keinen Strom. Dabei bleibt die 3,3-V-Versorgung erhalten.
  5. Auto-Power-Off-Schaltung: Der Mikrocontroller kann sich selber durch setzen eines GPIOs von der Stromversorgung abschalten. Durch Drücken eines Tasters oder Auslösen eines Sensors wird der Pico wieder mit der Stromversorgung verbunden.
  6. Schlafmodus mit Aufweck-Funktion: Pico wird möglichst oft in den Schlafmodus versetzt, in dem er nur ganz wenig Strom verbraucht. Über eine GPIO mit IRQ lässt sich der Pico aufwecken und den Programmcode weiter ausführen.
  7. DORMANT-Modus mit Aufwach-Funktion: Der Programmcode versetzt den Pico möglichst oft in einen Sleep-Mode, in dem er nur ganz wenig Strom verbraucht. Über eine GPIO mit IRQ lässt sich der Pico aufwecken und im Programmcode weiterarbeiten.

1. Senken der Taktfrequenz

Um Strom zu sparen, insbesondere bei Akku-betriebenen Geräten, ist es in der Computertechnik üblich, in ungenutzten Recheneinheiten die Taktfrequenz zu reduzieren. In MicroPython lässt sich die Taktrate vergleichsweise einfach einstellen und und dabei etwas Strom sparen.

2. Zeitweise in den Schlafmodus versetzen

Außer dem Normalbetrieb kennt der Mikrocontroller vom Raspberry Pi Pico einen Schlafmodus, in dem er extrem wenig Strom verbraucht. Hierbei muss man unterscheiden:

  • Zeitweise in den Schlafmodus versetzen
  • Dauerhaft in den Schlafmodus versetzen

3. Spannungsregler steuern: 3V3_EN (Pin 37)

Der Pin 3V3_EN steuert den 3,3-V-Spannungsregler (SMPS) auf dem Board des Raspberry Pi Pico. Er ist standardmäßig über einen 100-kΩ-Widerstand mit VSYS auf High gelegt, wodurch der Regler aktiv ist und der Mikrocontroller mit Strom versorgt wird und somit eingeschaltet ist.
Wird der Pin 3V3_EN auf Low gezogen (mit Ground verbunden), dann wird der Spannungsregler deaktiviert, wodurch die Versorgung für den Mikrocontroller abgeschaltet wird.

Wie kann man den Pin 3V3_EN zum Stromsparen nutzen?

Der Pin 3V3_EN am Raspberry Pi Pico ermöglicht es, den 3,3-V-Schaltregler (SMPS) komplett abzuschalten. Dadurch wird praktisch das gesamte Boards stromlos. Das kann man gezielt zum Stromsparen nutzen.

4. Mikrocontroller steuern: RUN (Pin 30)

RUN dient zum eigentlichen Ein- und Ausschalten des Mikrocontrollers. Standardmäßig ist RUN auf High gelegt. Um ihn auszuschalten verbindet man ihn mit Ground.
Über diesen Pin kann man den Mikrocontroller auch Neustarten bzw. einen Reset auslösen, wenn RUN kurzzeitig mit Ground verbunden wird.

Wie kann man den Pin RUN zum Stromsparen nutzen?

Wenn RUN dauerhaft auf Low gezogen wird, bleibt der Mikrocontroller im abgeschalteten Zustand und verbraucht keinen Strom. Dabei bleibt die 3,3-V-Versorgung erhalten. Das ist dann sinnvoll, wenn zusätzliche Sensoren oder Geräte diese Versorgung brauchen.

5. Auto-Power-Off-Schaltung

Eine Auto-Power-Off-Schaltung hat den Vorteil, dass man sich nicht auf die Stromsparmechnismen des Mikrocontrollers verlassen muss. Mit dieser Schaltung kann der Mikrocontroller den ganzen Aufbau von der Stromversorgung trennen. Dadurch kann man den Stromverbrauch auf Null drücken. Allerdings wird beim Aufwecken des Mikrocontrollers und damit auch der Programmcode neu gestartet.

6. Schlafmodus mit Aufweck-Funktion

Wenn man möchte, dass nach dem Aufwachen der Programmcode an der Stelle ausgeführt wird, nach der er in den Schlafmodus versetzt wurde, der braucht dafür eine universellere Lösung.

7. DORMANT-Modus mit Aufweck-Funktion

Wenn man die Aufweck-Funktion nach Zeit vermeiden möchte, braucht man eine externe Bibliothek, die den Raspberry Pi Pico in den DORMANT-Modus schaltet und eine Aufweck-Funktion integriert hat.

Wann ist welche Art sinnvoll?

Es wäre denkbar, dass man „Taktrate senken“ und den „Schlafmodus“ miteinander kombiniert. Aber, die größtmögliche Stromsparwirkung wird man in der Regel dadurch erreichen, dass man die Taktrate relativ hoch lässt, damit die notwendigen Berechnungen schnell erfolgen, um den Pico möglichst schnell wieder in den Schlafmodus versetzt zu können. Der Grund ist, weil im Schlafmodus in der Regel der Stromverbrauch sehr gering ist und in Abhängigkeit der Anwendung sehr lange dauern kann. Während man versucht, den Normalbetrieb so kurz wie möglich zu halten.

Welche Methode besser ist, hängt davon ab, was der Raspberry Pi Pico zu tun hat.

  • Die Taktrate zu reduzieren macht dann Sinn, wenn die Rechenaufgaben relativ gering sind, Zustände dauernd geprüft werden müssen oder laufend Eingaben erwartet werden.
  • Der Schlafmodus lohnt sich dann, wenn der Programmcode inklusive der eingebundenen Bibliotheken meistens nichts zu tun hat oder man ihn nach getaner Arbeit ausschalten könnte.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren