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

RS485 - problem z połączeniem więcej niż dwóch urządzeń

ksarim 18 Mar 2008 16:43 3609 6
REKLAMA
  • #1 4923917
    ksarim
    Poziom 15  
    Witam

    Buduję sieć po RS485 składającą się z 1 urządzenia typu MASTER oraz 3 urządzeń typu SLAVE. Wykorzystuje układy SN75176. Komunikacja odbywa się w trybie fullduplex czyli na 4 przewodach. Każde z urządzeń ma swój unikalny adres. Na końcach linii zastosowałem rezystory terminujące 120Ω. Komunikacja odbywa się w następujący sposób :
    1) układ MASTER wysyła 1 bajt z rozkazem i adresem
    2) układ SLAVE którego adres był w rozkazie odpowiada.

    Kiedy sieć składa się z urządzenia MASTER i 1 dowolnego urządzenia typu SLAVE komunikacja odbywa się bez problemu. Natomiast kiedy sieć składa się z urządzenia MASTER i 2 lub 3 urządzeń typu SLAVE, to żadne z nich nie odpowiada. Schemat topologii sieci załączam poniżej.

    RS485 - problem z połączeniem więcej niż dwóch urządzeń

    Proszę o ewentualne sugestie co mogę robić źle.
  • REKLAMA
  • #2 4924627
    aaseba
    Poziom 12  
    Najpierw sprawdź dwie rzeczy.
    Czy na pewno kiedy układ Master wyśle rozkaz z adresem np. 1 to odpowiada tylko układ Slave o adresie 1? Czy czas pomiędzy wysłaniem przez Mastera rozkazu i adresu a oczekiwaniem na odpowiedź od układu Slave jest wystarczająco duży?
    Pozdrawiam
  • REKLAMA
  • #3 4925619
    ksarim
    Poziom 15  
    Kiedy układ MASTER wysyła rozkaz z określonym adresem to odpowiada tylko i wyłącznie urządzenie o tym adresie. Adresy sprawdzałem podłączając każde z urządzeń SLAVE z osobna więc na pewno się nie pokrywają.
    Czas oczekiwania na odpowiedź od układu SLAVE wynosi 3 sekundy więc tutaj też nie powinno być problemu.

    Pozdrawiam
  • REKLAMA
  • #4 4926082
    Elektrooonik
    Poziom 29  
    Weźmy pod uwagę linię na której nadają slave'y, każdy slave ma dwa transcivery sn75176. Jeden do odbioru, jeden do nadawania.

    Wezmy pod uwagę linię do nadawania na której odbiera master. Obstawiam dwie przyczyny, dla której to moze nie dzialac.

    Transciver SN75176 moze pracowac jako nadajnik/odbiornik, jednak jesli pracuje jako nadajnik blokuje szyne - wiecej niz jeden uklad nie moze byc w stanie nadawania, po zakończeniu nadawania musisz przejsc w tryb odbieranie lub wylaczyc calkiem nadawanie i odbieranie. Do sterowania praca tego układu sluzą piny 2 i 3 tego układu scalonego. Jesli w urzadzeniu slave siedzi mikrokontroler to zalatw to programowo, po skonczeniu nadawania przelacz na odbieranie albo wylacz całkiem nadawanie i odbieranie.

    Odpisz czy moje rady pomogły i dla pewnosci zadaje pytanie: czy sterujesz pinami 2 i 3 czy podlaczasz je na stale?

    Jest jeszcze inny sposób na rozwiązanie tego problemu ale najpierw przeanalizuj to co napisałem.
  • REKLAMA
  • #5 4926746
    ksarim
    Poziom 15  
    Piny 2 i 3 układu SN75176 są podłączone na stałe. Zarówno układ MASTER jak i każdy z układów SLAVE wyposażony jest w dwa układy SN75176 czyli komunikacja odbywa się w trybie FULLDUPLEX.
    Na jednej parze kabli nadaje układ typu MASTER a wszystkie SLAVE nasłuchują. Komunikacja odbywa się na zasadzie odpytywania tzn. rozkaz wysyłany przez układ MASTER zawiera adres urządzenia typu SLAVE i tylko to jedno urządzenie odpowiada.
    Odpowiedzi przesyłane są na drugiej parze kabli. Odpowiada tylko zapytany układ typu SLAVE a układ typu MASTER nasłuchuje.
    Wydaje mi się, że tutaj nie ma problemu bo taka komunikacja działa w przypadku 1 urządzenia typu MASTER i 1 urządzenia typu SLAVE. Nie rozumiem dlaczego podłączenie kolejnych urządzeń typu SLAVE sprawia, że komunikacja całkiem siada.
  • Pomocny post
    #6 4926761
    Elektrooonik
    Poziom 29  
    Wyjaśniłem Ci w poprzednim poście - nie mogą być w tym samym momencie 2 kostki sn75176 w trybie nadawania, to nie ma prawa działać, musisz zwolnić szynę, najprościej zwierając piny 2 i 3 i w trakcie nadawania dac na nie 1 logiczne a po skonczeniu nadawania 0 logiczne. Sprawdź sam.
  • #7 4927366
    ksarim
    Poziom 15  
    Rzeczywiście tylko jeden układ SN75176 może być w trybie nadawania, podczas gdy pozostałe muszą być nastawione na odbiór.

    Zdecyduje się chyba na układy MAX485 zamiast tych SN75176. Pomimo tego, że są dużo droższe to MAX485 gwarantuje komunikację aż 128 urządzeniom.

    Elektrooonik dzięki za radę pomogło.
    Wszystko ładnie śmiga :)
REKLAMA