-
Data: 2013-10-10 19:42:39
Temat: Re: Problem z RS-485
Od: Piotr Gałka <p...@c...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
Użytkownik "Mario" <m...@...pl> napisał w wiadomości
news:l34pfp$k0$1@mx1.internetia.pl...
>
> Terminator 120R na masterze i na ostatnim slave. Jeśli to RS485 to do
> czego są wykorzystywane pozostałe parki w przewodzie?
> Przydałoby się, żeby linie +D i -D były odpowiednio podciągnięte do +5V i
> GND w jednym z urządzeń np w masterze.
>
Też bym od tego zaczął przypuszczając, że zastosowano scalaki bez fail-save.
Gdy zaczynaliśmy z RS485 mieliśmy taki przypadek (nie udało się tego
zmierzyć - jedynie logika sugeruje, że tak to się (mogło) dziać):
A nadaje coś do B i kończy.
Na linii robi się A=2.5V, B=2.5V, A-B=0.
Odbiornik (ten konkretny scalak) w A widzi to jako 1 (bo nie jest
zdefiniowany stan dla A=B).
Potencjały na A i B stopniowo spadają do 0 (pojemność kabla do GND i
rezystancja wejściowa scalaków).
Gdy po iluś us na przykład A=B=1V (lub spadają nierówno) odbiornik w A widzi
0 (bo nie jest zdefiniowany stan dla A=B i może zależeć od common mode).
Odbiornik w A widzi bit startu i bajt samych zer bez bitu stopu. Po
odebraniu takiego bajtu pominie go i dalej czeka na odpowiedź.
Pech polegał na tym, że B (po przetworzeniu zadania) zaczynało (prawie
zawsze) odpowiadać w trakcie tego bajtu. Jedna na kilkadziesiąt prób się
udawała. Objaw był taki, że reakcja urządzeń na zdarzenie zamiast następować
w niezauważalnym czasie następowała po kilku s.
Nie udało się nic pomierzyć - jakiekolwiek podłączenie się do linii
oscyloskopem natychmiast usuwało problem. Nie mieliśmy też wtedy jeszcze
oscyloskopu cyfrowego - może dało by się coś wyczaić na wyjściu odbiornika w
A. Jakakolwiek zmiana konfiguracji (dodatkowe urządzenie na linii) też
usuwało problem. Wymiana dowolnego ze scalaków RS485 rozwiązywało problem.
Problem pojawiał się mniej więcej raz na kilkanaście zestawów urządzeń.
Zaczęliśmy stosować wyłącznie scalaki z fail-save (również dla zwarcia
linii) i problem już nigdy się nie pojawił.
Jak nie masz wpływu na scalaki to musisz rozciągnąć A-B>0.2V rezystorami.
Jak linia nie musi być zakończona to można to zrobić bardzo delikatnie
(nawet po 100k).
Można też zakończyć linię szeregowym RC i rozciągnięcie też delikatne.
Albo siłowo 2k-100om-2k (czy coś koło tego).
Zawsze wymagany jest dostęp do zasilania - nie piszesz czy masz.
Mam też inny pomysł, ale to zależy od prędkości komunikacji, której nie
znamy. Może zwiększenie pojemności kabla między A-B rozwiązało by problem -
czyli kondensator zamiast rezystora terminalowego (tak samo zadziała
zakończenie szeregowym RC z odpowiednio dużym C). Każdy kończy nadawanie
1-ką. Jeśli kondensator utrzyma ją aż do wejścia na linię kolejnego
urządzenia problemu nie będzie.
To wszystko przy założeniu, że źródłem problemu jest brak fail-save a uważam
to za najbardziej prawdopodobną przyczynę.
P.G.
Następne wpisy z tego wątku
- 10.10.13 20:05 RoMan Mandziejewicz
- 10.10.13 21:56 zapinio
- 10.10.13 22:09 Mario
- 10.10.13 22:20 yabba
- 10.10.13 22:32 J.F.
- 10.10.13 23:24 BartekK
- 11.10.13 11:14 Piotr Gałka
- 11.10.13 11:20 Pawel O'Pajak
- 11.10.13 12:09 Piotr Gałka
- 15.10.13 19:16 michal
- 15.10.13 20:43 Lisciasty
Najnowsze wątki z tej grupy
- Co z Fideltronikiem?
- Zamiana aku żelowych w UPS na LiFePo4
- stara idea nowe hardware
- Dzwonek gong z transformatorem
- espnow przerywa na jeziorze?
- 8080
- Portowanie CP/M
- radyjko
- Re: Basen i chłodzenie w w wentylacji mechanicznej
- Akumulatory VRLA
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
Najnowsze wątki
- 2024-07-18 Plaj blokuje usuwanie swoich kontaktów. A to SZMATY
- 2024-07-19 Re: Zgody...
- 2024-07-19 Octavia 2011r vs Audi A3 2007r
- 2024-07-18 ANNA BRYŁKA - RZĄD MANIPULUJE INFORMACJAMI O PODATKACH OD AUT SPALINOWYCH
- 2024-07-19 Co z Fideltronikiem?
- 2024-07-18 Zamiana aku żelowych w UPS na LiFePo4
- 2024-07-19 Warszawa => Head of International Freight Forwarding Department <=
- 2024-07-19 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-19 Gdańsk => Technical Lead ( (Java Background)) <=
- 2024-07-19 Warszawa => Senior Rust Software Engineer <=
- 2024-07-19 Poznań => UX/UI Designer <=
- 2024-07-19 Łódź => Senior PHP Developer <=
- 2024-07-19 Ryga => Junior NOC Engineer <=
- 2024-07-19 Ulm => Technischer Rollouter (d/m/w) <=
- 2024-07-19 Warszawa => International freight forwarder <=