-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.unit0.net!feeder02.blueworldhosting.com!usenet.bluewo
rldhosting.com!feeder01.blueworldhosting.com!npeer03.iad.highwinds-media.com!ne
ws.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!n
ewshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!news.chmurka.
net!.POSTED!not-for-mail
From: Piotr Gałka <p...@c...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Problem z RS-485
Date: Thu, 10 Oct 2013 19:42:39 +0200
Organization: news.chmurka.net
Lines: 51
Message-ID: <l36ouj$g30$1@somewhere.invalid>
References: <1...@g...com>
<l34pfp$k0$1@mx1.internetia.pl>
NNTP-Posting-Host: 213.192.88.238
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=response
Content-Transfer-Encoding: 8bit
X-Trace: somewhere.invalid 1381426964 16480 213.192.88.238 (10 Oct 2013 17:42:44 GMT)
X-Complaints-To: abuse-news.(at).chmurka.net
NNTP-Posting-Date: Thu, 10 Oct 2013 17:42:44 +0000 (UTC)
X-Authenticated-User: PiotrGalka
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
X-Priority: 3
X-MSMail-Priority: Normal
X-Received-Bytes: 4070
Xref: news-archive.icm.edu.pl pl.misc.elektronika:653039
[ ukryj 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
- 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ą...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
- HDMI
- Re: Mala autonomiczna kamera monitoringu
- Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
Najnowsze wątki
- 2024-07-02 Realme 7 Na co zmienić?
- 2024-06-27 Prywatny parking? Pierwsze 10 minut bezplatnie
- 2024-07-02 znalazłem samochód ;)
- 2024-07-02 Pierwszeństwo łamane
- 2024-07-02 zamek
- 2024-07-02 Akumulatory VRLA
- 2024-07-03 Białystok => Inżynier DevOps Conexa First (Kontraktor) <=
- 2024-07-03 MĂźnchen => Test Development Engineer (m/w/d) <=
- 2024-07-03 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-07-03 Warszawa => Programista Full Stack (.Net Core) <=
- 2024-07-02 Kraków => Spedytor międzynarodowy <=
- 2024-07-02 Poznań => Senior React Native Developer <=
- 2024-07-02 Rzeszów => Frontend Developer (React) <=
- 2024-07-02 Warszawa => Fullastack (Java) Developer <=
- 2024-07-02 reparacje