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
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.
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
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 :-(
@ 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
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
@ 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
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.
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.
Die Masse ist immer dabei. Denn der Gleichtaktbereich ist nur um die +-7V.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.