Forum: Mikrocontroller und Digitale Elektronik ATmega8 zu ATmega8 kommunikation über IRDA


von Romano (Gast)


Lesenswert?

Hi zusammen,

ich möchte gerne zwei ATmega8 miteinander kommunizieren lassen. Die 
Kommunikation soll aber nicht über ein Kabel laufen, sondern über 
Infrarot. Ich habe schon versucht aus den diversen Threads hier im Forum 
schlau zu werden, hat aber leider nicht so ganz funktioniert ;-) (also, 
das schlau werden).

Ich wollte euch nun fragen, ob ihr ein gutes Tutorial zu dem Thema 
kennt, oder mir evtl so ein par Tips, bzgl der Benötigten Bauteile und 
einen Schaltplan zur Verfügung stellen könnt. Es wäre super, wenn ich 
diese Bauteile über reichelt beziehen könnte.

Danke und Gruß,
Romano

von Tom M. (Gast)


Lesenswert?


von Romano (Gast)


Lesenswert?

Hi Tom,

genau so etwas habe ich gesucht. Leider werde ich bei Reichelt nicht 
fündig. Kennt evtl. jemand eine günstige Bezugsquelle für IRDA 
transceiver und ein encoder/decoder IC?

von Romano (Gast)


Lesenswert?

Das ganze muss eigtl auch keine IRDA Kommunikation sein. Eine einfache 
Infrarotkommunikation würde mir auch reichen.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Dann nimm doch einfach 2 TSOPxxxx und 2 IR-Dioden und fertig ist die 
Kommunikation. Du musst nur dafür sorgen, dass der Receiver des jeweils 
sendenden Moduls aus ist. Und Du musst Master und Slave festlegen, also 
nicht wild herumkommunizieren.

von Detlev T. (detlevt)


Lesenswert?

"Über Infrarot" kann natürlich auch Lichtwellenleiter heißen. Dafür gibt 
es entsprechende Module.

Ansonsten ist der Tipp mit dem TSOPXXXX nicht schlecht. Wer es sich 
einfach machen will, erzeugt die Pulse mit einem Timer und verknüpft 
dieses Signal per Logik-Gatter mit dem UART.

von Karl H. (kbuchegg)


Lesenswert?

Detlev T. schrieb:

> Ansonsten ist der Tipp mit dem TSOPXXXX nicht schlecht. Wer es sich
> einfach machen will, erzeugt die Pulse mit einem Timer und verknüpft
> dieses Signal per Logik-Gatter mit dem UART.

Hmm. Ich kenne das nur aus dem Asuro.
Vom Prinzip her wurde das da genau so gemacht.
Bis ca 1/2 Meter ging das. Darüber war man eher Chancenlos.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Man braucht nichtmal ein Logik-Gatter, wenn man einen OCRx-Pin über 
einen npn-Transi und den TXD-Pin über einen pnp-Transi verknüpft und 
dazwischen die IR-Diode mit Vorwiderstand schaltet.

von Romano (Gast)


Lesenswert?

Hi Knut, Hi Detlev,

das hört sich für mich schonmal sehr interessant (da einfach :-) an. 
Welche Bezugsquelle (und welches Modell) für die TSOP würdet ihr denn 
empfehlen.

@Detlev:
Könntest du die "einfache" Lösung evtl. noch etwas näher beschreiben, 
bin leider (noch) nicht so bewandert.

/Romano

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Also ich halte die Version mit den 2 Transistoren für einfacher ;-)

von Romano (Gast)


Lesenswert?

Könntet ihr mir ein kleines Beispiel für die Beschaltung eines 
Empfängers und eines Senders geben?

Würde dieses Bauteil für meine Zwecke reichen ?:
http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=A54;GROUPID=3045;ARTICLE=37920;START=0;SORT=artnr;OFFSET=50;SID=31Ew4Fc6wQAR8AAD2FXXQ73638796647ef19889890fe335942d98

Vielen Dank schonmal

von Romano (Gast)


Lesenswert?

Bei dem (eben erwähnten Bauteil) müsste ich ja den mittleren 
Anschlusspin an den mc anschließen. Würde ich diesen dann einfach an RX 
hängen und beim Sender meine Infrarot LED mit Vorwiederstand an den TX 
??

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

So etwa:



                                        Vcc
                                       |
                                       |
                                        >|     _
                                         |----|___|---- UART TXD
                                        /|
                                       |
                                       |
        TSOP1736                       |
                                      .-.
       .--.-.--.                      | |
       |  | |  |                      | |
       |  | |  |                      '-'
       |  | |  |                       |
       |  | |  |
       |  '-'  |                       |
       '-o-o--o'                       V ->
         | |  |                        -
         | |  |                        |
         | |  -------- UART RXD        |
         | |                           |
         | |                           |
         |  Vcc                        |
         |                             |
         |                             |
         |                             |
         |                              \|     _
        ---                              |----|___|---- OCRx
                                        <|
                                       |
                                       |
                                      ---
(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Eine gute Siebung der Betriebsspannung für den TSOPxxxx ist wichtig. 
Näheres im Datenblatt. Bei guter IR-Diode, linearer Ausrichtung und 
niedriger Baudrate sind 3 Meter Distanz drin. Beim Senden müssen Pausen 
nach einigen 100 ms eingefügt werden, damit sich die 
Verstärkungsregelung des TSOPxxxx wieder eichen kann. Steht auch im 
Datenblatt.

von Romano (Gast)


Lesenswert?

Ok, die Empfängerseite scheint ja wirklich simpel zu sein. Hoffe nur, 
dass es mit diesem 
(http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=A54;GROUPID=3045;ARTICLE=37920;START=0;SORT=artnr;OFFSET=50;SID=31Ew4Fc6wQAR8AAD2FXXQ73638796647ef19889890fe335942d98) 
Teil auch geht. Aber auf der Empfängerseite ist mir nicht ganz klar, 
welche Bauteile Benötigt, bzw. woran diese angeschlossen werden. Ich 
nehme an, dass OCRx die Infrarot LED ist. Welche Transistoren und was 
für wiederstände sind denn dann noch eingebaut? Und zu letzt ist mit "V" 
der vcc pin des mc gemeint?

von Detlev T. (detlevt)


Lesenswert?

So wie Knut z.B. Oder mit einer Diodenlogik.

Die Idee ist folgende: Man braucht ein gepulstes Signal, typischerweise 
38kHz. Das erzeugt man am besten per PWM und kann damit auch den 
Duty-Cycle/Stromverbrauch einstellen.

Diesen Sender muss man zur Datenübertragung an- und ausschalten. Das 
macht man mit der logischen Verknüpfung mit dem Tx Pin und zwar so, dass 
nur gesendet wird, wenn Tx auf low ist.

Der TSOP gibt immer dann ein low-signal aus, wenn er ein Signal mit der 
entsprechenden Frequenz empfängt. Das müsste man eigentlich nur noch an 
den Rx-Pin anschließen. Dann wird die gesamte Übertragung von der 
Hardware übernommen und man muss sich die Bytes nur noch abholen. Andere 
Protokolle wie RC-5 muss man erstens selbst programmieren und belegen in 
der Zeit auch den µC, der dann z.B. keine Interrupts abarbeiten kann. Ob 
das für dich wichtig ist oder nicht, kann ich natürlich nicht wissen.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Romano schrieb:
> Ok, die Empfängerseite scheint ja wirklich simpel zu sein. Hoffe nur,
> dass es mit diesem
> (http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=A54...)
> Teil auch geht.

Ja. Aber dazu musst Du in das Datenblatt von dem Ding schauen. 
Pinbelegung und Verhalten kann anders sein.

Romano schrieb:
> Aber auf der Empfängerseite ist mir nicht ganz klar,
> welche Bauteile Benötigt, bzw. woran diese angeschlossen werden.

Ausgang des Opto-ICs an RXD. Fertig.

Romano schrieb:
> Ich
> nehme an, dass OCRx die Infrarot LED ist.

Nein. Die IR_LED ist das "V" mit dem "->".

Romano schrieb:
> Und zu letzt ist mit "V"
> der vcc pin des mc gemeint?

Nein. Vcc des Controllers ist Vcc der Schaltung.

von Detlev T. (detlevt)


Lesenswert?

Karl heinz Buchegger schrieb:
> Hmm. Ich kenne das nur aus dem Asuro.
> Vom Prinzip her wurde das da genau so gemacht.
> Bis ca 1/2 Meter ging das. Darüber war man eher Chancenlos.

Das liegt wohl an dem geringen Diodenstrom (~15mA), dass die Reichweite 
so gering ist. Kurz, aber heftig, ist da die Richtung.

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.