Nachdem ich mir gestern durch einen Fehler auf meiner ESP32 Platine mein Motherboard vom Laptop gegrillt habe, suche ich aktuell eine Möglichkeit, die USB Verbindung zwischen Host und uC Board galvanisch zu trennen.
Man findet im Internet einige USB Isolatoren, jedoch bin ich mir bei denen nicht sicher, ob die genau das tuen, was ich suche. Bin auch hardwaretechnisch in dem Bereich nicht ganz fit.
Ich gehe aktuell davon aus, dass ich etwas in diese Richtung bräuchte:
Spannungsversorgung entkoppelt. uC wird mit seperaten Netzteil gespeist. Datenleitungen über Optokopler angeschlossen. Sehe ich das Richtig?
Wenn ja, kennt jemand soetwas in diese Richtung?
Man findet im Internet einige USB Isolatoren, jedoch bin ich mir bei
denen nicht sicher, ob die genau das tuen, was ich suche.
Tun sie, wenn gleich nicht für exorbitante Spannungen.
Ich gehe aktuell davon aus, dass ich etwas in diese Richtung bräuchte:
Spannungsversorgung entkoppelt. uC wird mit seperaten Netzteil gespeist.
Datenleitungen über Optokopler angeschlossen. Sehe ich das Richtig?
Nö. Man kann den USB-Isolator einfach in die USB-Leitung einschleifen, fertig. Man muss nur aufpassen, daß die meisten dieser Dinger nur USB Full Speed (12Mbit/s) schaffen, sehr wenige High Speed (480Mbit/s).
Nachdem ich mir gestern durch einen Fehler auf meiner ESP32 Platine mein
Motherboard vom Laptop gegrillt habe, suche ich aktuell eine
Möglichkeit, die USB Verbindung zwischen Host und uC Board galvanisch zu
trennen.
Das Motherboard zu grillen, schafft man eigentlich nur wenn man V_bus vom Gerät her speist. Was prinzipiell eine schlechte Idee ist. Ein USB-Isolator löst dieses Problem zwar auch, es ist aber mit Kanonen auf Spatzen geschossen.
Man findet im Internet einige USB Isolatoren, jedoch bin ich mir bei
denen nicht sicher, ob die genau das tuen, was ich suche.
Du mußt nur wissen, wie schnell dein USB ist. Wie Falk schon schrieb: Full-Speed können alle, High-Speed nur die teuren.
Ich gehe aktuell davon aus, dass ich etwas in diese Richtung bräuchte:
Spannungsversorgung entkoppelt. uC wird mit seperaten Netzteil gespeist.
Datenleitungen über Optokopler angeschlossen. Sehe ich das Richtig?
Optokoppler reichen nicht für USB (kann dir aber egal sein). Ein separates Netzteil (bzw. irgendeine Versorgung) für den µC ist sowieso Pflicht. Es sei denn, du kommst in allen Lebenslagen mit max. 100mA aus.
Der Isolator liefert das nicht unbedingt. Viele versorgen sich selbst aus der Host-Schnittstelle und erzeugen auch die potentialgetrennten 5V für die Device-Schnittstelle. Das dient aber vor allem der eigenen Versorgung. Zähle nicht darauf, daß du deinen µC aus dem USB speisen kannst.
Wie ich es geschafft habe, das Motherboard zu grillen, weiß ich aktuell noch nicht. Ich hatte danach / oder zuvor schon 12V auf dem 3.3V Pin des ESP32. Denke, die 12V schlugen komplett durch den ESP 32 durch und somit auch auf den USB.
Daher die Frage: Würde das der ADUM CHip verhindern? Muss leider das Teil nochmal in Betrieb nehmen und ich habe keine Lust nochmal einen Laptop zu schrotten.
Das Motherboard zu grillen, schafft man eigentlich nur wenn man V_bus
vom Gerät her speist.
Es reicht das beide Geräte auf unterschiedlichem Potential liegen, wenn
da genug Dampf drauf ist.
Ich hab mal einen Laptop per USB gegrillt, als es einen Defekt am angeschlossenen Testaufbau gab, da war ein 1200V/1,4A Netzteil angeschlossen . . . . 8-0
Na ja, Du brauchst ja wohl nur Funktionsisolation und keine Schutzisolation. Der Chip selber kann das, da sind zwei Siliziumplättchen drin (für jede Seite eines), die mit Glas voneinander isoliert sind und über interne Spulen miteinander kommunizieren. Das ist nicht das Problem. Das Leiterplattenlayout ist jedoch Mist. Für eine echte Schutzisolation sind die Abstände beispielsweise beim DC-DC-Wandler viel zu gering. Ich würde da mindestens 5mm Kriechstrecke zwischen den beiden Seiten ansetzen, besser 7 oder 8mm. Bei dem Board hast Du vermutlich nicht mal 2mm.
Für eine
echte Schutzisolation sind die Abstände beispielsweise beim
DC-DC-Wandler viel zu gering.
Das Problem bleibt ein theoretisches, weil man so oder so nicht sicher mit gefährlichen Spannungen hantieren kann, mit diesem Aufbau.
Weder lassen sich die USB Buchsen anständig isolieren, noch sind herkömmliche USB Kabel für gefährliche Spannungen zugelassen.
Ich habe mit solchen Isolatoren schon MCUs debugged die auf Netz PFC Potential bei 400VDC lagen.
Klar geht das.
Man muss nur unterscheiden ob man das zu Entwicklung nutzen will und da Leute dran arbeiten die wissen was sie tun, oder ob das die letzte Barriere in einem Seriengerät werden soll, die den DAU davon abhält sich selbst zu grillen.
Man beachte das formschöne Alu Gehäuse, das den USB Schirm auf beiden Seiten über das Gehäuse miteinander kurzschliesst.
Die haben so richtig mitgedacht und da kann selbst das schlechteste Layout nicht mithalten.
Man sollte beachten, dass der 5V-5V-Trennwandler wenig taugt, für die Versorgung eines ESP reicht der kaum hin. Aber tut nicht weh, wenn die Schaltung extern versorgt ist.
Das Motherboard zu grillen, schafft man eigentlich nur wenn man V_bus
vom Gerät her speist. Was prinzipiell eine schlechte Idee ist. Ein
USB-Isolator löst dieses Problem zwar auch, es ist aber mit Kanonen auf
Spatzen geschossen.
Dummfug, es gibt andere Szenarien. Und nein, der Isolator ist die genau richtige Lösung.
Ich hab mal einen Laptop per USB gegrillt, als es einen Defekt am
angeschlossenen Testaufbau gab, da war ein 1200V/1,4A Netzteil
angeschlossen . . . .
Hier war es nur irgendwas um 20 Volt mit Leistung. Ich hatte Glück, dass es nur den µC und den USB-Wandler zerrissen hatte. Ungeschickte Finger, davor ist niemand von uns sicher.
Für eine
echte Schutzisolation sind die Abstände beispielsweise beim
DC-DC-Wandler viel zu gering. Ich würde da mindestens 5mm Kriechstrecke
zwischen den beiden Seiten ansetzen, besser 7 oder 8mm. Bei dem Board
hast Du vermutlich nicht mal 2mm.
Schön, dass wieder ein vorauseilend gehorsamer Bedenkenträger kommt. Fehlt nur noch das Wort Versicherung!
Hier geht es um Testaufbauten, da gelten andere Regeln.
Und jemand, der so eine Url postet, tut das natürlich immer total kommentarlos.
Man kann in 99% der Fälle davon ausgehen, daß die Geräte nur Full-Speed (12 MBit/sec) unterstützen, einfach, weil der schaltungstechnische Aufwand für High-Speed (480 MBit/sec) enorm ist.
Das mit den 99% ist nicht mehr so: Inzwischen gibt es den ADuM3165/ADuM4165, also auch USB-2.0-Full-Speed-Isolatoren für unter 100 EUR, einer wurde oben verlinkt, ein anderer ist das CN0550 Evaluation Board, damit ist man bei der Stromversorgung flexibler. Der ADuM3165 braucht sogar weniger Drumherum als der ADuM3160, die High-Speed-Isolatoren werden vielleicht billiger werden als die Full-Speed-Isolatoren.
Da haben wir den Kunststofftrennschalter wieder, und "USB-USB-3.0" taucht auch wieder auf. Immerhin steht noch "480M" da.
Ist das vertrauenerweckend?
Betrachten wir die "ausführliche Beschreibung":
Optimiert zwischen Strom- und Masseschleifen, mit guter EMI/RFI-Blockierung und Leistungswelligkeit
Schützen Sie das System vor Rauschen und Verzerrungen durch Erdungskabel oder Erdschleife, reduzieren Sie Interferenzen zwischen Erdschleifen und reduzieren Sie das Systemrauschen
Verbessern Sie die Stabilität der USB-Arbeit und haben Sie gleichzeitig einen gewissen Überspannungsschutz für das Gerät
Kann verwendet werden, wenn viele USB-Geräte vom Computer abgeschlossen werden, wodurch das gegenseitige Übersprechen zwischen Geräten reduziert werden kann
Bei Geräten mit hohen Anforderungen an die USB-Stromversorgung, wie z. B. Soundkarten, schließen Sie den USB3.0-Isolator an, um Erdschleifenrauschen zu reduzieren und die Musikausgabe der Soundkarte klarer zu machen
Ja, da weiß man gleich mehr und ist bereit, aufgrund dieser detaillierten Beschreibung glatte 55 EUR auszugeben.
schließen Sie den USB3.0-Isolator an, um
Erdschleifenrauschen zu reduzieren und die Musikausgabe der Soundkarte
klarer zu machen
Warum musste ich gleich an Sauerstoff-freies Kupferkabel für Lautsprecher denken?
Egal, die einen befürchten das ChatGPT so etwas in seine ›gelernte‹ Datenbank aufnimmt, die anderen sind sich sicher, das dies und Ähnliches bereits viel-tausendfach passiert ist. ;-)
Es gibt einen preiswerten Isolator mit echtem High Speed USB-Port und
extrem geringer Koppelkapazität: RPi Zero W.
Wenn Du auf die Nutzung als USB-Deviceserver anspielst, ist das prinzipiell keine schlechte Idee, nur geht das nicht mit jedem USB-Protokoll, isochron (für Video und Audio genutzt) ist recht timingkritisch.
Man muss halt auf dem PC, den man "isolieren" will, auch noch einen Devicetreiber installieren, um das nutzen zu können. Und man muss den Pi ins eigene WLAN aufnehmen.
Eine simple "plug&play"-Lösung ist das also nicht.
Tja, fassen wir mal zusammen. Galvanische Trennung bei USB ist moeglich,
aber komplex. Vieles wird gehen, manches wird nicht gehen.
Ich koennte mir auch noch vorstellen das es in der Praxis von der
konkreten Anwendung abhaengt. Ein Videostream wird was anderes sein wie eine Maus oder ein RS232 Adapter.
Ich wuerde jedenfalls solche Adapter zu vermeiden suchen, aber einen (oder mehrere) kaufen wenn es garnicht anders geht. Mir wuerde da z.B einfallen das ich meinen Laptop vielleicht bei Burst/Surge in der EMV brauchen koennte. Ich hab aus aehnlichen Gruenden einen Modbus/RS485 Adapter der 4kV kann und nicht billig war. .-)
Ob man das als kleiner Bastler fuer zuhause braucht? Also ich hab einfach einen eigenen USB-Hub mit eigenem Netzteil zwischen Rechner und Basteltisch und meine Netzteile haben eine Strombegrenzung die sinnvoll eingestellt ist. Hat sich die letzten 20Jahre bewaehrt....
Es wird wohl noch ein Weilchen dauern, bis so etwas im Massenmarkt als Fertiggerät auftaucht. Die chinesischen Fertiger sind bisland noch mit den alten 12-MBit-Isolatoren zufrieden, was wohl auch daran liegt, daß ein Großteil der Kundschaft eh' nicht begreift, was das Problem ist.
Hab noch einen der älteren die USB 2.0 konnten mit einem Asic von einer Firma die nicht mehr existiert bzw. die USB Isolatoren Asics aufgegeben haben..
Die neueren bei Hifime werden wohl auch die neuen TI oder ADUM verwenden..
Oder die haben nochmal ne Rolle Asics bekommen :-D
Man findet im Internet einige USB Isolatoren, jedoch bin ich mir bei
denen nicht sicher, ob die genau das tuen, was ich suche.
Ich nutze sie gerne und gehe durchaus davon aus, dass sie vor den meisten Dummheiten schützen.
Du musst dir nur Gedanken um die Stromversorgung machen. Viele USB Isolatoren enthalten auch einen Trafo (Schaltwandler) um die Stromversorgung rüber zu bringen. Sie sind für meine Versuche allerdings oft nicht Leistungsstark genug. In diesem Fall nutze ich meist einen Akkupack oder Steckernetzteil, um meine eigene Elektronik zu versorgen.
Meine Isolatoren schaffen "nur" 12 MBit, was mir genügt. Mit Ausnahme meines Logic Analyzers läuft daran alles. Achte auf ein anständiges Gehäuse oder wenigstens eine Hülle aus Schrumpfschlauch. Eine offene Platine würde das Risiko wohl eher erhöhen, als reduzieren.
Du musst dir nur Gedanken um die Stromversorgung machen. Viele USB
Isolatoren enthalten auch einen Trafo (Schaltwandler) um die
Stromversorgung rüber zu bringen. Sie sind für meine Versuche allerdings
oft nicht Leistungsstark genug.
Bei mir (CN0550) hilft, den USB-Isolator direkt, ohne Verlängerungskabel, in den Rechner zu stecken.
Offenbar ist mit Verlängerungskabel der Spannungsabfall im Kabel zu groß für den DC-DC-Wandler (LT8301), trotz etwa 25 µF an Kapazität (also mehr als die erlaubten 10 µF) eingangsseitig. VBUS am Ausgang kommt dann nur auf 2 V unter Last. Zum Glück kann man aber alternativ wie erwähnt eingangs- oder ausgangsseitig Spannung einspeisen.
Mein Eigenbau USB-Isolator mit ADuM3160 und TMR 3-0511 als DC-DC-Wandler ist da nicht so wählerisch.
Ich nutze sie gerne und gehe durchaus davon aus, dass sie vor den
meisten Dummheiten schützen.
Dafür sind sie da!
Du musst dir nur Gedanken um die Stromversorgung machen. Viele USB
Isolatoren enthalten auch einen Trafo (Schaltwandler) um die
Stromversorgung rüber zu bringen. Sie sind für meine Versuche allerdings
oft nicht Leistungsstark genug.
Garnicht lange her, dass im Forum drüber gesprochen wurde und ich gemessen habe. Die gehen schon bei 100mA Last in die Knie, ich könnte annehmen, dass die 5V-Wandler schlechte Nachbauten sind.
In diesem Fall nutze ich meist einen
Akkupack oder Steckernetzteil, um meine eigene Elektronik zu versorgen.
Die Trennung macht gerade dann Sinn, wenn externe Spannungen im Spiel sind.
Achte auf ein anständiges
Gehäuse oder wenigstens eine Hülle aus Schrumpfschlauch. Eine offene
Platine würde das Risiko wohl eher erhöhen, als reduzieren.
China-Standard ist Schrumpfschlauch. Weiter vorne wurde ein Amazon-Link mit richtigem Gehäuse gezeigt, wem es den Preis wert ist, gerne.
Bei mir (CN0550) hilft, den USB-Isolator direkt, ohne
Verlängerungskabel, in den Rechner zu stecken.
Dünne Käbelchen verschlimmern die Lage, aber helfen nicht gegen zu schwache Wandler. Wie gesagt: Sehe ich zweitrangig, das Zielsystem hat eine eigene Versorgung.
Den kann man leicht entfernen und den minderwertigen DC-DC-Wandler durch was anständiges von Traco, Recom & Co. ersetzen. Ob man dann wieder Schrumpfschlauch drumrum packt oder sich den Aufwand macht, das ganze in einem Gehäuse unterzubringen, bleibt einem selbst überlassen.
Wenn ich den USB-Serial Wandler selbst verbaue, zB in Form eines FT232, verwende ich ADUM1301, allerdings auf der UART Seite des Chips, zwischen FT232 und controller.
Das ist auch eine Möglichkeit, aber keine, die universell irgendwelche Probleme löst. Es gibt ja auch noch andere USB-Geräte als ausgerechnet USB-UART-Bridges.
Und wer beispielsweise einen Logikanalysator potentialgetrennt einsetzen möchte, oder ein USB-Oszilloskop, der ist mit einem Isolator, der die USB-Verbindung trennt, deutlich besser unterwegs.
... wär' mal interessant, was da drin ist. Insbesondere, da das Ding auch die langsameren USB-Varianten unterstützen soll.
Da muss dann entweder auf der zum Device gelegenen Seite etwas wie der VIA VL671 (https://www.via-labs.com/product_show.php?id=96) verbaut sein (damit nur die 5-GBit-Leitungen zu isolieren sind, was recht einfach geht), oder aber zusätzlich noch einer der neueren Isolatoren wie die hier im Thread genannten von TI bzw. AD.
Wenn ich den USB-Serial Wandler selbst verbaue, zB in Form eines FT232,
verwende ich ADUM1301, allerdings auf der UART Seite des Chips, zwischen
FT232 und controller.
Auf der Seite UART hat den Vorteil, dass der USB-Baustein vom PC gespeist wird, aber die Spannung des Ziel-µC beliebig sein kann. Habe ich mal mit dem ADuM1201 gemacht, bastelfreundlich auf Platinchen zu bekommen:
Das Motherboard zu grillen, schafft man eigentlich nur wenn man V_bus
vom Gerät her speist.
... oder wenn man auf einer Platine rum bastelt, wenn die noch im Rechner steckt.
Bei meinem war nur der USB-IC kaputt.
War auch nicht so teuer, nur der Versand aus Amerika war sehr teuer.
Es gibt einen preiswerten Isolator mit echtem High Speed USB-Port und
extrem geringer Koppelkapazität: RPi Zero W.
Mit einer Power Bank für die isolierte Stromversorgung ist eine sichere
Trennung auch für 20 oder 110kV machbar.
Hehe da denkt jemand genauso wie ich. Genau diesen Weg werde ich jetzt gehen. Werde den PI ins Netzwerk oder als eigenständigen Server laufen lassen und per Node-Red den Seriellen Monitor bzw das esptool.py aufrufen. Der Datenaustausch der bin-Dateien werde ich wohl so auch syncen. Ich werde das ganze hier nochmal erweitern, sobald der PI angekommen und lauffähig ist.
Werde den PI ins Netzwerk oder als eigenständigen Server laufen
lassen und per Node-Red den Seriellen Monitor bzw das esptool.py
aufrufen.
Warum eine simple USB-Trennung für 11 €uro, wenn es auch aufwändig geht.
Geb ich dir recht aber ich sehe noch folgende Vorteile:
Der Zero W hat jetzt 16 euro gekostet also im Verhältnis fast gleich.
Hier bin ich mir zukünftig 100% sicher, dass da nur der Raspberry kaputt geht. Egal was dran ist... Der Laptop hängt nur noch übers wlan am rapsberry
Beim aktuellen Projekt sitzt der ESP32 auf der Feldspritze in 2m höhe und steht in der Werkstatt. Jetzt stecke ich nur kurz den raspberry mit akku an. Der Laptop steht gemütlich auf der Werkbank in 10m Entfernung. Für mich ein riesen Vorteil :)
Warum eine simple USB-Trennung für 11 €uro, wenn es auch aufwändig geht.
Geb ich dir recht aber ich sehe noch folgende Vorteile:
Der Zero W hat jetzt 16 euro gekostet also im Verhältnis fast gleich.
Der Vergleich ist auch noch unfair, man bekommt für 16 Euro einen echten High Speed USB-Port mit 480MBit. Selbst wenn man die Geschwindigkeit nicht braucht, spart man sich den Stress mit Jumpern oder sowas:
So nochmal herzlichen Dank für den Hinweis mit USBIP.
Ich habe ja versprochen, ich schreibe nochmal sobald alles läuft. Habe mal alles zusammengeschrieben, wenn jemand auch so etwas aufbauen will.
Im VS Code mit Platform IO ging sowohl das Flashen als auch der Serial Monitor :)
Windows Hotspot:
Erstellen eines Windows HotSpot -> Vorteil der Raspberry funktioniert Wlan unabhängig und hat Internetzugriff.
Setup Raspberry Pi Zero W:
Image vorbereiten, WLAN direkt für den Hotspot vorbereiten ( beachten in den HotSpot-Einstellungen, dass nur WLAN mit 2,4GHz nur unterstützt wird.)
Über Putty oder anderen SSH connector sich auf den pi begeben
Auf dem Raspberry Pi müssen Sie jetzt die Tools für die Verwaltung der USB-Geräte installieren. Führen Sie dazu in einem Terminalfenster folgende zwei Zeilen aus:
1
sudo apt-get update
2
sudo apt-get install usbip
Jetzt ist Zeit für einen ersten Testlauf. Schließen Sie das USB-Gerät, das Sie im Netzwerk verwenden wollen, an den Raspberry Pi an. Führen Sie die folgenden zwei Befehlszeilen aus:
1
sudo modprobe usbip-host
2
sudo usbipd -d
Damit laden Sie das nötige Kernel-Modul mit und starten den Usbip-Daemon im Debug-Modus.
3. Wenn Sie die Software ausführlich getestet haben, tragen Sie beide Zeilen für den automatischen Start in die Datei „/etc/rc.local“ oberhalb von „exit 0“ ein, ersetzen aber „-d“ durch „-D“.
4. Öffnen Sie ein zweites Terminalfernster. Der Befehl
1
sudo usbip list -l
gibt Ihnen hier die Liste der verfügbaren USBGeräte aus. Sie sehen deren USB-IDs beispielsweise in der Form „busid 1-1.3 (0424:ec00)“. Der Befehl lsusb zeigt die Gerätebezeichnung zur ID in der Regel im Klartext.
5. Die Freigabe kann jetzt mit der dieser Zeile erfolgen:
1
sudo usbip bind -b 1-1.3
Der Erfolg wird mit der Ausgabe „bind device on busid 1-1.3: complete“ bestätigt.
Der Vergleich ist auch noch unfair, man bekommt für 16 Euro einen echten
High Speed USB-Port mit 480MBit.
Nein, nicht wirklich, denn mit so einem USB-Device-Server sind timingkritische USB-Anwendungen nicht drin, vor allem isochrone Übertragung (Audio & Video) sind problematisch.
Für normalen Standardkram kann man so etwas verwenden. Ja, definitiv.
Nein, nicht wirklich, denn mit so einem USB-Device-Server sind
timingkritische USB-Anwendungen nicht drin, vor allem isochrone
Übertragung (Audio & Video) sind problematisch.
Das stimmt natürlich. Man kann die Trennung aber auch anderer Stelle machen, also das fragliche Programm auf dem RPi laufen lassen und per ssh bedienen. Man könnte sogar einen kompletten Desktop auf dem RPi installieren und alles per VNC bedienen ;)