sbcs:raspberry_pi:pi_5_stromversorgung
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
sbcs:raspberry_pi:pi_5_stromversorgung [2023/12/29 18:22] – [Strom] dominik | sbcs:raspberry_pi:pi_5_stromversorgung [2024/01/24 10:10] (current) – [Pi 5 Stromversorgung] dominik | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Pi 5 Stromversorgung | + | ====== |
+ | ===== YouTube Video #79 ===== | ||
+ | {{youtube> | ||
+ | \\ | ||
===== Original 27W Netzteil (5.1V, 5A) ===== | ===== Original 27W Netzteil (5.1V, 5A) ===== | ||
- | Das originale Netzteil verwendet USB-PD, um den Pi5 mit max. 5A zu versorgen. Das ist aber über der eigentlichen USB-PD Spezifikation - die geht bei 5V max. bis 3A. Danach sollte normalerweise die Spannung steigen auf 9V, um den Strom gering zu halten. Das kann der Pi5 aber nicht. | + | Das originale Netzteil verwendet USB-PD, um den Pi5 mit max. 5A zu versorgen. Das ist aber über der eigentlichen USB-PD Spezifikation - die geht bei 5V max. bis 3A ([[https:// |
Es dürfte deshalb etwas schwierig werden, ein alternatives Netzteil für den Pi5 mit 5A zu finden. Und selbst wenn das Netzteil 5A liefern kann, wird es vom Pi5 vermutlich nicht erkannt. Denn bei USB-PD wird der maximale Strom (und im Normalfall auch die Spannung) zwischen Verbraucher (Pi5) und dem Netzteil ausgehandelt. | Es dürfte deshalb etwas schwierig werden, ein alternatives Netzteil für den Pi5 mit 5A zu finden. Und selbst wenn das Netzteil 5A liefern kann, wird es vom Pi5 vermutlich nicht erkannt. Denn bei USB-PD wird der maximale Strom (und im Normalfall auch die Spannung) zwischen Verbraucher (Pi5) und dem Netzteil ausgehandelt. | ||
Line 10: | Line 12: | ||
Mit dem Original Netzteil sollte sich der Pi 5 auch problemlos übertakten lassen (**ausreichende Kühlung vorausgesetzt!**). Wie das geht kann man bei Toms Hardware nachlesen: \\ https:// | Mit dem Original Netzteil sollte sich der Pi 5 auch problemlos übertakten lassen (**ausreichende Kühlung vorausgesetzt!**). Wie das geht kann man bei Toms Hardware nachlesen: \\ https:// | ||
+ | > **Hinweis** \\ Übertaktet ist der Pi5 noch empfindlicher bei der Eingangsspannung. Bei 3GHz kam schon bei ~5V (PMIC ...) eine Warnmeldung und bei 4,95V hing sich der Pi auf. | ||
===== Original 15W Netzteil (5.1V, 3A) ===== | ===== Original 15W Netzteil (5.1V, 3A) ===== | ||
Das Netzteil (ursprünglich für den Pi4 gedacht) funktioniert auch mit einem Pi5. Da nur 3A zur Verfügung stehen, werden im Default aber nur 600mAh für die USB-Ports zur Verfügung gestellt. Diese Einschränkung kann man durch einen Eintrag in der '' | Das Netzteil (ursprünglich für den Pi4 gedacht) funktioniert auch mit einem Pi5. Da nur 3A zur Verfügung stehen, werden im Default aber nur 600mAh für die USB-Ports zur Verfügung gestellt. Diese Einschränkung kann man durch einen Eintrag in der '' | ||
Wird der Pi5 mit etwas anderem als einer SD-Karte gebootet, erscheint auch eine [[pi_5_stromversorgung# | Wird der Pi5 mit etwas anderem als einer SD-Karte gebootet, erscheint auch eine [[pi_5_stromversorgung# | ||
+ | |||
+ | {{: | ||
> **Hinweis: | > **Hinweis: | ||
Line 48: | Line 53: | ||
==== Strom ==== | ==== Strom ==== | ||
- | ^ Modus ^ Bootmedium | + | ^ Modus ^ Bootmedium |
- | | **Booten** | + | | **Booten** |
- | | | USB | ~1000 mA | | | + | | | USB | ~1000 mA | | |
- | | **Idle Desktop** | + | | **Idle Desktop** |
- | | | USB | ~750 mA | + | | | USB | ~750 mA |
- | | **Stress Test** (4 Cores) | + | | | USB | ~780 mA | Übertaktet mit \\ '' |
- | | | USB | ~1600 mA | | | + | | **Stress Test** (4 Cores) |
- | | | USB | ~2000 mA | Übertaktet mit \\ '' | + | | | USB | ~1600 mA | | |
+ | | | USB | ~2000 mA | Übertaktet mit \\ '' | ||
> | > | ||
- | |||
===== Stresstest druchführen ===== | ===== Stresstest druchführen ===== | ||
* '' | * '' | ||
* '' | * '' | ||
+ | ===== Unterspannung erkennen ===== | ||
+ | * Im Desktop Betrieb wird eine Meldung angezeigt: \\ {{: | ||
+ | * In der Konsole kann man sich die Meldungen über '' | ||
+ | pi@Pi5Test: | ||
+ | [Dec29 18:27] hwmon hwmon3: Undervoltage detected! | ||
+ | [ +8.063959] hwmon hwmon3: Voltage normalised | ||
+ | </ | ||
+ | |||
+ | |||
Line 102: | Line 116: | ||
</ | </ | ||
* Die Eingangsspannung alle 2 Sekunden auslesen (Abbruch mit STRG + C) \\ '' | * Die Eingangsspannung alle 2 Sekunden auslesen (Abbruch mit STRG + C) \\ '' | ||
- | Every 2.0s: vcgencmd pmic_read_adc | grep EXT5V_V | cut -d" | + | Every 2.0s: vcgencmd pmic_read_adc | grep EXT5V_V | cut -d" |
5.07860000V | 5.07860000V | ||
Line 108: | Line 122: | ||
- | ===== V Watch ===== | + | ===== etwas Python Magie ===== |
* '' | * '' | ||
* '' | * '' | ||
Line 122: | Line 136: | ||
import time | import time | ||
- | # Funktion zum Ausführen des Linux-Programms und Lesen der Ausgabe | ||
def run_linux_program(): | def run_linux_program(): | ||
- | command = '/usr/bin/vcgencmd | + | command = ' |
result = subprocess.run(command, | result = subprocess.run(command, | ||
- | return float(result.stdout.strip()) | + | |
+ | | ||
# Initialisierung des Diagramms | # Initialisierung des Diagramms | ||
Line 132: | Line 146: | ||
print(f" | print(f" | ||
print(f" | print(f" | ||
- | plt.ion() | + | plt.ion() |
fig, ax = plt.subplots() | fig, ax = plt.subplots() | ||
values = deque(maxlen=100) | values = deque(maxlen=100) | ||
- | |||
- | # Datumsformat für die X-Achse | ||
- | date_format = ' | ||
- | |||
- | # Hauptschleife | ||
- | print(run_linux_program()) | ||
- | |||
- | plt.show() | ||
try: | try: | ||
while True: | while True: | ||
- | | + | |
- | current_time = datetime.now().strftime(date_format) | + | |
- | # Wert vom Linux-Programm erhalten | ||
- | new_value = run_linux_program() | ||
- | |||
- | # Werte in der Deque aktualisieren | ||
- | # | ||
- | values.append(new_value) | ||
- | |||
- | # Diagramm aktualisieren | ||
ax.clear() | ax.clear() | ||
ax.plot(values) | ax.plot(values) | ||
- | # | + | |
- | | + | |
ax.set_xlabel(' | ax.set_xlabel(' | ||
- | ax.set_ylabel(' | + | ax.set_ylabel(' |
- | # ax.xaxis.set_major_formatter(plt.FuncFormatter(lambda x, _: datetime.fromtimestamp(x).strftime(date_format))) | + | |
- | # Nur 5 Ticks auf der X-Achse | + | # Festlegen von 5 Ticks auf der Y-Achse |
- | # x_ticks | + | |
- | # if x_ticks > 0: | + | ax.set_yticks(y_ticks) |
- | # x_tick_labels = ax.get_xticklabels() | + | |
- | # ax.set_xticks(x_ticks[:: | + | |
- | # | + | |
- | # plt.draw() | + | for y_tick in y_ticks: |
- | # | + | ax.axhline(y=y_tick, linestyle=' |
- | | + | |
- | | + | |
+ | ax.fill_between(range(len(values)), | ||
+ | ax.fill_between(range(len(values)), | ||
+ | |||
+ | | ||
+ | | ||
except KeyboardInterrupt: | except KeyboardInterrupt: | ||
pass | pass | ||
Line 181: | Line 178: | ||
plt.ioff() | plt.ioff() | ||
plt.show() | plt.show() | ||
- | |||
</ | </ | ||
+ | |||
+ | * Starten kann man den Code mittels '' | ||
===== Der An / Aus Taster ===== | ===== Der An / Aus Taster ===== |
sbcs/raspberry_pi/pi_5_stromversorgung.1703870523.txt.gz · Last modified: 2023/12/29 18:22 by dominik