Selectrix Library
Info Library Hardware Download

Selectrix

Info
Die bei Selectrix verwendete Technik wurde von Doehler & Haass (D&H) entwickelt. Selectrix ist ein eingetragenes Markenzeichen der Firma Trix in Nürnberg (seit 1997 Märklin), doch wurden auch unabhängige Anbieter von Doehler & Haass lizenziert.
Selectrix ist weltweit nicht sonderlich verbreitet obwohl es gegenüber anderen Digitalsystemen durchaus Vorteile hat.

Library
Um einen Arduino einfach an Selectrix (SX) anschließen zu können, kann die Library SX1 verwendet werden, die Daten vom SX-Bus lesen kann und auch Daten auf den SX-Bus schreiben kann. (Die Library basiert auf der Library von M. Blank .) An Pin 2 des Arduino wird der Takt (T0) angeschlossen, der per Interrupt den Ablauf steuert. An Pin 4 wird das Datensignal (T1) angeschlossen. Pin 12 des Arduino steuert das Schreibsignal (D).

Die Library stellt folgende Funktionen zur Verfügung:
xx stellt dabei eine Variable dar.
  • xx = sx.get(nn); // liefert das Datenbyte des SX-Kanals nn.
  • xx = sx.getg(); // liefert das Gleisspannungsbit.
  • xx = sx.set(nn,d); // setzt den SX-Kanal nn auf den Wert d. Der Rückgabewert xx zeigt den Erfolg an: xx=0 ist OK, xx=1 bedeutet Fehler.
  • sx.setg(d); // setzt das Gleisspannungsbit auf den Wert d, d kann 0 oder 1 sein.
  • sx.set0(nn); // setzt die Fahrstufen der Kanäle 1 bis nn (einschl.) auf Null.
Die Library unterstützt nicht das Programmieren von Decodern.



Hardware
Schreiben bedeutet bei SX, dass die Daten von T1, die in der Zentrale mit 470 Ohm auf den Rückkanal D (=WR) gekoppelt werden, auf dem Rückkanal D überschrieben werden. Liegt T1 (und damit auch D) auf HIGH und soll daraus LOW werden, dann wird der Rückkanal D über 100 Ohm auf LOW gelegt. Die Zentrale erkennt den Spannungsabfall an Leitung D und schaltet das entsprechende Bit auf LOW. Analog geht es auch bei LOW nach HIGH. Das bedeutet aber, wenn ein Bit nicht geändert werden soll, darf die Rückleitung weder auf HIGH noch auf LOW gezogen werden.
Zur Pegelanpassung wird ein Komparator LM393 eingesetzt.

(Es könnte auch ausreichen, die Eingänge des Arduino über Widerstände von einigen kOhm - oder auch direkt - an T0 und T1 anzuschließen...)
Zu beachten ist, dass die Zentrale über den Arduino galvanisch mit der restlichen Elektronik verbunden wird. Bei Bedarf sind daher Optokoppler einzusetzen.



Download
Download der Library SX1 (Modifizierte Library SX)