www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART nur in eine Richtung?


Autor: nischu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tut mir leid, dass ich das Forum schon wieder mit diesem leidigen 
UART-Thema belager, allerdings fällt mir gerade keine Lösung ein.

Es geht darum, dass zwei Mega8 miteinander kommunizieren sollen. 
Hierfür, dachte ich mir, kreuze ich einfach nur TX(a) mit RX(b) und 
andersrum. Auf meinem Schreibtisch aufgebaut klappte das auch.

Nun sind die Controller an ihrem Platz, ca. 15 m voneinander entfernt. 
Doch nun beobachte ich ein seltsames Phänomen (mit MAX232 und PC 
nachvollzogen):
Schließe ich TX(a) und RX(a) an den MAX232 (Leitungslänge: 1 m) an, 
funktioniert alles.
Sobald ich TX(b) (15 m) an den MAX232 anschließe, kann ich auch die 
Daten des zweiten Controllers empfangen. Dies geht auch noch, wenn ich 
RX(b) anschließe. Vom Rechner zum zweiten Controller senden kann ich 
allerdings nur, wenn ich TX(b) wieder abklemme, sodass einzig und allein 
die RX-Leitung verbindet.

Wisst ihr da weiter?
Danke im Voraus,
Nico

Autor: Marvin M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wo ist das Bezugspotential (Masse bzw. GND)?
Überbrückst Du die 15m mit dem 5V-Signal oder mit dem +/- 12V Signal?
Pins verwechselt?
Mal doch mal die Schaltung auf, mir scheint, da kann man besser helfen.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bin mir nicht sicher, ob ich alles richtig verstanden habe:

2x AVR über 15m Kabel direkt verbunden?

Dann ist wohl mehr Zufall, daß überhaupt was geht.
AVR-Pins sind keine Leitungstreiber, TTL-Pegel ist auch nicht sonderlich 
störsicher. Welches Baudrate? Welches Kabel?

Mit RS232 ging es bei mir zwischen 2 Rechnern und ca. 20m geschirmten 
Kabeln mit 38400 stabil, darüber gab es Fehler.

Möglich, daß unter Deinen Umständen 600 oder 1200 Baud noch gehen, ich 
hätte da aber Sorge um meine AVR.

Warum nicht an jedem AVR ein MAX232 und dann mit passenden Pegeln auf 
die 15m Leitung?

Gruß aus Berlin
Michael

Autor: nischu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, die Bezugsmasse läuft über den Mantel des Cat.-5-Kabels, durch das 
auch die RX- und TX-Leitung des zweiten Controllers laufen. Da der 
Rechner mit der Schaltung soweit nichts zu tun hat, überbrücke ich die 
15 m mit dem 5V-Signal. Mich wundert allerdings, dass es seperat in 
beide Richtungen geht, allerdings zusammen nicht :-(

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ nischu (Gast)

>Doch nun beobachte ich ein seltsames Phänomen (mit MAX232 und PC
>nachvollzogen):

Nur mal am Rande. Du brauchst ZWEI MAX232, je einen direkt am AVR. 15m 
mit TTL-Pegel kann laufen, muss aber nicht. Stichwort 
Masseverschiebung, Störungen etc.

MfG
Falk

Autor: nischu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe einen Baud von 2400, aber wie ich das höre, ist es wohl 
wirklich besser, wenn ich zwei MAX232 nehme. Werd ich dann gleich morgen 
mal besorgen. Danke trotzdem :)

Oder wäre es zwecks Erweiterung nicht sinnvoller, gleich einen MAX485 zu 
nehmen? Ich habe zwar erstmal nicht vor, die Schaltung um einen weiteren 
Knoten zu erweitern, aber ich meine mal gelesen zu haben, dass hinter 
den MAX485ern auch etwas mehr Bums ist.

Danke für die Hilfe,
Nico

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ nischu (Gast)

>Oder wäre es zwecks Erweiterung nicht sinnvoller, gleich einen MAX485 zu
>nehmen?

Kann man machen, braucht baer zwei Adren pro Richtung. Oder 
Halbduplexbetrieb.

>den MAX485ern auch etwas mehr Bums ist.

KDF mal wieder?

Ja, RS485 ist wesentlich störunanfälliger, weil es differentiell ist. 
Und man einen Bus damit aufbauen. Mit Bums hat das nichts zu tun.

MFg
Falk

Autor: Duck und weg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ne. Schau dir RS422 an. Die Treiber sind diegleichen wie RS485, aber man 
hat ein Leiterpaar in jede Richtung. Dh man erspart sich die 
Richtungs-Umschalterei am PC. Ich empfehle den ADm489 fuer 5V systeme.

Autor: nischu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Demnach brauch ich bei Halbduplex nur noch zwei Adern und keine 
Bezugsmasse mehr? Müsste ich da protokolltechnisch noch was ändern, wenn 
nur noch Halbduplex geht? Da alle zwei Sekunden ohnehin nur sechs 
Zeichen pro Knoten übermittelt werden, schätze ich Vollduplex sowieso 
als eher unnötig ein.

Autor: Duck und weg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Masse ist immer dabei. Denn der Gleichtaktbereich ist nur um die 
+-7V.

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.