USB IR Receiver
Home > Computer > USB IR Receiver  
 

27.08.2010 - Infrarot Empfänger - "Neues Modell"

Nachdem mir der IgorPlug-USB lange Jahre treue Dienste geleistet hat, ist seine Zeit nun gekommen. Nicht das er defekt wäre, aber es sah nicht so aus, als würde es vernünftige 64bit Treiber für Windows 7 geben.
Also habe ich mich auf die Suche gemacht und bin auf ein tolles Projekt bei mikrocontroller.net gestoßen. Es unterstützt sehr viele Protokolle, arbeitet mit Girder und Eventghost zusammen, bietet eine Einschaltfunktion, lässt sich über USB mit neuer Firmware aktualisieren, usw. Also kurz gesagt: kann ALLES! Noch dazu ist alles auf der Projektseite ausführlich dokumentiert. Somit hatte ich nur noch die Aufgabe alles auf eine kleine Platine zu braten. Eingespart habe ich den Optokoppler für die Einschaltfunktion, da ich diese Funktion aktuell nicht brauche.

 

Ober- und Unterseite der fertig aufgebaute Platine. Kondensatoren und Quarz habe ich wiederverwertet, auch den TSOP1738 IR Empfänger, welcher aber, wie sicher später herausgestellt hat, defekt war. (Dann gegen einen neuen TSOP1736 ausgetauscht)

Die Platinenunterseite. Der Quarz kann SMD oder eine bedrahtete Ausführung sein. Die Widerstände und Keramikkondensatoren sind alle "große" 1206 SMD Bauteile.

R6 habe ich nicht bestückt, dort läge aber das Einschaltsignal an.

Okt. 2012: Das Layout wurde bzgl. der TSOP 17... Spannungsversorgung korrigiert. (alte/falsche Version ist auch funktionstüchtig)

Programmiert wird der Atmel Microcontroller mit dem bootlodader Hex file ("bootloadHID.hex" im zip Archiv) über einen ISP Anschluss. Dazu kann man, wie im Schaltplan eingezeichnet, einen einfachen Programmer für den Parallelport bauen, oder jeden anderen kompatiblen Programmer nutzen. In meinem Fall der USBasp. Mit avrdude sieht der Befehl für einen ATMEGA 8 so aus:

Setzten der fuses:

avrdude -p m8 -c usbasp -U lfuse:w:0x9f:m -U hfuse:w:0xc0:m

Schreiben des flash speichers:

avrdude -p m8 -c usbasp -U flash:w:bootloadHID.hex -v

 

Nun kann man den USB IR Remote Receiver per USB und der "Update Firmware" Funktion der DLL mit dem eigentlichen Programmcode bestücken. Wenn man mit der Standardkonfiguration zufrieden ist, kann man die fertig kompilierte "USB_IR_Remote_Receiver.hex" Datei nehmen.

top Software

Für die Steuerung von Programmen unter Windows bietet sich Girder oder Eventghost an. Ich habe mich für das unter GPL stehende Eventghost entschieden, was unter Windows 7 64bit problemlos arbeitet und Open Source ist.

Nach dem Hinzufügen des Plugins in das Verzeichnis eventghost\plugins\USBIRRemoteReceiver lässt sich die Konfiguration des "USB IR Remote Receiver" EventGhost plugins im EventGhost Konfigurationsbaum über "Element Konfigurieren..." aufrufen. In den Einstellungen habe ich die "IR Polling Time" auf 150µs und den Wert für "Minimum of Repeats" auf 4 eingestellt. So sind nun eindeutige Kommandos zu empfangen.

top Schaltpläne

Die Schaltpläne sind alle bei mikrocontroller.net verfügbar, ebenso Software und Code für den Atmel. Deshalb hier nur das Layout.

SprintLayout Datei mit zwei Varianten. USB Typ B Buchse und USB Typ A Stecker (von alten USB Stick)
(Viewer im Download Bereich)