Schutz eines Laptops vor über USB angeschlossenen Geräten

In den letzten Monaten habe ich es geschafft, 2 einwandfreie Laptops zu zerstören, indem ich Entwicklungselektronik über USB programmiert habe. Ich habe mich gefragt, was getan werden könnte, um dies zu verhindern. Ein paar Ideen, die ich hatte (nicht sicher, wie praktisch):

  1. USB-Anschluss / Hub mit klemmenden 5-V-Zenerdioden an Strom- und Datenleitungen
  2. USB-Anschluss / Hub mit Optokopplern auf Datenleitungen
  3. versorgung des usb-anschlusses mit externer stromquelle plus vorher erwähnte idee

In Kombination mit diesen Ideen vielleicht Widerstände an den 5-V-Leitungen D + und D-, um den Strom auf beispielsweise 200 mA zu begrenzen (ausreichend für die meisten Geräte, die ich verwende).

Ich habe mich nur gefragt, was erfahrenere Ingenieure als ich über diese Ideen und ihre praktischen Auswirkungen denken?

Sie verkaufen speziell für diesen Zweck optoisolierte USB-Adapter.
Ich stimme @IgnacioVazquez-Abrams zu, aber wenn Sie Ihr eigenes Gerät herstellen möchten, könnten Sie eine Schaltung zeichnen? Wir haben ein Plugin auf diesem StackExchange, mit dem Sie Schaltkreise zeichnen können.
Wie genau hast du das hinbekommen? Ist Ihr Laptop geerdet und Sie an ein Gerät mit Erdspannung angeschlossen? Haben Sie Strom auf die 5-V-Leitung zurückgespeist?
Ja, ich habe die gesehen, aber sie sind in der Regel ziemlich teuer, also suchte ich nach Designratschlägen, um meine eigenen zu machen!
@KingDuken: Ein Schaltplan reicht nicht aus. USB erfordert auch ein ordnungsgemäßes Routing, um das Protokoll nicht in einen Haufen Goop zu verwandeln.
Ich glaube, es gab einen Kurzschluss zu + 12 V auf der Platine, die ich an den Laptop angeschlossen habe
... Übrigens bin ich neugierig, welches USB-Gerät Sie anschließen. Wenn Sie dabei zwei Laptops kaputt gemacht haben, gibt es einen offensichtlichen Hinweis auf etwas, das Sie nicht an den Computer anschließen sollten ... also gibt es etwas stimmt nicht mit dem USB-Gerät.
Ich arbeite hauptsächlich mit Arduino- und PIC-basierter Entwicklungselektronik zur Steuerung von Waschmaschinen und Verkaufsautomaten (es war nicht das gleiche Gerät, das beide Laptops zerstört hat). Da es hauptsächlich nur das Risiko von Hochspannung ist, wäre die Verwendung von Zenerdioden eine einfache billige Lösung oder würde dies die Datenseite der Dinge durcheinander bringen?
Nein, würde es nicht – diese Dioden müssten der vollen Leistung standhalten, die Ihre Hochspannungsquelle liefern kann, oder sie brennen durch, und dann brennen die Schutzdioden des Laptops als nächstes. Das alles geschieht in Milli-, wenn nicht Mikrosekunden, wenn man davon ausgeht, dass das Schalten von Waschmaschinen eine ziemlich kräftige Versorgung erfordert, um das Relais zuverlässig anzusteuern.
Verbindest du dich direkt mit dem Laptop oder über einen Hub? Selbst ein normaler Hub mit eigener Stromversorgung würde einen gewissen Schutz bieten, da keine direkte Verbindung zum Laptop und dem Ziel-USB-Gerät besteht.
Was ist dieses "Programmieren von Entwicklungselektronik über USB"? Bitte vollständige Offenlegung - erfahrenere Ingenieure verlangen dies.
@IgnacioVazquez-Abrams, schlechte Programmierung kann "das Protokoll in einen Haufen Goop verwandeln", aber ein Neustart wird das beheben. Ein Neustart kann einen verbrannten Port nicht wiederbeleben.
@Lenne: Ein Neustart kann externe Hardware nicht dazu zwingen, ein korrektes Augenmuster zu erzeugen, worauf mein Kommentar hinausläuft.
Beachten Sie, dass das Problem MÖGLICHERWEISE nicht USB an sich ist, sondern möglicherweise schwebende Masse auf dem einen oder anderen Gerät oder unterschiedliche Massepotentiale. Untersuchen Sie Potentiale zwischen Masse mit einem Zielfernrohr / Hi-Z-Wechselstrommesser / bloßer <hust> Hand. Herz neu starten. Potentialunterschiede?

Antworten (5)

Das eigentliche Problem ist nicht der ungeschützte USB-Anschluss, das eigentliche Problem ist, dass Ihr Gerät Sie und Ihre Geräte dem Risiko aussetzt, an Quellen mit höherer Spannung und relativ hohem Strom angeschlossen zu werden.

Sie können transiente Überspannungen mit Klemmdioden lösen, aber diese helfen nicht, wenn Ihre Stromversorgung stark genug ist – sie fallen einfach aus, und dann sind Sie in der gleichen Situation wie zuvor, nur Millisekunden und der Geruch von verbrannten Halbleitern weiter.

Ihr Problem ist aus vielen Gründen schlimm, und Ihre Laptops sind das Geringste davon:

USB soll manuell gehandhabt werden (das ist eine überflüssige Formulierung). Wenn dieser Fehler also Ihren Laptop tötet, habe ich nicht das größte Vertrauen, dass er von Natur aus für menschliche Interaktion gesichert ist.

Aus gutem Grund gibt es Designkriterien für Schaltungen, bei denen höhere Spannungen mit niedrigeren Spannungen geschaltet werden.

Generell gilt: Sie benötigen eine galvanische Trennung zwischen allem, was ein Mensch (auch ein Servicetechniker) während des Betriebs berühren könnte, und den gefährlichen Spannungen.

Daher: Trennen Sie strikt Ihren USB-Controller und die Dinge, die er schaltet. Es ist üblich, induktive Lasten oder Hochspannungslasten mit Optokopplern zu treiben, deren Sekundärseite von einer separaten Stromversorgung gespeist wird.

Das Platinenlayout muss die Hochspannungsbereiche von der 5-V-/MCU-Umgebung trennen. Nur Optokoppler, Transformatorkerne und Relais dürfen diese Grenze überschreiten. Keine Kompromisse.

Ein typisches Problem ist, dass die Stromversorgungsmasse Ihres Geräts ein völlig anderes Potenzial hat als die USB-Masse – obwohl dies bei einem Laptop, der selbst galvanisch von allem anderen getrennt sein sollte, kein Problem sein sollte, gibt es viele Fälle, auf die Sie stoßen Probleme damit (z. B. Laptop-Masse landet auf Ethernet-Masse, Audio-Masse, RS-232-Masse ...). Die strikte Trennung (Isolierung) zwischen Controller und Controlled macht dies zu einem grundsätzlichen Non-Thema.

"z. B. Laptop-Masse landet auf Ethernet-Masse" Ethernet ist (sollte) transformatorgekoppelt sein. Damals, in den Tagen von 10-Base-2, hatten sie diese BNC-Buchsen mit Kunststoffhülse, die aus dem Backplane-Steckplatz herausragten und ganz speziell die Gehäusemasse nicht berührten.
@ChrisStratton Ja, die Signalisierung wird ordnungsgemäß durch Transformatoren getrennt, und wenn PoE vorhanden ist, geschieht dies tatsächlich über die Mittelabgriffe der Primärseiten dieser. Aber: Ich habe eine extrem verbreitete RTL8139 NIC-Karte vor mir. Die RJ45-Buchse hat ein Metallgehäuse, das den Kontakt zum RJ45-Stecker und damit zur Kabelabschirmung herstellt. Auf der Kartenseite ist dieser direkt mit der Gehäusemasse verbunden. Also, ähm ... Ich kann meinen Gigabit-Ethernet-zu-SFP-Transceiver auf Kabelabschirmung überprüfen – auch auf Chassis-Konnektivität, wenn Sie möchten. Ich vermute, dass dasselbe für USB-Ethernet-Dongles und integrierte Laptop-NICs gilt.
Es könnte klarer sein, ausdrücklich zu sagen, dass es opto-isolierende USB-Karten gibt. Ein Beispiel ist hier adafruit.com/product/2107 - keine Zugehörigkeit, erster Link von Google.
@ablight Obwohl ich der Tatsache zustimme, dass diese Boards existieren, wiederhole ich: Ein solches Board löst das falsche Problem .
@MarcusMüller Es sei denn, diese Platinen sind fest in die gesteuerte Einheit eingebaut.
@MarcusMüller Die überwiegende Mehrheit der Ethernet-Kabel ist sowieso ungeschirmt, also befinden Sie sich wahrscheinlich in einem Randfall.
@Bob ähm. was? Ich habe eine Kiste voller gebrauchsfertiger Netzwerkkabel, insgesamt etwa 200 m. Davon sind insgesamt etwa 4 Mio. UTP. Der Rest ist abgeschirmt.
@MarcusMüller Was, wie gesagt, ein Grenzfall ist. Sie persönlich interagieren vielleicht hauptsächlich mit STP, aber UTP ist insgesamt immer noch die weitaus häufigere Wahl, AFAIK. In jedem Fall ist STP normalerweise nur an einem Ende geerdet , sodass selbst das kein Problem darstellt.
Entkopplungskondensatoren der Klasse Y (die nicht kurzschließen) dürfen ebenfalls die Grenze überschreiten.
@Bob Ich weiß, dass es richtig wäre, nur ein Ende von STP zu erden, aber das habe ich in keinem Heimnetzwerk mit> 1 Desktop-PC gesehen. Der Switch/Router ist "schwebend", bindet aber alle Erdungen zusammen. Außerdem: das ist ein NIC, das ich 2002 gekauft habe (für ca. 5€), wurde an jeder Ecke verkauft. Dies ist eines der Kabel, das ein ehemaliger ISP von mir mit seinem WiFi-AP an Kunden verschickt hat. i.imgur.com/PKfSxWn.jpg Der Widerstand ungleich Null ist hauptsächlich auf einen schlechten Kontakt zwischen Sonde und äußerem Stecker zurückzuführen. Es ist schwierig, mit einer Hand zu fotografieren und mit der anderen einen kontrollierten Druck auszuüben.

Ich arbeite hauptsächlich mit Arduino- und PIC-basierter Entwicklungselektronik zur Steuerung von Waschmaschinen und Verkaufsautomaten (es war nicht das gleiche Gerät, das beide Laptops zerstört hat). Da es hauptsächlich nur das Risiko von Hochspannung ist, wäre die Verwendung von Zenerdioden eine einfache billige Lösung oder würde dies die Datenseite der Dinge durcheinander bringen?

Gut. Da Sie die "Verwendung von Zenerdioden" zum Schutz vor einer schlecht definierten "Hochspannung" erwähnen, haben wir jetzt einen zuverlässigen Datenpunkt: Sie haben keine Ahnung, was Sie tun.

Daher benötigen Sie einen USB-Isolator, um den Laptop-Anschluss vor sich selbst zu schützen. Übrigens tut mir der Laptop leid.

Ich meine, Laptops sind von Masse isoliert, da ihre Netzteile nicht geerdet sind. Den USB-Anschluss eines Laptops zu sprengen ist also wie ... schwierig ... Wie genau haben Sie das genau geschafft? Hast du Netzspannung über den USB-Port oder so geschickt?

+1 für „keine Ahnung davon“, und ich möchte ein weiteres +1 für „den USB-Anschluss eines Laptops zu sprengen ist wie … schwierig …“ geben.
Nun, wenn das zu programmierende Mikro von einem stromführenden Kondensator-Tropfer aus dem Netz oder einer Art nicht isolierter Versorgung gespeist wird ... Ich bin mir nicht einmal sicher, ob der USB-Anschluss durchbrennen würde, die interne Masse des Laptops wäre einfach am Netz Spannung (und extrem gefährlich!) Nun, wenn das Mikro zur Steuerung von Waschmaschinen verwendet wird (dh große induktive Last), dann können auch andere Dinge schief gehen!
"Laptops sind von Masse isoliert, da ihre Netzteile nicht geerdet sind." Stimmt nicht (zumindest in einem anekdotischen Beispiel). Bei der Verwendung eines Laptops eines großen Anbieters und eines seriösen Ersatzadapters (der erste starb) wurde meine USB-Erdung mit der Erdung verbunden. Ich habe dies erst entdeckt, als ich versuchte, die zu testende Schaltung mit einem ebenfalls an Masse angeschlossenen Oszilloskop zu prüfen, wobei sich die Masseklemme jedoch fälschlicherweise an einem anderen Knoten als der USB-Masse befand. Das Trennen der Laptop-Versorgung und das Auslaufenlassen der Batterien haben all dies behoben.
-1 für 80 % der Botschaft, die Ad-hominem und Sarkasmus sind. Ich weiß, das ist ein Meme in der Elektronikdiskussion, aber bitte.
@hexafraction, Sie haben festgestellt, dass Ihr Ersatzadapter (wie jeder andere) ein "Leck" aufweist, das Sie mit dem Oszilloskop gefunden haben und das wahrscheinlich nur ein Oszilloskop sehen kann. Wenn ich mich richtig erinnere, kann die Leckage selbst bei einem zertifizierten Gerät bis zu 1 mA betragen, was etwa 100 k Widerstand zu stromführendem Wechselstromkabel entspricht. Das reicht kaum aus, um einen USB-Port zu killen.
@AliChen Das ist nicht der Fall. Ich habe eine Sicherung in meinem Stromkreis durchgebrannt, kurz bevor ein Strommonitor, der Teil des Stromkreises (und in der Erdungsschleife) war, einen sehr hohen Transienten aufzeichnete. Das lag definitiv nicht im Milliampere-Bereich.

Da Sie Arduino als Basis verwenden, ist die Lösung einfach .... verwenden Sie einen Einwegprozessor zum Programmieren und Debuggen. Die Arduino-Entwicklungsumgebung passt gut auf einen Raspberry Pi, den Sie aus Ihrer eingebetteten Umgebung mit Strom versorgen und mit dem Sie drahtlos von Ihren verbleibenden Laptops oder vielleicht einem Desktop sprechen können.

Das hindert Sie nicht daran, einen Raspberry Pi zu braten, aber es reduziert die Kosten eines Stromkreisausfalls auf etwa 35 US-Dollar.

Ich denke, bis die Ursache für das Ausblasen der Laptop-Ports festgestellt ist, wäre jeder Rat verfrüht. Wir wissen nicht, wie verrückt der Waschmaschinenanschluss sein könnte, schwarze und weiße Drähte können vertauscht werden und die Erdung hängt lose. Dann könnte es alles braten, Pi oder nicht. Ich hoffe, der OP hat eine gute Lebensversicherung...
Ich stimme nicht zu .... jeder Ratschlag, der die Wahrscheinlichkeit einer Gefährdung der Umwelt verringert, sollte auf jeden Fall berücksichtigt werden.
Das ist in der Tat eine neuartige Idee - im Wesentlichen ist das Argument, dass ein Pi (eher wie 5 $ + 5 $ Karte + 5 $ WLAN) jetzt wahrscheinlich billiger ist als ein USB-Isolator. Auch nichts über mögliche Gefahren im zu erstellenden System, die jedoch über die Engineering-Phase hinaus bestehen könnten.
@ChrisStratton Es geht einfach um das Risikomanagement. In einem System, in dem Sie möglicherweise katastrophale Entwicklungsausfälle haben, würden Sie sowohl die Ausrüstung als auch den Menschen von jedem potenziellen Ausfallrisiko isolieren. Sie können professionelle Ausrüstung kaufen oder selbst rollen ... Ich habe einfach eine praktikable Lösung für Ihre eigene Rolle vorgeschlagen. Die Kritik von Ali Chen ist meiner Meinung nach ungültig, da die Ursache für mehrere Fehler während der Entwicklung unterschiedlich sein kann. Es ist zu spät, sobald das Feuer begonnen hat.
Mein Punkt ist, dass, wenn die Stromverkabelung in diesem speziellen Fall nicht gemäß der Norm isoliert ist, keine Menge Pis vor einem Laptop für Ports und Benutzer sicher ist. Das ist alles, was ich meinte.

Ok, nach einer Vielzahl von Klarstellungen und verschiedenen vorgestellten Fällen, lassen Sie mich eine Lösung für das Problem anbieten, wie man einen Laptop vor dem Frittieren im Umfeld des Außendienstes schützt:

  1. Schließen Sie Ihr Test-/Diagnosegerät immer zuerst an das Serviceobjekt an und schalten Sie das Ding ein.

  2. Prüfen Sie vor dem Anschließen des Geräts an den Laptop auf verdächtige Spannungen zwischen den USB-Abschirmungen mit einem DMM mit niedriger Impedanz (Standard 10-20k), zwischen dem DUT-Port und dem Laptop-Port, sowohl im DC- als auch im AC-Modus.

  3. Wenn eine signifikante Spannung gefunden wird (5 - 10 - 50 V), verwenden Sie einen echten Trenntransformator an einem der Enden.

Die Verwendung eines Pi/Beaglebone/Tinkerbox über WLAN wäre billig und einfach. CHIP sieht gut aus, siehe https://getchip.com/pages/chip . 5-9 $ pro Gerät. Sie können 7 CHIPs zum Preis von 1 Pi3 ermorden. Natürlich müssen Sie sich noch mit dem Problem befassen, dass Kill-Voltage USB-Ports erreichen, aber zumindest ist Ihre Workstation sicher. Verbinden Sie es jedoch nicht über Ethernet mit Ihrem LAN.

Das Übertragen der Dateien ist einfach eine Frage des schlüsselbasierten passwortlosen ssh-Zugriffs auf scp-Dateien auf den Pi/other und eine Remote-Shell zum Hochladen. Für Arduino gibt es das Paket arduino-mk und für PIC gibt es ähnliche Tools. Zweifellos können Sie Ihre Dateien auch einfach auf einer exportierten SMB/CIFS-Freigabe speichern und die Remote-Shell verwenden, um sie zu erstellen und auf Ihre Boards hochzuladen.

Kommt es erneut zu einer Kill-Voltage, verlierst du nur 30-35$.

Ich habe immer noch nicht herausgefunden, wie diese Spannungen es jemals schaffen, Ihre MCUs zu durchqueren und in den USB-Anschluss einzudringen. Ist es ein Kurzschluss? Woher kommt das? Ich habe viele Arduino-Klone zerstört und bin aufrichtig neugierig.

Außerdem sind die USB-Anschlüsse normalerweise gegen moderate Spannungen mehrfach abgesichert. Sie müssen tatsächlich eine negative Spannung an den 5-V-Pin anlegen, um den Port (oder positiv an den GND-Pin), den Controller und möglicherweise das Motherboard zu deaktivieren. Wie schaffen Sie es, zwei Laptops zu ermorden? Könnte es die Magie des Wechselstroms sein?