User Tools

Site Tools


sbcs:raspberry_pi:pi_5_stromversorgung

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sbcs:raspberry_pi:pi_5_stromversorgung [2023/12/29 18:27] – [Strom] dominiksbcs:raspberry_pi:pi_5_stromversorgung [2024/01/24 10:10] (current) – [Pi 5 Stromversorgung] dominik
Line 1: Line 1:
-====== Pi 5 Stromversorgung ====== +====== Stromversorgung (Pi 5======
  
 +===== YouTube Video #79 =====
 +{{youtube>clvJ_4ED71U?half}}
  
 +\\ 
 ===== 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://www.elektronik-kompendium.de/sites/com/1809251.htm|siehe hier]]). Danach sollte normalerweise die Spannung steigen auf 9V, um den Strom gering zu halten. Das kann der Pi5 aber nicht. 
  
 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://www.tomshardware.com/how-to/overclock-raspberry-pi-5 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://www.tomshardware.com/how-to/overclock-raspberry-pi-5
  
 +> **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 ''config.txt'' umgehen - [[pi_5_stromversorgung#fix_fuer_ungeeignete_netzteile|siehe hier]].  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 ''config.txt'' umgehen - [[pi_5_stromversorgung#fix_fuer_ungeeignete_netzteile|siehe hier]]. 
  
 Wird der Pi5 mit etwas anderem als einer SD-Karte gebootet, erscheint auch eine [[pi_5_stromversorgung#fix_fuer_ungeeignete_netzteile|entsprechende Meldung]].  Wird der Pi5 mit etwas anderem als einer SD-Karte gebootet, erscheint auch eine [[pi_5_stromversorgung#fix_fuer_ungeeignete_netzteile|entsprechende Meldung]]. 
 +
 +{{:sbcs:raspberry_pi:pasted:20231230-064253.png}}
  
 > **Hinweis:** \\ bei zu viel angeschlossener Peripherie und hoher CPU Last kann es zum Systemabsturz kommen. Entweder schaltet das Netzteil ab, oder die Spannung fällt zu stark ab.  > **Hinweis:** \\ bei zu viel angeschlossener Peripherie und hoher CPU Last kann es zum Systemabsturz kommen. Entweder schaltet das Netzteil ab, oder die Spannung fällt zu stark ab. 
Line 48: Line 53:
 ==== Strom ==== ==== Strom ====
  
-^ Modus                      ^ Bootmedium  ^ Strom     ^ Hinweis                                              +^ Modus                      ^ Bootmedium  ^ Strom     ^ Hinweis                                                                                                    
-| **Booten**                 | SD          | ~800 mA                                                        +| **Booten**                 | SD          | ~800 mA                                                                                                              
-|                            | USB         | ~1000 mA  |                                                      +|                            | USB         | ~1000 mA  |                                                                                                            
-| **Idle Desktop**           | SD          | ~600 mA                                                        +| **Idle Desktop**           | SD          | ~600 mA                                                                                                              
-|                            | USB         | ~750 mA                                                        +|                            | USB         | ~750 mA                                                                                                              | 
-| **Stress Test** (4 Cores)  | SD          | ~1250 mA  |                                                      +|                            | USB         | ~780 mA   | Übertaktet mit \\ ''arm_freq=3000 \\ gpu_freq=1000'' \\ Im Idle wird der Takt aber auf 1,5GHz gedrosselt!  
-|                            | USB         | ~1600 mA  |                                                      +| **Stress Test** (4 Cores)  | SD          | ~1250 mA  |                                                                                                            
-|                            | USB         | ~2000 mA  | Übertaktet mit \\ ''arm_freq=3000 \\ gpu_freq=1000''  |+|                            | USB         | ~1600 mA  |                                                                                                            
 +|                            | USB         | ~2000 mA  | Übertaktet mit \\ ''arm_freq=3000 \\ gpu_freq=1000''                                                       |
  
 >**Hinweis** \\ Stromverbrauch bei der Verwendung von USB Geräten kann je nach Gerät variieren! >**Hinweis** \\ Stromverbrauch bei der Verwendung von USB Geräten kann je nach Gerät variieren!
  
 +===== Stresstest druchführen =====
 +  * ''sudo apt install stress''
 +  * ''stress -c 4 -m 4''
 ===== Unterspannung erkennen ===== ===== Unterspannung erkennen =====
   * Im Desktop Betrieb wird eine Meldung angezeigt: \\ {{:sbcs:raspberry_pi:pasted:20231229-182616.png}}   * Im Desktop Betrieb wird eine Meldung angezeigt: \\ {{:sbcs:raspberry_pi:pasted:20231229-182616.png}}
Line 67: Line 76:
 </code> </code>
  
-===== Stresstest druchführen ===== +
-  * ''sudo apt install stress'' +
-  * ''stress -c 4 -m 4''+
  
  
Line 115: Line 122:
  
  
-===== V Watch =====+===== etwas Python Magie =====
   * ''sudo apt install python3-virtualenv python3-tk -y''   * ''sudo apt install python3-virtualenv python3-tk -y''
   * ''virtualenv grapher''   * ''virtualenv grapher''
Line 129: 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 measure_temp | cut -d"=" -f2 | cut -d"\'" -f1'+    command = 'vcgencmd pmic_read_adc | grep EXT5V_V | cut -d"=" -f2'
     result = subprocess.run(command, capture_output=True, text=True, shell=True)     result = subprocess.run(command, capture_output=True, text=True, shell=True)
-    return float(result.stdout.strip())  # Hier anpassen, abhängig von der Art der Ausgabe+    print(result.stdout.strip()[:5]) 
 +    return float(result.stdout.strip()[:5])
  
 # Initialisierung des Diagramms # Initialisierung des Diagramms
Line 139: Line 146:
 print(f"Interactive mode: {matplotlib.is_interactive()}") print(f"Interactive mode: {matplotlib.is_interactive()}")
 print(f"matplotlib backend: {matplotlib.rcParams['backend']}") print(f"matplotlib backend: {matplotlib.rcParams['backend']}")
-plt.ion()  # Interaktiver Modus für kontinuierliche Aktualisierung+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 = '%H:%M:%S:%f' 
- 
-# Hauptschleife 
-print(run_linux_program()) 
- 
-plt.show() 
  
 try: try:
     while True:     while True:
-        # Zeitstempel für die aktuelle Zeit +        values.append(run_linux_program())
-        current_time = datetime.now().strftime(date_format)+
  
-        # Wert vom Linux-Programm erhalten 
-        new_value = run_linux_program() 
- 
-        # Werte in der Deque aktualisieren 
-        #values.append((current_time, new_value)) 
-        values.append(new_value) 
- 
-        # Diagramm aktualisieren 
         ax.clear()         ax.clear()
         ax.plot(values)         ax.plot(values)
-#       ax.plot(*zip(*values))  # Entpackt die Werte in zwei separate Listen +        ax.set_title('Pi5 VIn Monitor')
-        ax.set_title('Oszilloskop')+
         ax.set_xlabel('Zeit')         ax.set_xlabel('Zeit')
-        ax.set_ylabel('Wert'+        ax.set_ylabel('Voltage')
-#        ax.xaxis.set_major_formatter(plt.FuncFormatter(lambda x, _: datetime.fromtimestamp(x).strftime(date_format)))+
  
-        # Nur 5 Ticks auf der X-Achse anzeigen +        # Festlegen von 5 Ticks auf der Y-Achse 
-       x_ticks ax.get_xticks() +        y_ticks [4.4, 4.6, 4.85, 5.0, 5.1, 5.2
-#        if x_ticks > 0+        ax.set_yticks(y_ticks)
-#            x_tick_labels = ax.get_xticklabels() +
-#            ax.set_xticks(x_ticks[::len(x_ticks)/5]) +
-#            ax.set_xticklabels(x_tick_labels[::len(x_ticks)/5])+
  
-#        plt.draw() +        for y_tick in y_ticks: 
-#        plt.pause(1.0) +            ax.axhline(y=y_tick, linestyle='dashed', color='gray', linewidth=1
-        print("read"+ 
-        time.sleep(1.0)+        Bereich zwischen 4,85 und 5,1 einfärben 
 +        ax.fill_between(range(len(values)), 5.0, 5.1, color='green', alpha=0.3) 
 +        ax.fill_between(range(len(values)), 4.85, 5.0, color='yellow', alpha=0.3) 
 + 
 +        plt.draw() 
 +        plt.pause(1.0)
 except KeyboardInterrupt: except KeyboardInterrupt:
     pass     pass
Line 188: Line 178:
     plt.ioff()     plt.ioff()
     plt.show()     plt.show()
- 
 </code> </code>
 +
 +  * Starten kann man den Code mittels ''python3 grapher.py'' \\ {{:sbcs:raspberry_pi:pasted:20231229-184840.png}} \\ Abbrechen mit STRG + C
  
 ===== Der An / Aus Taster ===== ===== Der An / Aus Taster =====
sbcs/raspberry_pi/pi_5_stromversorgung.1703870852.txt.gz · Last modified: 2023/12/29 18:27 by dominik

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki