Raspberry Pi Stromversorgung, PoE+ & Aktive Kühlung im Detail
Erstellt: 08.11.2026 Zuletzt aktualisiert: 08.11.2026
Management Summary: Mit steigenden Taktraten und dem Betrieb stromhungriger Peripherie wie schnellen M.2 NVMe SSDs und USB-3.0-Festplatten sind Stromversorgung und thermisches Management zentrale Systemfaktoren. Der Raspberry Pi 5 benötigt unter Volllast ein 27W USB-PD Netzteil (5,1V / 5,0A). Reicht die Stromstärke nicht aus, schlägt eine automatische Firmware-Schutzschaltung zu, die den Gesamtstrom für alle USB-Buchsen drastisch auf magere
600 mAdrosselt. Dieser Leitfaden dekonstruiert die USB-PD-Aushandlung, zeigt wie man Spannungseinbrüche (Voltage Droop) verhindert, PoE+ (IEEE 802.3at) im Serverschrank einsetzt, USV-Akkus über I2C automatisiert und die Lüfterkurve des Active Coolers optimiert.
-
Das 27W USB-PD Protokoll
Die maßgeschneiderte 5,1V / 5A Aushandlung verstehen und die 1,6A USB-Gesamtstromstärke per Firmware-Befehl freischalten.
-
IEEE 802.3at PoE+ HATs
Gigabit-Netzwerk und 25W isolierte Gleichspannung über ein einziges Cat-6-Kabel direkt aus dem Enterprise-Switch einspeisen.
-
USV-Akku-Automatisierung
18650 Li-Ionen-Akkus über I2C-Telemetrie überwachen und bei Stromausfall einen sauberen, automatisierten Shutdown auslösen.
-
Lüfterkurven & Kühlung
Die 4-Pin PWM-Lüfterschwellen in
/boot/firmware/config.txtfeintunen und thermische Reserven mitstress-ngverifizieren.
1. Das 27W USB-PD Protokoll auf dem Raspberry Pi 5
Der Raspberry Pi 5 verfügt über einen modernen DA9091 Strommanagement-Chip (PMIC), der beim Anstecken über die CC-Leitungen des USB-C-Kabels mit dem Netzteil kommuniziert:
%%{init: {'flowchart': {'wrappingWidth': 350}}}%%
flowchart TB
PSU["USB-PD 3.0 Netzteil"]
PI_PMIC["Pi 5 DA9091 PMIC"]
CHECK{"Wird 5V / 5A (27W) ausgehandelt?"}
subgraph ModeFull["Offizielles 27W Leistungsprofil"]
FULL["Volle Hardware-Freigabe<br/>USB-Gesamtstrom: 1,6 Ampere<br/>Alle 4 USB-Ports & NVMe voll versorgt"]
end
subgraph ModeLimited["Standard 15W Profil"]
THROTTLE["Stromsparmodus aktiv<br/>Warnung: Unable to deliver 5A<br/>USB-Ports auf 600 mA gedeckelt"]
end
PSU <-->|"CC-Pins: PD-Aushandlung"| PI_PMIC
PI_PMIC --> CHECK
CHECK -->|"Ja (Offizielles 27W Netzteil)"| ModeFull
CHECK -->|"Nein (Standard 15W Ladegerät)"| ModeLimited
ModeFull --> ModeLimited
Das 5,0V / 5,0A USB-C Problem
Handelsübliche USB-PD-Netzteile für Notebooks liefern hohe Wattzahlen, indem sie die Spannung erhöhen (z. B. 9V/3A, 12V/3A, 20V/5A). Der Raspberry Pi benötigt am Stromeingang jedoch zwingend 5 Volt. Fast alle normalen 30W–65W Notebook-Netzteile liefern bei 5V aber nur maximal 3,0A (15W).
Um 27W bei 5V bereitzustellen, signalisiert das offizielle Raspberry Pi 27W USB-C Netzteil ein proprietäres PD-Profil mit 5,1V bei 5,0A.
Die 600-mA-Begrenzung per Firmware aufheben
Verwendet man ein sehr hochwertiges 15W–20W Netzteil und möchte externe USB-Festplatten oder eine NVMe-SSD betreiben, kann die künstliche 600-mA-Sperre in /boot/firmware/config.txt manuell außer Kraft gesetzt werden:
# Volle 1,6A USB-Stromstärke auch ohne 5A-Netzteilerkennung freigeben
usb_max_current_enable=1
Unterspannungs-Risiko bei usb_max_current_enable=1
Aktiviere diesen Parameter nur, wenn das Netzteil absolut laststabil ist und die Spannung unter Schreiblast niemals unter 4,63V absackt. Bricht die Spannung ein, drohen spontane Reboots und Dateisystem-Schäden!
2. Der Spannungsabfall im Kabel (Voltage Droop)
Jedes Kabel besitzt einen elektrischen Innenwiderstand. Fließt ein hoher Strom von 5 Ampere durch ein dünnes Kupferkabel, geht unterwegs wertvolle Spannung verloren:
Spannungsabfall (V_drop) = Strom (I) × Leitungswiderstand (R)
Bei 5 Ampere Stromfluss:
- Ein billiges 1-Meter-Ladekabel mit dünnen 28 AWG Adern hat einen Gesamtwiderstand von ca. 0,4 Ω. Der Spannungsabfall beträgt: 5A × 0,4 Ω = 2,0V! Am Pi kommen nur noch unbrauchbare 3,1V an – sofortiger Absturz.
- Ein hochwertiges Kabel mit dicken 20 AWG Adern hat lediglich ~0,04 Ω Widerstand. Der Abfall liegt bei unkritischen 0,2V.
%%{init: {'flowchart': {'wrappingWidth': 350}}}%%
flowchart TB
PSU["Netzteil<br/>Liefert 5,10 V"]
CABLE["1m dünnes Kabel (0,3 Ω Widerstand)<br/>Spannungsabfall: ~0,90 V"]
BOARD["Pi USB-C Buchse<br/>Spannung bricht auf 4,20 V ein (< 4,63 V)<br/>Unterspannungs-Absturz!"]
PSU --> CABLE
CABLE --> BOARD
Kernspannung im laufenden Betrieb prüfen
Mit vcgencmd lässt sich die aktuelle Kernspannung direkt auslesen:
3. Power-over-Ethernet (IEEE 802.3at PoE+)
Im Server-Rack oder bei verteilten IoT-Gateways ist ein separates USB-C-Netzteil pro Rechner unpraktisch. Power-over-Ethernet (PoE) führt Strom und Gigabit-Netzwerk über ein einziges Netzwerkkabel zusammen:
%%{init: {'flowchart': {'wrappingWidth': 350}}}%%
flowchart TB
SWITCH["PoE+ Switch im Serverschrank<br/>(IEEE 802.3at: 30W @ 48V DC)"]
CABLE["Cat-6 Netzwerkkabel<br/>(Bis zu 100m, 48V + Gigabit-Daten)"]
POE_HAT["Raspberry Pi PoE+ HAT<br/>(Schaltwandler 48V auf 5,1V)"]
PI["Raspberry Pi 5 Platine<br/>(Stabile 5,1V / 4,5A Versorgung)"]
SWITCH --> CABLE
CABLE --> POE_HAT
POE_HAT --> PI
Die PoE-Standards im Vergleich
| PoE-Standard | Switch-Leistung | Verfügbar am Endgerät | Empfohlener Einsatz |
|---|---|---|---|
| 802.3af (Klassisches PoE) | 15,4 W @ 48V |
~12,95 W |
Raspberry Pi 3B+ (reicht für nackte Platine). |
| 802.3at (PoE+) | 30,0 W @ 48V |
~25,5 W |
Raspberry Pi 4 & Pi 5 (inkl. NVMe-SSDs und USB-Last). |
| 802.3bt (PoE++) | 60W – 90W |
51W – 71W |
Industrielle Multi-Kamera- und KI-Appliances. |
Enterprise-Vorteil
Hängt der zentrale PoE-Switch im Serverraum an einer USV (Batterie-Puffer), sind automatisch alle angeschlossenen Raspberry Pis gegen Stromausfälle abgesichert – ganz ohne Batterien an den einzelnen Boards!
4. Unterbrechungsfreie Stromversorgung (USV) & Shutdown-Skript
Für Außenstationen und autarke Edge-Systeme sichert ein USV-HAT mit zwei 18650 Li-Ionen-Zellen den Betrieb bei Stromausfällen ab:
%%{init: {'flowchart': {'wrappingWidth': 600, 'subGraphTitleMargin': {'top': 15, 'bottom': 15}}}}%%
flowchart TB
WALL["230V Steckdose"] --> CHG["USV-HAT Ladeschaltung"]
BATT["2× 18650 Li-Ion Zellen (3,7V 3000mAh)"] <--> CHG
CHG -->|"Gepufferte 5,1V Versorgung"| PI_SYS["Raspberry Pi System"]
subgraph I2C_Telemetrie["I2C Telemetrie-Bus (0x36)"]
GAUGE["MAX17048 Akkustand-Sensor"]
DAEMON["Python Shutdown-Daemon"]
GAUGE -.->|"Füllstand % & Spannung"| DAEMON
end
DAEMON -->|"Akkustand < 10%"| SHUTDOWN["sudo poweroff (Geordnet)"]
Produktions-Daemon zur Akkuüberwachung
Folgendes Python-Skript fragt einen gängigen MAX17048 Fuel-Gauge-Sensor über den I2C1-Bus (0x36) ab und leitet bei Erreichen der Reserve einen sauberen Shutdown ein:
#!/usr/bin/env python3
"""USV-Akkuüberwachung und automatischer Notfall-Shutdown."""
import os
import sys
import time
import smbus2
I2C_BUS = 1
I2C_ADDR = 0x36 # I2C-Adresse des MAX17048 Sensors
SOC_REGISTER = 0x04 # Register für Ladestand in %
VOLTAGE_REGISTER = 0x02 # Register für Zellenspannung
SHUTDOWN_SCHWELLE_PROZENT = 10.0
def lies_akku_telemetrie():
bus = smbus2.SMBus(I2C_BUS)
try:
# Ladestand in Prozent auslesen
soc_raw = bus.read_word_data(I2C_ADDR, SOC_REGISTER)
soc_bytes = [(soc_raw & 0xFF), (soc_raw >> 8)]
soc = soc_bytes[0] + (soc_bytes[1] / 256.0)
# Zellenspannung in Volt auslesen
volt_raw = bus.read_word_data(I2C_ADDR, VOLTAGE_REGISTER)
volt_bytes = [(volt_raw & 0xFF), (volt_raw >> 8)]
spannung = ((volt_bytes[0] << 4) | (volt_bytes[1] >> 4)) * 1.25 / 1000.0
return soc, spannung
finally:
bus.close()
def main():
print("[USV-DIENST] Überwachung gestartet.")
while True:
try:
soc, volt = lies_akku_telemetrie()
print(f"[TELEMETRIE] Akkuladung: {soc:.1f}% | Spannung: {volt:.3f}V")
if soc <= SHUTDOWN_SCHWELLE_PROZENT:
print(f"[KRITISCH] Akkustand ({soc:.1f}%) unter Schwelle ({SHUTDOWN_SCHWELLE_PROZENT}%)!")
print("[NOTFALL] Leite geordneten System-Shutdown ein, um die SD-Karte zu schützen...")
os.system("sudo /usr/sbin/poweroff")
sys.exit(0)
except Exception as fehler:
print(f"[WARNUNG] I2C-Abfrage fehlgeschlagen: {fehler}")
time.sleep(30)
if __name__ == "__main__":
main()
5. Aktive Kühlung & PWM-Lüfterkurven-Tuning
Der offizielle Raspberry Pi 5 Active Cooler nutzt einen 4-poligen PWM-Lüfter mit Drehzahlrückmeldung (Tachometer), der direkt auf den dedizierten FAN-Steckplatz der Platine passt:
Raspberry Pi 5 FAN-Anschluss:
[ Pin 1: GND (Schwarz) ] [ Pin 2: 5V (Rot) ] [ Pin 3: Tacho (Gelb) ] [ Pin 4: PWM (Blau) ]
Echtzeit-Temperatur und Lüfterstatus abfragen
# 1. Temperatur in Milligrad Celsius abfragen (z.B. 48500 = 48,5 °C)
cat /sys/class/thermal/thermal_zone0/temp | awk '{printf "SoC-Temperatur: %.1f °C\n", $1/1000}'
# 2. Aktive Lüfterstufe abfragen (0 = Aus, 1 = Leise, 2 = Mittel, 3 = Schnell, 4 = Maximum)
cat /sys/class/thermal/cooling_device0/cur_state
Lüfterschwellen in /boot/firmware/config.txt anpassen
Standardmäßig bleibt der Lüfter bis 50°C vollkommen still. Für 24/7-Server unter Dauervollast empfiehlt sich ein aggressiveres Profil:
# Stufe 0: Bei 45°C leise anlaufen (PWM-Wert 75 von 255)
dtparam=fan_temp0=45000
dtparam=fan_temp0_speed=75
# Stufe 1: Bei 55°C mittlere Drehzahl (PWM-Wert 125 von 255)
dtparam=fan_temp1=55000
dtparam=fan_temp1_speed=125
# Stufe 2: Bei 65°C hohe Drehzahl (PWM-Wert 175 von 255)
dtparam=fan_temp2=65000
dtparam=fan_temp2_speed=175
# Stufe 3: Bei 75°C volle 100 % Lüfterleistung zur Verhinderung von Throttling
dtparam=fan_temp3=75000
dtparam=fan_temp3_speed=255
Härtetest unter Volllast mit stress-ng
Prüfe die Kühlleistung unter 100 % Dauerlast auf allen 4 CPU-Kernen:
sudo apt install -y stress-ng
stress-ng --cpu 4 --cpu-method matrixprod --timeout 300s --metrics-brief
Nächste Schritte
Mit stabiler Stromversorgung und optimaler Kühlung steht dem Einsatz von High-Speed NVMe-SSDs über den PCIe-Port nichts mehr im Weg:
-
Nächstes Kapitel: Speicherarchitektur & PCIe NVMe Boot
M.2 NVMe HATs montieren, PCIe Gen 3 Geschwindigkeiten freischalten, EEPROM-Boot-Order konfigurieren und ZRAM-Swap optimieren.