Kommunikation zwischen LED - Fotodiode

Gast #3926110
Lesenswert?

Ich würde gerne eine optische Übertragung zwischen z.B. zwei AVR 
umsetzen. Dabei geht es mir gar nicht um hohe Datenraten mit 
Verschlüsselung usw., sondern einfach nur um die Übertragung von 
Zuständen über ein paar einsen und nullen.

Auf beiden Seiten gibt es sowohl LED (Sender) als auch Fotodiode 
(Empfänger). Nur wie synchronisiere ich die beiden am 
einfachsten/besten, wenn es keine direkte Verbindung per Kabel gibt?
Gast #3926141
Lesenswert?

Über Lichtleiterkabel oder durch die Luft?
Wenn es durch die Luft gehen soll würde ich das Licht
modulieren damit die Sache unempfindlich gegenüber
Fremdlicht wird. Ansteuern mit der seriellen COM-Schnittstelle.
Auf der Sendeseite die Trägerfrequenz an und ausschalten.
Auf der Empfangsseite einen selektiven Verstärker,
und dann gleichrichten. Trägerfrequenz vielleicht
so 50kHz bis 100kHz.
Gast #3926159
Lesenswert?

Kann ich fremdlicht nicht ausfiltern? Da wollte ich dann etwas 
rumprobieren, kenne mich aber auch nicht wirklich auf dem Gebiet aus.

Ich bin da noch am Anfang. Vemutlich wird es für mich ein Problem werden 
zu unterscheiden, in welchem Bit sich der jeweilige Teilnehmer befindet. 
Das könnte ich ja über z.B. über eine steigende Flanke sychronisieren, 
oder was denkt ihr?
Zwei Pulslängen und eine einheitliche Pausenlänge war mein Plan für den 
Anfang.

Das muss nicht auf Anhieb 100% stabil laufen. Mir würde es auch schon 
reichen, wenn es für den Anfang bloß bei Dunkelheit klappt.
#3926236
Lesenswert?

Globo schrieb:

> Ich bin da noch am Anfang. Vemutlich wird es für mich ein Problem werden
> zu unterscheiden, in welchem Bit sich der jeweilige Teilnehmer befindet.
> Das könnte ich ja über z.B. über eine steigende Flanke sychronisieren,
> oder was denkt ihr?

Ich denke, du vermischt da 2 Dinge.

Das eine ist die technische Kommunikationseben, bei der auf dem 
Trägermedium Licht eine entsprechende Information über den Zustand 0 
bzw. 1 aufgebracht wird.

Das andere ist die bereits eine Schicht drüber, wie man dann mit dem was 
die physikalische Transportschicht zur Verfügung steht, eine 
Kommunikation aufbaut.

Auch ein Kabel einer seriellen Schnittstelle hat nur 2 Zustände: 
entweder der Pegel ist auf +12V oder er ist auf -12V. Dementsprechend 
wird diesen Spannungszuständen eine logische 0 bzw. 1 zugeordnet. Und 
darüber sitzt dann wieder dieselbe Schicht, die mit diesen Zuständen zb. 
eine serielle Schnittstelle aufbaut.

Entscheidend ist doch, dass diese darüber liegende Schicht von der 
physikalischen Repräsentierung völlig unabhängig ist, solange mir dieser 
physikalische Layer nur 2 gesicherte Zustände bereit stellt. Wenn ich 
will, könnte das auch "Wasser fliesst" bzw. "Wasser fliesst nicht sein" 
oder "Sirene hoher Ton" bzw. "Sirene tiefer Ton", "Klospülung 
läuft"/"Klospülung läuft nicht", ..... sein. 2 eindeutig unterscheidbare 
physikalische Zustände, mehr braucht es auf dieser Ebene nicht.

> Zwei Pulslängen und eine einheitliche Pausenlänge war mein Plan für den
> Anfang.

Ist eine Möglichkeit. Aber warum was neues erfinden, wenn 
Datenübertragung per UART schon erfunden wurde?

> Das muss nicht auf Anhieb 100% stabil laufen. Mir würde es auch schon
> reichen, wenn es für den Anfang bloß bei Dunkelheit klappt.

Da bist du jetzt wieder in der physikalischen Schicht.
Je nach Gegebenheiten ist auch eine 'Richt-Licht' Verbindung aufbaubar. 
Gerade Licht lässt sich eigentlich recht gut bündeln bzw. dem Empfänger 
eine Richtcharakteristik mitgeben. Durch Einbau in Röhrchen lässt sich 
so empfängerseitig schon vieles ausblenden, während Taschenlampen bzw. 
Laserpointer vormachen, wie man einen Lichtstrahl gezielt in eine 
bestimmte Richtung lenkt. Interessant wird es, wenn eine derartige 
Richtwirkung nicht erwünscht ist.
Gast #3926312
Lesenswert?

Globo schrieb:
> Ich bin da noch am Anfang. Vemutlich wird es für mich ein Problem werden
> zu unterscheiden, in welchem Bit sich der jeweilige Teilnehmer befindet.
> Das könnte ich ja über z.B. über eine steigende Flanke sychronisieren,
> oder was denkt ihr?
> Zwei Pulslängen und eine einheitliche Pausenlänge war mein Plan für den
> Anfang.

Du solltest dich mal in 2 Themen einlesen (googeln) RS232 und 
IR-Fernbedienung.
Gast #3926350
Lesenswert?

'Ich habe mal eine RC5 Kommunikatino aufgebaut, das ist ein "standart" 
codec für Fernbedienungen.

Eine Photodiode empfängt das ganze und den Code gibt es glaube ich für 
sehr viele Sprachen ( ich habs in C mit MSP430 realisiert).

Das war eigentlich sehr schwer,der Teufel steckt halt immer im Detail.
Dein Empfänger synchronisiert sich ja dann automatisch die Photodiode 
wird verstärkt direkt auf den µC gegegeb, aber da kann ich mich auch 
täuschen udn noch ein IC steckt dazwischen, dann kommen nur 0 und 1 an 
und die Kommunikation steht.
Gast #3926364
Lesenswert?

All das gibt es schon so lange das es bereits fast wieder ausgestorben 
ist. :-)
Nennt sich IRDA.

http://www.societyofrobots.com/electronics_irda_tutorial.shtml

Ich wuerde dringend empfehlen sich daran zu halten. Dann koennte man 
naemlich fertige Transciever wie z.B den TFBS4711 von Vishay verwenden. 
Oder auch mal was altes irgendwo ausschlachten. (alte Nokia/Handys, 
Palmpiloten) Oder man koennte auch auf die Idee kommen mit einem Laptop 
oder Palmpiloten an der Kommunikation teilzuhaben.

Es gibt Mikrocontroller die haben es bereits eingebaut das man den UART 
in den IRDA-Mode schalten kann. (STM32L152) Wenn man das nicht will 
mussm an natuerlich etwas kreativer sein, geht aber auch.

Olaf

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