Loknummern und Zugbeeinflussung.

Auch dieses Mini-Projekt geht auf "das Konto" von Frank Keil. Auf seiner Anlage ist
IR-basierendes System zur Lok- und Zugerkennung in Betrieb. Die Lokomotiven sind
kleinen IR-Sendemodulen ausgestattet, die ihre Kennung kontinuierlich ausstrahlen.

Die Beschreibung gibt es hier : http://www.frank-keil.de/Zugerkennung/zugerkennung.html

Die Empfänger sind IR-empfindliche Fotoschalter vom Hamamatsu, die zwischen den
Schienen angebracht sind. Das Nutzsignal ist der Input für den

IR-Decoder mit Zugbeeinflussung, "SX_IR-Deco "

Die einseitige Platine ist nur etwa 43x43 mm groß und ist nur mit wenigen Bauteilen bestückt.



Der IR-Schalter liefert einen frequenzcodierten Bitstrom für die Zug-Kennziffer, die in der
Regel der Lokadresse entspricht.
Diese Ziffer wird auf der Basisadresse des Decoders ausgegeben, wenn wenigstens
2 mal nacheinander die selbe Nummer erkannt ist.

Wenn jeweils zwei unterschiedliche Ziffern im Erkennungsregister stehen, ist "Neue Ziffer erkannt".

Damit auch die selbe Lok-Adresse sofort, d.h. ohne dass eine andere über den Empfänger
gefahren ist, wiedererkannt werden kann, gibt es 2 Rücksetzmöglichkeiten:

1. Hardware-Rücksetzen mit Lo am PORTB PB5
2. Mit einem Bit einer einstellbaren SX-Adresse.

Wirksam wird das Rücksetzen mit der Hi-Lo Flanke. Das Rücksetzen wird erst nach Abschluss der
Zugbeeinflussung akzeptiert.

Im Decoder wird eine Zugliste geführt, die mit der Zugnummer indexiert wird.

Die Liste enthält für jede Zugnummer 4 Werte:

1.     Bremszeit                      in 0,1 Sek. von 0 bis 255
2.     Stopzeit                         in 0,1 Sek. von 0 bis 255
3.     Beschleunigungszeit    in 0,1 Sek. von 0 bis 255
4.     SX-Lok-Fahrbyte,         Bit 0 bis 4 Fahrstufe, Bit 5 Richtung,
                                                Bit 6 Licht, Bit 7 Zusatzfunktion.

Mit den Zeitangaben und dem Fahrbyte wird das gewünschte Verhalten eingestellt.
Wenn alle Zeitangaben == 0 sind erfolgt keine Aktion.

Ist die Bremszeit ungleich "0" errechnet der Decoder die Zeit- und Fahrstufenintervalle
zum Reduzieren der aktuellen Fahrstufe auf "0" == Stillstand.

Ist die Stopzeit ungleich "0" wartet der Decoder diese Zeit ab ( Aufenthaltszeit )
und prüft dann die Beschleunigungszeit.

Ist diese ungleich "0" wird der Inhalt des Fahrbytes ausgewertet.
Wenn das Fahrbyte = "0" ist, beschleunigt der Decoder auf den Wert vor dem Bremsen,
d.h. das alte Fahrbyte ist gültig.

Ist im Fahrbyte nur Bit Nr. 5 ( Fahrtrichtung) gesetzt, invertiert der Decoder die Fahrtrichtung,
Geschwindigkeit und Steuerbit bleiben unverändert.

Mit allen anderen Werten im Fahrbyte, wird das alte Fahrbyte durch diese Vorgabe ersetzt.
D.h. alle Bit sind wirksam.

Der Decoder vergleicht die aktuelle Geschwindigkeit mit  dem neuen V-wert und
dementsprechend werden das Zeitintervall für Beschleunigung oder Bremsen berechnet
und ausgegeben.

Damit ergeben sich diverse Möglichkeiten zur Zugbeeinflussung:

1.     Aufenthaltssteuerung am Bahnhofs-Einfahrtsgleis.
        Abbremsen zum Stillstand
        Standzeit
        Weiterfahrt a.     mit alter Geschwindigkeit und Richtung
                            b.     Fahrtrichtung invertiert
                            c.     Fahrt mit neuem Fahrbyte.

2.     Stopstelle z.B. im Schattenbahnhof
        Abbremsen in vorgegebener Zeit
        Zug steht.

3.     Geschwindigkeitsänderung auf Vorgabewert für
        Langsamfahr-Abschnitte, Bergstrecken.

Programmierung des Decoders:

Start des ProgMode mit Taste im Decoder oder mit einem IR-Sendemodul, das die
Kenn-Nummer " 99" ausstrahlt. Dies Alternativmethode ist hoffentlich bequemer zu
bedienen als die Taste. Beendet wird der Programmiermodus per Software
oder mit Taste.
Der Dialog zwischen Decoder und PC läuft auf dem SX-Bus unter Kontrolle des Programm

" SX_IR-Deco-Set ":



Wie bei allen meinen Bedien- und Einstellprogrammen muss zuerst die Verbindung zur
Zentrale via COM hergestellt werden. Beim Verbindungsaufbau stellt das Programm
fest, ob sich ein IR-Decoder im Programmiermodus auf dem SX-Bus befindet. Im
Fehlerfall kommt eine entsprechende Meldung.

Sinnvoll ist es in jedem Fall zuerst die Basisadresse zu lesen, auch zur Kontrolle ob man
den "richtigen" Decoder erwischt hat.

Der Decoder hat 99 Listenplätze für die Lokadressen, die man lesen und schreiben kann.
Damit ist die selektive Behandlung aller Lok's möglich.

Die Bedienung ist, hoffentlich, selbsterklärend. Mit dem Speichern der alten oder einer neuen
Basisadresse wird der Programmiermodus im Decoder verlassen, ohne Tastendruck.
Die anderen Speichervorgänge beenden den Programmiermode nicht.

Die gleiche Funktionalität wird es auch in Verbindung mit einem 1-Kanal intelligenten
Besetztmelder für D&H-Decoder geben.

Erklärungen dazu gibt es hier:  D&H Lokadressen erfassen

Jonathan Bohmer, im August 2009