Stránka 1 z 1

RS485- obousměrná komunikace, problém

Napsal: 27 led 2015, 23:17
od Michal22
Snažím se dostat na kobylku výše uvedené sběrnici. Zatím jsou to jen takové hrátky, ale později bych s ní rád dělal větší pojekty.
Každopádně se mě podařilo rozpohybovat komunikaci jen jedním směrem.

Co mám:
dva PC s hyperterminalem
kupovaný převodník USB/RS485 z Krupu
MAX485 na univerzální desce, připojený na tento převodník
ze Sosu

Spojil jsem to vše dohromady, zkoušel. Pokud jsem psal z toho PC, kde jsem měl USB/RS232 převodník, za něm připojený MAX485 (vývod 3 na +5V), tak mě to přes kroucený pár, zapojený do převodníku RS485/USB, vypisovalo v pořádku na druhém PC.
Ale jakmile jsem chtěl komunikovat naopak (na MAX485 jsem připojil vývod 2 na GND), tak to nekomunikovalo.
Napadají mě dvě možnosti- buď je ten převodník z Krupu jen jednosměrný nebo jsem něco blbě zapojil.

Obrázek třeba napoví:

Napadá někoho něco?
Nebo nevíte o nějaké stránce, kde by se tahle sběrnice rozebírala trochu dopodrobna (nejlépe v češtině)?
Díky

Napsal: 27 led 2015, 23:55
od ok1hga
Michal22 píše:za něm připojený MAX485 (vývod 3 na +5V), tak mě to přes kroucený pár, zapojený do převodníku RS485/USB, vypisovalo v pořádku na druhém PC.
Ale jakmile jsem chtěl komunikovat naopak (na MAX485 jsem připojil vývod 2 na GND), tak to nekomunikovalo.


a proč to přepojuješ ?
teoreticky stačí propojit data+ a data- na druhou stranu a hotovo . . . musí to jít !
prostě plus na plus a mínus na mínus
a samozřejmě, pokud potřebují převodníky napájení, dej jim ho . . .
(+5V a GND)
vzájemné propojení mezi počítači přes GND jen pro vyrovnání potenciálů, normálně by ti měla stačit jen dvoudrátová linka . . .

Napsal: 28 led 2015, 00:24
od Celeron
Kdysi 1993/4 jsem řešil pro ZPA RS485 mezi PC mástrem a dalšíma 32 slave zařízeníma Zepax. Jen tu stranu slave. Co si vzpomínám, tak ta dvoudrátova sběrna musela být zakončená terminátorem. Myslím, že protokol byl Multibus. Máster měl adresu 0 a slave 1-31. Fungovalo to že máster dal adresu s kým chce komunikovat a co chce vědět a slave odeslal odpověď. Ale slave nemohl vysílat sám od sebe do másteru ani jinýho slave. Pokud chceš, aby to jelo obousměrně, musí se v době kdy master nebo slave zařízení nevysílá nastavit do 3 stavu. Matně si vzpomínám, že se to dělalo signálem jako je u RS232 RTS. Jestli máš natvrdo DE=H, tak to nazpět nepůjde. Jo a někdy s tím byl problém, musel se přidávat 3 drát na vyrovnání zemí. Už je to 20 let, ani nevím, jestli od toho ještě někde něco mám...
Jirka
Edit: Byl jsem pomalejší, musíš řídit TXDEN.

Napsal: 28 led 2015, 00:25
od Jirka525
Jestli jsem to správně pochopil, tak vývody 2, 3 na MAX (TXDEN) jsou přepínání směru RX/TX. To musí být na straně RS232 ošetřeno. Za mlada jsem pro tyto účely používal signál RTS.

Napsal: 28 led 2015, 09:36
od Michal22
ok1hga- to schema USB/RS485, cos dal do přílohy, to je přesně ten převodník z Krupu. Mají to schema v přílohách.
No a když se podíváš, tak vývody 485 jsou spojeny a řídí je GPIO2 obvodu FT232. Čili kombinací log. 1 a log.0 se mění směr komunikace.
Já se toho stejného snažil docílit jumpery na univ. desce, výsledek jsem popsal. Je pravda, že jsem ty vývody 2 a 3 neměl spojené, to můžu zkusit, jumper mít jeden a přehazovat mezi 1 a 0.
Nějaké řízení směru komunikace u half duplexu přece musí být, ne? (jak píše Jirka525)

Napsal: 28 led 2015, 11:53
od ok1hga
Michal22 píše:Nějaké řízení směru komunikace u half duplexu přece musí být, ne?

samozřejmě ! musí !
a taky když se z vysílání vrací do klidu, musí vždy zůstat v režimu příjmu . . .
a ten obvod by taky měl zabránit vysílání, pokud je už na lince jiný signál (vysílá druhá strana) . . .
tohle někdy dělá blbiny, když je na lince brum . . .
totiž citlivost na "brum" bývá u různých převodníků různá . . .
Takže jedna strana ti může chodit, ale druhá ti neodpoví, protože si pořád myslí, že je na lince stále komunikace . . .

zvláště tohle dělá, když máš převodníky od různých výrobců . . .
myslím, že je tohle tvůj případ . . .

Napsal: 28 led 2015, 20:25
od Michal22
Tak pokrok- už mi to komunikuje oboustranně.
Nevěděl jsem, že musím použít Pull_up a Pull_down rezistory na A a B...

Holt jde vidět nedostatek teorie.

Napsal: 28 led 2015, 20:59
od Cowley
Biasing sbernice 680ohm muze pomoct

Napsal: 28 led 2015, 20:59
od Cowley
Biasing sbernice 680ohm muze pomoct

Napsal: 28 led 2015, 20:59
od Cowley
Biasing sbernice rezistory 680ohm muze pomoct, smarja proc je to tam tolikrat :)


http://www.google.cz/search?q=biasing+r ... 95&dpr=1.5