mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR mit RS485 an PC


Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: nilp (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rahul, der Trollige (Gast)
Datum:

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

Autor: tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

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

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.