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

Konwerter 3w1 - USB do RS232, RS485, UART

manekinen 31 Lip 2010 15:43 20106 13
  • Konwerter 3w1 - USB do RS232, RS485, UART
    Prezentowane urządzenie to konwerter 3w1: USB - RS232, RS485, oraz UART. Rolę konwertera pełni dedykowany układ FT232RL widziany w systemie jako port COM, a wspomagany jest przez dwa układy MAX232 oraz MAX485. Wszelkich ustawień pracy konwertera dokonujemy poprzez system tak jak ma to miejsce w normalnym porcie COM, obsługiwane prędkości 110 - 921600 bps.

    Płytka jednostronna o wymiarach 30mm x 58mm, wszystkie elementy do montażu powierzchniowego, prócz gniazda COM (DB-9M, męski DB9). Na płytce znajdują się dwie diody sygnalizacyjne, czerwona TX oraz zielona RX, przyłączone odpowiednio do pinów CBUS0 oraz CBUS1 układu FT232R. Rezystory ograniczające prąd to typowo 270ohm, ale należałoby dobrać je do napięcia diod, czerwona z reguły wymaga mniejszego napięcia.

    Dostępne są trzy złącza:

    RS232 - Rolę tłumacza napięć TTL - V.24 pełnią dwie kości MAX232. Można by zastosować dedykowany konwerter MAX211 ale jest on dużo droższy i ciężej go dostać więc zdecydowałem się jednak na tanie i wszechobecne MAX232. Jedyna wada takiego rozwiązania to brak konwersji linii RING, ale praktycznie nie jest ona wykorzystywana w innych urządzeniach. Układy posiadają pompę ładunkową wytwarzającą napięcia +9V oraz -9V niezbędne dla zagwarantowania zgodności z V.24. Układy RS232 odwracają logikę, stan wysoki na wejściu da stan niski na wyjściu i odwrotnie.

    RS485 - Na płytce znajduje się także układ konwertera RS485 (tutaj SN75176), jego nadajnik sterowany jest linią TXDEN z pinu CBUS2 układu FT232R, tak że aktywny jest tylko w chwili wysyłania znaku i odbywa się to automatycznie. Jego odbiornik w tym konwerterze jest konfigurowalny poprzez przypisanie poszczególnych funkcji dla pinu CBUS3 układu FT232. Zrobimy to przy pomocy programu MPROG. Funkcja "TXDEN" - odbiornik będzie cały czas włączony ale będzie wyłączany automatycznie podczas nadawania - nie odbierzemy echa. "PWRON" - odbiornik załączony na stałe, będzie odbierane echo. "I/O" - odbiornik wyłączony, wyjście w stanie wysokiej impedancji, nie blokuje linii READ umożliwiając korzystanie z pozostałych złącz konwertera. UWAGA - domyślnie odbiornik pracuje! Wyjście różnicowe A i B w postaci goldpinów, na płytce dodatkowo znajduje się zworka załączająca rezystor terminatora 120ohm.

    UART TTL - Czyli linie TxD oraz RxD w standardzie TTL wyprowadzone w postaci goldpinów do bezpośredniego podłączania układów korzystających z transmisji asynchronicznej z poziomami napięć 0V-5V, takich jak mikrokontrolery. Pin RxD jest współdzielony z wyjściem układu RS232 który nie ma możliwości przełączenia go w stan wysokiej impedancji podczas gdy układ jest nieużywany (0V na wejściu RS). W zamian przy takim stanie wejścia serwuje nam stan wysoki na pinie RxD uniemożliwiając jego bezpośrednie współdzielenie z innym urządzeniem nadającym. Najłatwiejszym sposobem obejścia tego konfliktu było połączenie wyjścia tego układu do linii read poprzez rezystor 10K - układ FT232 dane odbierze prawidłowo, a podłączając inny nadajnik pod złącze UART TTL prąd potrzebny do ściągnięcia pinu RxD nie będzie większy jak 1mA.





    Konwerter 3w1 - USB do RS232, RS485, UART

    Układ zasilany jest z portu USB, przedstawiając się dla komputera informuje go że jego zapotrzebowanie na prąd to 90mA. Wartość tą dobrze będzie zwiększyć, a to z powodu układu do konwersji RS485 którego zapotrzebowanie na prąd jest o wiele większe. Użyjemy do tego celu programu MPROG, za pomocą którego mamy możliwość zmiany zawartości wewnętrznej pamięci eeprom i przystosować kość do naszych potrzeb. Najpierw instalacja sterowników. Pobieramy STEROWNIK VCP (virtual com port), po podłączeniu urządzenia wskazujemy instalatorowi paczkę ze sterownikiem.

    Montaż:
    1. Gniazdo COM lutowane od wierzchu - potrzebujemy gniazda z niezabudowanymi wyprowadzeniami aby móc je w miarę łatwo przylutować. W przypadku gniazda zabudowanego tak jak w tym przypadku, o ile do 5 pinów z brzegu można się dostać cienkim grotem, to 4 piny od środka należy połączyć nieco inaczej. Sztuczkę jaką z powodzeniem stosuję można znaleźć tutaj - Lutowanie Przelotek.
    2. Ścieżki przechodzą pomiędzy padami układów SOIC, ich grubość w tych miejscach wynosi 10 milsów, a odstępy w tych miejscach jeszcze mniej - należy więc starannie wykonywać płytkę aby uniknąć zwarć.
    3. Miejsca na kondensatory dla układów MAX232 przystosowane do lutowania elektrolitów SMD w obudowach 0405 , można użyć kondensatorów ceramicznych lub innych, oczywiście o odpowiednich wartościach.
    4.Na płytce nalezy wykonać 5 połączeń zworkami.

    Uwagi:
    Aby sprawdzić układ RS232, należy zewrzeć piny nr 2 oraz 3 we wtyczce DB9 - w terminalu powinniśmy otrzymać echo tego co wysyłamy, a obydwie diody powinny migać jednocześnie. Jeśli tak się nie dzieje, należy zewrzeć piny TX oraz RX w złączu TTL - tutaj musi już to działać o ile płytka nie zawiera błędów montażowych. W przypadku problemów z konwerterami MAX232, należy zmierzyć napięcia na nogach 2 oraz 6 - powinny wynosić w okolicach +9V oraz -9V. Jeśli tak nie jest, nalezy sprawdzić czy użyliśmy prawidłowych kondensatorów dla wbudowanej przetwornicy napięcia - wersja MAX232 wymaga 4x 1uF, natomiast wersja MAX232A wymaga 4x100nF. Aby sprawdzić układ RS485 wystarczy włączyc jego odbiornik. Na fotografiach płytka prototypowa, brak na niej rezystora 1K oddzielającego linię RxD od wyjścia MAX232 - w załączniku uaktualniony projekt.

    Zapraszam również do artykułu na mojej stronie - http://diy.elektroda.eu/konwerter-3w1-usb-do-rs232-rs485-uart/ . Jest tam dodatkowo opisana obsługa programu MPROG.

    Konwerter 3w1 - USB do RS232, RS485, UART Konwerter 3w1 - USB do RS232, RS485, UART Konwerter 3w1 - USB do RS232, RS485, UART

    Konwerter 3w1 - USB do RS232, RS485, UART Konwerter 3w1 - USB do RS232, RS485, UART Konwerter 3w1 - USB do RS232, RS485, UART

    W załączniku znajdują się pliki projektu eagle 5.4.0, oraz ich odpowiedniki PDF gotowe do wydrukowania.


    Fajne!
  • #2 31 Lip 2010 18:29
    323493
    Użytkownik usunął konto  
  • #3 31 Lip 2010 18:36
    bobek_wb
    Poziom 11  

    Tak, MAX485 jest zamiennikiem SN75176 i odwrotnie.

  • #4 01 Sie 2010 13:45
    mick
    Poziom 15  

    Przydałyby się DIPswitche do zmiany wyprowadzeń tak aby na gniazdo DB9 można było podać sygnały RS232 lub RS485 lub TTL, bo goldpiny nie są zbyt wygodne.
    Ogólnie układ bez zarzutów bardzo ładnie wykonany.
    W jaki sposób cynujesz płytki?

  • #5 01 Sie 2010 21:46
    bobek_wb
    Poziom 11  

    mick napisał:

    W jaki sposób cynujesz płytki?


    Patrząc na jakość ocynowania jak i tego co autor podaje na swojej stronie płytki cynowane są za pomocą preparatu do bezprądowego cynowania.

  • #6 02 Sie 2010 22:59
    buzerek
    Poziom 13  

    Czy to będzie współpracować z BASCOM-AVR ?

  • #7 03 Sie 2010 09:14
    manekinen
    Poziom 29  

    bobek_wb napisał:
    Tak, MAX485 jest zamiennikiem SN75176 i odwrotnie.

    Tzn zamiennie można zastosować, ale jeśli damy np MAX485 z jednej strony a SN75176 z drugiej strony linii, to mogą być problemy z komunikacją tych dwóch układów. Tak że jeśli zamieniamy to wszystkie. Nie sprawdzałem osobiście bo używam układów SN, ale takie informacje często krążą tutaj na forum.

    mick napisał:
    Przydałyby się DIPswitche do zmiany wyprowadzeń tak aby na gniazdo DB9 można było podać sygnały RS232 lub RS485 lub TTL, bo goldpiny nie są zbyt wygodne.
    Ogólnie układ bez zarzutów bardzo ładnie wykonany.

    Goldpiny do zabawy z mikroprocesorami akurat są ok, natomiast RS485 miał mieć gniazdo zaciskane ale już nie chciałem tego lutować od wierzchniej strony bo mogłoby się urwać wraz ze ścieżkami. To samo dipswitche - problem z przylutowaniem a płytkę musiałbym powiększyć.

    Co do cynowania, swoją sztuczkę opisałem o tutaj

    buzzerek napisał:
    Czy to będzie współpracować z BASCOM-AVR ?

    Jak najbardziej :)

  • #8 18 Paź 2010 11:11
    Anonymous
    Użytkownik usunął konto  
  • #9 03 Sie 2011 16:33
    jajen
    Poziom 17  

    Witam,
    Zmotowałem układ, ale mam problem z uruchomieniem. Konwerter został prawidłowo wykryty, mprog sie dogaduje z FT232, na nóżkach 2 i 6 układów max232 napięcia -8,8V i odpowiednio 8,7v. Ale zawarcie pinów 2i3 w DB9 oraz pinów RXiTX nie powoduje zadnej reakcji. Gdzie szukać przyczyny? Może ktoś zechce podpowiedzieć gdzie może tkwić problem i jak go zlokalizować?

  • #10 03 Sie 2011 17:01
    manekinen
    Poziom 29  

    Czy wyłączyłeś układ RS485? Domyślnie jest on włączony.

  • #11 03 Sie 2011 17:43
    jajen
    Poziom 17  

    Faktycznie rs485 był włączony. Już sobie poradziłem z wyłączeniem i wszystko śmiga. Załączam zdjęcie swojego maleństwa. Świetny projekt!

    Konwerter 3w1 - USB do RS232, RS485, UART

    Czy w miejsce max232 można użyć max3232CSE? Jeśli tak to jakie kondensatory zastosować?

    Nie piszemy dwóch wypowiedzi post pod postem. Do tego służy opcja edycji wiadomości.
    Scaliłem. [Djpopak;)]

  • #13 21 Sie 2012 13:01
    manekinen
    Poziom 29  

    Masz rację, w zasadzie to powinno być dołączone do pinu 5. Z tego co właśnie wyczytałem, kabelek mini-usb-a ma obydwa piny (4 i 5) dołączone do masy, a mini-usb-b tylko pin 5. Dla pewności można sobie machnąć tam kropkę cyny tak aby obydwa były dołączone do masy. W moich kabelkach masy wtyczek są też połączone, ale pewnie można też trafić na takie bez połączenia i faktycznie może być problem.

  • #14 15 Wrz 2012 00:40
    jajen
    Poziom 17  

    Zrobiłem ten konwerter dość dawno. Pamiętam namęczyłem się żeby wpaść jak wyłączyć rs485 ale kompletnie nie pamiętam jak to zrobiłem. Teraz potrzebuje użyć tego jako konwerter USB na RS485. Może mi ktoś napisać jak włączyć S485? Dzięki.