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):
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?
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.
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?
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.
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:
Schließen Sie Ihr Test-/Diagnosegerät immer zuerst an das Serviceobjekt an und schalten Sie das Ding ein.
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.
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?
Ignacio Vazquez-Abrams
Benutzer103380
Transistor
andowt
Ignacio Vazquez-Abrams
andowt
Benutzer103380
andowt
Markus Müller
Kevin Weiß
Ale..chenski
Lenne
Ignacio Vazquez-Abrams
Nick Alexejew
Russell McMahon