|

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.

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.
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.

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

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 .
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 geladen werden.
M.L. 01/2003
|