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

Komunikacja RS485, kilka urządzeń - jak połączyć?

dyerseve 07 Lut 2018 15:16 855 12
  • #1 07 Lut 2018 15:16
    dyerseve
    Poziom 5  

    Potrzebuję połączyć ze sobą 4 urządzenia przez RS485. Szukałem schematu magistrali z poprawnym połączeniem MAX485, ale każdy schemat jest inny i każdy jest 'poprawny'. W związku z tym zwracam się z prośbą o pomoc w dobraniu możliwie najlepszej opcji połączenia tego w całość.
    Układ połączenia wygląda w ten sposób:
    Komunikacja RS485, kilka urządzeń - jak połączyć?

    W skrócie:
    Główna komunikacja jest między urządzeniami A i B. Urządzenie C to element dodatkowy, który nie ma wpływu na pracę A i B w razie nie podłączenia. Jedynie odbiera dane, żeby załączyć przekaźniki i wysłać dane dalej poprzez MIDI. Odległości między urządzeniami A, C i D to ok 50cm, urządzenie B jest od nich oddalone na ok 10m. Obydwa urządzenia A, C oraz D mają swoje zasilania, jedynie urządzenie B jest zasilane z urządzenia C.

    Schemat z innego postu:
    Komunikacja RS485, kilka urządzeń - jak połączyć?
    Różnice w schematach jakie znalazłem to obecność rezystorów podciągających na liniach (i różne wartości), zastosowanie rezystorów ograniczających na liniach i diody, optoizolacja, tranzystor na linii Tx. Nie wiem która wersja podłączenia MAX485 jest najkorzystniejsza. Chodzi mi o jak najlepszą pracę, ze względu na to że urządzenia będą działać 'na żywo' i nie chciałbym, żeby coś nagle się posypało.

    Jeśli potrzebne są dokładne szczegóły połączenia tych urządzeń to bez problemu mogę opisać.
    Z góry bardzo dziękuję za jakąkolwiek pomoc!

    0 12
  • Relpol
  • #2 07 Lut 2018 15:37
    Freddie Chopin
    Specjalista - Mikrokontrolery

    dyerseve napisał:
    Różnice w schematach jakie znalazłem to obecność rezystorów podciągających na liniach (i różne wartości)

    Podciąganie można dać przy każdym urządzeniu albo tylko przy tych które są odłączane - bez większego znaczenia. Jeśli dasz ich więcej to całość będzie pobierać więcej prądu i taka różnica.

    dyerseve napisał:
    zastosowanie rezystorów ograniczających na liniach

    Można dać jako ograniczenie tzw. "dzwonienia" przy długich przewodach. Równie dobrze (a nawet lepiej) można dać dławiki (koraliki ferrytowe).

    dyerseve napisał:
    diody, optoizolacja, tranzystor na linii Tx

    Zbędne. No... ewentualnie te diody - można uznać za zabezpieczenie przed przepięciami.

    dyerseve napisał:
    Nie wiem która wersja podłączenia MAX485 jest najkorzystniejsza. Chodzi mi o jak najlepszą pracę, ze względu na to że urządzenia będą działać 'na żywo' i nie chciałbym, żeby coś nagle się posypało.

    Połącz wszystko tak, żeby na "końcach" kabli były terminatory ~120R i rezystory polaryzujące. Topologia bez specjalnego znaczenia, ale jeśli jeden sprzęt jest tam "zawsze", a reszta podpinana na żywo, to można zrobić gwiazdę z tym właśnie urządzeniem w centrum (wtedy przy nim akurat terminatory i rezystory polaryzujace nie będą potrzebne).

    RS-485 jest dosyć tolerancyjne (; Przy czterech urządzeniach cokolwiek zrobisz to będzie dobrze.

    0
  • Relpol
  • #4 08 Lut 2018 21:02
    kemot55
    Poziom 30  

    Zostaw miejsca na rezystor do plusa, do masy i pomiędzy A i B - wszystkie kombinacje załatwia. Wyrzuć szeregowe rezystory z linii (chyba, że boisz się jakiegoś określonego ESD)

    Jeżeli te łączone urządzenia to będzie np. jakiś Profibus to trzeba dołożyć polaryzację wszystkie trzy rezystory rezystory, zgodnie z konkretną specyfikacją, w tym przypadku Siemensa). Czyli trochę zależy co wisi na linii. Jakiś przypadkowy, chiński falownik nie chciał mi się komunikować bez terminatora (równoległe 100om pomiędzy A i B). Natomiast jak robiłem własną sieć (z własnymi urządzeniami) i przy 100m żaden terminator nie był potrzebny wszystko działało i działa do tej pory.

    0
  • #5 09 Lut 2018 22:07
    dyerseve
    Poziom 5  

    *Zapomniałem napisać że urządzenie C odbierać będzie jedynie dane i wysyłać inne dane do urządzenia D ale już po MIDI.
    Patrzę tak na ten rysunek i wychodzi mi, że są dwa urządzenia master i jedno slave (przynajmniej tak mi się wydaje).
    Czyli w każdym urządzeniu sygnał wchodzi bezpośrednio na MAX485, bez żadnych tranzystorów i optoizolatorów, i wychodzi w sumie też bezpośrednio, ewentualnie przez koraliki ferrytowe? Terminator i rezystory podciągające mógłbym zrobić ewentualnie na zworki. Wartość podciągających musi być jakaś konkretna, bo o tym też nic nie znalazłem?

    0
  • #6 10 Lut 2018 10:20
    kemot55
    Poziom 30  

    Tu masz rysunek terminatora do Profibus.
    Komunikacja RS485, kilka urządzeń - jak połączyć?
    Natomiast dwa mastery w tej sieci potrzebują układu z jakimś arbitrażem, bo może być "cyrk" na liniach.

    0
  • Pomocny post
    #7 12 Lut 2018 09:58
    arturt134
    Poziom 26  

    Dzisiaj w zasadzie wszystkie odbiorniki mają opcję "fail-safe", czyli nie podłączone do linii nie generują śmieci. Zatem rezystory podciągające linie D+ i D- możesz sobie darować. Jeżeli chodzi o terminatory, to z własnego doświadczenia mogę powiedzieć, że przy krótkich liniach (10m to krótka linia) i małych prędkościach transmisji (np. 115200 bodów) można je sobie odpuścić. Na wszelki wypadek możesz zostawić pola lutownicze na nie, ale ja bym ich nie montował.
    Na pewno przydadzą się jakieś zabezpieczenia, czyli rezystor szeregowy od strony linii (jakieś 10-20R, najlepiej drutowy, wtedy wytrzyma nawet 1kV SURGE) + transil do masy (na Twoim schemacie rezystor jest nie z tej strony transila).

    0
  • #8 12 Lut 2018 22:53
    dyerseve
    Poziom 5  

    Dzięki za odpowiedź!
    Czyli transile przy MAX485, a potem rezystory na liniach? Widziałem też rozwiązanie, że prócz transili do masy zastosowany jest transil dwukierunkowy pomiędzy liniami. Obydwa transile powinny być w tym samym kierunku do masy, czy jeden odwrócony, bo takie rozwiązanie też widziałem?

    0
  • Pomocny post
    #9 13 Lut 2018 08:08
    arturt134
    Poziom 26  

    Oba transile w tym samym kierunku. RS485 to transmisja różnicowa, ale poziomy elektryczne to GND i VCC (nie ma napięć ujemnych) , więc odwracanie transila nie ma sensu.
    Moim zdaniem transil miedzy liniami nie ma sensu, bo dubluje te dwa które już są zastosowane. Ale jeżeli chcesz, to wstaw tam dwukierunkowy. Zaszkodzić, na pewno nie zaszkodzi.

    0
  • #10 13 Lut 2018 13:01
    dyerseve
    Poziom 5  

    Ok, wielkie dzięki za pomoc!

    0
  • #11 13 Lut 2018 20:44
    MrBool
    Poziom 10  

    arturt134 napisał:
    Oba transile w tym samym kierunku. RS485 to transmisja różnicowa, ale poziomy elektryczne to GND i VCC (nie ma napięć ujemnych) , więc odwracanie transila nie ma sensu. .


    Maksymalne napięcie na liniach A i B odniesione do masy to -7V lub +12V. Są transile dedykowane dla RS485 dwukierunkowe niesymetryczne.

    0
  • #13 14 Lut 2018 07:48
    arturt134
    Poziom 26  

    I przed czym zabezpieczy taki transil? Z jego rozmiarów wnoszę, że najwyżej przed ESD, ewentualnie jakieś drobne przepięcia.... Wystarczy że gdzieś niedaleko rąbnie piorun i z transila zostaną tylko nóżki :).

    Pomimo, że standard mówi o zakresie napięć -7V/+12V, to napięcia wejściowe, jakie wytrzymują układy, są różne i zależą od typu układu i producenta. Żeby nie być gołosłownym:
    MAX485: -8V/+12,5V
    MAX3485: -7,5V/+12,5V
    ST3485: -14V/+14V
    SN65HVD50: -9/+14V

    Ja zwykle stosuję dwa transile jednokierunkowe na 12V, co powoduje że dodatnie napięcie jest obcinane na poziomie ok. 12V, a ujemne na poziomie przewodzenia diody, czyli ok. -0,7V. Zwykle daje je dość dużej mocy (obudowa SMB), żeby zabezpieczyć układ nie tylko przed wyładowaniami ESD lub BURST ale również SURGE. Rezystor szeregowy ogranicza prąd płynący przez transil do rozsądnych wartości.
    Oczywiście użycie dwóch transili na -7V i +12V, ewentualnie jednego niesymetrycznego nie jest niczym złym, ale tak jak mówiłem wcześniej, warto zwrócić uwagę na moc jaką może rozproszyć.

    0