Eine alternative Software für den 8-Kanal IR-Fernbedienungsbausatz IR8 Version 1.0 (Bestellnummer 810 023) von Pollin-Electronic (Dez. 2006)

Achtung, die hier vorgestellte Software läuft nur mit der Version 1.0 des Bausatzes. Bei Version 1.1 und 1.2 wurde die Pinbelegung des Tiny2313 geändert, was zu Inkompatiblität der Software führt.

Der genannte Bausatz hat ein tolles Preis/Leistungs-Verhältnis. Er hat aber einige Nachteile: Die 27 unbenutzten Tasten der Fernbedienung ließen mich nicht mehr los, eine solche Verschwendung von Ressourcen tut einfach weh. Auch am Tiny2313 des Empfängers sind noch Ressourcen frei, z.B. 7 unbenutzte bidirektional nutzbare I/O-Leitungen (Pin 2, 3, 4, 5, 8, 9, 11). Die Platine ist zum Glück so gestaltet, dass man die ungenutzten Portpins ohne Probleme anzapfen kann.

Ich machte mir also Gedanken über einen Empfänger, der auf die bisher ungenutzten Tasten reagiert und parallel zum Originalempfänger (mit Originalsoftware) betrieben werden kann. Zuerst ging es mal um eine halbwegs logische Zuordnung der freien Tasten zu den Funktionen eines weiteren Empfängerbausteins. Dabei bieten sich die 10 dunkelgrauen Tasten (Reihe 6 und 7) zum Schalten der Relais an. Oberhalb dieses Tastenblockes bleiben 16 ungenutzte Tasten übrig. In Verbindung mit Jumpern an 4 der freien Portpins des AVRs bietet sich für diese 16 Tasten eine Adressierung an, also die Auswahl eines von 16 Empfängerbausteines, der dann auf die Relaistasten reagieren soll. Die Jumper kamen also an die Pins 2, 3, 4 und 5 des Tiny2313, da diese so schön beisammen liegen.

Nun fehlte noch eine Anzeige, welcher der 16 möglichen Empfänger gerade aktiviert ist. Dazu wurde eine grüne LED mit Vorwiderstand an Pin 8 des Tiny2313 "angeflickt". Pin 9 und 11 des Controllers waren nun immernoch frei, ebenso zwei der 10 Relaistasten, worauf ich sie einfach für zusätzliche Relaisausgänge nutzte. Nun waren alle freien Portpins vergeben. Auch alle Tasten, außer der Lautsprecher-Taste unten rechts. Diese wurde dann einfach zur Modus-Taste ernannt und erlaubt das Umschalten der Betriebsart zwischen Tipp-Betrieb und Toggle-Betrieb. Nun waren alle bisher ungenutzten Tasten und Portpins sinnvollen Funktionen zugeordnet.


1 2 A1 A2 A3
3 4 A4 A5 A6
5 6 A7 A8 A9
7 8 A10 A11 A12
A13 A14 On A15 A16 (A0)
K1 K3 K5 K7 K9
K2 K4 K6 K8 K10
Off Togg Mode

Tastenbelegung der Fernbedienung:

Die grün dargestellten Tasten werden zum Steuern des Original-Empfängers (mit dem von Pollin-Electronic mitgelieferten Tiny2313) benutzt.

Die gelb dargestellten Tasten dienen als Adresstasten zur Auswahl des gewünschten Empfängers. Mit einer dieser Tasten wird einer von 16 Empfängern aktiviert und alle anderen Empfänger deaktiviert. Die "Adresse" jedes Empfängers mit der hier vorgestellten Software wird mittels Jumper an Pin 2, 3, 4 und 5 des Tiny2313 eingestellt. Am jeweils ausgewählten Empfänger zeigt eine an Pin 8 des Tiny2313 nachzurüstende LED die Empfangsbereitschaft und (durch Blinken) den Modus an.

Die grau dargestellten Tasten dienen zum Schalten der Relais. Auf K1 bis K8 reagieren die Relais der zum Bausatz gehörenden Relaiskarte, auf K9 und K10 reagieren die Pins 9 und 11 des Tiny2313, an die zwei weitere Relaistreiber mit Relais angeschlossen werden können (z.B. eine weitere Relaiskarte, die die zusätzlichen Treiber und Relais für 4 Empfänger zur Verfügung stellt und durch Direktverdrahtung angeschlossen werden kann. Es sind zwei Betriebsarten per Mode-Taste (rechts unten) umschaltbar. In Betriebsart 1 (LED an Pin 8 leuchtet) schaltet pro Tastendruck das zugehörige Relais für etwa 1/2 Sekunde ein, auch wenn die Taste länger gedrückt wird. In Betriebsart 2 (LED an Pin 8 blinkt) wird das Relais pro Tastendruck getoggelt und bleibt bis zum nächsten Tastendruck der selben Taste in seinem Zustand.

Es reagiert natürlich nur der Empfänger, der gerade per Adresstasten ausgewählt wurde. Sollen mehrere Relais eines Empfängers geschaltet werden, so kann das direkt hintereinander erfolgen, der Empfänger bleibt so lange "scharf", bis mit den Adresstasten ein anderer Empfänger ausgewählt wird.


Für die Empfänger wurden Original-Bausätze (komplett mit Relaiskarte) von Pollin-Electronic verwendet, da Selbstbau vermutlich teurer wird. Die Empfänger-Platinen werden adressiert, indem man Brücken (Jumper) aus Schaltdraht (gegen GND) unter der Platine anbringt, mit denen die Adresse an die Pins 2, 3, 4 und 5 des Tiny2313 angelegt wird. Sind alle 4 Pins mit GND verbunden, so ist die Adresse 16 bzw. 0 eingestellt, sind alle 4 Pins offen, so ist die Adresse 15 eingestellt. Pin 2 ist dabei das niederwertigste Bit (LSB), Pin 5 das Höchstwertigste (MSB). Verbindung mit GND hat die Wertigkeit 0, offener Eingang die Wertigkeit 1. Da die internen PullUp-Widerstände des Tiny2313 aktiviert wurden, können externe PullUp-Widerstände entfallen.
Beim hier gezeigten Muster wurde statt der 4 jumper ein Codierschalter verwendet, den es auch bei Pollin-Electronic gibt. Bei den finalen Geräten werden es vermutlich nur gelötete Drahtbrücken an der Platinenunterseite werden. Damit die Codierleitungen an den Bohrungen der Schalter-Pins keinen unerwünschten Kontakt zu GND bekommen können, wurden sie mit etwas Heißkleber fixiert.

Die grüne LED wurde einfach durch eine vorhandene Befestigungsbohrung gesteckt und ein Widerstand freitragend eingelötet und mit etwas Heißkleber gesichert.

Die Leitungen für die beiden zusätzlichen Relais sind noch nicht angeschlossen.


Software

Das Programm für den Tiny2313 wurde unter AVR-Studio 4 (Freeware bei ATMEL) in AVR-Assembler geschrieben. Der Tiny2313 wird mit einer Taktfrequenz von 1 MHz (interner RC-Oszillator mit 8 MHz, Vorteiler 8) betrieben. Timer0 erzeugt die Zeitbasis von 256 Mikrosekunden. Die Decodierung des Impulstelegramms erfolgt im Interrupt0. Im Input-Capture-Interrupt wäre es zwar bequemer zu programmieren gewesen, aber das Platinenlayout ist dafür nicht geeignet. Die Informationen zum Aufbau des Telegramms wurden dem Datenblatt des IR-Sende-Chips SAA3004 entnommen.

Ein neues Telegramm wird nur dann akzeptiert, wenn es (incl. Toggelbit) anderen Inhalt als das zuletzt akzeptierte Telegramm hat und zweimal hintereinander fehlerfrei (mit Systemadresse 7) empfangen wurde. Die Systemadresse beträgt bei der verwendeten Fernbedienung "TV400" von RFT 7.

Da die Zuordnung der Kommandonummer zu den Tasten arg durcheinandergewürfelt erscheint (Platinenoptimierung), wurde die CMD-Werte mittels Lookup-Tabelle in ein eigenes Tastennummernsystem übersetzt, das sich bequemer auswerten lässt.

Neben der "Vollversion" der Software gibt es noch abgespeckte Spezialversionen für bestimmte Zwecke, bei denen die Umschaltung der Betriebsart zu Problemen bei Bedienungsfehlern führen könnte. Somit kann z.B. beim Einsatz einiger Module zur Gartenbahn-Weichensteuerung das gleichzeitige Betätigen von links und rechts einer Weiche Ärger bereiten. Hier wird dann die Toggle-Betriebsart gesperrt.

Zur Zeit verfügbare Versionen:


Fazit

Mit diesem System können auf einer Anlage (z.B. improvisierte Gartenbahnablage bei Treffen von Gartenbahnfreunden) neben dem Originalmodul bis zu 16 weitere Empfängermodule mit je 8 (oder 10) Relais betrieben werden.

Nachtrag (Okt. 2009)...

Aufgrund der Tatsache, dass diese Seite trotz ihres Alters immernoch häufig besucht wird, möchte ich darauf hinweisen, dass es inzwischen weitere Projekte mit dieser Fernbedienung gibt. Die meisten davon arbeiten mit dem Original, also dem nicht modifizierten Pollin-Bausatz. Ich habe mal alle existierenden Versionen/Varianten als Quelltext und Hexdatei zusammengefasst. Weitere Informationen sind den Kommentaren der Quelltexte zu entnehmen. Ich hoffe, dass Dieser oder Jener etwas Brauchbares darin findet.
Nichtkommerzielle Nachnutzung dieser Software in kleinen Stückzahlen ist ausdrücklich erlaubt. Bei Interesse an kommerzieller Nutzung (auch an Teilen der Software) bitte ich um Rücksprache zwecks Klärung der Nutzungsbedingungen.