Forum: Mikrocontroller und Digitale Elektronik AVR mit RS485 an PC


von Hans (Gast)


Lesenswert?

Hallo,

Ich habe einen ATmega32 mit einem RS485 schnittstellentreiber am UART.
Jedoch möchte ich auch die möglichkeit haben die daten mit dem PC(RS232) 
empfangen zu können.

Kann ich problemlos einen RS485 -> RS232 konverter nehmen?
oder gibt es Bausteine die ich an den AVR anhängen kann mit beiden 
Schnittstellen?

Es sollte eine möglichst kostenkünstige variante sein, da die RS232 
schnittstelle ausschließlich zu testzwecken genutzt wird.

oder ist es möglich einem max232 und max485 parallel an die TX/Rx 
leitungen des AVR's zu hängen?

Wie sieht es mit den Protokollen aus?
AVR -> RS485 ist momentan ein eigenes!

Gruß

von A.K. (Gast)


Lesenswert?

Rx kannst du nur einmal vergeben, sonst raucht es.

Soll die PC-Verbindung nur zum mitlesen dienen? Wenn ja, dann lass den 
RS485-Receiver immer eingeschaltet und verbinde dessen Ausgang sowohl 
mit AVR-Rx also auch via MAX232 zum PC. Die andere Richtung in der 
PC-Kommunikation bleibt dann offen.

Soll der PC auch senden können => RS485-RS232 Konverter.

von Hans (Gast)


Lesenswert?

Es soll eine Bidirektionale verbindung sowohl auf RS485 als auch auf 
rs232 Seite hergestellt werden.

Eigentlich brauch ich nur die RS485 Schnittstelle um DMX Daten zu senden 
und empfangen.

Aber für diverse test möchte ich auch mit dem PC kommunizieren können.
Da dies sehr einfach über rs232 realisierbar ist dachte ich an einen 
Treiber der beides kann.

bzw wenn ich mir einen RS485 <-> RS232 Konverter zulege dann hab ich 
aber doch trotzdem Probleme mit der Interpretation der Daten die dann 
von RS485 an den AVR gesendet werden. Gleiches gilt natürlich auch in 
anderer Richtung.

von nilp (Gast)


Lesenswert?

Die beiden Schnittstellen sind physikalisch vollkommen verschieden, 
ausser dass sie beide an einem UART haengen. Daher gibt es keine 
gemeinsamen Treiber. Zumindest keine kostenguenstigen. Es gibt 
werschiedene Multidriver von LT und moeglicherweise NEC. Aber was 
spricht gegen zwei Treibern nebeneinander ? Ich designe immer RS232 mit 
einem ADM202 und RS422 mit einem ADM489. Der Rx wird mit einem Jumper 
selektiert, der TX geht auf beide. Der Vorteil dieses Zwei chip ansatzes 
: Falls es eine Serie gibt, die nicht beides braucht, zB Preisdruecker, 
kann man eins weglassen.

N

von Rahul, der Trollige (Gast)


Lesenswert?

Wenn du den PC an den RS485-Bus über den Wandler hängst, bist du auf der 
sicheren Seite.

von tubie (Gast)


Lesenswert?

IN meinem aktuellen Projekt habe ich die 2 Schnittstellen über ein paar 
TTL Gatter entkoppelt. Der AVR bestimmt mit einer "Select" Leitung, ob 
daten über RS232 ode RS485 weiter gehen. Wenn ich daten mit der RS232 
austausche, ist auf dem RS485 Bus ruhe und umgedreht.

Gruß,
Tubie

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Es bleibt noch die Möglichkeit einer Software-UART oder eines 
Controllers mit 2 Hardware-UARTs, z.B. ATMEGA 162.

von Hans (Gast)


Lesenswert?

Nun ich denke das ich dann nur die RS485 Schnittstelle bereitstelle und 
mir dann einen RS485 <-> Rs232 Konverter zulege.

Dies scheint mir die sinnvollste lösung zu sein.

PC->RS232->RS485->AVR
AVR->RS485->RS232->PC

Allerdings ist mir noch nicht klar ob mit dieser Konstelation auch die 
Datenübertragung richtig funktioniert. Also physikalisch sollte das ja 
gehen, aber wie sieht es mit dem Protokoll aus?

Kommt das was ich vom PC sende auch richtig beim uart an oder muss ich 
dabei noch was beachten?

Gruß

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

RS485 auf RS232 und umgekehrt ist aber nicht so einfach, da ersteres ein 
Halbduplexverfahren, letzteres Vollduplex ist. Man muß also entweder 2 
RS485 Treiber nehmen, wovon einer immer der Sender und einer der 
Empfänger ist oder aber der RS232-Teil muß dem RS485-Teil mitteilen 
können, wann gesendet und wann empfangen wird (also umschalten können).

von Rahul, der Trollige (Gast)


Lesenswert?

>RS485 auf RS232 und umgekehrt ist aber nicht so einfach, da ersteres ein
>Halbduplexverfahren, letzteres Vollduplex ist.
Richtig.

>Man muß also entweder 2 RS485 Treiber nehmen, wovon einer immer der Sender und 
einer der Empfänger ist
Dafür würde ich einen PCA82C250 nehmen.

>oder aber der RS232-Teil muß dem RS485-Teil mitteilen
>können, wann gesendet und wann empfangen wird (also umschalten können).

Die Flußsteuerung macht man dann meist über die RTS-Leitung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.