Ochrona laptopa przed urządzeniami podłączonymi przez USB

11

W ciągu ostatnich kilku miesięcy udało mi się zniszczyć 2 idealnie dobre laptopy, programując elektronikę programistyczną przez USB. Zastanawiam się, co można zrobić, aby temu zapobiec. Kilka pomysłów, które miałem (nie jestem pewien, jak praktyczne):

  1. Złącze / hub USB z zaciskającymi się diodami Zenera 5 V na liniach zasilania i danych
  2. Złącze / hub USB z optoizolatorami na liniach danych
  3. zasilenie połączenia USB zewnętrznym źródłem zasilania oraz wcześniej wspomniany pomysł

W połączeniu z tymi pomysłami być może rezystory na liniach 5 V D + i D-, aby ograniczyć prąd do 200 mA (wystarczający dla większości urządzeń, których używam).

Zastanawiałem się tylko, co niektórzy bardziej doświadczeni inżynierowie niż ja myśleli o tych pomysłach i ich praktycznych implikacjach?

awsem_eng
źródło
1
Sprzedają optoizolowane adaptery USB specjalnie do tego celu.
Ignacio Vazquez-Abrams
3
Jak dokładnie sobie z tym poradziłeś? Czy Twój laptop jest uziemiony i czy podłączony jest do urządzenia z napięciem na ziemi? Czy doprowadziłeś zasilanie z powrotem do linii 5 V.
Tranzystor
1
@KingDuken: Schemat nie wystarczy. USB wymaga również odpowiedniego routingu, aby nie zamienić protokołu w kupę kupy.
Ignacio Vazquez-Abrams
1
Pracuję głównie z elektroniką programistyczną opartą na Arduino i PIC do sterowania pralkami i automatami (to nie to samo urządzenie, które zniszczyło oba laptopy). Czy użycie diod Zenera byłoby prostym, tanim rozwiązaniem, ponieważ byłoby to tylko ryzyko wysokiego napięcia, czy bałagan po stronie danych?
awsem_pl
1
Nie, nie byłoby - te diody musiałyby wytrzymać pełną moc, którą może dostarczyć źródło wysokiego napięcia, inaczej przepalą się, a następnie zapalą się diody ochronne laptopa. Wszystko to wydarzy się w ciągu milisekund, jeśli nie mikrosekund, zakładając, że zmiana pralek wymaga dość dużego zapasu, aby niezawodnie prowadzić relacje.
Marcus Müller

Odpowiedzi:

10

Prawdziwym problemem nie jest niezabezpieczony port USB, prawdziwym problemem jest to, że Twoje urządzenie naraża Ciebie i Twoje urządzenia na podłączenie do źródeł o stosunkowo wysokim napięciu i wysokim napięciu.

Przejściowe przepięcia można rozwiązać za pomocą diod mocujących, ale to nie pomoże, jeśli zasilacz jest wystarczająco silny - po prostu zawiodą, a następnie będziesz w takiej samej sytuacji jak poprzednio, tylko milisekundy i zapach spalonych półprzewodników dalej.

Twój problem jest poważny z wielu powodów, a laptopy to najmniej:

USB powinien być obsługiwany ręcznie (to jest nadmiarowe sformułowanie), więc jeśli ta usterka zabije twojego laptopa, nie mam największej pewności, że z natury może zaoszczędzić na interakcji człowieka.

Istnieją nie bez powodu kryteria projektowania obwodów, które obejmują przełączanie wyższych napięć na niższe.

Ogólnie: potrzebna jest izolacja galwaniczna między wszystkim, co człowiek (nawet technik serwisu) może dotknąć podczas pracy, a niebezpiecznymi napięciami.

Dlatego: ściśle oddziel swój kontroler USB i rzeczy, które przełącza. Powszechną praktyką jest napędzanie obciążeń indukcyjnych lub wysokonapięciowych za pomocą transoptorów, których strona wtórna jest napędzana przez oddzielne źródło zasilania.

Układ płytki musi oddzielać obszary wysokiego napięcia od środowiska 5 V / MCU. Tylko transoptory, rdzenie transformatorów i przekaźniki mogą przekroczyć tę granicę. Bez kompromisów.

Typowym problemem jest to, że uziemienie zasilania twojego urządzenia ma zupełnie inny potencjał niż uziemienie USB - chociaż nie powinno to stanowić problemu dla laptopa, który sam w sobie powinien być galwanicznie oddzielony od czegokolwiek innego, istnieje wiele przypadków, w których napotykasz problem z tym (np. uziemienie laptopa kończy się na uziemieniu ethernetowym, uziemieniu audio, uziemieniu RS-232 ...). Ścisła separacja (izolacja) między kontrolerem a kontrolowanym sprawia, że ​​jest to nieodłączny problem.

Marcus Müller
źródło
3
„np. uziemienie laptopa kończy się na uziemieniu ethernetowym” Ethernet jest (powinien być) podłączony do transformatora. W czasach 10-base-2 mieli te gniazda BNC z plastikową tuleją, które wystawały z gniazda płyty montażowej, a szczególnie nie dotykały podłoża.
Chris Stratton,
@ChrisStratton Tak, sygnalizacja jest odpowiednio oddzielona przez transformatory, a jeśli jest PoE, dzieje się to poprzez środkowe zaczepy pierwotnych boków. Ale: Mam przed sobą niezwykle wspólną kartę sieciową RTL8139. Gniazdo RJ45 ma metalową obudowę, która styka się ze złączem RJ45, a tym samym ekranem kabla. Po stronie karty jest to bezpośrednio podłączone do uziemienia obudowy. Więc, um ... Mogę sprawdzić mój transceiver Gigabit-Ethernet-SFP pod kątem ekranowania kabli - jeśli chcesz, możesz też połączyć się z obudową. Domyślam się, że to samo dotyczy adapterów Ethernet Ethernet i wbudowanych kart sieciowych laptopów.
Marcus Müller,
Jasniej byłoby powiedzieć, że istnieją optoizolacyjne płyty USB. Przykładem jest tutaj adafruit.com/product/2107 - brak powiązania, pierwszy link od Google.
abligh 23.07.17
@abligh, choć zgadzam się z faktem, że te tablice istnieją, powtarzam: posiadanie takiej tablicy rozwiązuje zły problem .
Marcus Müller,
1
@ MarcusMüller Który jest, jak powiedziałem, przypadkiem na krawędzi. Osobiście możesz wchodzić w interakcje głównie z STP, ale UTP jest zdecydowanie zdecydowanie bardziej powszechnym wyborem, AFAIK. W każdym razie STP jest zwykle uziemiony tylko na jednym końcu , więc nawet to nie jest problemem.
Bob
6

Pracuję głównie z elektroniką programistyczną opartą na Arduino i PIC do sterowania pralkami i automatami (to nie to samo urządzenie, które zniszczyło oba laptopy). Czy użycie diod Zenera byłoby prostym, tanim rozwiązaniem, ponieważ byłoby to tylko ryzyko wysokiego napięcia, czy bałagan po stronie danych?

Dobrze. Ponieważ wspominasz o „użyciu diod Zenera” w celu ochrony przed źle zdefiniowanym „wysokim napięciem”, mamy teraz jeden wiarygodny punkt danych: nie masz pojęcia o tym, co robisz.

Dlatego potrzebujesz izolatora USB, aby zabezpieczyć port laptopa przed sobą. Żal mi tego laptopa, przy okazji.

Mam na myśli, że laptopy są odizolowane od ziemi, ponieważ ich zasilacze nie są uziemione. Więc wysadzenie portu USB laptopa jest jak ... trudne ... Jak dokładnie udało ci się to zrobić? Czy wysłałeś napięcie sieciowe do portu USB czy coś takiego?

peufeu
źródło
2
+1 za „nie mam pojęcia o”, a chciałbym dać kolejne +1 za „dmuchanie w port USB laptopa jest jak ... trudne ...”
Ale..chenski
Cóż, jeśli programowany mikroprocesor jest zasilany przez kondensator pod napięciem z sieci lub jakiś nieizolowany zasilacz ... Nie jestem nawet pewien, czy port USB wybuchłby, wewnętrzna ziemia laptopa po prostu byłaby w sieci napięcie (i bardzo niebezpieczne!) Teraz, jeśli mikro jest używane do sterowania pralkami (tj. dużym obciążeniem indukcyjnym), to inne rzeczy mogą się również nie udać!
peufeu
„Laptopy są odizolowane od ziemi, ponieważ ich zasilacze nie są uziemione”. Nieprawda (przynajmniej w jednym anegdotycznym przykładzie). Podczas korzystania z laptopa od jednego z głównych dostawców i renomowanego zamiennego adaptera (pierwszy zmarł), moje uziemienie USB było podłączone do uziemienia. Odkryłem to dopiero, gdy próbowałem sondować badany obwód z lunetą również podłączoną do uziemienia, ale z zaciskiem uziemiającym omyłkowo w innym węźle niż uziemienie USB. Odłączenie zasilania laptopa i wyczerpanie baterii naprawiło to wszystko.
nanofarad
6
-1 dla 80% wiadomości to ad-hominem i sarkazm. Wiem, że to mem w dyskusji na temat elektroniki, ale proszę.
AnoE
1
@AliChen Tak nie jest. Przepaliłem bezpiecznik w moim obwodzie tuż przed tym, jak monitor prądu będący częścią obwodu (i pętli uziemienia) zarejestrował bardzo wysoki stan nieustalony. To zdecydowanie nie było w zakresie miliamperów.
nanofarad
2

Ponieważ używasz Arduino jako podstawy, rozwiązanie jest proste ... użyj jednorazowego procesora do programowania i debugowania. Środowisko programistyczne Arduino ładnie pasuje do Raspberry Pi, które można zasilać ze środowiska osadzonego i rozmawiać przez sieć bezprzewodową z pozostałych laptopów lub komputera stacjonarnego.

Nie zapobiegnie to usmażeniu Raspberry Pi, ale obniży koszt awarii obwodu do około 35 USD.

Jack Creasey
źródło
2
Myślę, że dopóki nie zostanie ustalona podstawowa przyczyna wysadzenia portów laptopa, każda porada byłaby przedwczesna. Nie wiemy, jak szalone może być podłączenie pralki, czarno-białe przewody można zamienić, a ziemia zwisa luźno. Wtedy może usmażyć wszystko, Pi lub nie. Mam nadzieję, że PO ma dobre ubezpieczenie na życie ...
Ale..chenski
Nie zgadzam się ... z pewnością należy wziąć pod uwagę wszelkie porady, które zmniejszają prawdopodobieństwo naruszenia środowiska.
Jack Creasey
2
To rzeczywiście nowatorski pomysł - zasadniczo argumentem jest to, że pi (bardziej jak 5 USD + 5 USD karta + 5 USD wifi) jest prawdopodobnie tańsze niż izolator USB. Jednak nie ma też nic wspólnego z możliwymi zagrożeniami w tworzonym systemie, które mogłyby utrzymywać się poza fazą inżynierii.
Chris Stratton,
1
@ChrisStratton To po prostu zarządzanie ryzykiem. W systemie, w którym możesz mieć katastrofalne awarie rozwojowe, odizolowałbyś zarówno sprzęt, jak i człowieka od potencjalnego ryzyka awarii. Możesz kupić profesjonalny sprzęt lub rolkę, którą posiadasz ... Po prostu zaproponowałem opłacalną rolkę własnego rozwiązania. Krytyka Ali Chena jest nieważna przez IMO, ponieważ w przypadku wielu niepowodzeń podczas opracowywania podstawowa przyczyna może być inna. Po wybuchu pożaru jest już za późno.
Jack Creasey
Chodzi mi o to, że jeśli okablowanie zasilania nie jest izolowane od normy w tym konkretnym przypadku, żadna ilość Pis przed laptopem nie będzie bezpieczna dla portów i użytkowników. To wszystko o co mi chodziło.
Ale..chenski
0

Ok, po wielu wyjaśnieniach i różnych przedstawionych przypadkach, pozwól mi zaproponować rozwiązanie problemu, jak zabezpieczyć laptopa przed smażeniem w środowisku obsługi w terenie:

  1. Zawsze najpierw podłącz sprzęt testowy / diagnostyczny do obiektu serwisowego i włącz zasilanie.

  2. Przed podłączeniem sprzętu do laptopa sprawdź, czy nie występują podejrzane napięcia między osłonami USB za pomocą DMM o niskiej impedancji (standardowo 10-20 kB), między portem DUT a portem laptopa, zarówno w trybie prądu stałego, jak i prądu przemiennego.

  3. W przypadku znalezienia znacznego napięcia (5–10–50 V) należy zastosować prawdziwy transformator izolujący na jednym z końców.

Ale..chenski
źródło
0

Korzystanie z Pi / Beaglebone / Tinkerbox przez WiFi byłoby tanie i łatwe. CHIP wygląda dobrze, patrz https://getchip.com/pages/chip . 5-9 $ za urządzenie. Możesz zabić 7 CHIPÓW za cenę 1 Pi3. Oczywiście nadal musisz rozwiązać problem, w którym napięcia zabójcze docierają do portów USB, ale przynajmniej twoja stacja robocza będzie bezpieczna. Nie podłączaj go jednak do sieci LAN za pomocą sieci Ethernet.

Przesyłanie plików to po prostu kwestia użycia opartego na kluczach dostępu ssh do plików scp do Pi / other i zdalnej powłoki do przesłania. W przypadku arduino istnieje pakiet arduino-mk i istnieją podobne narzędzia do PIC. Bez wątpienia możesz także zapisać swoje pliki w wyeksportowanym udziale SMB / CIFS i użyć zdalnej powłoki, aby utworzyć i przesłać ją na swoje tablice.

Jeśli napięcie zabójcze wystąpi ponownie, stracisz tylko 30-35 $.

Nadal nie dowiedziałem się, w jaki sposób napięcia te potrafią przejść przez MCU i wejść do portu USB. Czy to jest krótkie? Skąd to pochodzi? Zniszczyłem wiele klonów arduino i jestem szczerze ciekawy.

Ponadto porty USB są zwykle zabezpieczone przed umiarkowanym napięciem. W rzeczywistości musisz umieścić ujemne napięcie na pinie 5 V, aby zabić port (lub dodatni do pinu GND), kontrolera i być może płyty głównej. Jak sobie radzisz z zamordowaniem dwóch laptopów? Czy może to być magia przemiennego prądu w pracy?

użytkownik2497
źródło