Konwerter RS232 -> RS485 - =?ISO-8859-2?Q?fina=B3=2E?=



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: Sebastian Bialy <heby_at_nospam_poczta.onet.pl>
Subject: Konwerter RS232 -> RS485 - =?ISO-8859-2?Q?fina=B3=2E?=
Date: Tue, 21 Jun 2005 11:29:50 +0200


Witam!

Okazało się, że MS nie przepada za poprawianiem błędów. Wspomniana w
poprzednim watku flaga RTS_CONTROL_TOGGLE działa tak:

a) Windows 95/98/Me - nie działa. Konkretnie utrzymuje się w stanie wysokim.

b) Windows XP - COM na płycie - na jednym działa na innym nie (2
komputery przetestowane).

c) Windows dowolny - konwerter USB->COM - nie działa i utrzymuje linie
cały czas w stenie wysokim (konweter prolific - pewno jego wina).

Innymi słowy Win Sux co zreszą widać po sposobie "RESOLUTION":

http://support.microsoft.com/kb/q140030/

W każdym razie pomysł z wykorzystaniem RTS leży.

Zabrałem się więc za robotę i zeszyłem konwerter z przerzutnikiem
monostabilnym.

Można go zobaczyć tutaj:

http://155.158.112.198/rs485.gif

Własnie jestem po uruchomieniu i o dziwo komunikuje się poprawnie z 2
urzadzeniami fabrycznymi na RS485. No i z moim urządzeniem RS485 też gada.

Publikuje schemat, bo może komuś się przyda. Na dzień dzisiejszy działa
prawie bezbłędnie (na 5 minut walki jeden błąd CRC, kabelek ma 2 metry).
Na schemacie kondensator C8 i rezystor (helitrim) R4 umozliwiają
sterowanie monostabilnym, u mnie przy 9600 bodów C8 ma wartośc 10nF a
helitrim ma 200kOhm. Z wyliczeń wychodzi mi, ze powinno pokryć cały
zakres prędkości jaki mnie interesuje. IC2 to oczywiście 75176, tylko
akurat nie miałem pod ręką gotowca do eagla, więc jest jako podstawka.

Proszę o uwagi, jesli ktoś ma. Przy okazji pytanie: czy 4047 można
wyzowlić zboczem ujemnym ? Ten tranzystor mnie denerwuje :P

PS. Płytkę udało się zrobic jednostronną, jesli ktoś jest zainteresowany
to mogę dac pliki do eagla.

--
Sebastian Bialy - heby_at_nospam_poczta.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Gałka" <piotr.galka_at_nospam_CUTTHISmicromade.pl>
Subject: Re: Konwerter RS232 -> RS485 - finał.
Date: Tue, 21 Jun 2005 13:54:30 +0200



Użytkownik "Sebastian Bialy" <heby_at_nospam_poczta.onet.pl> napisał w
wiadomości news:d98n07$39o$1_at_nospam_nemesis.news.tpi.pl...
Witam!

Zabrałem się więc za robotę i zeszyłem konwerter z przerzutnikiem
monostabilnym.

Można go zobaczyć tutaj:

http://155.158.112.198/rs485.gif

Rozważ jeszcze taką możliwość.
Zera nadajesz normalnie.
Jedynki tylko zbocze (kilka us) i zwalniasz linię (która zwolniona
powinna być widoczna jako 1).
Stała czasowa będzie niezależna od prędkości transmisji.

Przy małych prędkościach można zrezygnować nawet z nadawania początku
1-ki (jedynki to zwolnienie linii), ale przy większych nie bo będą
różne opóźnienia zboczy.
P.G.



Poprzedni Następny
Wiadomość
Spis treści
From: Sebastian Bialy <heby_at_nospam_poczta.onet.pl>
Subject: Re: Konwerter RS232 -> RS485 - =?ISO-8859-2?Q?fina=B3=2E?=
Date: Tue, 21 Jun 2005 14:42:19 +0200


Piotr Gałka wrote:
Zera nadajesz normalnie.
Jedynki tylko zbocze (kilka us) i zwalniasz linię (która zwolniona
powinna być widoczna jako 1).
Stała czasowa będzie niezależna od prędkości transmisji.

OK, ciekawy pomysł zastanowie się. Może w ym celu zastosować wlasnie
jakiś multiwibrator. Rozumiem, że chodzi o to, zeby driver przeładował
pojemność lini. Na razie moja koncepcja działa, choć szukam czegos
niezależnego od prędkości.

A swoją drogą: w bebechach profesjonalnych konwerterów znalazłem scalaki
tam jakiś uC i "zgaduje" jaka jest transmisja ? Często się chwalą
własnie na takich konwerterach, że niby samoczynna zmiana prędkości.

--
Sebastian Bialy - heby_at_nospam_poczta.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Gałka" <piotr.galka_at_nospam_CUTTHISmicromade.pl>
Subject: Re: Konwerter RS232 -> RS485 - finał.
Date: Tue, 21 Jun 2005 14:55:38 +0200



Użytkownik "Sebastian Bialy" <heby_at_nospam_poczta.onet.pl> napisał w
wiadomości news:d9928u$3a9$1_at_nospam_nemesis.news.tpi.pl...

A swoją drogą: w bebechach profesjonalnych konwerterów znalazłem
scalaki
- 3 sztuki, starte napisy. Jak się robi to w profesjonalnych ?
siedzi
tam jakiś uC i "zgaduje" jaka jest transmisja ? Często się chwalą
własnie na takich konwerterach, że niby samoczynna zmiana prędkości.

Nie wiem.
Może właśnie tak jak napisałem.
P.G.



Poprzedni Następny
Wiadomość
Spis treści
From: Sebastian Bialy <heby_at_nospam_poczta.onet.pl>
Subject: Re: Konwerter RS232 -> RS485 - =?ISO-8859-2?Q?fina=B3=2E?=
Date: Tue, 21 Jun 2005 15:12:37 +0200


Piotr Gałka wrote:
tam jakiś uC i "zgaduje" jaka jest transmisja ? Często się chwalą
własnie na takich konwerterach, że niby samoczynna zmiana prędkości.

Nie wiem.
Może właśnie tak jak napisałem.

A to o tyle ciekawe, że na obudowie przyznają się do "modbus" i co
ciekawe podobno (nie mam jak sprawdzić) na innych protokołoach nie
działają. Co mi sugewruje że coś w środku stara się podsłuchiwać i
liczyć crc dla róznych prędkości. To są oemowe konwertery bez producenta
na opakowaniu i nie mam pojęcia, czy faktycznie są "robione" pod jeden
protokół. Swoją drogą własnie z tego powodu musiałem z nich zrezygnować

W każdym razie dzięki za sugestię, własnie nad nią rozmyślam intensywnie.

--
Sebastian Bialy - heby_at_nospam_poczta.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Konwerter RS232 -> RS485 - finał.
Date: Tue, 21 Jun 2005 14:53:51 +0200


Sebastian Bialy wrote:

Można go zobaczyć tutaj:

http://155.158.112.198/rs485.gif

A po co Ci dioda D1? Jeśli to ma zabezpieczać przed złą
polaryzacją zasilania, to czy nie lepsze byłoby jej włączenie
w kierunku zaporowym między masę a Vcc, a na linii zasilania
dać bezpiecznik (polimerowy) i LEDa do pokazywania błędu?

Pozdrawiam
Piotr Wyderski


Poprzedni Następny
Wiadomość
Spis treści
From: Sebastian Bialy <heby_at_nospam_poczta.onet.pl>
Subject: Re: Konwerter RS232 -> RS485 - =?ISO-8859-2?Q?fina=B3=2E?=
Date: Tue, 21 Jun 2005 15:09:21 +0200


Piotr Wyderski wrote:
A po co Ci dioda D1? Jeśli to ma zabezpieczać przed złą
polaryzacją zasilania, to czy nie lepsze byłoby jej włączenie
w kierunku zaporowym między masę a Vcc, a na linii zasilania
dać bezpiecznik (polimerowy) i LEDa do pokazywania błędu?

Diodę dodaje "tradycyjnie". Wszystkie układy na tej magistrali będa tak
zabezpieczone. Wtyczki do magistrali będą zrobione tak, że jedyną
mozliwością odwrócenia polaryzacji bedzie na zasilaniu całości. Innymi
słowy nie musze mieć nagle choinki LEDów w kazdym urządzeniu świecących,
że źle podłaczyłem. Z resztą gdzie ja kupie bezpieczniki polimerowe w
ilościach detalicznych i bez płacenia za wysyłkę :/

W każdym razie zostaje tak jak jest - tak jest taniej.

--
Sebastian Bialy - heby_at_nospam_poczta.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Konwerter RS232 -> RS485 - finał.
Date: Tue, 21 Jun 2005 15:22:03 +0200


Sebastian Bialy wrote:

Diodę dodaje "tradycyjnie".

Tylko tracisz 0,6V. Czasami to nie problem, czasami tak. Widać u Ciebie nie.
;-)

Z resztą gdzie ja kupie bezpieczniki polimerowe w ilościach detalicznych i
bez płacenia za wysyłkę :/

Bez drugiego członu odpowiedź brzmi "na Allegro",
przynajmniej mnie udało się tam kupić polyswitche 250mA.
A skoro nie zakładasz częstego odwrócenia polaryzacji
zasilania, to topikowy wystarczy (i tak powinien być w
układzie). LED to też taki nieobowiązkowy dodatek. ;-)

Pozdrawiam
Piotr Wydeski


Poprzedni Następny
Wiadomość
Spis treści
From: Sebastian Bialy <heby_at_nospam_poczta.onet.pl>
Subject: Re: Konwerter RS232 -> RS485 - =?ISO-8859-2?Q?fina=B3=2E?=
Date: Tue, 21 Jun 2005 15:37:04 +0200


Piotr Wyderski wrote:
Tylko tracisz 0,6V. Czasami to nie problem, czasami tak. Widać u Ciebie
nie. ;-)

Zasilanie jest z magistrali 12V - bo akurat leci z akumulatora (z
róznych względów tak jest). Więc zapas spory.

Z resztą gdzie ja kupie bezpieczniki polimerowe w ilościach
detalicznych i bez płacenia za wysyłkę :/

Bez drugiego członu odpowiedź brzmi "na Allegro",
przynajmniej mnie udało się tam kupić polyswitche 250mA.

W zasadzie są mi zbedne - wystarczy zwykły topikowy - z resztą w
układzie nie ma, bo to prototyp. Przymierzam się do porzadniejszego
nieco z bezpiecznikiem. W ostateczności wstawie tam zamiast 1N4001 jakąs
1N4148 i będzie robiła za bezpiecznik :)

LED to też taki nieobowiązkowy dodatek. ;-)

LEDy to w ogóle były, ale płytka sie skomplikowała i nie chciała się
ładnie zarutować jednostronnie. To wywaliłem zakładając, że i tak widać,
że działa.

Jak na projekt typu "jeden dzień i pół nocy" włacznie z nauka eagle i
testowaniem oraz napisaniem obsługi modbus (że o płyce nie wspomne :P )
to uważam, że nie najgorzej :D

--
Sebastian Bialy - heby_at_nospam_poczta.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Konwerter RS232 -> RS485 - finał.
Date: Tue, 21 Jun 2005 15:41:56 +0200


Sebastian Bialy wrote:

W ostateczności wstawie tam zamiast 1N4001 jakąs 1N4148 i będzie robiła
za bezpiecznik :)

4148 potrafi się rozgrzać do temperatury żółtego
żaru, więc uważaj na zagrożenie pożarowe. Ja bym
nie kombinował.

Pozdrawiam
Piotr Wyderski


Poprzedni Następny
Wiadomość
Spis treści
From: =?ISO-8859-2?Q?Sebastian_Bia=B3y?= <heby_at_nospam_poczta.onet.pl>
Subject: Re: Konwerter RS232 -> RS485 - =?ISO-8859-2?Q?fina=B3=2E?=
Date: Tue, 21 Jun 2005 16:29:10 +0200


Piotr Wyderski napisał(a):
4148 potrafi się rozgrzać do temperatury żółtego
żaru, więc uważaj na zagrożenie pożarowe. Ja bym
nie kombinował.

No przeciez żartuje :) Ani by mi przez myśl nie przeszło robienie takiej
fuszerki :)

Na marginesie ostatnio mi 1N4148 detonowała robryzgując kawałki szkła
(?). Zadziałała jako bezpiecznik własnie ...

Poprzedni Następny
Wiadomość
Spis treści
From: Zbych <abuse_at_nospam_onet.pl>
Subject: Re: Konwerter RS232 -> RS485 - =?ISO-8859-2?Q?fina=B3=2E?=
Date: Tue, 21 Jun 2005 18:42:46 +0200


Piotr Wyderski wrote:
Sebastian Bialy wrote:

Diodę dodaje "tradycyjnie".
Tylko tracisz 0,6V. Czasami to nie problem, czasami tak. Widać u Ciebie
nie. ;-)

Co za różnica, czy na diodzie, czy na stabilizatorze ? Na diodzie to
nawet lepiej, bo trochę mniej mocy wydzieli się w stabilizatorze (pod
warunkiem, że mamy odpowiedni zapas napięcia przed stabilizatorem).

Z resztą gdzie ja kupie bezpieczniki polimerowe w ilościach
detalicznych i bez płacenia za wysyłkę :/
Bez drugiego członu odpowiedź brzmi "na Allegro",
przynajmniej mnie udało się tam kupić polyswitche 250mA.

Te bezpieczniki też mają ograniczoną liczbę cykli, więc rozwiązanie z
diodą jest tańsze, prostsze i pewniejsze w układach, które nie pobierają
dużo mocy.

Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: Konwerter RS232 -> RS485 - =?ISO-8859-2?Q?fina=B3=2E?=
Date: Tue, 21 Jun 2005 23:43:44 +0200


Piotr Wyderski wrote:

Diodę dodaje "tradycyjnie".

Tylko tracisz 0,6V. Czasami to nie problem, czasami tak. Widać u Ciebie
nie. ;-)

Dużo lepszym IMHO rozwiązaniem jest zastąpienie diody tranzystorem
P-MOS: bramka na masę, dren zamiast anody tamtej diody D1, źródło
zamiast katody (czyli tak spolaryzowane aby "wbudowana" dioda mosfeta
przy normalnej pracy przewodziła). Zabezpiecza przed odwrotnym
podłączeniem zasilania, daje minimalny spadek napięcia, przewodzi bez
problemu kilka A a obudowa miniaturowa (SOT23). Ja stosuję w takich
przypadkach np. Vishay SI2301BDS (logic level P-MOS), kosztuje około
0,50 zł/szt.

--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/

Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Konwerter RS232 -> RS485 - finał.
Date: Wed, 22 Jun 2005 02:09:06 +0200


Adam Dybkowski wrote:

Dużo lepszym IMHO rozwiązaniem jest zastąpienie diody tranzystorem P-MOS:
bramka na masę, dren zamiast anody tamtej diody D1, źródło zamiast katody
(czyli tak spolaryzowane aby "wbudowana" dioda mosfeta przy normalnej
pracy przewodziła). Zabezpiecza przed odwrotnym podłączeniem zasilania,
daje minimalny spadek napięcia, przewodzi bez problemu kilka A a obudowa
miniaturowa (SOT23).

Ciekawy pomysł, kupuję go. ;-)

Pozdrawiam
Piotr Wyderski


Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Gałka" <piotr.galka_at_nospam_CUTTHISmicromade.pl>
Subject: Re: Konwerter RS232 -> RS485 - finał - zasilanie
Date: Wed, 22 Jun 2005 12:17:12 +0200



Użytkownik "Adam Dybkowski" <adybkows123_at_nospam_amwaw.edu.pl> napisał w
wiadomości news:d9a1ta$gsa$1_at_nospam_nemesis.news.tpi.pl...

Dużo lepszym IMHO rozwiązaniem jest zastąpienie diody tranzystorem
P-MOS: bramka na masę, dren zamiast anody tamtej diody D1, źródło
zamiast katody (czyli tak spolaryzowane aby "wbudowana" dioda
mosfeta
przy normalnej pracy przewodziła). Zabezpiecza przed odwrotnym
podłączeniem zasilania, daje minimalny spadek napięcia, przewodzi
bez
problemu kilka A a obudowa miniaturowa (SOT23). Ja stosuję w takich
przypadkach np. Vishay SI2301BDS (logic level P-MOS), kosztuje około
0,50 zł/szt.

Tak mają niektóre przetwornice MAXIMa pracujące z 1V i odporne na
odwrotne podłączenie baterii.

Przy zasilaniu 12V to chyba nie za bardzo przejdzie bo jak to
wytrzymuje Surge ?

Od zawsze mam problem z prawidłowym wejściem zasilania 12V, przy
założeniu, że PTC.
Przyjąłem transile 18V (coś koło 25V przy 25A), aby dalej przyjmować
góra 25V.

Jak to są logic level to te 25V może być już za dużo, a są istotne
przesłanki, aby było więcej jak 25V (patrz niżej).

Pytanie: czy najpierw PTC, czy transil.
W jakimś PTC (0.5A) wyczytałem, że maksymalny prąd to 10A, a Surge
1kV/40ohm daje 25A.
Więc (5 lat temu) stosowałem najpierw Transil.
Zasilacze 12V jak kiepskie (bez stabilizacji) i elektrolit wyschnięty
i ktoś odłączy akumulator potrafią dawać szczytowo 25V (a może i
więcej).
Kiedyś ktoś coś takiego podłączył - transil się zwarł, kable były zbyt
długie aby bezpiecznik 5A w zasilaczu wywalić i druty się solidnie
grzały.

Potraktowałem te PTC impulsami 50A i przeżyły więc teraz daję najpierw
PTC, a potem transil.
Ale taki sam eksperyment (z tym zasilaczem) też spali transila, bo on
dostanie 100x więcej mocy niż PTC (spali się i dopiero PTC zadziała).
Transil na większe napięcie wytrzyma proporcjonalnie mniejszy prąd
Surge (więc pewnie trzeba będzie większej mocy), ale wydaje się że
byłoby to jedyne rozwiązanie, aby było idiot-prove i aby wytrzymało
Surge.
Skutkiem będzie coś koło 40 do 50V w czasie Surge - chyba zdecydowanie
za dużo dla tego logic-level. Trzeba będzie jego bramkę zabezpieczyć.

To sugeruje, że jak jest za mało napięcia to zabezpieczeniem od
odwrotnej polaryzacji powinno być PTC + transil jednokierunkowy.

Rozważałem też tyrystor zamiast transila (nie będzie efektu, że się
grzeje, gdy PTC się nie grzeje), ale trzeba by pokombinować, aby przy
Surge nie zadziałał - bo nie przejdzie testów EMC - byłoby kryterium
odporności C, a normy raczej dopuszczają tylko B.
Więc na Surge transil 18V, a na za duże napięcie równolegle tyrystor
(wyzwalany przy 16V, ale z opóźnieniem). Ogólnie za skomplikowane.

Ktoś zna jakieś jedynie słuszne rozwiązanie wejścia zasilania 12V ?

P.G.



Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: Konwerter RS232 -> RS485 - =?ISO-8859-2?Q?fina=B3_-_zasi?=
Date: Wed, 22 Jun 2005 22:51:40 +0200


Piotr Gałka wrote:

Dużo lepszym IMHO rozwiązaniem jest zastąpienie diody tranzystorem
P-MOS
[...]
przypadkach np. Vishay SI2301BDS (logic level P-MOS), kosztuje około
0,50 zł/szt.

Przy zasilaniu 12V to chyba nie za bardzo przejdzie bo jak to
wytrzymuje Surge ?

Jasne. Takie tranzystory logic-level wytrzymują kilka V na krzyż, akurat
na wejście zasilania z baterii, gdzie ważny jest mały spadek napięcia.
Gdy się spadkiem napięcia nie przejmuję, zwykła dioda prostownicza
włączona szeregowo wystarczająco skutecznie zabezpiecza przed odwrotnym
podłączeniem napięcia.

--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/

Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.

Poprzedni Następny
Wiadomość
Spis treści
From: Marek Michalkiewicz <spamtrap_at_nospam_amelek.gda.pl.invalid>
Subject: Re: Konwerter RS232 -> RS485 - =?ISO-8859-2?Q?fina=B3=2E?=
Date: Wed, 22 Jun 2005 00:11:06 +0200 (CEST)


Sebastian Bialy <heby_at_nospam_poczta.onet.pl> wrote:

Proszę o uwagi, jesli ktoś ma. Przy okazji pytanie: czy 4047 można
wyzowlić zboczem ujemnym ? Ten tranzystor mnie denerwuje :P

Można, ale wtedy kolejne zbocza nie wydłużają impulsu. Ma szansę
działać dla jednej prędkości przy dokładnie dobranym czasie:
wyzwalanie początkiem bitu startu, koniec w środku bitu stopu.
Też liczenie bitów w ramce, tylko w wersji analogowej :)

Albo dać 4538: można wyzwalać zboczem + lub -, wydłuża impuls.
Poza tym jest podwójny - na drugiej połówce można wykrywać dane
odbierane i blokować nadawanie by uniknąć kolizji (jeśli UART
ma "auto CTS", można go dodatkowo tym sygnałem wstrzymywać).

Marek

Poprzedni Następny
Wiadomość
Spis treści
From: Sebastian Bialy <heby_at_nospam_poczta.onet.pl>
Subject: Re: Konwerter RS232 -> RS485 - =?ISO-8859-2?Q?fina=B3=2E?=
Date: Wed, 22 Jun 2005 09:07:58 +0200


Marek Michalkiewicz wrote:
Albo dać 4538: można wyzwalać zboczem + lub -, wydłuża impuls.
Poza tym jest podwójny - na drugiej połówce można wykrywać dane
odbierane i blokować nadawanie by uniknąć kolizji (jeśli UART
ma "auto CTS", można go dodatkowo tym sygnałem wstrzymywać).

Hmmm 4538 nie mogłem dostac w okolicy, ale skoro mówisz, ze potrafi miec
funkcjie retrigger (tak to się chyba nazywa w 4047) dla zboczy
opadających, to chyba się poważnie zainteresuje w drugiej wersji. Co do
wykrywania kolizji - mam jednago mastera i raczej nie potrzebuje ich
wykrywać.