Fleischmann-Drehscheibe digital

Auf der Suche nach Möglichkeiten, meine Drehscheibe zu digitalisieren, bin ich im Web auf mehrere Lösungsmöglichleiten gestoßen. Allen gemeinsam war, die Scheibe wie einen Magnetartikel zu steuern. Immer auf der Suche nach billigeren Lösungen (es soll ja auch noch Geld für Fahrzeuge übrig bleiben) kam ich zu folgender Variante:
-Steuerung des Drehscheibenmotors über einen Lokdecoder
-Steuerung der Magneten in der Bühne über einen Funktionsausgang des Lokdecoders
-Rückmeldung der Bühnenlage über SRK unter der Bühne.

Hier erst einmal der Ist-Zustand:
 

Die Bühne wird über fünf Schleifer versorgt. Zwei sind mit den Schienen des Bühnengleises verbunden. Ein Schleifer steuert den Motor, ein weiterer den Entriegelungsmagneten. Einer dient als gemeinsamer Rückleiter. Mittels vier Kontakten (zwei sind links gut zu sehen) werden die Gleisabgänge mit Spannung versorgt.


Für den Digitalbetrieb ergeben sich zwei Umbauvarianten, abhängig davon, ob von Hand oder mit PC gesteuert werden soll.
Für den manuellen Betrieb ist folgende Schaltung gedacht:
 
In diesem Beispiel ist der obere Gleiswahlschalter betätigt. Bekommt der Decoder einen Fahrbefehl, setzt sich die Scheibe in Bewegung. Kurz vor Erreichen des Zielgleises wird durch einen unter der Bühne angeordneten Magnet der SRK (hier der obere) geschlossen, worauf das zugeordnete Relais anzieht und die Spannungszufuhr zum Entriegelungsmagneten unterbricht.
Die Umpolung des Bühnengleises läßt sich wie hier zu sehen realisieren. Wenn nicht alle Gleisabgänge genutzt werden, werden die SRK's zur Umpolung zweckmäßigerweise in der "Lücke" platziert. Diese Anordnung setzt voraus, daß jeder Gleisabgang einen eigenen Kontakt erhält, also auch die Blindabgänge. Unter der Bühne darf sich nur ein Magnet befinden.
Bei Komplettbelegung müssen die (Umpol-)Kontakte so weit wie möglich außen platziert und über einen separaten Magneten geschaltet werden. 


Für PC-gesteuerten Betrieb ist die Schaltung der Bühne wie folgt zuändern, wobei links die Variante mit einem N-Decoder und rechts mit einem H0-Decoder dargestellt ist.
In beiden Fällen muß die einseitige Verbindung von Motor und Entriegelungsmagneten aufgetrennt werden.
Entgegen den Schaltplänen betreibe ich den Magneten nicht direkt am Decoder, sondern über ein zwischengeschaltetes Relais. Platz ist reichlich vorhanden und dem Magneten traue ich hinsichtlich Stromaufnahme nicht so recht über den Weg.
Die Kontakte, welche die Gleisabgänge versorgen, werden entfernt. Die ersten paar Zentimeter der Gleisabgänge (vom Grubenrand bis zur Stelle, wo Profilfreiheit zum Nachbargleis gegeben ist) werden zu einem gemeinsamen Rückmeldeabschnitt zusammengefaßt. Dies ist später eine vom PC zu prüfende Bedingung, ob Fahrten zur bzw. von der Bühne erlaubt sind oder die Bühne gedreht werden darf. Das Bühnengleis selbst stellt auch einen eigenen Rückmeldeabschnitt dar.
Die Umpolung des Bühnengleises geschieht wieder über ein bistabiles Relais. Nur wird dieses jetzt über einen Magnetartikeldecoder geschaltet.
 
Motor und Magnet sind elektrisch voneinander getrennt. Die originalen Entstörmaßnahmen des Motors habe ich belassen.
Lageprobe von Decoder und Relais - keine Platzprobleme.
...und los geht's mit der Löterei! Den Entriegelungsmagneten betreibe ich mit Gleichspannung - deshalb die Dioden am Relais. Den Pluspol stellt der Decoder an Blau bereit.
Ein aufgeklebter Leiterplattenrest dient als Lötbasis. F2/+/F0/F0 - von oben nach unten. Von F2/+ führen Cu-Lackdrähte zum Bedienstand - dieser wird nun von einer LED belcuchtet. F0 ist (noch?) nicht belegt. Vielleicht bekommt die Bühne später noch Rangiersignale. F1 schaltet den Magneten.
Programmieren!
Die Bühne ist fertig verdrahtet, der Decoder programmiert, die Magneten zur Betätigung der SRK's angeklebt. Nur die Kontakte zur Versorgung der Gleisabgänge müssen noch entfernt werden.
Die Drehscheibe von unten. Die genaue Lage der SRK's muß durch Probieren ermittelt werden. Wichtig ist, das die Kontakte bereits schließen, bevor das Zielgleis erreicht ist!
Bei mir sind, wenn die Bühne sich zwischen zwei Abgängen befindet, beide Kontakte geschlossen. Zeigt sie auf einen Gleisabgang, dann sind der zugehörige Kontakt und die beiden benachbarten Kontakte geschlossen.


Die von mir verwendete Software DC300 ist zwar nicht sehr verbreitet, jedoch sollte das Prinzip auf andere Programme übertragbar sein. Die Bewegung der Drehscheibe geschieht über Fahrstraßen, welche von Hand über Start/Ziel am Monitor oder automatisch angefordert werden können. Die Auswertung, wie die Scheibe bewegt werden muß, wird über Variablen vorgenommen.
Folgende Variablen kommen zum Einsatz:
a = Iststellung der Scheibe (Wertebereich entsprechend Gleisanzahl)
b = Sollstellung (Wertebereich wie Iststellung)
c = intern berechnet
d = intern berechnet
e = Bühnenlage (wegen Polung) 0-Bedienstand links/1-Bedienstand rechts
f = Traktion 0-Dampf/1-andere (oder leere Scheibe)
g = Fahrtrichtung der auf der Scheibe befindlichen Lok 0-vorwärts/1-rückwärts
(die Fahrtrichtungsinformation sollte ein gutes Programm zur Verfügung stellen)

Das Anfordern der Drehscheibenbewegung erfolgt, indem a mit der Nummer des Zielgleises beschrieben wird.
Ich habe bei mir mittels Timerfunktion realisiert, daß einmal pro Minute a mit b verglichen wird. Da dies nicht direkt möglich ist, wird c=a-b und d=b-a berechnet. Werte<0 werden auf 0 gesetzt (bei DC300 nicht notwendig, da keine Ergebnisse<0 möglich).
Sind danach c und d gleich Null, wird die Fahrstraße verlassen, da in diesem Fall a=b ist.
Ist a ungleich b, dann muß c oder d größer 0 sein. Je nachdem, ob dies auf c oder d zutrifft, wird die Fahrtrichtung des Decoders gesetzt.
Anschließend muß die von 0 verschiedene Variable dahingehend geprüft werden, ob sie gleich oder größer als 1 ist, da Drehbewegungen über mehrere Gleisabgänge anders gehändelt werden als die Drehung zum nächsten Gleis.
Danach wird geprüft, ob f=0 ist. Wenn ja, wird in Abhängigkeit von g (und der Lage der Zufahrtgleise zum Lokschuppen) entschieden, ob die Drehung auf kürzestem Weg erfolgen oder die Lok gewendet werden soll. In letzterem Fall wird die Fahrtrichtung des Decoders geändert.

Drehung zum nächsten Gleis:
Fahrstufe ausgeben, F1 an, ca 0,5 sec warten, F1 aus. Die Zeitspanne ausprobieren; 0,5 sec funktioniert bei mir recht zuverlässig.
Drehung über mehrere Gleise:
Fahrstufe ausgeben, F1 an, warten auf RM des Kontaktes vor dem Zielgleis, kleinere Fahrstufe ausgeben, warten auf RM des Kontaktes des Zielgleises, F1 aus.

Je nach örtlichen Gegebenheiten das Bühnengleis umpolen und dabei e neu setzen, damit der PC beim nächsten mal die aktuelle Bühenlage kennt.
Zum Schluß nicht vergessen, a auf den Wert von b zu setzen sowie c und d auf 0!
Alles, was sich programmmäßig mit der Drehbewegung befaßt, gegen alle Fahrstraßen auf die und von der Drehscheibe verriegeln.
Die Fahrstufe des Drehscheibendecoders kann man wieder auf 0 setzen, muß man aber nicht.

Wenn eine Fahrstraße nur eine begrenzte Anzahl Befehle enthalten kann (ist bei DC300 der Fall), dann die Abfolge auf mehrere Fahrstraßen verteilen. Dazu nimmt man eine weitere Variable, welche am Ende jeder (Teil-)Fahrstraße um 1 erhöht wird und mit dem dann erreichten Wert die Ausführbedingung der folgenden (Teil-)Fahrstraße darstellt. Am Ende dieser Verkettung muß diese Variable dann wieder auf 0 gesetzt werden.



Ich bitte um Entschuldigung, wenn nicht alles ganz verständlich sein sollte. Es ist nicht einfach, diese Problematik in Worte zu fassen, ohne dabei mehre MB Text zu produzieren.
Falls Fragen offen geblieben sind, einfach fragen!