Forum: Mikrocontroller und Digitale Elektronik mehrere IR-Sender auf 1 Empfänger


von Rainer V. (a_zip)


Lesenswert?

Hallo,

ich mache mir z.Z. Gedanken über eine einfache Modelleisenbahnsteuerung 
über sogenannte "Handheld-Controller", die über IR mit der 
Zentralstation kommunizieren. Auch wenn ich in vielen Beiträgen lese, 
dass Datenkollisionen sehr selten sein sollen(alle Geräte senden 
gleichzeitig und der Empänger bekommt Müll) habe ich mir überlegt, wie 
man die Situation "entschärfen" kann.
Ich gehe von einem festen Datenprotokoll aus, das von jedem Sender 
verschickt wird. Dabei hat jeder Sender eine Empfangsdiode, die von 
direkter Einstrahlung der Sendediode geschützt ist. Initial setze ich 
voraus, dass dann nicht schon alle Sender gleichzeitig betätigt werden. 
Also sendet der 1ste Sender und disabeld seine Empfängerdiode. Alle 
anderen Sender empfangen das Protokoll und gehen ihrerseits in den 
"Wartezustand", also sie senden nichts. Wenn das Protokoll durch ist, 
wartet dieser Sender (n x Protokolllänge) bevor er erneut sendet. Ein 
anderer Sender detektiert nun (zuerst) das keine Sendung vorliegt, und 
beginnt seinerseits das/sein Protokoll abzuschicken.
Meint ihr, dass das eine vernünftige Strategie ist oder wonach muß ich 
suchen, um etwas erhellendes zu finden?? Mir ist klar, dass das nicht 
mit unendlich vielen Sendern funktionieren kann und mir ist noch nicht 
klar, wie man sicherstellen kann, dass kein Sender niemals mehr "dran" 
kommt.
Danke für euer Mitdenken!
Gruß Rainer

von :-) (Gast)


Lesenswert?


von Wolfgang (Gast)


Lesenswert?

Rainer V. schrieb:
> Mir ist klar, dass das nicht
> mit unendlich vielen Sendern funktionieren kann und mir ist noch nicht
> klar, wie man sicherstellen kann, dass kein Sender niemals mehr "dran"
> kommt.

Nach der verordneten Sendepause müssen die Sender einen erneuten Versuch 
mit einer zufälligen Zeitverzögerung starten.

von Rainer V. (a_zip)


Lesenswert?

Wolfgang schrieb:
> Nach der verordneten Sendepause müssen die Sender einen erneuten Versuch
> mit einer zufälligen Zeitverzögerung starten.

Hi, das ist natürlich ein Konzept, an das ich überhaupt nicht gedacht 
habe! Liegt aber eigentlich auf der Hand, wenn man sich "effe" 
Busprotokolle ansieht!! Also der Empfänger "animiert" die Sender und 
hört sich an, was kommt...super. Und es funktioniert tatsächlich auch 
mit (fast) n Sendern :-)
Danke und Gruß Rainer

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Rainer V. schrieb:
> Meint ihr, dass das eine vernünftige Strategie ist
Uralt. Funktioniert tadellos z.B. bei CAN und Ethernet, wenn es auf 
Koaxkabel unterwegs ist (das zeigt dann auch, wie uralt das Konzept 
ist).

> oder wonach muß ich suchen, um etwas erhellendes zu finden??
CSMA/CD

: Bearbeitet durch Moderator
von Barny (Gast)


Lesenswert?

Rainer V. schrieb:

> ich mache mir z.Z. Gedanken über eine einfache Modelleisenbahnsteuerung
> über sogenannte "Handheld-Controller", die über IR mit der
> Zentralstation kommunizieren. Auch wenn ich in vielen Beiträgen lese,
> dass Datenkollisionen sehr selten sein sollen(alle Geräte senden
> gleichzeitig und der Empänger bekommt Müll) habe ich mir überlegt, wie
> man die Situation "entschärfen" kann.
> Ich gehe von einem festen Datenprotokoll aus, das von jedem Sender
> verschickt wird. Dabei hat jeder Sender eine Empfangsdiode, die von
> direkter Einstrahlung der Sendediode geschützt ist. Initial setze ich
> voraus, dass dann nicht schon alle Sender gleichzeitig betätigt werden.
> Also sendet der 1ste Sender und disabeld seine Empfängerdiode.

Wenn jeder Sender seine eigene Empfangsdiode blockiert, dann bräuchtest 
du für die Empfangsdiode eigentlich keinen Schutz vor Einstrahlung.

Aber mir ist noch nicht klar, wie du gewährleisten willst, daß die 
Handheld-Controller die IR Sendung aller anderen Controller sehen 
können. Die Controller sind doch üblicherweise zur Zentralstation hin 
ausgerichtet. Dann hängt es doch sehr vom Zufall bzw. Reflektionen ab, 
ob ein Controller etwas von seinen Nachbarn mitbekommt. Hier könnte es 
helfen, wenn die Zentralstation das empfangene Signal ohne zeitliche 
Verzögerung direkt wieder aussendet.


Lothar M. schrieb:
> Rainer V. schrieb:
>> Meint ihr, dass das eine vernünftige Strategie ist
> Uralt. Funktioniert tadellos z.B. bei CAN und Ethernet, wenn es auf
> Koaxkabel unterwegs ist (das zeigt dann auch, wie uralt das Konzept
> ist).
>
>> oder wonach muß ich suchen, um etwas erhellendes zu finden??
> CSMA/CD

Die Kollosionserkennung funktioniert aber nur, wenn der Sender erkennen 
kann, ob sein Signal gestört wird bzw. ob sein Signal ungestört beim 
Empfänger angekommen ist. D.h. der Sender müßte hier kontrollieren ob 
sein IR Signal durch andere Sender gestört wird. Eventuell IR Spiegelung 
durch die Zentralstation (siehe oben), oder eine Quittung mit 
Senderkennung durch die Zentralstation.

von Rainer V. (a_zip)


Lesenswert?

Barny schrieb:
> Dann hängt es doch sehr vom Zufall bzw. Reflektionen ab,
> ob ein Controller etwas von seinen Nachbarn mitbekommt

Das muß man natürlich probieren. Aber da man heute den Fernseher ja 
quasi von der Küche aus einschalten kann, bin ich erst mal davon 
ausgegangen, dass es funktionieren könnte. Werde aber erst mal das 
Konzept "Empfänger fragt bei Sendern nach" im Auge behalten.
Danke und Gruß Rainer

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.