Forum: Mikrocontroller und Digitale Elektronik IrDA Transceiver durch IR-LED tauschen für reinen Sendebetrieb


von Board G. (boardgeist)


Lesenswert?

Hallo.

Ich habe durch die vielen Beträge hier im Forum einen Arduino Mini 
(pollin Atmel Entwicklungsboard) mit einem MCP2120 versehen.

Auf der PC Seite nutze ich einen Empfänger mit einem ACT Chip.
Kurzum es ist IrPhy 1.4 SIR. HSDl-3201 als Transceiver.

Nutze ich den MCP2120 mit dem Transceiver, so kommen meine Bytes im 
hterm durch den act empfänger ordentlich an. Nun wollte ich ein mobiles 
Sendegerät bauen, und habe mir 2 verschiedene IR-LED besorgt die auf 
880nm leuchten, wie der Transceiver.

Mein Problem:
Nehme ich nun statt des IrDA Tranceivers die IR-LEDs, so kommt nichts 
mehr an. Stecke ich auf dem Board wieder TX an den Transceiver... läuft 
es.

Muss ich bei der IR-LED mehr beachten als die Wellenlänge?

Versorgungsspannung 5V
Betriebsspannung 3,3V
Vorwiderstand IR-LED 100 Ohm.
Auch die IR-LED bei 3,3V ohne Vorwiderstand zu betreiben (volle Power - 
sind ja nur ganz Kurze Impulse) hilft nichts.

von Falk B. (falk)


Lesenswert?

@ Board Geist (boardgeist)

>Nehme ich nun statt des IrDA Tranceivers die IR-LEDs, so kommt nichts
>mehr an.

Logisch. Denn die braucht auch eine Kodierung. Einfach ON/OFF ist da 
nicht, da wird mindestens die Pulsbreite moduliert.

>Vorwiderstand IR-LED 100 Ohm.

>Auch die IR-LED bei 3,3V ohne Vorwiderstand zu betreiben (volle Power -
>sind ja nur ganz Kurze Impulse) hilft nichts.

Eben. Brute force ist nicht immer erfolgreich.

von Board G. (boardgeist)


Lesenswert?

Falk B. schrieb:
> @ Board Geist (boardgeist)
>
>>Nehme ich nun statt des IrDA Tranceivers die IR-LEDs, so kommt nichts
>>mehr an.
>
> Logisch. Denn die braucht auch eine Kodierung. Einfach ON/OFF ist da
> nicht, da wird mindestens die Pulsbreite moduliert.
>

Die ganze IrPhy Intelligenz macht doch der MCP2120 und der ist noch 
davor.
Ich verwende nur, anstelle des IrDA Tranceiver LED - Eingangs eine 
einzelne LED.

von spess53 (Gast)


Lesenswert?

Hi

>Ich verwende nur, anstelle des IrDA Tranceiver LED - Eingangs eine
>einzelne LED.

Dann sieh dir mal Datenblätter von IRDA-Transceivern an. Da ist noch 
etwes mehr drin.

MfG Spess

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Logisch. Denn die braucht auch eine Kodierung. Einfach ON/OFF ist da
> nicht, da wird mindestens die Pulsbreite moduliert.

Soviel ich weiß, modulieren die IRDA-Transceiver selbst auch nicht. Im 
IrPHY-Layer von IRDA ist auch keine Modulation vorgesehen - im Gegensatz 
zu IR-Fernbedienungen.

Zitat Wikipedia:
----------------
IrPHY

Im IrPHY-Layer werden sowohl Modulator bzw. Codierer als auch Framer 
spezifiziert. Die wichtigsten Eigenschaften sind:

    Reichweite: Standard: 1 m; Low-Power: 0,2 m;
    Standard zu Low-Power: 0,3 m
    Öffnungswinkel: ±15°
    Datenraten: 2,4 kbit/s bis 1 Gbit/s
    Modulation: keine (Basisband)
    Wellenlänge: 850 – 900 nm

Für unterschiedliche Datenraten gibt es unterschiedliche Codierer und 
Framer.
----------------


Im IrDa-Transceiver ist im Sendeteil nur ein kleiner Verstärker für den 
LED-Strom (hier lt. DB: max. 32mA) drin, sonst nix. Doch, da ist noch 
eine Kleinigkeit: Die Sende-LED wird nach tpw = 1,6µs automatisch 
abgeschaltet (TXD “Stuck ON” Protection), um diese nicht zu überlasten.

Ich selbst habe schon einen IRDA-Transceiver mit einer simplen IR-LED an 
einem Attiny bei 115200 Bd gesteuert - bei Tageslicht über Längen von 
mehr als 5 Metern und ohne zusätzliche Modulation, wie sie bei 
IR-Fernbedienungen nötig ist. Das geht durchaus mit einem geeigneten 
Signal, zum Beispiel PPM. Man muss ja nicht unbedingt ein simples 
serielles UART-Signal drauf legen...

Fazit: Da IrPhy selbst nicht moduliert, muss der TO das Signal des µCs 
auch auf eine simple IR-LED legen können - mit evtl. nötiger 
Verstärkung.

@ Board Geist (boardgeist):

Wie sieht's mit der Polarität Deiner LED aus? Schaltest Du sie gegen GND 
oder 3,3V? Wenn ich das DB richtig lese, muss sie gegen GND geschaltet 
werden, damit sie leuchtet, wenn TX high ist - jedenfalls, wenn Du sie 
direkt am µC-Pin angeschlossen hast.

Willst Du Distanzen von mehr als einem Meter überwinden (die 
IrDa-Transceiver schaffen so 5-10m), dann brauchst Du einen Transistor, 
um die LED mit dem maximal zulässigen Pulsstrom zu betreiben.

100 Ohm sind definitiv zu viel, 3,3 Ohm wäre sinnvoller. Beachte 
hierbei, wirklich nur kurze Pulse zu verwenden.

Aber mal eine Frage: Wozu das ganze? Geld sparen?

: Bearbeitet durch Moderator
von boardgeist (Gast)


Lesenswert?

Hey, danke für die Antwort.

Also im Prinzip ja, sparen.
Der wirkliche Vorteil ist, das die LED besser zu handhaben ist als 
dieser transceiver mit seinem 0,9mm Abstand zwischen den Kontakten.
Für SMDxx gibt es Adapter zu Hauf, aber nein, etwas kompatibles zu bauen 
war natürlich nicht drin.

Ich will 5 Fernbedienungen bauen die mit vorhandenen Geräten immer 
wieder benötigte Kommunikation durchführen. (20 cm reichen dicke) 
Ursprünglich sollte es ein Attiny85 Digispark sein mit einer LED und 2 
Bios Zellen.
Unkompliziert und klein.

Jetzt ist es schon ein Arduino Mini mit MCP2120 + Quarz und Transceiver 
+ Adapter Platine.

Das Ziel ist, irgendwann den MCP2120 in Code zu haben und den Digispark 
zu nutzen.

Ich werd es ein mal gegen GND probieren.- >probiert -> geht!! Danke!

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

boardgeist schrieb:
> Ich werd es ein mal gegen GND probieren.- >probiert -> geht!! Danke!

Freut mich. Alles eine Sache der Polarität :-)

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.