Forum: Mikrocontroller und Digitale Elektronik IR Kommunikation zwischen zwei Mikrocontrollern


von Maik (Gast)


Lesenswert?

Hallo zusammen!

für mein nächstes Projekt möchte ich gerne zwei Mikrocontroller drahtlos 
miteinander verbinden. 115200Baud wären schon nicht schlecht und ich 
würde die Daten gerne kontinuierlich übertragen.

Das ganze muss tatsächlich mit zwei Controllern gelöst werden, da das 
Device mit einem der beiden Controller immer wieder mal vom anderen 
getrennt wird. Kommunikation über RF, also Wifi, BT, etc. fällt raus, da 
nicht echtzeitfähig und störungsanfällig. => Bleibt also nur eine 
optische Übertragung.

Vorteil ist: Das Design ist mechanisch komplett gekapselt, es gibt also 
keinen Einfluss des Umgebungslichts.

Ich habe mich jetzt echt lange in das Thema eingelesen und habe grob 
zwei Lösungen gefunden:
- Datenübertragung über IRdA mit 115200 kbit. Nachteil ist, dass das 
ganze recht teuer ist (4 USD pro Transceiver) und schon sehr viele 
Bauteile abgekündigt sind => Wird nicht unendlich lange verfügbar 
sein...
- Eigenes Design mit Photodiode und IR-Empfänger. Günstiger, allerdings 
bin ich mir nicht sicher, welchen IR-Empfänger ich verwenden sollte. Die 
Klassiker wie TSOP324.. brauchen Frequenzen um 56KHz (maxmiale Baudrate 
liegt damit auch irgendwo in dem Bereich) und erlauben keinen 
kontinuierlichen Empfang, da irgendwann die AGC dicht macht.


Was meint Ihr? Wie würdet ihr sowas bauen?

Grüßle und einen schönen vierten Advent!

von Joachim B. (jar)


Lesenswert?


von neugierig (Gast)


Lesenswert?

Maik schrieb:
> für mein nächstes Projekt möchte ich gerne zwei Mikrocontroller drahtlos
> miteinander verbinden.

Maik schrieb:
> Hallo zusammen!
>
> Vorteil ist: Das Design ist mechanisch komplett gekapselt, es gibt also
> keinen Einfluss des Umgebungslichts.

Nur interessehalber: warum drahtlos? Man könnte doch einfach die beiden 
seriellen Schnittstellen miteinander verbinden.

von Falk B. (falk)


Lesenswert?

Maik schrieb:

> für mein nächstes Projekt möchte ich gerne zwei Mikrocontroller drahtlos
> miteinander verbinden. 115200Baud wären schon nicht schlecht und ich
> würde die Daten gerne kontinuierlich übertragen.

IrDa wurde schon genannt.

> Das ganze muss tatsächlich mit zwei Controllern gelöst werden, da das
> Device mit einem der beiden Controller immer wieder mal vom anderen
> getrennt wird. Kommunikation über RF, also Wifi, BT, etc. fällt raus, da
> nicht echtzeitfähig und störungsanfällig.

Unsinn.

> => Bleibt also nur eine
> optische Übertragung.

Tunnelblick. Siehe Netiquette.


> - Datenübertragung über IRdA mit 115200 kbit. Nachteil ist, dass das
> ganze recht teuer ist (4 USD pro Transceiver)

Geht es um Einzelstücke oder Serienprodukte? Wieviele Stück/Jahr?

> und schon sehr viele
> Bauteile abgekündigt sind => Wird nicht unendlich lange verfügbar
> sein...

Ist schon lange weg vom Fenster, alles was es gibt sind Restbestände und 
guer Wille der IC Hersteller.

> - Eigenes Design mit Photodiode und IR-Empfänger. Günstiger, allerdings
> bin ich mir nicht sicher, welchen IR-Empfänger ich verwenden sollte. Die
> Klassiker wie TSOP324.. brauchen Frequenzen um 56KHz (maxmiale Baudrate
> liegt damit auch irgendwo in dem Bereich)

Nö, deutlich darunter, so um die 1kbit/s.

> und erlauben keinen
> kontinuierlichen Empfang, da irgendwann die AGC dicht macht.

Stimmt nicht. Bei passender Kodierung kann man dauerhaft senden.

> Was meint Ihr? Wie würdet ihr sowas bauen?

Wir würden erstmal fragen, was denn INSGESAMT gemacht werden soll.

> Grüßle und einen schönen vierten Advent!

Der ist erst in einer Woche, heute ist der 3.

von Falk B. (falk)


Lesenswert?

Möglichkeit: 10 Mbit Ethernet über IR. Die Tranceiver spucken schon 
Manchestercode aus, das läßt sich spielend senden und empfangen 
(gleichspannungsfrei, hohe untere Grenzfrequenz), Standardbauteile, Viel 
Reserve.

von aldesser (Gast)


Lesenswert?

Die erste und wichtigste Frage ist die physikalische Anordnung. Haben 
die beiden Geräte feste Positionen? Gibt es eine Line of Sight, oder 
eher Wide Line of Sight? Anhand dessen kannst du eine IR-LED zum Senden 
auswählen. Viele Controller z.B. STM32 unterstüzten IRDA Timings bis 
115200 Bit/s. Dadurch lässt sich die Sendeleistung deutlich erhöhen. 
Ebenfalls aufgrund des Sichtwinkels und der Wellenlänge des Senders 
lässt sich eine passende PIN-Photodiode auswählen, deren Signal mit 
einem Transimpedanzwandler verstärkt werden kann.

Eine Umgebnungslicht unterdrückung wird laut deiner Aussage ja nicht 
benötigt. Ändert sich der Winkel/Distanz der beiden Teilnehmer 
zueinander? Wenn ja, Anpassung der Sendeleistung/Verstärkung.

von Mikki M. (mmerten)


Lesenswert?

wenn kein Einfluß von Umgebungslicht, würde doch eine diskrete Lösung 
mit LED und Photo-Transistor oder -Diode doch auch ausreichend sein, 
Bitzeiten von >8µs sind ja kein Hexenwerk

von Maik (Gast)


Lesenswert?

Hi, das ging ja schnell!

Joachim B. schrieb:
> IRDA Transmitter?

Ja, hatte ich ja oben schon geschrieben. Problematisch sehe ich hier den 
hohen Preis und die schlechte verfügbarkeit der Bauteile.

neugierig schrieb:
> Nur interessehalber: warum drahtlos? Man könnte doch einfach die beiden
> seriellen Schnittstellen miteinander verbinden.

Falk B. schrieb:
> Wir würden erstmal fragen, was denn INSGESAMT gemacht werden soll.

Ok, anscheinend waren die Ausgangsinformationen doch noch zu dünn. Also:
Ich habe zwei Devices, diese sollen im Betrieb bidirektional Messwerte 
miteinander austauschen. Echtzeitfähig (wenig Jitter und Totzeit) und 
115200 baud wären gut.
Beide Devices müssen aber trennbar sein (eins ist vor Ort verbaut) und 
wasserdicht sein. Wasserdichter Stecker ist nach unseren Recherchen zu 
teuer.
Stückzahlen ca. 10k Pärchen pro Jahr, brauche also 20k Transceiver. Da 
machen 2USD pro Stück schon einen Unterschied.

Falk B. schrieb:
> Kommunikation über RF, also Wifi, BT, etc. fällt raus, da
>> nicht echtzeitfähig und störungsanfällig.
>
> Unsinn.

So? Aber schwierig abzusichern in Umgebungen mit viel RF Müll in der 
Luft... Problem mit der Zertifizierung besteht weiterhin.

Falk B. schrieb:
> Möglichkeit: 10 Mbit Ethernet über IR. Die Tranceiver spucken schon
> Manchestercode aus, das läßt sich spielend senden und empfangen
> (gleichspannungsfrei, hohe untere Grenzfrequenz), Standardbauteile, Viel
> Reserve.

Sieht spannend aus, Danke! Werde ich mir anschauen.

aldesser schrieb:
> Die erste und wichtigste Frage ist die physikalische Anordnung.

Sende und Empfangsseite haben ca. 10mm Abstand zu einander. Das 
bewegliche Device wird mechanisch mit dem festen verbunden und es gibt 
einen Rahmen um die Schnittstelle um Streulicht abzufangen.
Die Position zueinander ist genau definiert, Abstand/Winkel/... ändern 
sich nicht.

von aldesser (Gast)


Lesenswert?

Dann such dir einfach bei Vishay oder Osram passende Leds mit einem 
niedrigen Abstrahlwinkel aus. Meistens werden im Datenblatt auf 
zugehörige Photodioden mit passendem Spektrum verwiesen. (Oder such dir 
eine PIN Diode aus und dann die LED). Ansteuerung des LED entweder mit 
vorwiderstand (keine Temperaturänderung der Umgebung) oder Stromquelle. 
TIA nach 
https://www.digikey.com/en/articles/techzone/2017/jun/how-to-design-stable-transimpedance-amplifiers-automotive-medical-systems 
oder Tietze Schenk auslegen.

Wenn du klassische IRDA Timings nutzts (falls dein uC das bietet), 
kannst du den (Peak) LED Strom deutlich erhöhen und hast weniger 
Stromverbrauch und billigere Dioden. Funktionieren tut das allerdings 
auch mit UART Timings, dann bitte aber vor Sender und nach Empfänger 
invertieren, damit der Ruhepegel LOW (-> kein Licht) ist.

Optimal wäre, da es bidirektional sein soll, wenn das gehäuse Material 
nichts reflektiert, oder beide Strecke optische getrennt sind.

von U. M. (oeletronika)


Lesenswert?

Hallo,
> Maik schrieb:
> Sende und Empfangsseite haben ca. 10mm Abstand zu einander. Das
> bewegliche Device wird mechanisch mit dem festen verbunden und es gibt
> einen Rahmen um die Schnittstelle um Streulicht abzufangen.
> Die Position zueinander ist genau definiert, Abstand/Winkel/... ändern
> sich nicht.
also hast du doch eine klar definierte Einbausituation und sofern du 
nicht noch weitere wichtige Randbedingungen verschwiegen hast, würde ich 
sagen:
Die Hardware muß nix anderes sein muß, als 2 popplige Optokoppler, die 
sich prinzip bedingt jeweils mit Sendediode und Fotodiode in einigem 
Abstand gegenüber stehen?
Da kannst du als Sender fast jede beliebige LED nutzen.
Die speziellen Eigenschaften von IRDA sind da auch überflüssig, oder?

Um die Empfangsbedingungen günstig zu gestalten, sollte die Sende-LED 
eine gute Effizienz haben und einen möglichst engen Abstahlwinkel.
IR-LED bieten sich an, aber farbige LED wären auch gut, weil man da 
genau sieht, wenn es blinkert und wo das Licht hin strahlt.

Als Empfänger kann man auch jede billige Fotodiode nutzen, mit 
nachgeschalteten Verstärker, evtl. auch Fototransistor oder 
Fotoempfänger mit eingebauten Verstärker.
Den Verstärker selber entwickeln hat aber den großen Vorteil, daß man 
mit billigen Bauelementen sehr flexibel ist und nie Problem bekommen 
wird, weil irgend ein exotische Teil allocated oder abgekündigt ist.
Gruß Öletronika

: Bearbeitet durch User
von U. M. (oeletronika)


Lesenswert?

Hallo,
> aldesser schrieb:
> Optimal wäre, da es bidirektional sein soll, wenn das gehäuse Material
> nichts reflektiert, oder beide Strecke optische getrennt sind.
wenn das konstruktiv so klar definiert ist, wie der TO schreibt, würde 
ich meinen, dass extra Maßnahmen zur optischen Trennung nicht notwendig 
sein sollten.

Die Strecken für Rx/Tx stehen sich jeweils im Winkel von 180° gegenüber.
Das sollte zwischen dem direkt abgestrahlten Licht und Reflexionen vom 
anderen Kanal locker ein Störabstand von 1:50 ...1:100 ergeben, sofern 
bei der Konstruktion nicht alles falsch gemacht wird.
Direkte Reflexionen von sehr hellen bzw. blanken Gehäuseteilen müssen 
natürlich unterbunden werden.
Gruß Öletronika

: Bearbeitet durch User
von 13MHz (Gast)


Lesenswert?

Bei 10mm Abstand sollte man auch mal ein Blick auf NFC werfen..

von Falk B. (falk)


Lesenswert?

Maik schrieb:

> Ich habe zwei Devices, diese sollen im Betrieb bidirektional Messwerte
> miteinander austauschen. Echtzeitfähig (wenig Jitter und Totzeit) und
> 115200 baud wären gut.

Wie wenig? 1us Jitter? 1ms?Wieviel Totzeit?

> Stückzahlen ca. 10k Pärchen pro Jahr, brauche also 20k Transceiver. Da
> machen 2USD pro Stück schon einen Unterschied.

OK.

>> Kommunikation über RF, also Wifi, BT, etc. fällt raus, da
>>> nicht echtzeitfähig und störungsanfällig.
>>
>> Unsinn.
>
> So? Aber schwierig abzusichern in Umgebungen mit viel RF Müll in der
> Luft... Problem mit der Zertifizierung besteht weiterhin.

Die Frage kann man nur bei Kenntnis der Rahmenbedingungen beantworten. 
Die waren in deiner Anfrage noch unbekannt. Jetzt sieht das anders aus.

> Sende und Empfangsseite haben ca. 10mm Abstand zu einander. Das
> bewegliche Device wird mechanisch mit dem festen verbunden und es gibt
> einen Rahmen um die Schnittstelle um Streulicht abzufangen.
> Die Position zueinander ist genau definiert, Abstand/Winkel/... ändern
> sich nicht.

Na da ist das doch ein Klacks. Du kannst mit viel Sendeleistung 
reingehen und braucht nicht mal einen superempfindlichen Empfänger. Du 
willst eine kontaktlose, wasserdichte Schnittstelle. Wenn kein 
Umgebungslicht da ist, braucht man nicht mal IrDa sondern kann 
problemlos direkt per UART die Daten ohne zusätzliche Kodierung 
raushauen und direkt empfangen. Ein halbwegs schneller OPV als TIA und 
fertig. Für 115200 Bit/s ein Klacks. Gibt es in Stückzahlen für 
vielleicht 1-2 Euro.

von Falk B. (falk)


Lesenswert?

U. M. schrieb:

> wenn das konstruktiv so klar definiert ist, wie der TO schreibt, würde
> ich meinen, dass extra Maßnahmen zur optischen Trennung nicht notwendig
> sein sollten.

Doch, denn das Ganze soll einfach trennbar und wasserdicht sein.

von Cyrrus (Gast)


Lesenswert?

Mein Kandidat #1 wäre ein POF transceiver (Plastikfaser 
Sender/Empfänger).

von Falk B. (falk)


Lesenswert?

Cyrrus schrieb:
> Mein Kandidat #1 wäre ein POF transceiver (Plastikfaser
> Sender/Empfänger).

Viel zu teuer und hier gar nicht nötig bzw. ohne Vorteil. Denn einen LWL 
will und braucht der OP nicht!

von Maik (Gast)


Lesenswert?

Hi!

U. M. schrieb:
> Hallo,
>> aldesser schrieb:
>> Optimal wäre, da es bidirektional sein soll, wenn das gehäuse Material
>> nichts reflektiert, oder beide Strecke optische getrennt sind.
> wenn das konstruktiv so klar definiert ist, wie der TO schreibt, würde
> ich meinen, dass extra Maßnahmen zur optischen Trennung nicht notwendig
> sein sollten.

Optische Trennung sollte klappen, kriegen wir in der Konstruktion hin.


Falk B. schrieb:
> Na da ist das doch ein Klacks. Du kannst mit viel Sendeleistung
> reingehen und braucht nicht mal einen superempfindlichen Empfänger. Du
> willst eine kontaktlose, wasserdichte Schnittstelle. Wenn kein
> Umgebungslicht da ist, braucht man nicht mal IrDa sondern kann
> problemlos direkt per UART die Daten ohne zusätzliche Kodierung
> raushauen und direkt empfangen. Ein halbwegs schneller OPV als TIA und
> fertig. Für 115200 Bit/s ein Klacks. Gibt es in Stückzahlen für
> vielleicht 1-2 Euro.

Perfekt. Das ist genau das, was ich gesucht hab. IRdA Timings werden wir 
verwenden, schadet nicht. Der verwendete STM32 macht das auch in 
Hardware, also alles easy.

Sorry für die anfängliche Unklarheit! Ich hasse unklare Anforderungen 
auch, dachte aber, dass alles gesagt war. War es offensichtlich nicht :)

Grüße!

von Maik (Gast)


Lesenswert?

Was ich gerade noch sehe bzgl. optischer Trennung:

Sollte die optische Trennung wider Erwarten nicht ausreichen, kann man 
ja einfach auf einen Halbduplex Betrieb wechseln. Die ~halbe Datenrate 
kann man dann durch doppelte Baudrate wieder ausgleichen.

Wenn ich es richtig verstehe, macht der STM das sogar automatisch im 
IRdA Modus:
1
If the Transmitter is busy (i.e. the USART
2
is sending data to the IrDA encoder), any data on the IrDA receive line will be ignored
3
by the IrDA decoder and if the Receiver is busy (USART is receiving decoded data
4
from the USART), data on the TX from the USART to IrDA will not be encoded by IrDA.

von Falk B. (falk)


Lesenswert?

Maik schrieb:
>> ich meinen, dass extra Maßnahmen zur optischen Trennung nicht notwendig
>> sein sollten.
>
> Optische Trennung sollte klappen, kriegen wir in der Konstruktion hin.

Es gibt aber ein Argument gegen Optik. Nämlich Dreck. Da ist eine 
induktive  Übertragung nämlich immun. Kriegt man auch relativ preiswert 
hin, ist aber mehr Aufwand.

von Falk B. (falk)


Lesenswert?


von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?


von Falk B. (falk)


Lesenswert?


von U. M. (oeletronika)


Lesenswert?

Hallo,
> Falk B. schrieb:
> Doch, denn das Ganze soll einfach trennbar und wasserdicht sein.
aber das sind doch nicht wirklich optoelektronische, sondern eher rein 
konstruktive Probleme.

Gruß Öletronika

: Bearbeitet durch User
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.