Elektroda.pl
Elektroda.pl
X
Sklep HeluKabel
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Automatyczny przełącznik USB

Ty-grysek 01 Lut 2015 16:51 12075 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.


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz pendrive 32GB.
  • Sklep HeluKabel
  • #2 01 Lut 2015 16:57
    yogi009
    Poziom 42  

    Ł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 01 Lut 2015 17:09
    Ty-grysek
    Poziom 9  

    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 01 Lut 2015 17:22
    yogi009
    Poziom 42  

    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.

  • Sklep HeluKabel
  • #5 01 Lut 2015 17:56
    Zuliczek
    Poziom 16  

    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 01 Lut 2015 18:04
    piotrva
    Moderator na urlopie...

    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 01 Lut 2015 19:19
    Dariusz Goliński
    Poziom 22  

    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 01 Lut 2015 19:50
    Ty-grysek
    Poziom 9  

    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 01 Lut 2015 21:36
    Urgon
    Poziom 36  

    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 02 Lut 2015 10:39
    Karol966
    Poziom 30  

    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 02 Lut 2015 10:46
    Ty-grysek
    Poziom 9  

    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 02 Lut 2015 13:23
    gradek83
    Poziom 36  

    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 02 Lut 2015 14:28
    Pokrentz
    Poziom 21  

    Co do HUB-a - może po prostu kupić gotowy w sklepie i włożyć w pudełko?

  • #14 02 Lut 2015 14:41
    Ty-grysek
    Poziom 9  

    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 02 Lut 2015 16:54
    gradek83
    Poziom 36  

    Czy w dalekiej przyszłości można oczekiwać rozwoju urządzenia do wersji pod USB 3.0 ?

  • #16 02 Lut 2015 19:07
    Kaz K
    Poziom 20  

    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 04 Lut 2015 15:31
    Ty-grysek
    Poziom 9  

    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 04 Lut 2015 15:49
    yogi009
    Poziom 42  

    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 04 Lut 2015 15:58
    Urgon
    Poziom 36  

    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 06 Lut 2015 23:12
    yulu
    VIP Zasłużony dla elektroda

    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 09 Lut 2015 12:13
    Ty-grysek
    Poziom 9  

    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 11 Lut 2015 08:47
    sowa_46
    Poziom 19  

    Czy nie taniej i wygodniej zakupić drugi zestaw myszy i klawiatury, drukarkę można obsługiwać poprzez sieć.

  • #23 11 Lut 2015 11:59
    galospaw
    Poziom 2  

    Świetny tutorial, sam spróbuje to wykonać i wrzucę wyniki. Dzięki!

  • #25 12 Lut 2015 21:55
    ilmenauer
    Poziom 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 28 Lut 2015 12:27
    equos
    Poziom 11  

    Bardzo ładne i estetycznie wykonane urządzenie.
    Do przełączania portów starczyłby tylko przekaźnik ale... ;)