Raspberry Pi Pico: Energie sparen im Schlafmodus

Der Mikrocontroller RP2040 auf dem Mikrocontroller-Board Raspberry Pi Pico kennt verschiedene Schlafzustände. Um vom normalen Betriebszustand in einen Schlafzustand zu kommen, muss man in MicroPython den Befehl für den Schlafmodus aufrufen.
Wenn der Schlafmodus aktiviert ist, wird der Mikrocontroller in einen Zustand versetzt, der weniger Energie verbraucht als im normalen Betrieb. Durch die Angabe einer Zeit kann der Mikrocontroller automatisch aufgeweckt werden und der Programmablauf regulär weitergeführt werden.

Programmcode

Der folgende Programmcode dient als Beispiel dafür, wie man einen Raspberry Pi Pico regelmäßig in den Schlafmodus versetzen und nach dem Ablauf einer bestimmten Zeit wieder aufwecken kann. Beispielsweise um eine regelmäßige Aufgabe zu erfüllen und während einer Wartezeit Energie zu sparen.

# Bibliotheken laden
import time
import machine

# Wiederholung (Endlos-Schleife)
while True:
    # 1 Sekunde = 1000 Millisekunden
    print ('Ich werte 3 Sekunden für einen Programmabbruch mit Strg + C')
    time.sleep_ms(3000)
    print ('Jetzt gehe ich für 3 Sekunden schlafen.')
    machine.lightsleep(3000)
    print ('Ich bin wieder aufgewacht.')
    time.sleep_ms(1000)

Hinweis: „machine.lightsleep“ ist kein Ersatz für „time.sleep_ms“. Wenn „machine.lightsleep“ aufgerufen wird, dann wird dabei auch die Kommunikation mit allen Schnittstellen beendet, wodurch nach dem Aufwecken die Kommunikation mit externen Modulen gestört sein kann.

Alternative: Energie sparen bei niedriger Taktrate

Eine Möglichkeit, um Strom beim Raspberry Pi Pico zu sparen ist die Reduzierung der Taktfrequenz. Messungen zeigen, dass der Stromverbrauch bei niedrigeren Frequenzen auf bis auf 6 bis 7 mA sinkt. Dies ist besonders vorteilhaft bei akkubetriebenen Anwendungen, wodurch die Laufzeit verlängert werden kann.

Schlafmodus mit Reset und Neustart

Wenn man den Raspberry Pi Pico in den Schlafmodus versetzt hat, dann kann man den RUN-Pin (Reset-Funktion) für eine Aufweck-Funktion nutzen. Der Nachteil dabei ist nur, dass das zum Neustart des Raspberry Pi Pico und des Programms führt.

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.

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.

Weitere verwandte Themen:

Elektronik-Sets für das Hardware-nahe Programmieren

Elektronik-Sets für das Hardware-nahe Programmieren

Programmieren mit dem Raspberry Pi Pico
Online-Meeting

Programmieren mit dem Raspberry Pi Pico

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

Termine und Newsletter-Anmeldung

Frag Elektronik-Kompendium.de