-
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
- Weryfikacja myjki ultradźwiękowej
- zasieg radaru
- Zmywarka Bosch SRV55T43EU - awaria
- Kod zniżkowy w TME do 26.09.2025
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
Najnowsze wątki
- 2025-09-22 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-09-22 Warszawa => Head of Technology/CTO <=
- 2025-09-22 Kraków => Production Coordinator / Representant Product Dev <=
- 2025-09-22 Warszawa => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-09-22 Warszawa => International Freight Forwarder <=
- 2025-09-22 Warszawa => Starszy Programista C <=
- 2025-09-22 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-09-21 Duduś chce zostać milionerem! Już zaciągnął kredyt i kupił mieszkanie 700m2, a teraz napisał i wydał ks. pt. "To ja"!
- 2025-09-21 Nowe uprawnienia PIP od 1 stycznia 2026
- 2025-09-21 Weryfikacja myjki ultradźwiękowej
- 2025-09-21 Wyłudzenia świadczeń przez obcokrajowców
- 2025-09-21 wprowadzili system kaucyjny ustawą
- 2025-09-20 W Play chciałem kupić Huawei -- jako swój pierwszy smartfon...
- 2025-09-20 W Play chciałem kupić Huawei -- jako swój pierwszy smartfon...
- 2025-09-20 Kopiowanie telefonu