logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Automatyczny przełącznik USB

Ty-grysek 01 Lut 2015 16:51 13659 25
  • Wstęp
    Posiadam 2 komputery podłączone pod 1 zestaw urządzeń peryferyjnych USB: mysz, klawiatura, drukarki. Jeden komputer służy mi do pracy, drugi dla dzieci do zabawy. Ciągłe przełączanie wtyczek nie było dobrym rozwiązaniem, postanowiłem więc zaopatrzyć się w przełącznik USB. Niestety, dostępne na rynku urządzenia albo mają konstrukcję mechaniczną, albo są to rozwiązania ze sterowaniem poprzez zainstalowaną aplikację. Żadne z tych rozwiązań mnie nie satysfakcjonowało, więc postanowiłem zrobić własny przełącznik.

    Założenia projektu:
    - automatyczne przełączanie po wykryciu zasilania na złączu USB,
    - zasilanie z USB (z obu złączy),
    - możliwość przełączania ręcznego.

    Realizacja
    Zastosowałem bistabilne przekaźniki NEC EA2-5T. Podwójne cewki i ich mały prąd znacznie upraszczają konstrukcję. ATMega8 to oczywiście dużo za dużo, ale taki mikrokontroler akurat miałem pod ręką. Kwarc też można pominąć - wystarczy wewnętrzny oscylator, o ile Arduino będzie chciało gadać z ATMegą w takiej konfiguracji (przyznaję się – nie sprawdziłem :-) ). W trakcie projektowania płytki zapomniałem o diodach na cewkach przekaźnika, dlatego zostały dodane tak jak to widać na zdjęciach – swoją drogą całkiem dobrze im tam.
    Prosty program sterujący napisany został w Arduino. Dodana została funkcja pozwalająca włączyć/wyłączyć automatykę przełącznika – należy przytrzymać przez 3s obydwa przyciski. Przekaźniki są przełączane kolejno - z niewielkim odstępem czasowym. Po pierwsze - ogranicza to prąd pobierany przez układ, a po drugie - symuluje włożenie wtyczki USB do gniazda (obejrzyjcie wtyczkę USB: złącza zasilania i masy są dłuższe i w pierwszej kolejności łapią kontakt), choć pewnie i bez tego zabiegu układ działałby poprawnie…
    Przełącznik działa wyśmienicie już od tygodnia.

    Automatyczny przełącznik USB

    Automatyczny przełącznik USB Automatyczny przełącznik USB Automatyczny przełącznik USB Automatyczny przełącznik USB Automatyczny przełącznik USB Automatyczny przełącznik USB Automatyczny przełącznik USB

    Co dalej?
    Myślałem, żeby wyposażyć swój przełącznik w HUB, ale chip jest trudno dostępny a ponadto takiej drobnicy SMD osobiście nie byłbym w stanie przylutować. Najprostsze wyjście to użycie gotowej płytki wyjętej z fabrycznego przełącznika USB, ale to już może w następnej wersji.

    Na zakończenie
    Moje doświadczenie i wiedza w zakresie elektroniki są niewielkie, dlatego konstruktywna krytyka projektu będzie mile widziana.
    Załączniki:
    • program.txt (4.33 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • PCB.pdf (67.4 KB) Musisz być zalogowany, aby pobrać ten załącznik.

    Fajne? Ranking DIY
    O autorze
    Ty-grysek
    Poziom 12  
    Offline 
    Matematyk z wykształcenia, informatyk / programista z zawodu i elektronik (technika cyfrowa) z zamiłowania.
    Ty-grysek napisał 184 postów o ocenie 269, pomógł 2 razy. Mieszka w mieście Wrocław. Jest z nami od 2010 roku.
  • #2 14391475
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    Ładne wykonanie, estetyka na dobrym poziomie, płytka wytrawiona i oszlifowana jak należy. Duży plus. Nie bardzo rozumiem podstawki pod przekaźniki, ale widocznie miałeś powód. Na przyszłość sugeruję zmianę podstawki do mikrokontroler, podstawka precyzyjna niby kosztuje ok. 1,5-2zł, ale zapewnia dobry kontakt. Kilka wczesnych projektów nauczyło mnie, że najgorszym typem problemu jest zdiagnozowanie braku kontaktu w takie właśnie podstawce.
  • #3 14391530
    Ty-grysek
    Poziom 12  
    Posty: 184
    Pomógł: 2
    Ocena: 269
    Dzięki za słowa uznania.

    1. Dlaczego podstawka pod przekaźnik? Bo to najdroższy element układu a nie miałem pewności że całość zadziała jak należy
    2. Podstawka pod scalak miała być precyzyjna, ale dostawca się pomylił a ja machnąłem na to ręką. Gdzieś czytałem, że te zwykłe podstawki też dobrze trzymają o ile się raz włoży i więcej nie rusza.
  • #4 14391577
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    Pytałem o te podstawki pod przekaźniki, ponieważ powinny ode być podpięte w sposób jak najpewniejszy. Na Twoim miejscu po przetestowaniu całości rozważyłbym ew. usunięcie tych podstawek i wlutowanie przekaźników na stałe. Im mniej styków, tym układ pewniejszy.
  • #5 14391717
    Zuliczek
    Poziom 17  
    Posty: 258
    Pomógł: 10
    Ocena: 64
    Mógł kolega sobie podarować drugi przekaźnik i ograniczyć się do zasilania urządzenia peryferyjnego podobnie jak atmegi (czyli dwie diody).
    Podobny projekt to AVT1783, z tym że wykorzystujący do tego układ TS3USB221DRCR (multiplekser/demultiplekser usb). Podejrzewam że i tak te przekaźniczki wyszły taniej, tylko czy się nie okaże że będą miały jakieś problemy.
    Swoją drogą, nie lepiej było by kupić drugą klawiaturę i mysz, monitor też jest przełączany?
  • #6 14391752
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    Estetyka wykonania na 6.0! Wszystko równe, płytka ładnie wytrawiona, nawet diodki są na podstawkach dystansowych!
    Czy zabezpieczyłeś czymś płytkę drukowaną? Jeśli nie to powinieneś to zrobić, aby ścieżki się nie utleniały.

    Co do hubów USB i SMD - skoro tak ładnie idzie Ci trawienie płytek to z SMD nie powinieneś mieć problemu. Polecam zakup preparatu do cynowania chemicznego i wtedy przed lutowaniem SMD wkładasz PCB na parę minut i już lutuje się o niebo łatwiej. Na początek możesz poćwiczyć kupując jakieś układy logiczne (bramki, co tam najtańsze będzie) i płytki uniwersalne lub wytrawić sobie jakieś takie pola lutownicze.

    Co do programowania to polecam dalej uczyć się też czystego C, ale wszystko po kolei.

    Podsumowując - projekt może bardzo prosty, ale spełniający swoje zadanie w 100% i wykonany bardzo estetycznie. Duży plus i oby tak dalej - powodzenia w dalszej przygodzie z elektroniką :)

    Dodano po 2 [minuty]:

    Co do przełączania monitora - też będę musiał zrobić sobie coś własnego o jakości lepszej niż chiński mechaniczny "badziew" nie przepinający linii I2C w VGA.
  • #7 14392055
    Dariusz Goliński
    Poziom 22  
    Posty: 783
    Pomógł: 27
    Ocena: 149
    Zasadniczo rzadko się wypowiadam bo projekty tego typu to rzecz gustu a o gustach się nie dyskutuje.
    Zasadniczo wszystko ładnie i przemyślanie wykonane ale mam pytanie po co ?

    Super że podjąłeś się zbudowania takiego urządzenia bo to cię wiele nauczy ale akurat to co zbudowałeś już istnieje i nazywa się KVM.
    Są robione w różnych ilościach podłączanych komputerów i mają ciekawe sposoby zarządzania.

    Ale ogólnie projekt na 6.
  • #8 14392185
    Ty-grysek
    Poziom 12  
    Posty: 184
    Pomógł: 2
    Ocena: 269
    Dariusz Goliński napisał:
    ...ale akurat to co zbudowałeś już istnieje i nazywa się KVM.
    Są robione w różnych ilościach podłączanych komputerów i mają ciekawe sposoby zarządzania.


    Niestety, nie spotkałem się z przełącznikiem KVM, który by automatycznie przełączał się po pojawieniu się zasilania USB. Ja wiem że wystarczy kliknąć guziczek, ale: siadam do biurka, włączam jeden z komputerów chwytam myszkę, klawiaturę i ... nic ... no tak, trzeba przełączyć KVM, a po przełączeniu odczekać klika chwil zanim USB zaskoczy. A przecież informatyk to człowiek który zrobi wszystko żeby nie robić nic i dla tego powstał ten projekt :-)
    Ale racja - była to także próba własnych sił i kolejna lekcja elektroniki.

    Zuliczek napisał:
    Swoją drogą, nie lepiej było by kupić drugą klawiaturę i mysz, monitor też jest przełączany?


    Miałem przez krótki czas 2 klawiatury i 2 myszki - przy jednym biurku to się absolutnie nie sprawdza i zabiera cenne miejsce. A monitor ma 2 wejścia sygnału i przełącza się sam (jak mojej konstrukcji przełącznik :-) ).
  • #9 14392724
    Urgon
    Poziom 38  
    Posty: 7279
    Pomógł: 197
    Ocena: 2632
    AVE...

    A nie starczyłoby zapodać napięcie z jednego gniazda USB na jedną cewkę przekaźnika, przez kondensator na przykład, by mieć impuls przełączający? Na drugą cewkę napięcie z drugiego portu by przełączyć przekaźnik w drugą stronę.

    Generalnie bardzo dobrze wykonany projekt, ale czy nie dałoby się prościej?
  • #10 14394078
    Karol966
    Poziom 31  
    Posty: 2038
    Pomógł: 83
    Ocena: 645
    Urgon napisał:
    ale czy nie dałoby się prościej?

    Do tak małego układu jak już ma być jakiś mały uC to coś typu Atiny13 wpasowało by się w sam raz. Oczywiście w SMD i wtedy zaczyna to wyglądać nieco ciekawiej. Wielkie procki w DIP'ach lekko straszą w tych czasach gdzie chcąc -nie chcąc i tak trzeba lutować układy z rastrem co najmniej 0.5mm (inaczej się po prostu nie da chcąc zbudować jakieś urządzenie ze współczesnych elementów).

    Co do estetyki, no powala na kolana:) Piękna robota.
  • #11 14394096
    Ty-grysek
    Poziom 12  
    Posty: 184
    Pomógł: 2
    Ocena: 269
    Urgon napisał:
    A nie starczyłoby zapodać napięcie z jednego gniazda USB na jedną cewkę przekaźnika, przez kondensator na przykład, by mieć impuls przełączający? Na drugą cewkę napięcie z drugiego portu by przełączyć przekaźnik w drugą stronę


    Generalnie tak, ale zaoszczędziłbym na częściach może 5zł (bo pracy tyle samo) a zastosowanie mikrokontrolera dało mi większą swobodę w konstruowaniu i większe możliwości rozbudowy urządzenia - ot choćby zaimplementowana już możliwość wyłączenia funkcji automatu.
  • #12 14394668
    gradek83
    Poziom 43  
    Posty: 9105
    Pomógł: 929
    Ocena: 2097
    Do tego podepniesz tylko jedno urządzenie peryferyjne klawiaturę albo myszkę na USB czy bez problemu można dopiąć HUB USB i mieć podpięte kilka urządzeń ?

    Do tego układu można dodać diody zenera zabezpieczające linię D+ D- czy to nie konieczne ?
    Automatyczny przełącznik USB
  • #13 14394899
    Pokrentz
    Poziom 22  
    Posty: 546
    Pomógł: 19
    Ocena: 81
    Co do HUB-a - może po prostu kupić gotowy w sklepie i włożyć w pudełko?
  • #14 14394945
    Ty-grysek
    Poziom 12  
    Posty: 184
    Pomógł: 2
    Ocena: 269
    gradek83 napisał:
    Do tego podepniesz tylko jedno urządzenie peryferyjne klawiaturę albo myszkę na USB czy bez problemu można dopiąć HUB USB i mieć podpięte kilka urządzeń ?
    Do tego układu można dodać diody zenera zabezpieczające linię D+ D- czy to nie konieczne ?


    Mam podpięty tani HUB USB - działa doskonale (więcej problemów miałem z tym HUB-em gdy przepinałem go ręcznie). Co do diod zenera, rezystorów i innych takich podłączonych do linii danych, zakładam że moje urządzenie ma być dla hosta i klienta całkowicie transparentne, niczym zwykły kabelek. Dlatego też nie podłączam nic więcej ponad pasywny w tym kontekście przekaźnik.

    Jak już pisałem - myślę o tym aby zamknąć taki przełącznik w jednym pudełku z płytką wyjętą z fabrycznego HUB-a, np: http://www.gembird.nl/item.aspx?id=3535. Jak najmniej kabli i pudełek. Jak wystarczy czasu i samozaparcia - pochwalę się efektami.
  • #15 14395449
    gradek83
    Poziom 43  
    Posty: 9105
    Pomógł: 929
    Ocena: 2097
    Czy w dalekiej przyszłości można oczekiwać rozwoju urządzenia do wersji pod USB 3.0 ?
  • #16 14396008
    Kaz K
    Poziom 20  
    Posty: 535
    Pomógł: 25
    Ocena: 149
    Projekt ładny . Moje uwagi odnośnie tego wykonania to:
    1. Brak filtracji zasilania procesora dławikiem co przy przekaźnikach to wcześniej czy później kłopoty.
    2. Nie należy podłączać cewek przekaźnika bezpośrednio po piny procka (nawet jak są diody zabezpieczające ) , zawsze stosuje tranzystory lub ULN (chyba Kolega jeszcze nie miał uwalonych procesorów ;D)
  • #17 14403053
    Ty-grysek
    Poziom 12  
    Posty: 184
    Pomógł: 2
    Ocena: 269
    Kaz K napisał:
    1. Brak filtracji zasilania procesora dławikiem co przy przekaźnikach to wcześniej czy później kłopoty.


    Trochę poczytałem na ten temat i wychodzi że wystarczy koralik ferrytowy - rzędu 1uH (pomijam na razie część analogową).

    Kaz K napisał:
    2. Nie należy podłączać cewek przekaźnika bezpośrednio po piny procka (nawet jak są diody zabezpieczające ) , zawsze stosuje tranzystory


    Prąd cewki przekaźnika: 28mA (i tylko przez 10 ms) a max dla procka to 40mA. Dociekliwy jestem więc proszę o uzasadnienie potrzeby zastosowania tranzystora :-)
  • #18 14403117
    yogi009
    Poziom 43  
    Posty: 14693
    Pomógł: 848
    Ocena: 2650
    Nie steruj cewki bezpośrednio z wyjścia mikrokontrolera. Istnieje sporo sytuacji krytycznych, w których wyjście atmegi jest narażone na uszkodzenie.
  • #19 14403145
    Urgon
    Poziom 38  
    Posty: 7279
    Pomógł: 197
    Ocena: 2632
    AVE...

    Po to daje się równolegle z cewką szybką diodę, by pinu mikrokontrolera nie uszkodzić. Tranzystor miałby uzasadnienie dla przekaźnika zwykłego, gdzie cewka cały czas pracuje, co mogłoby pin mikrokontrolera za bardzo obciążać. Albo jakby przekaźnik miał cewkę na inne napięcie. Tutaj jest poprawnie.
  • #20 14412158
    yulu
    VIP Zasłużony dla elektroda
    Posty: 431
    Pomógł: 234
    Ocena: 25
    Fajnie zrobione, z tym że np. w moim desktopie na uśpieniu mam napięcie na USB, więc automatyka mogła by fiksować.
    Też kiedyś miałem podobny problem. Jedno biurko i dwa desktopy, wizja przełączania wtyczek minie mierziła, a na drug komplet brak miejsca.
    Problem rozwiązał program 'synergy'
    Na komputerze 'master' jest normalnie klawiatura z myszką.
    Po przejechaniu myszką "poza ekran" przełączamy się na drugi komputer, i na nim pojawia się kursor i na nim też piszemy.

    Wada jest taka że musimy zawsze pracować na komputerze master.
    W Twoim przełączniku obydwa komputery mogą być dowolnie włączone/wył.
  • #21 14420522
    Ty-grysek
    Poziom 12  
    Posty: 184
    Pomógł: 2
    Ocena: 269
    yulu napisał:
    w moim desktopie na uśpieniu mam napięcie na USB, więc automatyka mogła by fiksować.


    Miałem podobny problem (MSI K9A2 Platinum), jednak po aktualizacji BIOS-u i zmianie kilku jego parametrów (nie pamiętam których, robiłem to "na czuja") USB wyłącza się razem z komputerem.

    Poza tym mój przełącznik reaguje na zmianę stanu, więc nie powinno być problemu nawet jak jest stale zasilanie na jednym ze złączy USB.
  • #22 14426873
    sowa_46
    Poziom 25  
    Posty: 750
    Pomógł: 64
    Ocena: 84
    Czy nie taniej i wygodniej zakupić drugi zestaw myszy i klawiatury, drukarkę można obsługiwać poprzez sieć.
  • #23 14427333
    galospaw
    Poziom 2  
    Posty: 4
    Świetny tutorial, sam spróbuje to wykonać i wrzucę wyniki. Dzięki!
  • #25 14433067
    ilmenauer
    Poziom 14  
    Posty: 162
    Pomógł: 3
    Ocena: 14
    Dopóki podłączasz tylko mysz i klawiaturę (oba działają w USB Low Speed) to jest dobrze. PCB może być "wycięte scyzorykiem" i przekaźniki w torze transmisji też nie wadzą.
    Jeśli jednak zapragniesz się zmierzyć z Hi-Speed USB 2.0 to Twoje rozwiązanie stanie się przyczyną błędów komunikacji. Zależnie od urządzenia i drivera albo "zamuli" albo "padnie" (nawet cały system znanej marki).
    Do przełączania USB istnieją od lat dedykowane przełączniki MOSFET. Moim ulubieńcem jest kość TS3USB221 z Texas'u. Robiąc PCB musisz wziąć pod uwagę grubość laminatu, miedzi, odstępy, przenikalność... czyli policzyć/zasymulować impedancję linii.
    Switch USB 3.0 też można zaprojektować i polutować w domu ale tu laminat musi być 4-warstwowy i "walka" toczy się o każdą przelotkę.
  • #26 14485877
    equos
    Poziom 12  
    Posty: 30
    Pomógł: 5
    Ocena: 1
    Bardzo ładne i estetycznie wykonane urządzenie.
    Do przełączania portów starczyłby tylko przekaźnik ale... ;)

Podsumowanie tematu

✨ Użytkownik zaprojektował automatyczny przełącznik USB do obsługi dwóch komputerów z jednym zestawem urządzeń peryferyjnych. W projekcie zastosowano bistabilne przekaźniki NEC EA2-5T oraz mikrokontroler ATMega8. Główne założenia to automatyczne przełączanie po wykryciu zasilania na złączu USB, zasilanie z USB oraz możliwość ręcznego przełączania. W dyskusji poruszono kwestie estetyki wykonania, sugestie dotyczące użycia precyzyjnych podstawek, a także alternatywy, takie jak zakup KVM lub dodatkowych urządzeń peryferyjnych. Użytkownicy podkreślili znaczenie zabezpieczeń, takich jak diody Zenera, oraz zwrócili uwagę na problemy z komunikacją w przypadku USB 2.0 i 3.0.
Wygenerowane przez model językowy.
REKLAMA