Operation Hausspeicher – Multiplus per USB-Isolator schützen

Loxone im Einsatz? Dann schau dir unseren LoxKurs an und profitiere von unserem Wissen!

Man liest ja öfter mal (auch hier in den Kommentaren), dass die Elektronik der Multiplus beschädigt werden kann, wenn das BMS den Batteriepack nicht allpolig abtrennt und sich die Masse ihren Weg über den Venus-Raspi/Cerbo an die VEBus-Schnittstelle sucht.

Um dieses mit fatalen Folgen einhergehende Problem abzuwenden, habe ich mal etwas recherchiert und eine echt einfache und günstige Lösung gefunden, die ich nachfolgend kurz vorstellen und als Diskussionsgrundlage heranziehen möchte.

Warum sind die Multiplus überhaupt gefährdet?

Um diese Frage zu klären, müssen wir uns erstmal ansehen, wie ein Multiplus und ein BMS mit dem Gesamtsystem verbindungstechnisch in Kontakt stehen.

Relevant ist einerseits die DC-Seite, also die Verbindung zwischen Multiplus und Batteriepack(s). Um Energie auszutauschen, hält der Multiplus jeweils einen Plus- und einen Minuspol bereit (die größeren Modelle auch jeweils zweimal Plus und Minus). Darüber läuft dann die „Load“, also wenn die Batterie über den Multiplus ge- bzw. vom Multiplus entladen wird. Bei „nur“ 1kW Entladeleistung fließen dabei schon mal ordentliche 20A.

Relevant ist andererseits auch die USB-Verbindung zwischen Multiplus und BMS, welche physisch über das VenusOS-Device „läuft“. Wer einen RaspberryPi (wie ich) einsetzt, benötigt dazu einen passenden Adapter, den nicht ganz günstigen MK3-USB-Adapter (Affiliate-Link), der das VE.Bus-Protokoll (eine Art RS485 oder so) passend übersetzt, sodass es per USB-Schnittstelle verarbeitet werden kann. Jetzt ist es aber so, dass das Minus-Signal (auch Masse oder Ground genannt) zwischen BMS und Multiplus über den Raspberry Pi „durchgeschleift“ wird:

Angenommen der Batteriepack ist jetzt nur noch per Plus-Pol mit dem Multiplus verbunden ist, sucht sich die Masse ihren Weg einfach über die vorhandene USB-Leitung. Und dieser Verbindungsweg ist schlicht nicht dafür ausgelegt, dass mehrere Ampere darüber fließen – geschweige denn 20A oder noch mehr. Das schwächste Glied der Verbindungskette gibt dann nach und löst sich vermutlich in Rauch auf. Natürlich extrem ungünstig, wenn das eine Elektronikkomponente im teuer gekauften Multiplus ist…

Jetzt kann man sich fragen: Warum zum Teufel sollte der Batteriepack nur noch per Plus-Pol mit dem Multiplus verbunden sein? Hier ist es so, dass viele BMS den Batteriepack im Notfall auf der Minus-Seite von der Außenwelt trennen. Das von mir eingesetzte JBD-BMS (hier verlinkt) nutzt dazu einen massiven Trennschalter, viele andere BMS lösen das über Mosfets.

Beim JBD-BMS ist es das große runde „Moped“ unten im Bild, welcher bspw. für 200A Dauerlast ausgelegt ist:

Im Falle des JBD-BMS existiert dann aber zumindest noch ein dünneres Käbelchen auf der Minus-Seite (sieht man am rechten Verbindungspol des Trennschalters sogar ganz deutlich), damit das BMS die extern anliegende Spannung weiterhin monitoren kann. Im schlimmsten Fall – Hardwaredefekt des BMS oder warum auch immer – kann diese Verbindung jedoch gekappt werden und der oben genannte Worst-Case eintreten. Oder aber man setzt ein BMS ein, welches die Minus-Seite ohne wenn und aber komplett abtrennt. Kennt jemand evtl. so ein BMS? Würde mich echt mal interessieren…

USB-Isolator 4-the-win

Die naheliegende Lösung ist jetzt einfach die „Masse“-Verbindung irgendwo auf dem USB-Verbindungsweg zu kappen, sodass es schlicht keine zweite physische Verbindung (Alternativroute) mehr zwischen Batteriepack (bzw. dessen BMS) und Multiplus mehr gibt. Um diese auch als galvanische Trennung bezeichnete Form der hardwareseitigen „Abkapslung“ zu bewerkstelligen, gibt es glücklicherweise passende USB-Adapter, die auch als „USB-Isolator“ bezeichnet werden:

Nach einiger Recherche bin ich auf dieses Teil hier gestoßen, welches auf Anhieb bei meinem Setup funktioniert hat:

ADUM3160 USB-Isolatormodul

Affiliate-Link

Diesen Adapter habe ich dann einfach zwischen MK3-USB-Adapter und RaspberryPi gesteckt und das Problem sollte damit auch schon gelöst sein:

Etwas unspektakulär – ich weiss. Aber manchmal tut es auch eine einfache Lösung.

Der USB-Adapter ist schon etwas dick und hängt damit schon etwas schief am USB-Anschluss, sofern der benachbarte Port auch belegt ist. Evtl. ist es doch sinnvoll hier noch ein kurzes USB-Verlängerungskabel (Affiliate-Link) zwischenzuhängen.

Wer ein Cerbo-Device einsetzt, bei dem der/die Multiplus direkt per Ethernet-Kabel verbunden sind, kann den ADUM3160 USB-Isolatormodul (Affiliate-Link) aber natürlich stattdessen zwischen RPI und BMS-Adapter stecken.

Was halten die Elektro-Profis von dieser Lösung? Habe ich etwas übersehen oder passt das damit besser?

Loxone im Einsatz? Dann schau dir unseren LoxKurs an und profitiere von unserem Wissen!

Verpasse keine Inhalte mehr! Trage dich in den Newsletter ein und folge uns auf Facebook.

Was ist ein Affiliate-Link? Wenn du auf einen Affiliate-Link klickst und über diesen Link einkaufst, bekomme ich vom betreffenden Online-Shop oder Anbieter eine Provision, was mich u.A. bei den laufenden Kosten den Blogs unterstützt. Für dich verändert sich der Preis nicht.

Jörg

hat meintechblog.de ins Leben gerufen, um seine Technikbegeisterung und Erkenntnisse zu teilen. Er veröffentlicht regelmäßig Howtos in den Bereichen Smart Home und Home Entertainment. Mehr Infos

34 Gedanken zu „Operation Hausspeicher – Multiplus per USB-Isolator schützen“

  1. Hi Jörg,
    das Problem besteht aber nicht bei Verwendung von VE.Bus Verbindung mit Cerbo wo somit kein USB zum Einsatz kommt? Bin mir gerade nicht ganz sicher.
    Ansonsten mal wieder ein schöner Artikel. Danke dafür!
    Viele Grüße
    Stefan

  2. Hallo Jörg,
    die oben im Bild verwendete RS485-USB-Karte hat doch nur zwei Data-Pins zum BMS und kein Masse-Pin. Somit sollte doch keine durchgängige Masse vorhanden sein. Oder sehe ich da was falsch?

    1. 60 Volt zwischen A/B und Masse sind etwas sehr viel mehr, als das typische RS485-interface verträgt. Spezifiziert sind meines Wissens 12V, und mit mehr sollte man die Dinger definitiv nicht quälen. Wenn der IC durchschlägt, wird dir deine Hardware bestätigen, dass Computer mit Rauch betrieben werden (haut der Rauch ab, gehen sie nicht mehr).

    1. Vermutlich schadet eine zusätzliche galvanische USB Trennung nicht, ist halt eine weitere Komponente im System. Ich halte sie aber für nicht erforderlich. Der RS485 zu USB Adater des JBD-BMS („nackte Platine“) hat 2 6N137 Optokoppler- höchstwahrscheinlich für die galvanische Trennung. Das Multimeter zeigt auch keinen messbaren Wiederstand zwischen BMS. und USB. Wäre auch fatal bei der Parallelschaltung von 2 Batterien mit diesem Setup. Wenn ein BMS Relais offen wäre, dann würden die USB Kabel von beiden BMS für die Masseverbindung und Parallelschaltung der Batterien sorgen – mit absehbaren Folgen…
      Das Victron MK-USB3 sorgt – gemäß meinen Messungen – zusätzlich für eine galvanische Trennung zu den Multiplus II (ohne Gewähr :-) )

  3. Hallo Jörg,

    wiedermal ein super Beitrag. Auf des Problem mit der -Pol Trennung bin ich ebenfalls aufmerksam geworden und habe
    zufällig vor ein paar Wochen folgenden Adapter bestellt, diesen werde ich direkt im Akkupack verbauen.
    Habe dazu deine 3D USB Buchse als Vorbild genommen und diese entsprechen auf den USB-Adapter angepasst.
    Gruß
    https://de.aliexpress.com/item/1005001369085297.html?spm=a2g0o.order_list.0.0.65bf5c5fjuhpfO&gatewayAdapt=glo2deu

    1. Hi Tobias,
      gute Idee mit der Frontblende! Der von dir verlinkte Adapter ist übrigens identisch mit dem von mir angegebenen. Hab gleich mehrere über Aliexpress bestellt, die Lieferung hat aber echt lange gebraucht…

      Viele Grüße
      Jörg

  4. Hallo Jörg,

    danke für den super Beitrag. Ich habe ein JKBMS und das trennt auch den Minus-Pol. Das BMS spricht per RS485 mit dem RaspberryPi. Als galvanische Trennung habe ich auf dieser Verbindung den folgenden USB-RS485 Adapter eingebaut: Waveshare USB to RS232 / RS485 / TTL (UART) Industrial Isolated Converter (Affiliate-Link)

    Ist zwar etwas teurer, der kann aber auch TTL usw. Dein Lösung habe ich mir aber zusätzlich auch noch bestellt, danke für den Input!

    VG
    Max

    1. Hi Max,
      danke für deinen Input. Hat der Waveshare-Adapter eine individuelle ID als USB-Device? (wie hier beschrieben) Das wäre bspw. für mich wichtig, da ich mehrere Batteriepacks (1 BMS pro Pack) anschließe und dediziert verwalten möchte.

      Viele Grüße
      Jörg

  5. Hi Jörg,
    mein Jiabaida BMS ist endlich eingetroffen. Der RS485 – USB Adapter den Du verwendest ist schon galvanisch getrennt. Das Problem betrifft nur die JKBMS usw.

  6. Gemessen ja, aber schau Dir auch mal genau die Platine an. Die Signale sind über zwei Optokoppler getrennt.
    Auf der unteren Seite sieht man gut das keine Verbindung zwischen USB und RS485 Seite besteht.
    Über einen Wandler wird eine Spannung für den RS485 Teil erzeugt, ebenfalls Potentialfrei.
    Die Verbindung zum BMS ist ja auch nur mit den beiden RS485 A und B Signalen ausgeführt, keine GND Verbindung.

    1. Äh, naja. RS485 hat zwar differenzielle Signale, ABER die dürfen trotzdem nicht zu weit von der Masse des Empfängers weg sein. Der Standard sagt: -7 bis +12 Volt.

      D.h. wenn ich ein RS485-Interface mit Buskopplern und einem DC/DC-Übertrager abtrenne, dann braucht das Gerät trotzdem irgendeine Methode, die isolierte Seite einigermaßen auf der Spannung des Kommunikationspartners zu halten. Am Einfachsten (störsichersten!) geht das, indem GND zum isolierten Teil der Schnittstelle durchverbunden wird.

  7. @MATTHIAS U:

    Du hast schon recht was das Potential betrifft ABER:
    Die Signale werden über Optokoppler übertragen, da gibt es keinerlei Verbindung !

    Das gleiche hat Stefan ja weiter oben ja auch schon geschrieben.

    Der USB Isolator wird auf die gleiche Art aufgebaut sein, aber man kann natürlich 2 Sicherungen hintereinander einbauen. Macht kaum Sinn, wirkt für manche aber beruhigend.

    1. Du missverstehst. Man kann RS485-Signale nicht lediglich über Optokoppler übertragen. Irgendwo muss beim Senden eines RS485-Signals die Energie herkommen. Die Schnittstelle hat somit einen DC/DC-Übertrager , die die „RS485-Seite“ mit ein paar Volt versorgt. Somit gibt’s da auch eine (von BMS und Batterie getrennte!) Masse.

      Und diese sollte aus Störsicherheits- und Spannungsdifferenzgründen nicht irgendwo in der Luft hängen, sondern mit der Masseleitung der RS485 verbunden werden, so dass alle Schnittstellen auf einem gemeinsamen Potenzial sind.

      Man kann das Problem ignorieren und/oder ein Paar eher hochohmiger Widerstände dranklemmen und (A+B)/2 nehmen, aber Beides ist nicht so wirklich optimal, gerade wenn die Leitungen länger sind.

      Es hat schon seinen Grund, dass „brauchbare“ USB-auf-RS485-Adapter, egal ob galvanisch getrennt oder nicht, neben A und B auch einen Masseanschluss haben.

    1. *Seufz* Ich habe nirgends geschrieben, dass der unbrauchbar ist.

      Das ändert nix daran, dass ich die Entscheidung, den Masseanschluss nicht rauszuführen, in einem Umfeld mit potenziell heftig unterschiedlichen Massepotenzialen für keine gute Idee halte.

      Beim USB-Adapter kommt noch dazu, dass unterschiedliche Potenziale selbstverständlich dann ein Problem sind, wenn man sie zusammenschraubt, ohne nachzudenken. Dann ist es einfacher, man lässt die Masse weg (= „notfalls“ brät es den RS485-Stick, oder die RS485 geht einfach nicht) statt sie rauszuführen (das brät evtl die Sicherung vor dem USB im Rechner, so daran nicht gespart wurde, und dann ist die USB-Schnittstelle dauerhaft tot).

      Alles schon gehabt bei mir im Labor.

  8. Moin moin,

    kann ich den MK3 USB Adapter mit einem normalen Lankabel an den MPII anschließen? Oder brauche ich dieses RJ45 UTP Kabel von Victron?

    beste Grüße
    Jan

    1. Das Kabel ist 1:1 durchverbunden und übertragungsgeschwindigkeitstechnisch ziemlich langweilig. Da funktioniert jedes LAN-, ISDN- oder sonstwas-Kabel, Hauptsache alle Drähte sind auf beiden Steckern identisch belegt.
      Im Interesse der Störsicherheit ist eine Verdrillung und/oder Abschirmung trotzdem eine gute Idee, je nachdem wie lang das Kabel ist und wie nah es an anderen Leitungen langführt, aber so grundsätzlich …

  9. Hallo Jörg,
    erstmal besten Dank für die vielen Tipps und Denkanstöße die du hier gibst.
    Da ich nicht möchte, dass sich meine zukünftige Investition in Rauch auflöst, habe ich mich mit dem Thema auch ein wenig auseinander gesetzt und bin schließlich im „Wiring Unlimited“ von Victron fündig geworden.

    „In einem parallelen bzw. 3-phasigen System müssen die einzelnen Einheiten des Systems über ein Kommunikationskabel miteinander kommunizieren, das die VE.Bus-Stecker miteinander verbindet. Einige unserer Wechselrichter/Ladegeräte-Modelle haben keine galvanische Trennung zwischen der Batterie und dem VE.Bus. Die fehlende Isolierung bedeutet, dass, wenn in bestimmten Szenarien die negative Batterieverbindung unterbrochen wird, ein Strom im negativen Signal des Datenkabels entsteht. Dieser Strom kann den Kommunikationschip des Wechselrichters/Ladegeräts beschädigen.
    In einem System mit mehr als einem Wechselrichter/Ladegerät, und wenn das Negativ geschaltet werden muss, befolgen Sie diese Hinweise:
    • Der negative Batterieanschluss jeder Einheit muss mit den negativen Anschlüssen der anderen Einheit verbunden werden“

    Es ist somit zulässig den Minuspol zu trennen, solange die Minus-Verbindung unter den VE.Bus vernetzten Geräten nicht unterbrochen wird. So lese ich es auch aus dem nachfolgenden Diagramm raus.

    Ich denke du kannst dich entspannt zurücklegen. Ein USB- Isolator in Richtung Batterie kann aber sicherlich nicht schaden und habe diesen auch bei mir bereits eingeplant.

    Beste Grüße

  10. Hallo und Danke an alle, die hier wertvolle Tipps geben. Der USB-Isolator ist sicherlich keine schlechte Investition, er schützt leider nicht in allen Fällen. Da sollte man sich wie von Helge beschrieben an die Victron-Doku „Wiring Unlimited“ Seite 36 halten und zusätzlich noch die Reihenfolge der Verdrahtung der Masseleitungen und VE.Bus-Kabel beachten, wenn eine Installation mit mehreren Multiplus vorliegt (erst Masseverbindung, dann VE.Bus-Kabel) beim Abklemmen in umgekehrter Reihenfolge.
    In dem Zusammenhang hat mich auch schon immer gewundert, warum das JBD-BMS die Masseleitung durch das Relais auftrennt.

    1. Wie schafft es ein USB-Isolator. nicht zu schützen? die Dinger sind galvanisch getrennt und die betreffenden ICs halten eigentlich 600V aus, also das Zehnfache von dem über das wir hier reden.

    2. > In dem Zusammenhang hat mich auch schon immer gewundert, warum das JBD-BMS die Masseleitung durch das Relais auftrennt.

      Gewohnheit?

      Im Ernst, das mit der Masse ist bei Transistorschaltungen Usus, weil N-MOSFETs mehr aushalten und weniger Widerstand haben – und sich die China-Billigheimer den halben Euro für den high-side-Treiber sparen.

      Wenn man ein BMS mit Relais so baut, dass es genauso verschaltet wird wie eines mit FETs, nimmt man für das Relais natürlich auch die Masseleitung …

      So rein theoretisch ist es schon sinnvoll, wenn das Relais in der einen Leitung zum Akku ist und die Sicherung in der anderen. Dann kann man die Zellen elektrisch vollständig vom Rest trennen. In der Praxis funktioniert das aber nicht mehr, wenn man für das Einschalten der Batterie die Batterie braucht.

  11. Kurzes Update von meinem aktuelle Test mit dem AP21S002. Es lässt sich auch problemlos mittels BLE einbinden in Venus OS und dem aktuelle dbus-serialbattery.

    Folgt einfach der aktuellen Installationsanleitung von dbus-serialbattery. Anschließend müsst ihr ble-serial auf eurem Venus OS installieren:
    „`bash
    opkg update opkg install python3-pip python3-modules
    pip3 install ble_serial
    „`

    Nun in der rc.local noch folgende passenden Einträge machen jeweils mit der korrekten BLE Adresse (z.B. auslesen via App):
    „`

    ble-serial -p /tmp/ttyJBD01 -d 70:3E:97:D2:F4:D0 &
    # Give it a few seconds to connect
    sleep 5
    # Start dbus-serialbattery with configured pseudo-terminal
    python /opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py /tmp/ttyJBD01 &
    „`

    1. > python /opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py /tmp/ttyJBD01 &

      Bitte NIE irgendwelche Dinge über rc.local im Hintergrund starten. Das ist unsicher. Die Programme können jederzeit auf die Nase fliegen. Victron schreibt ausdrücklich in der Doku, dass letztlich alles darauf ausgelegt sein muss, dass es, und/oder irgendwas Anderes, mal eben durchstartet.

      Und ohne Verbindung zum BMS hast du nunmal ein Problem.

      Wie es richtig geht: Verzeichnisse unter /service anlegen, entsprechende „run“-Dateien beschreiben, „svc -u /service/NAME“. Dazugehörendes Logging nicht vergessen (/service/NAME/log/run). Weitere Doku siehe http://cr.yp.to/daemontools.html

    2. … und: dein ttyJBD01 in /dev parken. (/run geht auch.) Aus /tmp kann es potenziell spontan verschwinden, wenn das System doch mal auf die Idee kommen sollte, alte tempporäre Dateien aufzuräumen.

    3. /tmp sollte im Normalfall bei jedem Boot nur aufgeräumt vorliegen. Außer Victron hat einen cron Job extra konfiguriert oder tmp.conf für tmpfs angepasst.

      Ble-serial legt übrigens nur einen Symlink an diese Stelle. Das Pseudo Terminal pts liegt unter /dev/pts/X

  12. Korrekt! Bitte nicht so für einen produktive Einsatz verwenden. Danke für den wichtigen Hinweis Matthias.

    Leider scheint auch dbus-serialbattery nicht wirklich resilient ausgelegt zu sein. Unterbricht man die Verbindung von ble-serial manuell setzt dbus-serialbattery diese nicht zurück auf nicht mehr verbunden, obwohl ein Auslesen unterbleibt. Ich versuche die Tage mal einen einfachen Service Wrapper zu schreiben.

    Also meiner Meinung nach in der Tat mit Vorsicht zu genießen! Dennoch zeigt der Ansatz, das nicht zwingend Kabelverbindung mit galvanischer Trennung notwendig ist.
    Über die Bandbreite via BLE mache ich mir bei den 9600 Baudrate zwischen Bluetooth und BMS UART keine Sorgen.

  13. > Matthias U – 21. Dezember 2022 um 21:35 Uhr
    > > Wie schafft es ein USB-Isolator. nicht zu schützen? die Dinger sind galvanisch getrennt und die betreffenden ICs halten eigentlich 600V aus, also das Zehnfache von dem über das wir hier reden.

    Sorry, das habe ich wohl etwas unscharf formuliert.
    In dem von Jörg beschriebenen Fall wird sicherlich der Signalweg vom BMS bis zum Multiplus durch den USB-Isolator geschützt, sofern ein Multiplus im Einsatz ist.

    Mein Hinweis galt den Datenverbindungen zwischen den Multiplus, sofern eine Konfiguration mehrerer Multiplus im Parallel- oder 3 Phasen Betrieb vorliegt. In diesem Fall besteht zwischen den Multiplus eine Datenverbindung über den VE.Bus. Für diese Verschaltung hat Victron in der Doku „Wiring Unlimited“ auf die Gefahren hingewiesen, die bei Trennung der Masseanschlüsse im Akkukreis den Strom über die Masseanschlüsse des VE.Bus laufen lassen und die Kommunikationschips in den Wechselrichtern zerstört werden könnten. In der Doku sind auch Abhilfen beschrieben, wie dieses Problem umgangen werden kann. Nach meiner Einschätzung kann je nach (ungünstig) gewählter Verschaltung der Akkuanschlüsse beim Öffnen des Sicherheitsrelais im BMS, trotz eingebundenem USB-Isolator ein zu hoher Strom zwischen den VE.Bus-Anschlüssen der Wechselrichter fließen und dort Schaden anrichten, auch wenn der USB-Isolator wie von Jörg beschrieben zum Einsatz kommt.

    1. Ja. Und? Genau deshalb schreiben die ja, dass die Masseleitungen verbunden bleiben MÜSSEN (und zwischen den Multis nicht geschaltet werden dürfen!) und die Sicherungen in der positiven Leitung sein sollen.

      Seite 35.

      Die Regel ist eigentlich gańz einfach: wenn irgendwas die Masse zwischen A und B unterbrechen könnte, dann muss die Datenleitung zwischen A und B galvanisch isoliert sein. Wenn nicht, gibt’s dafür IMHO keinen Grund.

      Genau deshalb steht in diesem Dokument auch überall, dass die Sicherungen, Schalter etc.pp. in den positiven Zweig gehören.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert