IR-Empfänger

Gast #2581453
Hallo, ich brauche euere Hilfe,

mein IR-Empfänger mit TSOP4838 und ATmega8 funktioniert leider nicht 
besonders zuverlässig, weil Neonlicht hier störend einwirkt.
Ist es möglich die IR-Diode per Folie oder ähnlichem abzuschotten?

Danke für jede Hilfe!

Gruß
Bernd
Moderator Persönliche Seite #2581510
BerndB schrieb:
> mein IR-Empfänger mit TSOP4838 und ATmega8 funktioniert leider nicht
> besonders zuverlässig, weil Neonlicht hier störend einwirkt.

Ein paar Fragen:

- Bist Du sicher, dass es am Neonlicht liegt? Wenn ja, warum?
- Ist an der Spannungsversorgung des TSOP ein Tiefpassfilter
  vorgeschaltet?
- Mit welcher Modulationsfrequenz arbeitet der Sender?
- Welchen Abstand haben Sender und Empfänger?
- Welche Software verwendest Du zum Decodieren?
- Um welches IR-Protokoll handelt es sich?
- Pollst Du den Empfänger oder arbeitest Du mit flankengesteuertem
  Interrupt?

Gruß,

Frank
Gast #2581530
Hallo Frank,

vielen Dank für deine Antwort.

Wenn ich an meinem Arbeitsplatz über meiner NEC-Protokoll Fernbedienung
eine Endlosschleife in meinem Controller laufen lasse habe ich keine 
Probleme.
Schalte ich dann das Licht ein, wird meine Rotine unterbrochen. Wenn ich 
sie
dann erneut starte, das Bürolicht ist dabei an, läuft sie weiter, wird 
aber irgendwann wieder unterbrochen. Es wird besser wenn ich Papier über 
die IR-Diode lege.
Ein Tiefpass-Filter wird verwendet.
Modulationsfrequenz: 38kHz

Decodierung per PIN-Abfrage und Timer via Assembler.

Bernd
Moderator Persönliche Seite #2581666
BerndB schrieb:

> Schalte ich dann das Licht ein, wird meine Rotine unterbrochen. Wenn ich
> sie

Was heisst, "die Routine wird unterbrochen"? Ich kann mir ja vorstellen, 
dass beim Einschalten des Lichts mal ein NEC-Frame kaputtgeht, aber 
danach sollte das Dekodieren ja wieder funktionieren, oder?

> dann erneut starte, das Bürolicht ist dabei an, läuft sie weiter, wird
> aber irgendwann wieder unterbrochen.

Du musst den Dekoder neu starten, damit er weitere Frames lesen kann?

Kann es sein, dass Du keine Fehlerbehandlung im Programm hast? Du 
solltest dafür sorgen, dass Deine Statemachine (ich hoffe, Du hast eine) 
sich automatisch zurücksetzt, wenn ein Übertragungsfehler auftritt. Das 
kann zum Beispiel passieren, wenn Du für x Millisekunden kein Signal 
mehr empfängst, obwohl Du eigentlich noch ein Bit erwartest. Setze in 
diesem Fall Deine Statemachine wieder auf die Ausgangswerte.

> Es wird besser wenn ich Papier über die IR-Diode lege.

Mit Übertragungsfehlern musst Du immer rechnen. Dein Dekoder sollte dies 
berücksichtigen. Das ist auch kein Problem: Stellt der Mensch fest, dass 
das Empfänger-Gerät nicht reagiert, drückt er dieselbe Taste auf der 
Fernbedienung nochmal. Das ist das normale Verhalten.

> Ein Tiefpass-Filter wird verwendet.
> Modulationsfrequenz: 38kHz

Welche Entfernung? 5-10 Meter sollten immer gehen.

> Decodierung per PIN-Abfrage und Timer via Assembler.

Schau Dir mal zwecks Studium IRMP an. Vielleicht kannst Du Dir da 
was abgucken. Ist aber in C geschrieben.

Gruß,

Frank
Gast #2582604
Hallo Frank,

vielen Dank für Deine Mühe!

Du liegst richtig, ich habe keine Fehlerbehandlung und werde jetzt mich
darum kümmern.

Danke und Gruß,
Bernd

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.