RS-232 leválasztása Optocsatolóval

A meglévő hardware eszközök fejlesztési lehetőségei, módosítások, illetve új eszközök bevezetése
Válasz küldése
Avatar
aaszabo
Tranzisztorgyógyász
Hozzászólások: 180
Csatlakozott: 2012. január 22. vasárnap, 7:00

RS-232 leválasztása Optocsatolóval

Hozzászólás Szerző: aaszabo »

Sziasztok!

Van egy eszközöm, ami Data in és Data out vonalakkal rendelkezik, de ezek invertáltak.
Szeretném ezt egy Arduino uno panelhez kötni az RX, TX vonalakon.
Illetve a két rendszer közé optocsatolós elválasztást is szeretnék tenni. Ez a beiktatott elem invertálást okoz, mert a kimeneti tranzisztort felhúzom a tápra egy ellenálláson keresztül.

Tudhat ez így működni?
Elvileg mivel invertált a kimenete az eszköznek, ezért kell is a plusz invertálás? Vagy megoldható ez programból?
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

Re: RS-232 leválasztása Optocsatolóval

Hozzászólás Szerző: winnerbt »

Ha opto, akkor nem mindegy???
A LED-jet hajthatod alulról vagy felülről, ahogy tetszik, vagy invertál,
vagy nem. Az RS232 túloldalán azért gondoskodni kell valami tápról
ami lehet a handshake jelek megfelelő szintreállításával pl.
JAni
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: RS-232 leválasztása Optocsatolóval

Hozzászólás Szerző: Robert »

Az eszközöd Tx/Rx kivezetése TTL (0/5V) vagy RS232 (+/-9V) szintű?
Ez még bonyolíthatja a feladatot (az invertált jelből gondolom).

A LED-nek mindegy hogy a GND vagy a Vcc a közös. Így az invertálás/neminvertálás megoldott....
A soros sebesség miatt az opto sem mindegy! Pl. a TL191-es az 9600 bps felett nem működik! (~10 kHz jel)
Avatar
aaszabo
Tranzisztorgyógyász
Hozzászólások: 180
Csatlakozott: 2012. január 22. vasárnap, 7:00

Re: RS-232 leválasztása Optocsatolóval

Hozzászólás Szerző: aaszabo »

A sebesség nem nagy kb. 512/1200baud.
Mindkét rendszer 5V-os. Csak ez egyik nem galvanikusan leválasztott, ezért szeretném köztük az optocsatolást használni.
Azt értem, hogy lehet invertáló és nem invertáló módon bekötni az optocsatolást.
Már csak az a kérdés, hogy ha az egyik oldalon a vonalak negáltak, akkor amit csatolni akarok hozzá, abban kell-e fordítanom?
Nekem az lenne a logikus, hogy kell. De lehet, hogy ez valahogy le van kezelve az chip-ben?
Ha kell, akkor HW-ból kell, vagy lehet SW-ből is (BASCOM hogyan?)?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: RS-232 leválasztása Optocsatolóval

Hozzászólás Szerző: Robert »

pl.:

Kód: Egész kijelölése

$baud = 9600
CONFIG COMx = baud , synchrone=0|1,parity=none|disabled|even|odd,stopbits=1|2,databits=4|6|7|8|9,clockpol=0|1
A clockpol a polaritás!
Azaz SW/HW-ből is megoldhatod :)
Persze a Tx és Rx vonalon _azonos_ módon!
Egyik invert, másik nem : nem járható út!

Alap:
$baud=9600
a 9600,n,8,1-nek felel meg:
parity:none
stopbit:1
databit:8
clockpol: 0
Avatar
aaszabo
Tranzisztorgyógyász
Hozzászólások: 180
Csatlakozott: 2012. január 22. vasárnap, 7:00

Re: RS-232 leválasztása Optocsatolóval

Hozzászólás Szerző: aaszabo »

köszönöm. Kipróbálom

Még egy kérdésem lenne.
Az egység amihez csatlakozom CLK_OUT vonalat is ad. Gondolom a kommunikáció szinkronizálásához kellene használni.
Kell ezt nekem valahogy az Arduino/Uno -ba bevezetni és valahogy figyelembe venni. Vagy elég, hogy a CLK_OUT vonalon megjelenő órajel frekvenciájához passzított baud beállítást kell alkalmazom a programban. Ha ez elég, akkor azt hogy számolom ki?
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: RS-232 leválasztása Optocsatolóval

Hozzászólás Szerző: csabeszq »

Az RS-232 alatt egy vonal van irányonként és nincs CLOCK. Ha a bitrátát tudod, akkor tudsz mindent.

Ha van CLOCK is, akkor már nem RS-232-ről van szó, hanem SHIFT regiszterről. A Shift regiszter kezelése meg SPI-vel történik.
Azt kell kitalálni, hogy neked melyik kellene.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: RS-232 leválasztása Optocsatolóval

Hozzászólás Szerző: Robert »

CLK_OUT 3 dolog lehet:
1, kiadják a belső UART szinkronizáláshoz (kötve hiszem, nem pazarolnak lábat rá vagy kritikus a rendszered :) )
2, nem RS232-d van (adás, vétel, Clk : SPI busz lehet (ekkor hiányzik a ChipSelect kezelés), valami egyedi protokoll...)
3, CLKOut az rendszerórajel (az meg nem vihető messzire)


Aranytipp:
- eszközöket valahogy meg tudtad már szólítani?
- adatlap vagy mintaszoftvere mit mond ?:)
Avatar
aaszabo
Tranzisztorgyógyász
Hozzászólások: 180
Csatlakozott: 2012. január 22. vasárnap, 7:00

Re: RS-232 leválasztása Optocsatolóval

Hozzászólás Szerző: aaszabo »

Most építem meg. A benne lévő TDA5051 IC, ami egy PLC modem adja ezt a kommunikációs felületet. Ehhez szeretnék első körben egy arduino Uno panelt illeszteni a TX/RX kivezetéseken és tesztelni a működését. Persze kettő kell, meg két arduino panel.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: RS-232 leválasztása Optocsatolóval

Hozzászólás Szerző: Robert »

Ezzel sehogy. Se opto, sem sima:
http://pdf.datasheetcatalog.com/datashe ... A5051T.pdf

nem sorosport!
Avatar
aaszabo
Tranzisztorgyógyász
Hozzászólások: 180
Csatlakozott: 2012. január 22. vasárnap, 7:00

Re: RS-232 leválasztása Optocsatolóval

Hozzászólás Szerző: aaszabo »

az elképzelésem szerint, ha felépítek egy Arduino1 - Modem1 - Modem2 - Arduino2 kapcsolatot, akkor amit az A1 TX-en kiadok, az megjelenik az A2 RX-en és fordítva.
Ha A1 RS232-t használva küldi a négyszögjeleket, akkor azt az A2 RS232-t várva megérti.
Ha ez így nem OK, akkor hol sántít a történet?
Köszönöm a doskit, nekem is ez van meg.
Van esetleg javaslatod jobb PLC megoldásra, amit tudok AVR-hez illeszteni?
Köszönöm
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: RS-232 leválasztása Optocsatolóval

Hozzászólás Szerző: Robert »

Jónak tűnik.
PLC-kkel az ipari buszban gondolkodj/CAN buszban.
RS485/FieldBus/ModBus.


A linkelt chip nem mukodik egyutt a max232vel! Total mas a protokoll es a jelszintek!
Avatar
aaszabo
Tranzisztorgyógyász
Hozzászólások: 180
Csatlakozott: 2012. január 22. vasárnap, 7:00

Re: RS-232 leválasztása Optocsatolóval

Hozzászólás Szerző: aaszabo »

Köszönöm a választ, de nem egészen tudom dekódolni.
A gyanúm az, hogy én még nem elég jól beszélem azt a nyelvet, amit te. De nagyon igyekszem...

Miért kellene a MAX232?
Miért ajánlott bármilyen busz protokollt megvalósítani a Tx/RX használata felett?

Én azt képzeltem, hogy ami kijön az egyik Aurduino-ból, vagy bármilyen AVR TX kimenetén, az áthaladva a Modem-Modem pároson kijön a másik Arduino Rx bemenetére. Tehát, ha print, vagy out, vagy nem tudom hirtelen milyen utasítással kiküldök egy karaktert, vagy karakter sorozatot, akkor azt a másik oldalon Read, vagy In, vagy bármilyen paranccsal be tudom olvasni.
Ezen egyszerű adatátviteli lehetőséget felhasználva magam is tudok fabrikálni egy "protokollt" (fej, Data, farok csomagszerkezetben, meg címzéssel, meg CRC-vel, stb.) amivel egy több elemű hálózaton is lehet kommunikálni.
Vagy erre javasoltad, hogy nem kell feltalálni a spanyol viaszt és csak használni kell egy meglévő protokoll leírását, akár meglévő lib-et (vagy bármi include)?

De akkor is az elsődleges, hogy a fizikai modem-modem kapcsolat működjön, illetve ezt felhasználva Tx/Rx vonalakkal tudjak küldeni és fogadni.
Az e feletti protokoll már "részlet kérdés". Vagyis vagy molyolok sajáttal, vagy leakasztok egy létezőt.
Jól értem, hogy ez így működik?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: RS-232 leválasztása Optocsatolóval

Hozzászólás Szerző: Robert »

Első körben a PC1-Modem-Modem-PC2 kapcsolat éljen.
A PLC-k sorosportja ritka hogy önállóan így kezelhető.
A PLC világban a spanyolviasz az a RS485/ModBusz/Fieldbusz.

A MAX232-t nem ertem, hova akarod berakni....
A sorosport általában RS232 (ide kell), de áramkörök esetén a SorosTTL (TTL-RS232; 5-os)
Azaz a jelszinteket nézd meg, a PLC-ről semmi info, stb....
Válasz küldése