Serielle Verbindung: Mehrere "Empfänger" - Spannung bricht ein

(Firma: privat) #3406539
Lesenswert?

Hallo zusammen,

am Serial-TX eines ATMEGA 2560 möchte ich drei "Verbraucher" 
anschließen:
1.) 433Mhz Radio. Das als einziges auch am Serial-RX des MEGA 
angeschlossen ist
2.) ATMEGA328 (nur am Serial-TX des APM)
3.) Arduino-Micro (also ein weiterer ATMEGA328)

1.) und 2.) zusammen funktionieren wunderbar. Sobald ich 3.) zusätzlich 
parallel anschließe bricht die Serielle Datenübertragung zusammen. Ich 
vermute mal, dass das für das ATMEGA 2560 einfach zu viele Verbraucher 
sind.

Hat jemand von euch eine Idee? Ich dachte hier an Verstärker, 
Impendanzwandler usw. Als Workaround dachte ich ggf. an einen 
nicht-invertierenden Schmitt-Trigger (weiß aber auch nicht, ob dessen 
Ausgang soviel verträgt).

VG
Kai
#3406553
Lesenswert?

Hallöchen

Du willst 2 Sender Parallel anschließen??
Das wird glaube ich nicht gehen. Wen diese Grafik passt:
https://www.sparkfun.com/tutorial/RS232vsTTL-BiteSize/ttl-timing.PNG
Dan hast du auf der Datenleitung immer +5V (Wen einer der beiden nix 
sendet liegt dort 5v an) Dan kann der andere deine Datenleitung zwar 
versuchen auf 0V zu ziehen aber am Empfänger kommen immer die +5V vom 
den einen an.
Bei einem Sender und 2 Empfänger könnte es vielleicht klappen… habe ich 
aber noch nicht ausprobiert.
Ich hoffe ich habe das so richtig wiedergegeben.

mfG Uwe
Gast #3406646
Lesenswert?

Die ATMegas haben eigentlich recht hochwertige Ausgangsports und sollten 
drei Empfänger als Last treiben können.

1.Hast du die Pins am ATMEGA328 richtig initialisiert?
2.Ist der ATMEGA328 auch richtig angeschlossen? (RX an TX sowie TX an 
RX!)

3.Hat der ATMEGA256 sowie der ATMEGA328 die selbe Versorgungsspannung?
Bei unterschiedlichen Versorgungen kann es sein das einer von den beiden 
über die Schutzdioden am Port die Signalpegel kurzschließt.
Gast #3406686
Lesenswert?

Kai Kaas schrieb:

> bricht die Serielle Datenübertragung zusammen. Ich
> vermute mal, dass das für das ATMEGA 2560 einfach zu viele Verbraucher
> sind.

Wohl kaum, die Eingänge sind ziemlich hochohmig, der Ausgang hingegen 
ziemlich niederohmig, Überlastung ist also kaum zu erwarten, jedenfalls 
solange kein Schaltungsfehler vorliegt und alle Teilnehmer dieselben 
Logikpegel haben.

Viel wahrscheinlicher sind bounces, also Signalreflektionen durch die 
fehlende Impedanzanpassung und ggf. eine obendrein verzweigte Topologie 
der physischen Verbindungen. Mögliche Abhilfen:

Führe den "Bus" als Line vom Sender zum ersten Empfänger, von dort zum 
zweiten und von dort zum dritten. Auf dem dritten Empfänger schließt du 
die Line mit einem Widerstand gegen Masse ab. So groß wie möglich, so 
klein wie nötig. Wird wohl so bei ein paar hundert Ohm bis ein paar kOhm 
sein. Ein Minimum von etwa 200 Ohm darfst du aber auf jeden Fall nicht 
unterschreiten, sonst hast du tatsächlich eine Überlast-Situation mit 
entsprechendem Einbruch der Pegel.

Alternativ kann man auch bewußt eine Sterntopologie wählen, also drei 
Strippen jeweils direkt von Sender zum Empfänger und dann jede Strippe 
einzeln per Längswiderstand (Größenordnung: einige kOhm) direkt vor dem 
jeweiligen Empfänger bedämpfen.

Beide Ansätze haben ihre Vor- und Nachteile. Geht es primär um hohe 
Datenraten, ist die Line-Variante zu bevorzugen, steht hingegen ein 
geringer Energieverbrauch im Vordergrund, ist die Sternvariante besser 
geeignet.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren