Under-voltage - Verbesserungsvorschlag

Liebes Support Team


Ich habe Probleme, ein "Standard Raspberry Power Supply" in einer bestehenden Raspberry Pi 4 Installation durch ein Strompi in einem separaten StromPi Gehäuse zu ersetzen. Stichwort: "Under-voltage detected".


Mein Setup: Modus 4 (Wide->Battery), Netzteil 24V/30W (Hutschienennetzteil), 2000mAh Batteriepack, Anschluss des RPI 4/4GB RAM via externen USB Power Port am StromPi. RPI 4 ist headless, einzige Peripherie sind eine externe Samsung T5 SSD sowie ein Edimax WLAN Stick.


Der Status des Strompi wird seriell im Minutentakt ausgelesen und ergibt bei einer aktuellen Beobachtung innerhalb einer Stunde:


ADC_Wide 23.997V bis 24.001V
ADC_Output 4.977V bis 4.994V


Direkt gemessen am USB-Power-Ausgang erhalte ich 4.95V, wenn das Rpi4 unterbeschäftigt ist; 4.89V bei 1A Last.


Nur bei einer Last unterhalb von ca. 0.8A (4W) ist ein sicherer Betrieb möglich. Steigt der Strombedarf des Pi auf 1.5A, sinkt die Speisespannung (gemessen direkt am USB Power Ausgang des StromPi) bereits auf 4.8V. An einen Betrieb wie mit dem "Raspberry Standardnetzteil" (3A/15W) ist gar nicht zu denken.


Verwende ich ein "handelsübliches" USB-A -> USB-C Datenkabel zwischen StromPi und Pi 4, bleibe ich zwangsweise in "Under-voltage detected" hängen. Mit einem etwas robusteren extrakurzen Kabel (jenes, welches der SSD beiliegt) oder einem handgestrickten "Power Only"-Kabel mit grösserem Leiterquerschnitt ist es etwas besser, ich erhalte trotzdem noch in unregelmässigen Abständen (je nach Strombedarf des Pi 4) Meldungen:


journalctl -b | fgrep oltage
Dez 25 14:17:08 smartmeter kernel: Under-voltage detected! (0x00050005)
Dez 25 14:17:19 smartmeter kernel: Voltage normalised (0x00000000)
Dez 26 13:46:14 smartmeter kernel: Under-voltage detected! (0x00050005)
Dez 26 13:46:21 smartmeter kernel: Voltage normalised (0x00000000)
Dez 26 13:46:48 smartmeter kernel: Under-voltage detected! (0x00050005)
Dez 26 13:46:54 smartmeter kernel: Voltage normalised (0x00000000)


Ich muss für dieses Problem eine Lösung finden.


In den Raspberry-Foren wird empfohlen, das als Referenz geltende "Standardnetzteil" zu verwenden - mit diesem läuft tatsächlich dieses System problemlos! Dieses Standardnetzteil liefert spezifikationsgemäss 5.1V (und nicht 5.0V) bei einer Last von 3A. Diese leicht erhöhte Spannung wurde wohl mit der Absicht gewählt, allfällige Bauteiltoleranzen und Spannungsabfälle der Anschlusskabel und Steckverbindungen zu kompensieren. Bis 5.25V Leerlaufspannung ist man ohnehin sicher.


Ich wünschte mir, das StromPi im Modus 4 am Power USB-Port als "Drop-In Replacement" für das Original Raspi Netzteil verwenden zu können: mit Ausgangsspannung 5.1V und Ausgangsstrom 3A. Entweder standardmässig, oder dann zumindest mit einer einstellbaren Konfigurationsoption - z.B. "Raspberry Pi Power Supply Kompatibilität am USB Power-Ausgang". Der ADC Output würde dann beispielsweise auf 5.2V eingestellt, das wäre dann die Leerlaufspannung am USB-Ausgang; bei einer Last von 0.8A noch eine Spannung von ca. 5.15V; bei einer Last von 3A dann vielleicht noch 4.9V; es bliebe dann noch eine kleine Reserve für das USB A to C - Anschlusskabel.


Was denkt ihr?


Herzliche Grüsse


Marcel

marcel

26.12.21 16:04

Hallo Marcel,


es ist uns bereits bekannt, dass der Wideregler etwas höher eingestellt werden könnte. Dies ist auch für die zukünftigen Produktionen geplant.
Bei der bereits bestehenden Produktion müssten zwei SMD Widerstände ausgetauscht werden, um die Spannung entsprechend zu erhöhen.
Der Raspberry Pi wird mit dem StromPi normalerweise jedoch nicht über den USB-Port betrieben, sondern mit aufgestecktem StromPi über die 5 V Pins der GPIO-Leiste.
Der USB-Port am StromPi ist für den Fall, dass Sie USB-Geräte mit einem hohen Stromverbrauch am Raspberry Pi betreiben möchten. 
Dafür schließen Sie das Gerät dann an den USB-A Port des StromPi und verbinden den Micro-USB Port am StromPi (Data in) mit einem USB-Port des Raspberry Pi. Oder Sie verbinden den USB-A Port des StromPi mit einem USB Port des Raspberry Pi, wodurch die weiteren Ports des Raspberry Pi mehr Strom liefern können.


Mit freundlichen Grüßen


Tim (Joy-IT)

Tim

28.12.21 13:59

Hallo Tim


Danke für die Hinweise. Es ist mir klar, dass der StromPi primär dazu erdacht wurde, den RPI über die 5V Pins der GPIO Leiste zu verbinden. Das mache ich ja mit dem "eingebauten Pi Zero W" auch ;) Trotzdem hatte ich gehofft, das Gerät auch als vorgeschaltete USV zu einem bestehenden System in eigenem Gehäuse verwenden zu können.


Ich habe nun probehalber direkt an der GPIO Leiste Pin 2 (+5V) und 6 (GND) ein USB-C Speisekabel angeschlossen (so wie ich es im Schaltschrank mit dem 5V Hutschienennetzteil verwende und wie es auch mit dem "Originalnetzteil" geht) und dieses mit dem externen Raspberry Pi 4 verbunden. Das Problem tritt leider auch so auf, vielleicht ein bisschen weniger häufig. Ein, zwei Zehntelvolt fehlen einfach.


Ich habe zwei StromPi samt 2000 mAh Batteriepaketen gekauft, eins davon als Reserve - mit der Hoffnung, diese als "externe Netzteile mit USV-Funktion" für die bestehenden Pi 4 zu verwenden. Eigentlich würde alles perfekt klappen, wenn nicht dieses Problem wäre - so ist alles nutzlos. Ich besitze eine SMD Rework Station samt Pinzettensatz, Lupe und Heissluftlötvorrichtung - ich denke darüber nach, mit den StromPi einen Grillversuch mit neuen Widerständen zu machen. Könnten Sie mir Platinenlayout und Schema übermitteln? Möglicherweise könnte der für die Ausgangsspannung zuständige Spannungsteiler auch mit einer Parallelschaltung angepasst werden. Meine e-Mail lautet marcel.gsteiger(klammeraffe)milprog.ch . Besten Dank.


Haben Sie einen ungefähren Zeitrahmen, ab wann eine angepasste Version des StromPi verfügbar werden könnte?


Herzlichen Dank und beste Wünsche für den Jahreswechsel


Marcel

marcel

28.12.21 16:19

Hallo Marcel,


wir können das Platinen-Layout leider nicht veröffentlichen.
Der Widerange-Regler ist ein ST-L7987
In dem angefügten Bild sind die zu wechselnden Widerstände markiert. Wir würden Sie durch folgende Widerstände ersetzen, sind aber noch dabei dies zu testen:
oben R10: ----
unten R11: ----


Die Bauform der Widerstände ist 0603 (1608 Metrisch)
Es ist zu beachten, dass die Toleranz der Widerstände möglichst gering ist, um ein genaueres Ergebnis zu erzielen.


Wir können leider nicht abschätzen, wann die angepasste Version im Handel erhältlich ist. Dies hängt von der Verfügbarkeit der Bauteile und den Restbeständen bei den Händlern ab.


Mit freundlichen Grüßen
Tim (Joy-IT)

Tim

29.12.21 09:31

Hallo Tim


auf den beiden StromPi, die ich besitze, sind diese beiden Widerstände beschriftet mit 303 (30k) und 562 (5K6), also genau was Sie hier als Umbau vorschlagen. Demnach wäre bei einem Ersatz durch dieselben Werte wohl keine Verbesserung zu erwarten ;) Ich warte mal Ihre definitiven Angaben ab, bevor ich die Boards an eine SMD-Reparaturwerkstatt schicke.


Beste Grüsse


Marcel

marcel

29.12.21 15:03

Hallo Marcel,


da haben Sie natürlich Recht, entschuldigen Sie die Verwechslung.
Die richtigen Werte lauten:


oben R10: 11k
unten R11: 2k


Bitte beachten Sie, dass wir noch nicht die Möglichkeit hatten, dies zu testen und deshalb noch nicht garantieren können, dass alles wie geplant funktioniert.
Wir haben die benötigten Bauteile bestellt und werden es, sobald diese eintreffen, ausführlich testen.


Wenn Sie die Widerstände nicht selber tauschen können, können Sie Ihren StromPi auch bei uns überarbeiten lassen. 
Kontaktieren Sie dazu bitte unseren Service unter:
Service@Joy-IT.net
oder telefonisch unter:
02845 9360 50


Mit freundlichen Grüßen


Tim (Joy-IT)

Tim

29.12.21 17:32

Hallo Tim


Inzwischen habe ich mich auf andere Art beholfen: Ich habe einen Widerstand von 150 kOhm mit Axialanschlüssen vom Sammelpunkt des Widerstandsteilers zwischen den beiden Widerständen R10/R11 am Referenzeingang FB nach Masse eingelötet (siehe Bild unten, mit rotem hitzeresistentem Silikon-Isolationshülschen am einen gewinkelten Beinchen des Widerstands). Durch diese Parallelschaltung im DC-Zweig zum 5K7 Widerstand erhöht sich die Speisespannung um 0.16V.



...hier der Effekt. Vorher:



Nachher:



Bei Anschluss mit USB-C Speisekabel direkt ab GPIO-Pfostenleiste seither keine "Under-voltage" Meldungen mehr.


Beste Grüsse


Marcel

marcel

02.01.22 11:03

Hallo Tim


Nach einigen Tagen Betrieb treten die "under-voltage"/"throttling" Meldungen leider wieder auf, wenn auch jeweils nur für ein paar Minuten.  Den Parallelwiderstand zu R11 habe ich deshalb von 150 kOhm auf 82 kOhm reduziert. Nun beträgt die am USB 3-Ausgang des Raspi 4, wo ich die UAS-SSD anschliesse gemessene Spannung 4.78 bis 4.83V (ca. 250mA Last der SSD), während USB_OUT des StromPI gleichzeitig mit 5.29V ausgewiesen wird. In den Originalforen zum Raspi liest man, dass die Speisung 5.5V nicht überschreiten darf; eine Schutzschaltung löst bei 6V eine Sicherung aus. Ich bin hier also noch sicher.


Im Leerlauf beträgt die direkt am USB-Ausgang des StromPi gemessene Spannung jetzt 5.39V, bei 0.7A Last noch 5.2V (was etwa dem Wert des Original-Netzteils entspricht), sie nimmt dann mit zunehmender Last weiter ab.


Das ist noch etwas höher als der Wert, welche bei Ihrem angepassten Widerstandsteiler zu erwarten ist - aber meines Erachtens notwendig, um einen Raspberry Pi 4 inkl. etwas USB-Peripherie zu betreiben.


Ganz links die Spannung bei einem Parallelwiderstand zu R11 von 150k, dann um 11:32 ein Powerfail (WIDE_IN) , Wechsel des Widerstands, in der Mitte Betrieb bei 82k, um 13:26 noch ein weiterer Powerfail-Test mit Wiedereinschalten um 13:44, nachdem der StromPI alles ausgeschaltet hat.



Es gibt noch eine Unwägbarkeit beim Übergang zum Akkubetrieb, siehe die beiden Spannungseinbrüche auf USB_OUT=5.0V, die jeweils auftreten, wenn die WIDE-Speisung ausfällt und auf Batteriespeisung umgeschaltet wird. Dann sinkt die Spannung am Raspi (und insbesondere an der SSD, die beim Stromausfall das kritische Bauteil ist) unter 4.7V. Das führt zum "throttling" der CPU; diese läuft zwar mit reduziertem Takt/Kernspannung weiter, aber ein sicheres "Fertigschreiben" der USB-SSD vor dem Shutdown ist gefährdet. Es wäre vielleicht besser, wenn deshalb auch die Ausgangsspannung des Step-Up Reglers für den Akkubetrieb etwas erhöht würde.


Wo müsste ich ansetzen, um hier nachzubessern?


Gar nicht so einfach, eine zuverlässige USV-Lösung zu bauen ;)


Beste Grüsse


Marcel

marcel

07.01.22 14:28

Hallo Marcel,


die Ausgangsspannung des Step-UP Reglers des Battery-Hats wird wie auch der Step-Down Regler am StromPi über zwei Widerstände eingestellt.



Widerstand oben (senkrecht): 619k


Widerstand unten (waagerecht): 205k


 


Der  Step-UP Regler ist ein TPS61236P, im Datenblatt des Reglers sollten Sie alle benötigten Informationen finden um den Regler entsprechend einzustellen.


 


Mit freundlichen Grüßen


Tim (Joy-IT)

Tim

10.01.22 11:59

Hallo Tim


Viel tausend Dank für die kompetente Unterstützung. Ein Parallelwiderstand von 3.3M zum 205k Widerstand löste das Problem - die Sollspannung des Step-Up Reglers erhöht sich laut Datenblatt damit von 5.00 auf 5.23V. Am USB-3 Ausgang des Raspberry Pi 4 (wo sich die SSD befindet) ist der Spannungsabfall beim Umschalten auf Batteriebetrieb jetzt noch ca. 40 mV - perfekt.


Herzliche Grüsse aus der Schweiz


Marcel

marcel

10.01.22 18:03

Hallo Marcel,


ein dickes DANKE für die exzellente Vorarbeit und die ausführliche Beschreibung!


Mein Setup ist quasi identisch, nachdem ich den Versuch aufgegeben habe, den Pi4 mit HM-MOD-RPI-PCB direkt am StromPi zu betreiben und ich ohnehin einen weiteren Pi zwecks strenger Trennung der Aufgaben brauche.


Also: StromPi mit 2Ah Battery Pack direkt auf Pi Zero W gesteckt, via USB out wird der Pi4 4GB versorgt.


Auf deinen Thread bin ich zum Glück rechtzeitig während des Setups gestoßen. Messungen (vorher) bestätigen die Undervoltage Meldungen, nach der Modifikation von StromPi und Batterypack trat das bislang nicht mehr auf. 


Ich habe mir lediglich einen anderen Punkt für die Masseverbindung am StromPi ausgesucht, so bleibt die heiße Fläche frei.


Allerbeste Grüße,


Martin

martin

16.03.22 19:51