Raspberry Pi Pico: Energie sparen bei niedriger Taktrate
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 ändern. Je geringer die Taktrate, desto langsamer arbeitet der Mikrocontroller, aber desto geringer ist auch sein Stromverbrauch. Da die meisten Programme auch mit einer reduzierter Taktrate funktionieren, ist das Stromspar-Potential enorm.
Beim Raspberry Pi Pico ist eine Taktrate zwischen 48 und 250 MHz problemlos einstellbar. Bei Frequenzen darüber ist die Nutzung fast aller Schnittstellen problembehaftet. Bei Frequenzen darunter muss man mit Verzögerungen beim Zugriff über die USB-Schnittstelle rechnen. Das Öffnen und Speichern von Programmcode dauert etwas länger. Im laufenden Betrieb ist das aber in der Regel kein Problem.
Bei einem Raspberry Pi Pico W muss die Taktrate mindestens 75 MHz betragen, um eine Verbindung zum WLAN herstellen zu können. Darunter bricht der Programmcode mit dem Fehler „[Errno 1] EPERM“ ab.
Die Frage ist, wie groß ist der Stromverbrauch bei einer bestimmten Taktrate?
Messung des Stromverbrauchs
Für die folgende Messung verwenden wir einen USB-Power-Monitor von Portapow als Messgerät und schalten es in die USB-Verbindung zwischen Host-Computer und dem Raspberry Pi Pico.
Im folgenden Programmcode senken wir die Taktfrequenz in mehreren Schritten und messen währenddessen den Stromverbrauch.
import machine import time freqs = [250_000_000, 200_000_000, 150_000_000, 133_000_000, 125_000_000, 100_000_000, 50_000_000, 25_000_000, 20_000_000] freqs_count = len(freqs) print('Messung startet jetzt')
for i in range(freqs_count): machine.freq(freqs[i]) print('Taktfrequenz eingestellt:', machine.freq() / 1000000, 'MHz') for i in range (9, 0, -1): print(i, end="\r") time.sleep(1) print('Messung beendet')
Messergebnisse: Raspberry Pi Pico mit RP2040
Gemessen bei 5,15 Volt
- 250 MHz: 31 mA
- 200 MHz: 25 mA (offizielle Standard-Taktrate ab Anfang 2025)
- 150 MHz: 23 mA
- 133 MHz 20 mA (offizielle Standard-Taktrate bis Anfang 2025)
- 125 MHz: 20 mA (Standard-Taktrate bei MicroPython)
- 100 MHz: 17 mA
- 50 MHz: 11 mA
- 25 MHz: 7 mA
- 20 MHz: 7 mA
Messergebnisse: Raspberry Pi Pico 2 mit RP2350A
Gemessen bei 5,15 Volt
- 250 MHz: 26 mA
- 200 MHz: 20 mA
- 150 MHz: 15 mA (Standard-Taktrate bei MicroPython)
- 133 MHz: 15 mA
- 125 MHz: 15 mA
- 100 MHz: 12 mA
- 50 MHz: 7 mA
- 25 MHz: 6 mA
- 20 MHz: 5 mA
Fazit zur Messung
Wenn man mit wenig Aufwand möglichst viel Strom sparen möchte, dann ist das Senken der Taktfrequenz das Mittel der Wahl. Mit 5 bis 7 mA kann man den Stromverbrauch eines Raspberry Pi Pico auf den einer leuchtenden LED reduzieren. Das ist ein sehr niedriger Wert.
Wenn man einen Aufbau oder eine Steuerung mit dem Raspberry Pi Pico realisiert, und später mit einem Akku oder Batterie betreiben will, sollte man prüfen, ob der Aufbau auch mit einer niedrigeren Taktrate funktioniert. Wenn ja, kann man damit die Laufzeit der Batterie deutlich verlängern.
Taktrate ändern
Das Ändern der Taktrate kann man in MicroPython sehr leicht vornehmen. Allerdings hat das unter Umständen Einfluss auf initialisierte Schnittstellen, die dann erneut initialisiert werden müssen.
Weitere verwandte Themen:
- Raspberry Pi Pico: Stromverbrauch messen
- Raspberry Pi Pico: Grundlagen zum Strom sparen
- Raspberry Pi Pico: Energie sparen im Schlafmodus
- Raspberry Pi Pico: Grundlagen der Energieversorgung / Stromversorgung
Frag Elektronik-Kompendium.de
Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython
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
Online-Workshop: 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.
Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.