| Start | Gästebuch | Kontakt | Impressum |

08. 09. 2010

ATmega8 Testboard...
DDS Generator...
EVG Steuerung...

Würfel...
Zeitschalter...
Lichtabh. Schalter...
Nostalgie...
Servotester...
Experimentierkoffer...

M-Unit...
M-Unit 2.x...
MICRO...
LCD Display...
DCF Uhr...
Infrarot mit RC5...
UKW PLL...
Videodisplay...
EPROM Programmer...
DCF Modul...
Testboard...
CC1 Programmer...
Temperatur Analog...
Elektronik Poti...
C-Control und USB...
MICRO Würfel...
E/A Port Anpassung...
DA Ausgang...
Inkrementalgeber...

TCP/IP Basic...
Netzwerk 1...
Netzwerk 2...
Terminal...
Ein neuer PC...
Video am PC...
DSL...
WLAN...
VoIP...

Libanon...
Montreal...
Québec...
Ein Tag in den USA...
Stockholm...

Gasometer...
Greifswald...


INFRAROT STEUERUNG MIT RC5-CODE

M-Unit und Infrarot Fernbedienung

In diesem Beitrag wird beschrieben, wie C-Control die Signale einer handelsüblichen Infrarot Fernbedienung lesen und auswerten kann. Ich verwende eine Universalfernbedienung von Philips die mit meinem Fernsehgerät geliefert wurde. Man kann aber auch jede andere Fernbedienung benutzen welche den RC5-Code verwendet.

Die Signale einer modernen Infrarot Fernbedienung werden digital codiert übertragen. Damit der Empfänger diese Signale versteht, wurden von den Firmen Standards geschaffen. Einer dieser Standards ist der RC5-Code der Firma Philips. Dieser Code ist in Europa weit verbreitet. Praktisch jede Universalfernbedienung lässt sich auf Philips Geräte einstellen.

RC5-Code

Der Code besteht aus einem 14 Bit langem Datenwort.
Nach zwei Startbits zur Synchronisation folgt ein Togglebit. Dieses wechselt bei jeder neuen Tastenbetätigung seinen Zustand. Dadurch kann man unterscheiden, ob Befehle sich nur wiederholen oder ob eine Taste mehrmals gedrückt wurde. Es folgen fünf Adressbits zum Steuern von max. 32 Geräten und sechs Datenbits für max. 64 Befehle je Gerät.

Für die Modulation auf dem Träger (36KHz) wird der Biphasen-Code genutzt. Beim Empfang wird die Signalflanke innerhalb eines Zeitfensters in der Mitte der Bitposition ausgewertet. Eine ansteigende Flanke wird als H, eine fallende Flanke als L interpretiert. Das Verfahren gilt als sehr störfest. Jedes Bit ist 1,778ms lang. Die Übertragung eines Datenwortes dauert also etwa 25ms.

Schaltplan

Als Infrarot Empfänger verwende ich einen IC TSOP1736 von Vishay-Telefunken. Es gibt diesen IC baugleich auch von anderen Herstellern. In dem IC sind Fotodiode, Verstärker, Filter, Demodulator und Ausgangsstufe integriert. Die Beschaltung ist denkbar einfach. Der Widerstand R2 ist nur bei der M-Unit notwendig. Die Stromaufnahme beträgt nur etwa 0,6mA.

Das Bild zeigt den IC mit Blick auf den kleinen Buckel. Der Schaltkreis liefert das fertig demodulierte Signal im TTL Format wenn er mit 5V betrieben wird. Der Port 16 der M-Unit ist willkürlich gewählt. Wenn ein anderer Port genutzt werden soll, muss das im Maschinenprogramm geändert werden.

Der IC ermöglicht problemlos Reichweiten von mehr als 20m. Für die Verbindung M-Unit - PC ist ein V.24 Interface (z.B. Programmieradapter) erforderlich.

Mit einem Oszi DSO2100 habe ich die Signale meiner Fernbedienung am Pin3 gemessen.

Datenwort

Ein RC5 Datenwort. Man kann deutlich die Biphasen Modulation erkennen.

Datenabstand

Hier sieht man zwei Datenworte. Der Abstand beträgt etwa 112ms.

Die Software besteht aus einem Basicprogramm und einem Maschinenprogramm. Beide Programme sind weitgehend selbsterklärend. Das Basicprogramm gibt zwei Pulse am Port15 der M-Unit aus. So habe ich die Laufzeit vom Maschinenprogramm gemessen. Die Ausgaben vom Basicprogramm werden über die serielle Schnittstelle gesendet und können auf einem PC mit einem Terminalprogramm (Hyper Terminal, 9600,8,1,n, kein Protokoll) empfangen werden. Es werden ständig erst das Wort "Test" und dann darunter die vier Variablen vom Infrarot Sender ausgegeben. Deren Bedeutung entnimmt man dem Basicprogramm.

Das Maschinenprogramm ist zeitkritisch und für die Standard Taktfrequenz (4MHz) von C-Control ausgelegt. Es stammt aus dem Buch "C-Control Hardwareerweiterungen" von Burkhard Kainka. Es funktioniert sehr gut, hat aber den entscheidenden Nachteil, das es auf Infrarotsignale wartet. Ist das Programm einmal aufgerufen kehrt es nur zu Basic zurück, wenn etwas empfangen wurde. Somit kann C-Control nichts anderes mehr machen. Ich habe das Programm so geändert, das es nach einer bestimmten Wartezeit, wenn kein Infrarotsignal empfangen wird, zu Basic zurückkehrt. Die Zeit ist auf etwa 120ms festgelegt. Das reicht sicher aus, um zwei Datenworte hintereinander zu empfangen. Somit kann C-Control ein Basicprogramm abarbeiten und immer mal nachschauen, ob Infrarotsignale empfangen werden. Ich nutze dieses Verfahren auch bei meiner DCF Uhr.

Dieser einfache Aufbau ermöglicht schon sehr gut das Testen von Fernbedienungen. Mit einem entsprechenden Basicprogramm kann C-Control als Interface zur Fernsteuerung beliebiger Geräte mit Infrarot Fernbedienungen genutzt werden. Möglich erscheint auch der Ersatz einer Eingabetastatur durch Fernbedienung.

Die vollständige Testsoftware kann hier als ZIP Datei geladen werden.

M.L. 01/2003

Meine große Liebe hat mich verraten, als ich 13 war. Jetzt liebe ich Jesus. Ich habe alles, was ich brauche.

Download...
Links...
Logbuch...
Über Mich...

Aktualisierung:
06.07.2009

Diese Webseite ist für IE ab Version 6 optimiert.
Copyright 2001 - 2010
webmaster

Webdesign:
MaLo-WEB