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
Leuchtstoffröhre mit elektronischem Vorschaltgerät? Die arbeiten recht oft auf Frequenzen, die auch zur Modulation bei der IR-Datenübertragung verwendet werden und erzeugen dann Störungen.
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
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
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
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
BerndB schrieb: > mein IR-Empfänger mit TSOP4838 und ATmega8 funktioniert leider nicht > besonders zuverlässig, weil Neonlicht hier störend einwirkt. Meinst Du wirklich Neonlicht oder Leuchtstofflampen. Da Neonlicht mit Hochspannung (mehrere kV) arbeitet, kann es da im Nahbereich schon mal zu Störungen kommen. Gruss Harald
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.