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

Konwerter - USB <=> rs485

12 Lut 2016 22:45 2316 9
  • Poziom 13  
    Witam wszystkich.
    Planuję zrobić komunikację po rs485 z arduino mega i oraz komputerem przez usb.
    Podłączyłem sobie konwerter UART i rs485 rysunak w załaczeniu.
    Nie jestem pewien czy wszystko jest dobrze :?: :D

    Konwerter - USB <=> rs485

    Możecie podpowiedzieć czy dobrze, bo nie chcę sobie uszkodzić układu. :please:
  • Specjalista - Mikrokontrolery
    Prawdopodobnie linie DE i RE powinny być zwarte i połączone z DTR. CTS jest wejściem, więc nic z niej nie wysterujesz.
    A właściwie to z jakiego powodu nie używasz konwertera USB-RS485?
  • Poziom 13  
    BlueDraco napisał:

    A właściwie to z jakiego powodu nie używasz konwertera USB-RS485?


    Tak się złożyło, że najpierw miałem USB/TTL bo potrzebny mi był do uruchomienia ESP8266. Potem dokupiłem TTL/RS485 i w ten sposób mam to samo i za mniejsze pieniądze bo wydałem 12zł na całość. :spoko:

    Poprawiłem połączenia. Konwerter - USB <=> rs485

    Teraz na pewno dobrze :?: :D
  • Specjalista - Mikrokontrolery
    To, czy dobrze, zależy od oprogramowania. Prawdopodobnie dobrze, ale tak naprawdę, to do sterowania DE służy linia RTS, która nie jest wyprowadzona z przejściówki.
  • Poziom 13  
    BlueDraco napisał:
    To, czy dobrze, zależy od oprogramowania. Prawdopodobnie dobrze, ale tak naprawdę, to do sterowania DE służy linia RTS, która nie jest wyprowadzona z przejściówki.

    No to mi sęka zdałeś.
    Na początek chcę nasłuchiwać programem ModScan32, co jest nadawane po RS485 przez inne urzadzenia.
    Potem zobaczymy co z tego wyjdzie.
  • Poziom 39  
    Modscan pracuje jako Modbus master - rozumiem więc że próbujesz zapakować obsługę modbusa na arduino. Nie wszystkie programy radzą sobie dobrze z takim połączeniem jak przedstawiłeś. Problemem jest czas przełączania między odbiorem a nadawaniem (RE-DE-RTS). Czas ten jest ważny ponieważ to master rozpoczyna transmisję wysyłając zapytanie [adres,komenda,dane,crc], następnie przełącza maxa485 na obiór linią RTS i oczekuje na odpowiedź z urządzenia slave(arduino)
    Rozważ zakup konwertera USB-RS485 opartego o FT232 lub pochodny - radzi sobie bardzo ładnie.

    Na początek do testów protokołu proponuję użyć połączenia rs232 (rs232TTL) liniami RX,TX, GND. Jak uruchomisz obsługę protokołu przesiądź się na rs485.

    tutaj jest pokazany sposób na przełączanie nadawanie-odbiór bez użycia linii RTS
    https://obrazki.elektroda.pl/98_1174589556.jpg
  • Poziom 13  
    Czyli wychodzi że Modscan nie pasuje dla moich potrzeb. :?:

    Chcę nasłuchiwać co jest wysyłane po RS485 do innych rządzeń (układ 2 x arduino, ESP6266 ) żadnych zapytań nie będę wysyłał.

    Czy jest taka możliwość, jaki program to obsłuży? - zaczynam się gubić.
  • Poziom 21  
    jeżeli chcesz tylko słuchać transmisji po rs485 to najprościej:
    zasil przejściówkę 485 (tak jak narysowałeś)
    zewrzyj piny RE i DE i podłącz do masy
    RO podłącz (tak jak narysowałeś) do RXD mostka USB,
    Teraz jakikolwiek monitor portu szeregowego pokaże co dzieje sie na linii 485,
    Być może będziesz potrzebował dopasować poziomy napięć miedzy tymi dwiema płytkami...
    Jeśli chcesz sprawdzić to łopatologicznie to możesz do wyjścia (RO) i Vcc podłączyć Leda z małym rezystorkiem. Dioda powinna migać podczas przesyłania danych.
  • Poziom 13  
    ditomek napisał:

    Być może będziesz potrzebował dopasować poziomy napięć miedzy tymi dwiema płytkami...


    Czyli tak to ma być?

    Konwerter - USB <=> rs485

    A z tymi poziomami to chyba musi być 5V (przełacznik ustawiłem na 5V).
    MAX485 jest na 5V :?: .