Schönen guten Tag, ich habe eine Frage und habe nicht so wirklich eine Antwort gefunden. Beim Suchen hier im Form habe ich als Antwort gelesen das man eine UART Verbindung zwischen 1 und 1000 Meter aufbauen kann. mh... naja das finde ich etwas "ungenau" würde ich sagen^^ Also folgendes in Kurzfassung: Zwei Platinen, auf beiden ist ein Atmega1284P Montiert. Diese beiden Chips müssen über RXD und TXD miteinander Verbunden werden. Die Leitungslänge zwischen den Platinen beträgt max. 6 Meter. Die Platinen werden über 3 Kupferleitungen mit 0,14mm Querschnitt Verbunden. ( TXD, RXD, GND ) Wie sollte ich vorgehen? kann ich die beiden direkt mit einander Verbinden auf dieser entfernung? oder sollte/muss ich direkt hinter Platine A ein Max232 setzen und dann am ende wieder ein Max232 ?? würde mich über eine Antwort freuen ;)
Nachtrag: Übertragungsgeschwindigkeit beträgt 19200 Baud
Stefan schrieb: > kann ich die beiden direkt mit einander Verbinden auf dieser entfernung? Nein. 6 Meter Leitung (egal welcher Couleur) an einem Digitalausgang sind "nicht so optimal". > oder sollte/muss ich direkt hinter Platine A ein Max232 setzen und dann > am ende wieder ein Max232 ?? Ja. Damit hast du auch bereits im Protokoll die Möglichkeit zu einem einfachen Übertragungstest (Parity Prüfung).
isidor schrieb: > Ja. Damit hast du auch bereits im Protokoll die Möglichkeit zu > einem einfachen Übertragungstest (Parity Prüfung). was hat der MAX232 mit Protokoll oder Parity zu tun? Bei 19200 und 6m würde ich auch einen MAX232 verwenden.
der hat garnicht damit zu tun ;) es geht darum das ich glaube das bei der länge die 5volt von atmega soweit abfallen das am ende nichts mehr ankommt. Wenn ich aber ein Max232 dazwischen klatsche dann läuft das ganze doch mit viel größeren Pegeln ( 15Volt ) wenn dort 2-3 Volt abfallen dürfte das nicht so gravierent sein wie bei 5Volt oder?
Peter II schrieb: > was hat der MAX232 mit Protokoll oder Parity zu tun? Ok das ging etwas voreilig ...... das würde über TTL auch gehen.
Stefan schrieb: > es geht darum das ich glaube das bei der länge die 5volt von atmega > soweit abfallen das am ende nichts mehr ankommt. Spannung fällt nur ab wenn Strom fließt, das dürfte hier aber nicht der Fall sein. > Wenn ich aber ein Max232 dazwischen klatsche dann läuft das ganze doch > mit viel größeren Pegeln ( 15Volt ) wenn dort 2-3 Volt abfallen dürfte > das nicht so gravierent sein wie bei 5Volt oder? Es geht um Störungen, da die Spannung einmal Positiv und einmal Negativ und dazu noch einen höheren Pegel hat ist die Übertragung sicherer.
@Stefan (Gast) >kann ich die beiden direkt mit einander Verbinden auf dieser entfernung? Kann man machen. >oder sollte/muss ich direkt hinter Platine A ein Max232 setzen und dann >am ende wieder ein Max232 ?? Empfehlen würde ich es. Nicht, weil die Spannung vom AVR nicht reicht, sondern eher, weil die MAX232 robuster gegenüber ESD etc. sind. Für eine kleine Bastelei geht es aber auch ohne. >es geht darum das ich glaube das bei der länge die 5volt von atmega >soweit abfallen das am ende nichts mehr ankommt. Das passiert sicher nicht. Denn er Empfänger (RXD-Pin) verbraucht praktisch keinen Strom (Mikroampere!). Da gibt es keinen Spannungsabfall. Was ein Problem werden kann ist der Spannungsabfall auf der Masse, wenn einer der beiden AVRs über ein langes Kabel vom anderen AVR-Board versorgt wird. Dann kann es dort Probleme mit der Masseverschiebung und dem Spannungsabfall geben.
ok danke für eure antworten... werde dann also zwei max232 verwenden. Der Atmega sollte genug Saft bekommen, denn die Versorgungsleitung zum Atmega wird mit 12Volt belegt. Natürlich ist der Atmega nicht direkt mit 12Volt verbunden wird natürlich vorrher runter geregelt ;)
Also ich habe ausgerechnet das der Leitungswiderstand dann bei knapp 6 Metern nur 0,8 Ohm beträgt... wie kommst du denn darauf das da 2-3Volt abfallen?
Martin schrieb: > Also ich habe ausgerechnet das der Leitungswiderstand dann bei knapp 6 > Metern nur 0,8 Ohm beträgt... ohne den Querschnitt zu kennen?
Peter II: ohne den Querschnitt zu kennen? Stefan schrieb: > Die Leitungslänge zwischen den Platinen beträgt max. 6 Meter. > Die Platinen werden über 3 Kupferleitungen mit 0,14mm Querschnitt > Verbunden. ( TXD, RXD, GND )
Peter II schrieb: > ohne den Querschnitt zu kennen? Stefan schrieb: > Die Platinen werden über 3 Kupferleitungen mit 0,14mm Querschnitt > Verbunden. ( TXD, RXD, GND )
Also ich denke wenn das Kabel gut abgeschirmt ist und der Schirm mit den Massen verbunden ist steht dem TTL auch nichts im Wege... auch bei höheren Baudraten...
Vielleicht wäre auch der Einsatz eines LTC485 (http://www.mikrocontroller.net/part/LTC485) zu überlegen. Vorteile: nicht so viele Kondensatoren erforderlich, kleineres Gehäuse, noch höhere maximale Leitungslänge. Nachteile: zwei Adern pro Signal erforderlich, liegt nicht in der Bastelkiste ;-) (bei mir allerdings schon)
Martin schrieb: > Also ich denke wenn das Kabel gut abgeschirmt ist und der Schirm mit den > Massen verbunden ist steht dem TTL auch nichts im Wege... auch bei > höheren Baudraten... Das kommt drauf an, welche kapazitive Last dadurch am TTL-Ausgang hängt und welchen Strom er liefern kann.
Martin schrieb: > Also ich denke wenn das Kabel gut abgeschirmt ist und der Schirm mit den > Massen verbunden ist steht dem TTL auch nichts im Wege... auch bei > höheren Baudraten... Da kann man sich auch täuschen! Das Hauptproblem dürften hier Reflexionen sein, die zu falschen Bits und zu Überschwingern (Verletzung der Maximum Ratings beim Eingang) führen können. Wenn aber man die beiden TX-Ausgänge mit Serienterminerung an die Leitung anpasst, dann sind die Chancen ganz gut, dass es klappt.
Wenn schon Treiber und keine PC-Anbindung, und Länge nur ein paar Meter, dann kann man auch an RS422 statt RS232 denken. ICs 8pin ohne Caps, dafür 2 Adern mehr.
:
Bearbeitet durch User
Peter II schrieb: > Bei 19200 und 6m würde ich auch einen MAX232 verwenden. Stefan schrieb: > Die Leitungslänge zwischen den Platinen beträgt max. 6 Meter. brauchst vermutlich keine Pegelwandlung einfach 470-1000 Ohm in jede Leitung und Rx mit Tx kreuzen, aber wenn du es sicherer haben willst: dann keinen MAX232 sondern Module am Sender und am Empfänger mit max3232 verwenden http://www.ebay.de/itm/5V-Mini-RS232-To-TTL-MAX3232-Converter-Adaptor-Module-Serial-Port-Board-Arduino-/171394123226?pt=LH_DefaultDomain_77&hash=item27e7e2c5da oder: http://www.ebay.de/itm/Male-MAX3232-RS232-to-TTL-Serial-Port-Converter-Module-DB9-Connector-MAX232-/161286371764?pt=LH_DefaultDomain_0&hash=item258d6ab9b4 damit sind dann auch unterschiedliche Versorgungsspannungen der beiden egal, einer 5V einer 3,3V z.B.
:
Bearbeitet durch User
Joachim B. schrieb: > damit sind dann auch unterschiedliche Versorgungsspannungen der beiden > egal, einer 5V einer 3,3V z.B. Bei einer Übertragung nach RS232C mit +-12 V ist das sowieso egal. Die Pegel auf der Leitung haben nichts zu tun mit 3,3 oder 5V-Versorgung, die sind genormt. Georg
Georg schrieb: > Bei einer Übertragung nach RS232C mit +-12 V ist das sowieso egal. Die > Pegel auf der Leitung haben nichts zu tun mit 3,3 oder 5V-Versorgung, > die sind genormt. lesen und verstehen wäre nett...... 1. halten sich nicht alle an die Pegel! Die +-12V werden nicht immer eingehalten. 2. direkte Verbindung der beiden m1284p ist möglich aber eben nur zu empfehlen wenn beide dieselben Vcc haben, deswegen empfahl ich Serienwiderstände in die Leitung 470-1000 Ohm dann kümmert sich die Eingangsschutzbeschaltung mit den Ableitdioden um Differenzen und die Serienwiderstände begrenzen die Ströme. Nun beweise mir das jedes mit RS232 titulierte Gerät mit +-12V arbeitet und sich an die "Norm" hält.
:
Bearbeitet durch User
Joachim B. schrieb: > 1. halten sich nicht alle an die Pegel! Die +-12V werden nicht immer > eingehalten. Mehr als 12V ist reichlich selten, wobei aber 15V zulässig sind. Beim betragsmässig unteren Wert (3V) wirds freilich oft etwas knapp. Insbesondere wenn eine der Seiten mit Vampirspeisung arbeitet.
:
Bearbeitet durch User
Joachim B. schrieb: > 1. halten sich nicht alle an die Pegel! Die +-12V werden nicht immer > eingehalten. warum sollte sie sich auch an die 12V halten? > Für die Datenleitungen (TxD und RxD) wird eine negative Logik verwendet, > wobei eine Spannung zwischen −3 V und −15 V (ANSI/EIA/TIA-232-F-1997) > eine logische Eins und eine Spannung zwischen +3 V und +15 V eine > logische Null darstellt. Signalpegel zwischen −3 V und +3 V gelten als > undefiniert.
Wers gern formell hat, hier der Standard zu den Pegeln von V.24: http://www.ece.ubc.ca/~edc/3525.jan2013/data/T-REC-V.28-199303-I!!PDF-E.pdf
Georg schrieb: > Bei einer Übertragung nach RS232C mit +-12 V ist das sowieso egal. A. K. schrieb: > Mehr als 12V ist reichlich selten, Peter II schrieb: > warum sollte sie sich auch an die 12V halten? A. K. schrieb: > Wers gern formell hat, hier der Standard zu den Pegeln von V.24: manno, viel Gelaber und was hilft das bei der Frage vom TO ? Hauptsache ihr habt hier was geschrieben?
Joachim B. schrieb: > manno, viel Gelaber und was hilft das bei der Frage vom TO ? Deshalb ;-) http://xkcd.com/386/
Stefan schrieb: > Zwei Platinen, auf beiden ist ein Atmega1284P Montiert. > Diese beiden Chips müssen über RXD und TXD miteinander Verbunden werden. > Die Leitungslänge zwischen den Platinen beträgt max. 6 Meter. > Wie sollte ich vorgehen? > > kann ich die beiden direkt mit einander Verbinden auf dieser entfernung? Kommt drauf an. Wenn du sicherstellen kannst, daß es keine Potientialprobleme gibt (weil keins oder nur zumindest nur eins der Geräte über seine Stomversorgung geerdet ist), dann dürfte es im Allgemeinen genügen, einen Längswiderstand geeigneter Größe am Empfänger einzufügen, um über 6m recht zuverlässig 19,2kBps fahren zu können. Geschirmtes und verdrilltes (STP) Kabel ist dabei natürlich Pflicht, das gilt allerdings ganz genauso, wenn du RS232-Pegel für die Übertragungsstrecke benutzt. Der möglicherweise entscheidende Punkt ist allerdings: Bei der Verwendung einer korrekten RS232-Strecke mit den entsprechenden Pegeln ist die Wahrscheinlichkeit für eine fehlerfreie Übertragung deutlich höher. Mit Fehlern muß man allerdings auch bei RS232-Pegeln jederzeit rechnen. Deshalb entscheidet letztlich die Möglichkeit, Fehlertoleranz in's Protokoll einzubauen und damit die zwingend benötigte Netto-Datenrate. Wenn 19,2kBps gerade genügt, um die benötigte Nettorate zu transportieren und somit keine Luft für Redundanz bleibt, wäre es auf jeden Fall sinnvoll, physisch RS232-Pegel zu verwenden. Dasselbe gilt übrigens auch, wenn man keine Ahnung hat, wie man den Datentransport mit Redundanz ausstatten könnte...
@ HildeK (Gast) >> Also ich denke wenn das Kabel gut abgeschirmt ist und der Schirm mit den >> Massen verbunden ist steht dem TTL auch nichts im Wege... auch bei >> höheren Baudraten... >Da kann man sich auch täuschen! >Das Hauptproblem dürften hier Reflexionen sein, die zu falschen Bits und >zu Überschwingern (Verletzung der Maximum Ratings beim Eingang) führen >können. Nun übertreib mal nicht! Es ging um 19200 BAUD! Selbst bei 115200 BAUD ist ein BIT immer noch ~10us lang. Irgendwelche Reflektionen laufen sich bei 6m Kabel in weniger als 1us tot, da passiert bei UART rein GAR NICHT! >Wenn aber man die beiden TX-Ausgänge mit Serienterminerung an die >Leitung anpasst, dann sind die Chancen ganz gut, dass es klappt. Geht auch ohne, man muss nicht immer mit dem Fahrradhelm auf Klo gehen.
Wenn dein Kabel einen Schirm hat und keine anderen Signale mit übertragen werden, und du Halbduplex fährst möchte ich wetten, dass es bei 19,2 und 6m ohne geht.
Falk Brunner schrieb: >>Wenn aber man die beiden TX-Ausgänge mit Serienterminerung an die >>Leitung anpasst, dann sind die Chancen ganz gut, dass es klappt. > > Geht auch ohne, man muss nicht immer mit dem Fahrradhelm auf Klo gehen. aber es schadet nix, der Serien R in der Leitung hilft ja auch Ströme durch unterschiedliche VCC zu begrenzen, so ein 470 Ohm in der Rx und Tx Leitung hilft mehr als er schädigt, vor allem hilft er den Schutzdioden vor übermäßigem Strom.
Also wenn Du es professionell für eine Serienlösung machen willst MUSST Du einen Treiber verwenden. Fürs Basteln zuhause KANN es auch ohne gehen. Ich würde in jedem Fall einen Treiber verwenden. Das spart Dir später Ärger und Fehlersuche. Gruß Florian
Mit (echter) RS232 und 20m Kabel ("Datenkabel unbekannten Tyos) waren 38400 stabil, bei 57600 machte Z-Modem die ersten Wiederholungen. Passt auch recht gut zu einer Tabelle bei wikipedia, die sagt 19200 bei 15m. 6m mit 19200 und TTL-Pegel würde ich nichtmal privat in der Bastelbude machen, da kämen MAX223 ran. Es ist sehr langweilig, Fehler zu suchen, die durch Störungen im Umfeld nur sporadisch auftraten... Gruß aus Berlin Michael
Michael U. schrieb: > Es ist sehr langweilig, Fehler zu suchen, die durch Störungen im Umfeld > nur sporadisch auftraten... Manche Erfahrung muss man selbst machen, und zwar so dass sie weh tut. Auch wenn man nach Rat fragt, hilft er oft nicht bzw. er dringt nicht in den Fragenden ein. Ist auch schwierg in einem Forum wo einem zu beiden von zwei in Frage kommenden Versionen geraten wird.
Mitleser schrieb: > Ist auch schwierg in einem Forum wo einem zu beiden von zwei > in Frage kommenden Versionen geraten wird Ja, leider. Im Netz findet man eben zu allem auch das Gegenteil. Selbst wenn jemand 100 MBit Ethernet über eine nasse Wäscheleine übertragen will, findet sich hier noch jemand der behauptet, das wäre überhaupt kein Problem. Georg
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.