User Tools

Site Tools


userpages:signalmast88:weichen-einrichten-de

Das Einrichten von Weichen

Ausgangssituation

  • OneControl ⇒ Diese BiDiB-Baugruppe ist optimal zum Ansteuern Weichen geeignet, weil sie alle nötigen Schnittstellen bietet (8 Servo-Ports, 16 GPIO-Ports und 16 Power-Ports). Dazu können je nach aufgespielter Firmware beispielsweise 48 Makros und 24 Accessories definiert werden. Servo-Weichen können jedoch auch an anderen BiDiB-Baugruppen (z.B. LightControl oder ST4) angeschlossen und in gleicher Weise konfiguriert werden.
  • Weichenantriebe durch Servos ⇒ Da diese Antriebsart originalgetreue langsame Stellvorgänge erlaubt, werde ich mich in weiterer Folge darauf beschränken.
    • :!: Tipp: Mit Digital-Servos lässt sich das "Einschaltzucken" analoger Servos vermeiden
  • Rückmeldungen der Weichenlage ⇒ Die aktuelle Lage der Weichenzungen soll an Rocrail zurückgemeldet werden, um eine entsprechende Darstellung auf dem Gleisplan zu ermöglichen. Dazu kommen je Weiche zwei TLE4905 Hallsensoren zum Einsatz, angeschlossen an entsprechend konfigurierten GPIO-Ports der OneControl.
  • Herzstückpolarisierung ⇒ Abhängig von der Weichenlage soll das Herzstück polarisiert werden. Dies wird mittels Herz8Addon realisiert, kann aber auch durch ein RelaisAddon erfolgen, wobei in diesem Fall pro Herzstück 2 Relais benötigt werden, da es sich um keine Umschaltrelais handelt. Weiters muss unbedingt beachtet werden, dass diese beiden Addons für unterschiedliche Anschlussarten designed wurden – Herz8Addons dürfen nur an GPIO-Ports angeschlossen werden und RelaisAddons nur an Power-Ports.
    • :!: Trick: Da Power-Ports im Gegensatz zu GPIO-Ports mit "negativer Logik" arbeiten, kann man deren Pegel mittels invertierender Puffer entsprechend aufbereiten, so dass sie danach doch einem Herz8Addon zugeführt werden können. Eine derartige Funktion stellt das CMOS-IC 4049 in 6-facher Ausführung zur Verfügung. Für 8 Kanäle benötigt man demnach 2 solcher ICs. Weiters hat der 4049 den Vorteil, dass jeder Ausgang einen TTL-Treiber besitzt und damit kann die Herz8Addon-Platine optimal angesteuert werden. Pro Kanal ist eingangsseitig noch ein 10K Pullup-Widerstand erforderlich. Zu beachten ist jedoch die ungewöhnliche Zuführung der Betriebsspannung bei diesem IC.1)
  • Funktionsfähige Weichenlaternen ⇒ Weichenlaternen für Normalweichen werden mechanisch vom Servo mitangetrieben und müssen daher nicht speziell konfiguriert werden. Bei einer DKW bzw. EKW erfolgt eine "Informationsweiterleitung" von der OneControl zu einer NeoControl, um die DKW-Laterne entsprechend ansteuern zu können. Alle Weichenlaternen sind mittels LEDs beleuchtet und können für den Nachtbetrieb von Rocrail aus auf einen beliebigen Wert gedimmt werden.

Definitionen und einheitliche Namensgebung

Es macht durchaus Sinn, vorab gewisse "Standards" zu definieren und sich danach auch konsequent daran zu halten. So habe ich folgendes festgelegt:

  • 0% Servowinkel entspricht gerader und 100% abzweigender Weichenstellung
  • Accessory-Begriff 0 definiert die gerade Weichenstellung und Begriff 1 die abzweigende Weichenstellung
  • Für jede Weiche wird in Rocrail eine sichere Weichenlage (Vorzugslage) festgelegt
  • Bei Vorzugslage ist das jeweilige Relais zur Herzstückpolarisierung in Ruhestellung (Relais-LED am Herz8Addon ist ausgeschaltet)

Da man im BiDiB-Wizard für Ports, Makros und Accessories eigene aussagekräftige Name vergeben kann, halte ich mich auch diesbezüglich an einen selbstdefinierten "Standard":

  • Servos: Prefix "SV_" + Weichenname, also z.B. "SV_W41"
  • Rückmelder der Weichenlage: Prefix "RM_" + Weichenname + Suffix "_G" bzw. "_A" für Gerade bzw. Abzweig, also z.B. "RM_W41_G" bzw. "RM_W41_A"
  • Ausgänge zur Herzstückpolarisierung: Prefix "Herz_" + Weichenname, also z.B. "Herz_W41"
  • Makros: Weichenname + Suffix "_G" bzw. "_A" für Gerade bzw. Abzweig, also z.B. "W41_G" bzw. "W41_A"
  • Accessories: erhalten lediglich den Weichennamen, also z.B. "W41"
    • :!: Anmerkung: Unbedingt Leerzeichen in den Namen vermeiden!

Normalweichen und Bogenweichen

Die folgende beispielhafte Konfiguration der Weiche W41 kann auch 1:1 auf andere mittels Servo betätigte Modellbahnobjekte, wie z.B. Gleisperren, Lokschuppentore, Wasserkräne usw. übertragen werden. Der Fantasie des Modellbahners sind dabei keine Grenzen gesetzt. ;-)

  • Die Vorzugslage der Weiche W41 wurde in Rocrail als "Abzweigend" definiert.

Schritt 1: Konfiguration im BiDiB-Wizard

Schritt 1a: Definieren der Servo-Parameter im Servoausgänge-Tab der OneControl


  • Wie zu sehen ist, wurde das Servo für die Weiche W41 an Port 03 angeschlossen und der Anschluss entsprechend meiner Namenskonvention benannt
  • Als Stellgeschwindigkeit für Weichen finde ich den Wert 8 optimal. Kleinere Werte führen zu einer schnelleren Servobewegung, größere Werte verlangsamen den Stellvorgang
  • Die Justierwerte für unten und oben sind von sehr vielen Faktoren abhängig und müssen für jede Weiche experimentell ermittelt werden. Zum Finden der passenden Werte bietet sich der Zielwert-Schieber an. Bei 0% soll sich die Weiche mit fest anliegender Zunge in gerader Stellung befinden und bei 100% soll ein Schienenfahrzeug die Weiche sicher abzweigend befahren können
    • :!: Tipp: Es wird empfohlen, den Stellweg des Servos hier in diesem Menü durch die Justierwerte einzugrenzen und nicht später bei den Makros durch Limitieren der %-Werte des Stellwinkels
  • Mit dem Zielwert-Schieber lässt sich der durch die Justierwerte eingegrenzte Stellweg des Servos jederzeit kontrollieren

Schritt 1b: Definition des Ports für die Herzstückpolarisierung


  • Das Relais zur Herzstückpolarisierung der Weiche W41 wurde am Port 19 angeschlossen und der Anschluss entsprechend meiner Namenskonvention benannt
  • Alle weiteren Felder können auf den Standardwerten belassen werden
  • Unter Status sieht man den aktuellen Zustand des Ausgangs
  • Mit der >-Taste ganz rechts kann man den Ausgang toggeln (jedes Anklicken ändert den Zustand des Ausgangs)
    • :!: Anmerkung: Hier wird ein Herz8Addon verwendet, welches über eine selbstgebaute Interface-Platine an einem Power-Ausgang angeschlossen ist. Deshalb werden hier Einzel-Schaltausgänge verwendet und keine Schaltausgang-Paare
    • :!: :!: :!: Vorsicht: Ein Herz8Addon niemals direkt an einen Power-Ausgang anschließen!

Schritt 1c: Definieren der GPIO-Ports für die Lage-Rückmeldungen der Weiche


  • Dieses Bild zeigt, dass die beiden Rückmelder der Weiche W41 an den OneControl-Ports 30 und 31 angeschlossen sind. Natürlich wurden auch sie entsprechend meiner Namenskonvention benannt
  • Das I/O Verhalten muss für TLE4905 Sensoren, die auf einer LCsensor-Platine verbaut sind, auf Aktiv Low eingestellt sein
  • Am Status-Symbol ganz rechts lässt sich der aktuelle Status des Eingangs erkennen. Daraus ist ersichtlich, dass die Weiche W41 momentan auf Abzweig steht

Schritt 1d: Makrodefinitionen für gerade und abzweigende Weichenlage erstellen


Das Makro W41_G zeigt die Befehlsfolge, welche abgearbeitet wird, sobald Rocrail den Befehl zum Stellen der Weiche W41 für die gerade Fahrtrichtung an die OneControl sendet. Es ist sehr kurz und besteht nur aus 3 Zeilen (= 3 Befehle):

  • Zu allererst wird das gegenteilige Makro W41_A (welches die Weiche W41 auf Abzweig stellt) angehalten, sollte es aus irgendeinem Grund ausgeführt werden. Dies ist eine reine Sicherheitsmaßnahme weil dieser Fall höchst wahrscheinlich nie eintreten wird. Ist aber gute Programmiertechnik :-D
  • Im nächsten Schritt wird dann unmittelbar darauf dem Servo der Weiche W41 der Befehl erteilt, zur Position 0% zu drehen. Dies entspricht – wie zuvor definiert – der geraden Weichenstellung. Wie ersichtlich gibt es auch für die Ports Drop-down Menüs – man muss sich also keine Portnummern merken, sondern kann sie bequem aufgrund der selbst vergebenen Namen auswählen
  • Zuletzt wird noch nach einer kurzen Wartezeit von 50 Ticks (1 Tick = 20 ms) das entsprechende Relais eingeschaltet und somit das Herzstück der Weiche W41 korrekt polarisiert


In analoger Weise wird das Makro W41_A für die abzweigende Weichenlage erstellt:

  • Zuerst wird das Makro W41_G angehalten
  • Dann wird dem Servo SV_W41 der Befehl erteilt, zur Position 100% zu drehen
  • Abschließend wird nach 1 s das Relais ausgeschaltet, um die korrekte Polarisierung des Herzstücks für eine abzweigende Fahrt über die Weiche W41 herzustellen

Schritt 1e: Zusammenfassen der beiden Makros zu einem Accessory


Es wird nun ein Accessory W41 angelegt. Als Begriff 0 wird das Makro für die gerade Weichenstellung definiert und als Begriff 1 jenes für die abzweigende Weichenstellung. Mittels >-Tasten ganz rechts können die beiden Begriffe auf ihre korrekte Funktionsweise überprüft werden. Die Nummer dieses Accessories notiert man sich nun, wir werden sie anschließend bei der Konfiguration in Rocrail noch brauchen.

Funktioniert alles wie gewünscht, ist die Konfiguration im BiDiB-Wizard abgeschlossen und nun geht es in Rocrail weiter …

Schritt 2: Konfiguration in Rocrail

Schritt 2a: Dezimale UID der OneControl bestimmen

:!: Voraussetzung: Es muss bereits eine BiDiB-Zentrale eingerichtet sein mit selbstgewählter Schnittstellenkennung (in meinem Fall "GBM").
Um auf Baugruppen am BiDiB-Bus zugreifen zu können, ist die Unique ID (UID) erforderlich, welche auf dem Aufkleber der Baugruppe in hexadezimaler Form aufgedruckt ist.
Im Schnittstellen-Tab der Baugruppe benötigt Rocrail die UID jedoch in dezimaler Schreibweise. Man muss die Umrechnung aber nicht selbst vornehmen, Rocrail hat dieses Feature im BiDiB-Untermenü des Programmieren-Tab bereits integriert. Hier als "Eindeutige Kennung (Knoten-ID)" bezeichnet. :!: Anmerkung: Durch die Umrechnung können sich auch negative Werte ergeben.
Auch in diesem Menü kann man den Baugruppen zur besseren Übersicht selbst definierte Usernamen zuweisen.

Schritt 2b: Konfigurieren der Weichen-Schnittstelle

  • In den ersten beiden Zeilen sind die Werte Schnittstellenkennung, Knoten-ID und UID-Name so einzutragen, wie im Schritt 2a herausgefunden bzw. eingegeben wurden
  • Als Adresse wird nun die Accessory-Nummer + 1 eingetragen. :!: Erklärung: Warum + 1? Weil BiDiB bei 0 zu zählen beginnt und Rocrail bei 1
  • Als Port den Wert 0 eintragen. Dadurch erkennt Rocrail dass es sich um FADA-Adressierung handelt
  • Einzel-Ausgang ist anzuhaken
  • :!: Unbedingt Zubehör anhaken :!: Erklärung: Man ist zwar verleitet, Zubehör nicht auszuwählen und Servo zu selektieren, da man die Weiche ja mittels Servo betätigt. Das ist in diesem Fall jedoch falsch, da Rocrail dann nur die reinen Servobefehle sendet. Die Herzstückpolarisation des Accessory würde in diesem Fall nicht ausgeführt werden. Accessory bedeutet auf Deutsch Zubehör. Wird daher Zubehör angehakt, ruft Rocrail auch das Accessory auf und da in den Makros des Accessory die Servobefehle und die Befehle zur Herzstückpolarisierung definiert sind, wird auch beides ausgeführt

Schritt 2c: Anlegen der Weichen-Rückmelder

  • Jetzt werden noch die beiden Rückmelder der Weiche im Gleisplan angelegt. Es macht eventuell Sinn, diese auf einer eigenen Ebene anzulegen. Schnittstellenkennung, UID-Name und Knoten-ID sind wie schon im Schritt 2b in die entsprechenden Felder des Schnittstellen-Tab einzutragen
  • Als Adresse wird wieder die Nummer des GPIO-Ports + 1 eingetragen. RM_W41_G ist an GPIO-Port 30 angeschlossen, die Adresse ist daher 31. Analog ist auch der Rückmelder RM_W41_A an Port 31 mit Adresse 32 anzulegen
  • Als Typ jeweils Sensor auswählen
  • Den beiden Rückmeldern im Allgemein-Tab ihrer Eigenschaften Kennungen gemäß der Namenskonvention zuweisen

Schritt 2d: Eintragen der Weichen-Rückmelder

  • Im Verkabelungs-Tab der Weichen-Eigenschaften die beiden Rückmelder wie in dem Screenshot gezeigt eintragen


Fertig. :-)

Weichenrückmeldung --- wozu?

Wenn im Ansicht-Tab von Rocrail "Zeige anstehende Weichen" aktiviert ist, dann wird der Hintergrund einer Weiche rot dargestellt, wenn die befohlene Weichenstellung (ersichtlich am Gleisplan) mit der aktuell zurückgemeldeten Weichenstellung der Anlage nicht übereinstimmt. Dies habe ich im folgenden Screenshot bei der Weiche W31 simuliert. Wie zu erkennen ist, steht die Weiche W31 auf Geradeausfahrt, der Rückmelder jedoch auf Abzweig.

Dreiwegweichen

Dreiwegweichen werden in der Regel von 2 Servos angetrieben und daher gilt das für Normal- und Bogenweichen beschriebene Verfahren. Es sind nur 2 Weichen entsprechend zu konfigurieren. Obwohl Rocrail ein eigenes Gleissymbol für Dreiwegweichen bereitstellt, verwende ich jedoch 2 unmittelbar hintereinander angeordnete Normalweichensymbole.

Einfache und Doppelte Kreuzungsweichen (EKWs und DKWs)


... Seite in Arbeit ...
1)
Sollte sich jemand auch so ein Interface bauen, so muss das in eigener Verantwortung geschehen. Ich übernehme dafür keine Haftung.
userpages/signalmast88/weichen-einrichten-de.txt · Last modified: 2022/05/15 20:38 by signalmast88