Forum: Mikrocontroller und Digitale Elektronik 3 Uarts miteinander verbinden


von Jannik G. (jannik_96)


Angehängte Dateien:

Lesenswert?

Ich möchte drei Uarts miteinander verbinden. Und zwar zwei Uarts von 
zwei Atmega 16 und einen von einem Pc über einen Max232. Ich habe mir 
gedacht, es ist wie im Bild mit 6 Dioden zu machen. Doch es funktioniert 
nicht.

Liegt es daran, dass an den Dioden 0,7V abfällt?

Vielen Dank
jannik

von Karl H. (kbuchegg)


Lesenswert?

Du hast im Prinzip ein Wired-Or gebaut.

Der Ruhepegel der UART-Leitungen ist aber high. Und mit einem OR kann 
der jeweils andere Partner seine Leitung auf Low ziehen, soviel er will, 
beim Max kommt trotzdem ein High an (wegen dem Or)

von Thorsten S. (whitejack) (Gast)


Lesenswert?

nimm transceiver...


CAN    PCA82C250
DMX    SN75176
RS485  SN75LBC184 MAX485

http://www.mikrocontroller.net/articles/RS-485

ist dann aber halbduplex... :-) es darf immer nur einer senden...

von Sucher (Gast)


Lesenswert?

Hi

mal ne blöde Frage: Kann man nicht einfach die RX der Atmegas einfach 
mit TIN vom Max232 verbinden und sinngemäss die TX mit ROUT ohne Dioden?

Die Spielregeln wer wann sendet muß die Software regeln. Kann da nicht 
dann jeder auf Null ziehen. Naive Denkweise (?) jeder hat einen 
Widerstand nach High und jeder kann dann auf Null ziehen?

Oder geht da was kaputt?

Das wollte ich auch schon lange mal wissen....

MfG
Achim

von David P. (chavotronic)


Lesenswert?

Warum nimmst du kein RS485? Ist im Prinzip wie RS232, hat aber die 
Multi-Uart Möglichkeit die du hier brauchst..

von Max (Gast)


Lesenswert?

Mach halt ein 1-w rs485, brauchst 3 dioden und einen pullup

Du schliesst mit den dioden (kathode an tx) die vier uarts an einen 
"Bus" an, und pullst den dann mit dem widerstand high, die rx kommen 
direkt an den bus, fertig

von Jannik G. (jannik_96)


Angehängte Dateien:

Lesenswert?

Wenn ich den Artikel von Max richtig verstanden habe, kann man einen 
RS-485 Bus auch ohne inventiertes Signal aufbauen. Ich hoffe das Bild 
stimmt.

Jannik

von Jannik G. (jannik_96)


Lesenswert?

Den Pullup Wiederstand habe ich vergessen. Aber kann ich jetzt nach 41 
Downloads ohne Antwort, davon ausgehen, dass es funktioniert. Odser geht 
etwas kaputt?

Vielen Dank

jannik

von David P. (chavotronic)


Lesenswert?

Ich persönlich würde jedem Controller einen Transciever verpassen 
(MAX485 zB) und für 4€ einen RS485 Adapter bei Dealextreme bestellen.
Habe ich so schon mehrmals gemacht und läuft prima.

http://www.dealextreme.com/p/rs232-to-rs485-converter-6040

Dann kannst du mehrere Controller parallel auf den RS485 Bus legen

von max02 (Gast)


Lesenswert?

Verbinde die 3 Uarts im Kreis.
Token Ring.

von Jannik G. (jannik_96)


Lesenswert?

Vielen Dank,
aber ich hab es jetzt so gemacht, wie von Max vorgeschlagen und es 
funktioniert.

jannik

von Volker (Gast)


Lesenswert?

Für längere Leitungen könnte das jetzt allerdings etwas störanfälliger 
sein, weil die Ausgangsimpedanz für das High-Signal nur durch den Pullup 
bestimmt wird.

von Jannik G. (jannik_96)


Lesenswert?

@Volker
Ab welcher Leitungslänge könnte es Probleme geben?
Wird es besser, wenn ich mehrere Pull-Ups verwende?

jannik

von enan (Gast)


Lesenswert?

Die Spannungen bei 232 sind relativ hoch und deswegen einigermaßen 
störunanfällig. Ein paar meter dürften also ohne Probleme drin sein. 
Wenns doch was längeres werden soll is 485/422 zu empfehlen. Aber dann 
Pos. und Neg. Signal verwenden, nicht nur das pos.

232 lässt sich auch mit 3 Teilnehmern verdrahten. Was du dann brauchst 
sind Analogschalter. Damit schaltest du dann den jeweiligen Teilnehmer 
der gerade dran sein soll an die Leitung zum Receiver. Quasi wie 
multiplexen.

von Jannik G. (jannik_96)


Lesenswert?

Vielen Dank, für die 10m die ich brauche werde ich Rs485 mit pos und 
negativem Signal verwenden.

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.