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

RS485 błędy w transmisji - brak wspólnej masy ?

Pan Korsarz 31 Lip 2018 13:30 2070 23
  • #1 17359252
    Pan Korsarz
    Poziom 3  
    Posty: 136
    Ocena: 4
    Witam,
    Pracuję nad komunikacją po RS485 w pewnym systemie mikrokontrolerowym. Używam konwertera UART-RS485 : Link.
    W zasadzie komunikacja działa bez problemu gdy oprócz pary różnicowej AB pomiędzy układami "pociągnę" wspólną masę. Bez niej są kompletne krzaki po stronie odbiorczej. Z tego co czytałem wydaje mi się, ze do tej komunikacji wystarczą 2 przewody, masy mogą być oddzielne ponieważ transmisja ta działa na zasadzie różnicy napięć w przewodach. Układ jest złożony na płytce stykowej za pomocą przewodów do montażu układów na niej, czy to może być problem ?
    Pozdrawiam.
  • Pomocny post
    #2 17359269
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    Cytat:
    ABSOLUTE MAXIMUM RATINGS
    These are stress ratings only and functional operation
    of the device at these ratings or any other above those
    indicated in the operation sections of the specifications
    below is not implied. Exposure to absolute maximum
    rating conditions for extended periods of time may
    affect reliability.
    VCC
    .......................................................................+7V
    Input Voltages
    Logic.........................-0.3V to (Vcc + 0.5V)
    Drivers......................-0.3V to (Vcc + 0.5V)
    Receivers.........................................+/-15V


    Bez połączenia masy nie jesteś w stanie zapewnić spełnienia tych parametrów, bo równie dobrze różnica potencjałów może wynosić 1000 V.
  • #3 17359405
    Konto nie istnieje
    Konto nie istnieje  
  • #4 17359508
    Konto nie istnieje
    Konto nie istnieje  
  • #5 17359518
    Pan Korsarz
    Poziom 3  
    Posty: 136
    Ocena: 4
    Więc masy muszą być wspólne.
    Za pomocą tego modułu nie ma możliwości obsługi interfejsu CAN ?
  • #6 17359623
    Konto nie istnieje
    Konto nie istnieje  
  • #7 17359701
    Pan Korsarz
    Poziom 3  
    Posty: 136
    Ocena: 4
    Pytam ponieważ, nie do końca wiem jak jest z obsługą wielu urządzeń w rs485, czy w tej magistrali występuje adresacja urządzeń, tj że w jednej chwili możemy "rozmawiać" tylko z jednym wybranym urządzeniem ?
  • #8 17359714
    Konto nie istnieje
    Konto nie istnieje  
  • #9 17359720
    Pan Korsarz
    Poziom 3  
    Posty: 136
    Ocena: 4
    Jest to podobnie rozwiązane jak w CAN ?

    Dodano po 5 [minuty]:

    Bo ogólnie nie rozumiem czy różni się CAN od rs485. Skoro w rs też występuje adresowanie.
  • Pomocny post
    #10 17359772
    tronics
    Poziom 38  
    Posty: 5080
    Pomógł: 358
    Ocena: 842
    @_Pan Korsarz - gdzie w RS485 występuje adresowanie? Przecież ten standard opisuje tylko warstwę fizyczną, a co na tym będzie za protokół to inna para kaloszy. Na 485 może być CAN, a może być Profibus, albo jeszcze coś innego.
  • #11 17359776
    Konto nie istnieje
    Konto nie istnieje  
  • #12 17359863
    Pan Korsarz
    Poziom 3  
    Posty: 136
    Ocena: 4
    Chce połączyć jeden mikrokontroler z 2-4 pozostałymi które mają sobie od niego pobierać dane (pojedyncze liczby) raz na czas. Ten główny ma po prostu informacje o całym systemie a pozostałe pobierają tą daną wykonują operację i odsyłają do "głównego" zaktualizowaną daną, którą ten zapisuje i tak w kółko. Taki cykl operacji (nadanie, wysłanie i aktualizacja) będzie się dział raz na 30 min, więc nie jest tu potrzebna ani duża szybkość ani duża złożoność całego systemu (tak myślę). Ew. oczywisty problem wystąpiłby gdy 2 procki zechcą nadać coś jednocześnie ale myślę, że softem da się to rozwiązać (gdy korzystamy z rs485).

    Dodano po 38 [sekundy]:

    A tak po za tym dzięki Panowie za informacje, ładnie to uporządkowało moje wiadomości.
  • #13 17359867
    Konto nie istnieje
    Konto nie istnieje  
  • #14 17359894
    Pan Korsarz
    Poziom 3  
    Posty: 136
    Ocena: 4
    No dobrze master odpytuje cały czas, te 4 procesory, załóżmy, wysyłając znak 'A' na całą magistralę - czy coś "mają dla niego", jeżeli nie mają, to nie dzieje się nic.
    Gdy w końcu jeden z nich coś ma, i nawiążą komunikacje, master przestaje odpytywać i nie wysyła charakterystycznego znaku 'A' więc pozostałe nie mogą rozpocząć komunikacji.
    Posłużyłem się takim przykładem żeby upewnić się, że dobrze to rozumiem, o to mniej więcej chodzi ?
  • #15 17359913
    Konto nie istnieje
    Konto nie istnieje  
  • #16 17359950
    Pan Korsarz
    Poziom 3  
    Posty: 136
    Ocena: 4
    No ale to slave wymusza start co te 30 min, nie master.
  • #17 17359963
    Konto nie istnieje
    Konto nie istnieje  
  • #18 17359985
    Pan Korsarz
    Poziom 3  
    Posty: 136
    Ocena: 4
    Warto zastosować CAN do tego pomysłu ?
  • #19 17359997
    Konto nie istnieje
    Konto nie istnieje  
  • #20 17359998
    Konto nie istnieje
    Konto nie istnieje  
  • #21 17360031
    Pan Korsarz
    Poziom 3  
    Posty: 136
    Ocena: 4
    Myślę, że nic nie stoi na przeszkodzie żebym to opanował, pierwszy raz to robię tego typu komunikację więc nie dziw się, że nie rozumiem niektórych rzeczy.
  • #22 17360057
    Konto nie istnieje
    Konto nie istnieje  
  • #23 17360074
    Konto nie istnieje
    Konto nie istnieje  
  • #24 17360103
    Pan Korsarz
    Poziom 3  
    Posty: 136
    Ocena: 4
    Ok, widzę, że zamiast merytorycznej dyskusji zaczyna się wytykanie palcami. Temat uważam za wyczerpany i do zamknięcia.

    Moderowany przez Marek_Skalski:

    Szanowny Autorze tematu, proszę zapoznać się z typami interfejsów zamiast obrażać się na Kolegów, którzy pokazują właściwy kierunek poszukiwania rozwiązań.
    Zgodnie z życzeniem Autora temat zamknąłem, ale usunąłem znacznik rozwiązano.

Podsumowanie tematu

LABEL_AI_GENERATED
W dyskusji poruszono problemy związane z komunikacją RS485 w systemie mikrokontrolerowym, szczególnie dotyczące braku wspólnej masy. Użytkownik zauważył, że komunikacja działa poprawnie tylko przy połączeniu masy, co sugeruje, że brak wspólnej masy może prowadzić do zakłóceń w transmisji. Uczestnicy rozmowy podkreślili, że RS485 wymaga wspólnej masy dla stabilności sygnału, a także omówili różnice między RS485 a CAN, wskazując, że RS485 definiuje jedynie warstwę fizyczną, a protokół komunikacyjny zależy od implementacji. Użytkownik planuje połączenie jednego mikrokontrolera z kilkoma innymi, co wymaga odpowiedniego zarządzania adresacją i synchronizacją komunikacji. Wskazano również na możliwość zastosowania innych interfejsów, takich jak I2C, w zależności od wymagań systemu.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA