SPROG und JMRI

Aus Kleinbahnwiki
Zur Navigation springen Zur Suche springen

Navigation: DCC

Mit der Kombination aus SPROG (Hardware) und JMRI (Software) kann alles rund um DCC elegant per Computer gesteuert werden. Dazu gehört die bequeme Programmierung von Dekodern, aber eine ganze Anlage könnte damit ebenfalls gesteuert werden.

Einführung

SPROG ist ein kleines Stückchen Hardware, laut Hersteller der Dekoder-Programmierer: SPROG

JMRI ist eine Software, hier geht es um die Komponente DecoderPro zur Dekoderprogrammierung: JMRI

Die beiden sind eine sehr gute Kombination und erlauben so ziemlich alle Einstellungen, die für den Fahrbetrieb wichtig sind, dazu gehören z.B. auch Geschwindigkeitskurven oder Speed Matching. Spezielle Dekoder werden dennoch spezielle Technik erfordern, z.B. auch wenn es um Soundfiles geht.

Konfiguration der Hardware in JMRI

SPROG

Tödlich für den SPROG ist beim Anschluss das Verwechseln von Ein- und Ausgang - also sehr sorgfältig anschließen und bei der Gelegenheit + und - nicht vertauschen.

SPROG fertig angeschlossen

Unter MacOS Catalina waren keine Treiber erforderlich, das Gerät wurde sofort erkannt. Sehr hilfreich war dennoch die folgende Zeile aus der Anleitung:

 while : ;do clear;ls -lt /dev|head;i=$((i+1));echo $i;sleep 1;done

Dies wird auf der Kommandozeile ausgeführt und danach wird die USB-Verbindung mehrfach getrennt und wiederhergestellt und dabei beobachtet, was sich an der Anzeige ändert. Bei mir erschienen und verschwanden dann cu.usbmodem3101 und tty.usbmodem3101. cu.usbmodem3101 ist dabei das, was bei JMRI als Verbindung eingetragen werden muss:

Einstellungen in JMRI für SPROG

Damit sollte alles erledigt sein und es kann mit JMRI per SPROG auf die Loks zugegriffen werden. Den Gleisanschluss führt man zweckmäßigerweise auf ein kurzes Testgleis oder einen Rollenprüfstand.

Digikeijs DR5000

Die Digikeijs-Zentrale kann auf zwei verschiedene Arten mit JMRI verbunden werden, per Ethernet oder per USB.

Verbindung per USB

Für die Verbindung der Zentrale über USB ist es wichtig, die richtige Schnittstelle herauszufinden. Dazu kann das gleiche Verfahren wie unter SPROG beschrieben verwendet werden. Die Zentrale meldet sich dabei mit drei verschiedenen Schnittstellen, über jeweils eine wird das Protokoll LocoNet, Dr.Command und XpressNet gesprochen. Bei mir endet die Verbindung für LocoNet mit einer "11", die Verbindung für Dr.Command mit einer "13" und die Verbindung für XpressNet mit einer "15". Für unseren Anwendungsfall wäre also die Verbindung mit einer "11" am Ende die richtige.

Verbindungseinstellungen Digikeijs USB

Als Einstellungen sollten folgende Werte gesetzt werden:

  • Systemhersteller: Digitrax
  • Systemverbindung: LocoNet LocoBuffer-USB
  • Serielle Schnittstelle: Die oben angesprochene Verbindung
  • Command station type: Beliebig

Verbindung per Ethernet

Bei dieser Verbindungsart wird die Zentrale über den mit 100baseT LAN gekennzeichneten Anschluss mit dem gleichen Netzwerk verbunden wie der Rechner, auf dem JMRI läuft.

Da JMRI keine dynamische Erkennung der Adresse der Zentrale vornehmen kann, bietet es sich an, der Zentrale eine feste IP-Adresse im eigenen Router zuzuweisen.

Damit die Verbindung mit JMRI über Netzwerk klappt, muss im Konfigurationsprogramm der Zentrale unter DR5000-LAN Properties das von der Zentrale verwendete Protokoll (DR5000 Protocol) auf "LocoNet(R) over TCP/IP LBServer" eingestellt werden. Der Port kann auf dem Standard "5550" bleiben, man sollte ihn sich aber für die spätere Konfiguration von JMRI merken!

Konfiguration Digikeijs Ethernet

Nun kann in den Einstellungen von JMRI unter Verbindungen ein neuer Eintrag mit dem Plus-Zeichen oben rechts angelegt werden.

Verbindungseinstellungen Digikeijs Ethernet

Dabei sind folgende Einstellungen zu machen:

  • Systemhersteller: Digitrax
  • Systemverbindung: LocoNet über TCP
  • IP-Adresse/Hostname: Adresse der Zentrale (aus dem Router oder dem Konfigurationsprogramm ablesen)
  • Command station type: beliebige Auswahl (bei mir DCS240)
  • Bei Additional Connection Settings: TCP/UDP-Port: Nummer des Ports (aus dem Konfigurationsprogramm abgelesen, Standard 5550)

Nach einem Neustart von DecoderPro sollte die Zentrale mit dem Programm verbunden sein. Das kann man einfach ausprobieren, indem man mit dem Knopf Aus oben in der Mitte den Gleisausgang der Zentrale aus- und wieder anschaltet.

Uhlenbrock Intellibox II oder Basic

Die Intellibox II oder Basic haben eine integrierte USB-Schnittstelle, über die sie mit JMRI angesprochen werden können. Die genaue Bezeichnung der verwendeten Schnittstelle kann mit dem unter SPROG beschriebenen Verfahren bestimmt werden.

Konfiguration Intellibox USB

Folgende Einstellungen sollten verwendet werden:

  • Systemhersteller: Uhlenbrock
  • Systemverbindung: Intellibox-II (USB)
  • Serielle Schnittstelle: Siehe oben

Bedienung von JMRI

Lok anlegen

  • Lok aufgleisen, z.B. auf dem Rollenprüfstand
  • "New Loco"
  • Entweder die Liste hilft weiter oder "Typ aus Decoder auslesen":
  • Dekoderauswahl
  • Ich tippe mal auf MX621N version 28+ ...
  • Lange Adresse ist ok - speichern - fertig; die Lok erscheint in der Liste.

V23 auf dem Rollenprüfstand

Wenn die Verbindung SPROG zu JMRI sicher steht und die Lok nicht erkannt wird, dann deutet das auf ein ernstes Problem mit dem Dekoder hin - er ist dann wahrscheinlich schlicht kaputt.

Daten speichern

Alle Parameter aller erfassten Loks sind in JMRI gespeichert. Damit landen sie im Backup des Rechners, können exportiert oder ausgedruckt werden. Man kann damit auch sehr schön verschiedene Varianten ausprobieren und wieder auf einen vorherigen Stand zurückgreifen - oder im Falle eines Resets des Dekoders wiederherstellen.

Bei einer neu erfassten Lok sollte man sich die Zeit nehmen, im Programmierfenster der Lok "Auslesen aller Seiten" durchzuführen.

JMRI: Alle Seiten auslesen

Das kann ziemlich lange dauern, bis alle CVs ausgelesen worden sind, dafür hat man aber einen sauberen Datenbestand in JMRI. Künftig kann man dann nur noch mit den Änderungen arbeiten. Danach können alle diese Daten in JMRI gespeichert und dann weiter genutzt werden oder auch als XML-Datei exportiert werden, die dann JMRI auch wieder einlesen kann: JMRI-Datensatz der V 23

Menschenlesbar kann das auch ausgedruckt oder als PDF gespeichert werden: JMRI-Daten der V 23

Fahren

Nachdem man eine Lok ausgewählt hat, ist es ganz einfach, diese zu fahren:

Fahrregler in JMRI

Programmieren

Hier kann JMRI seine ganzen Stärken ausspielen, das Programmieren ist damit wesentlich komfortabler als die Programmierung mit Hilfe einer Zentrale.

Programmierfenster in JMRI

Arbeiten auf dem Rollenprüfstand

Auf dem Rollenprüfstand können einige Dinge erledigt werden:

  • Lok testen, ob sie in beiden Richtungen überhaupt störungsfrei rollen kann
  • Lok einfahren / warm fahren
  • Lokadresse programmieren
  • Lichtfunktionen programmieren
  • Soundfunktionen programmieren
  • Tastaturmapping programmieren

Lok testen

Im Grunde ist das weiter oben im Abschnitt "Fahren" schon beschrieben: Man öffnet einen Fahrregler und legt los:

Fahrregler in JMRI

Damit kann man die grundsätzlichen Funktionen schon einmal ausprobieren: Vorwärts fahren, rückwärts fahren, ggf. Licht und Sound. Wenn hier nichts klappt, hat man ein ernsthaftes Problem, wenn die Lok im Prinzip schon einmal erkannt worden ist.

Lok einfahren

Es gibt Stimmen, die sagen, es sei hilfreich, eine neue Lok "einzufahren" - in beide Richtungen einmal für eine Zeit lang, vielleicht 10 min, bei mittlerer Geschwindigkeit laufen zu lassen. Manche Lok läuft danach tatsächlich runder.

Vor Programmierarbeiten, z.B. für Verzögerungseinstellungen oder Speed Matching ist ein Warmfahren auf jeden Fall sinnvoll.

Lokadresse programmieren

Eine Lokadresse zu programmieren geht ganz einfach, das geht schon im Fahrregler, wie oben zu sehen ist.

Lichtfunktionen programmieren

Soundfunktionen programmieren

Tastaturmapping programmieren

Arbeiten auf der Teststrecke

Manche Arbeiten gehen auf dem Rollenprüfstand nicht wirklich, sondern brauchen eine Teststrecke, ein paar Meter Gleis sind da schon hilfreich; man muss einfach sehen, wie sich die Lok verhält, mit und ohne Last, das geht nicht auf dem Rollenprüfstand:

  • Höchstgeschwindigkeit programmieren
  • Anfahr- und Bremsverzögerung programmieren
  • Geschwindigkeitskurve programmieren
  • Speed Matching
  • Consists
  • Dekoder-Feintuning

Messwagen

Für verschiedene Tätigkeiten wie Höchstgeschwindigkeit programmieren oder Speed Matching ist ein Messwerkzeug sehr hilfreich. Auf dem Markt gibt es verschiedene Angebote. Hier genutzt wird das PIKO-Produkt.

PIKO-Messwagen

Hier gezeigt wird er mit einer Bildschirmdarstellung, die speziell für das Programmieren von Geschwindigkeitskurven und Speed Matching gut geeignet ist: Die Geschwindigkeit auf's Vorbild umgerechnet - hier mit mp/h für US-Loks - und der DCC-Fahrstufe. Man muss aber nicht neben der Teststrecke dem Messwagen hinterherrennen, da der Wagen auch über WLAN verfügt. Damit bekommt man diese ganzen Daten auch bequem in der App auf dem Smartphone präsentiert.

Nebenbei bemerkt: Auf einer Seite wurde die klassische Bügelkupplung durch eine Kadee-Kupplung für NEM-Schacht ersetzt.

Startfahrstufe programmieren

Jede Lok hat ein anderes Anfahrverhalten - dies hängt stark von der mechanischen Konstruktion und deren Widerständen ab. Daher wird als Erstes der Dekoder so programmiert, dass die Lok (und damit jede Lok!) sich bei derselben Fahrstufe mit ihrer technisch bedingten Minimalgeschwindigkeit in Bewegung setzt. Man kann nun diskutieren, bei welcher Fahrstufe dies der Fall sein soll. Naheliegend ist sicher Fahrstufe 1; aber auch Fahrstufe 2 ist nicht verkehrt, dann kann ein Sounddecoder bei Fahrstufe 1 schon mal loslegen mit Krach machen.

Höchstgeschwindigkeit programmieren

Hiermit kann die vorbildgerechte Höchstgeschwindigkeit programmiert werden - das empfiehlt sich sehr. Wenn keine Consists geplant sind, dann kann für jedes Triebfahrzeug die vorbildgerechte Höchstgeschwindigkeit einprogrammiert werden. Im Falle von Consists (z.B. Doppeltraktionen bei DB oder besonders bei US-Betrieb) ist es sinnvoll, für das Speed Matching von vornherein alle Triebfahrzeuge mit derselben einprogrammierten Höchstgeschwindigkeit zu versehen. Allerdings mag es unpraktisch sein, unabhängig von der Art des Triebfahrzeugs allen Triebfahrzeugen dieselbe Höchstgeschwindigkeit zu verpassen; besser ist es möglicherweise, verschiedene Klassen zu definieren, z.B. Streckenlok, Rangierlok, Dampflok, usw. - wobei natürlich Consists dann nur noch innerhalb einer Klasse gebildet werden können.

Anfahr- und Bremsverzögerung programmieren

Hierzu gibt es die unterschiedlichsten Ansichten: Manche mögen das gar nicht, manche nur eine Anfahrverzögerung, usw. Ich persönlich mag eine recht ausgeprägte Anfahr- und Bremsverzögerung zur Simulation der Masse des Triebfahrzeugs.

Geschwindigkeitskurve programmieren

Naheliegend ist sicherlich ein linearer Verlauf, wobei allerdings gar nicht klar ist, ob die Zuordnung zwischen Drehwinkel am FRED und DCC-Fahrstufe eine lineare Funktion ist. Möglicherweise findet man einen nichtlinearen Verlauf angenehmer - feinfühliges Regeln bei niedrigen Geschwindigkeiten zum Rangieren, stärkere Zunahme im Bereich der Höchstgeschwindigkeit.

Speed Matching

Unter Speed Matching versteht man, zwei oder mehr Triebfahrzeuge so aufeinander abzustimmen, dass sie bei allen DCC-Fahrstufen gleich schnell fahren - das wird vor allem bei Doppeltraktion und Schubbetrieb gebraucht. Das ist damit nicht direkt ein typisches Kleinbahnthema, obwohl wir dort auch schon aus fahrplantechnischen Gründen solche Fahrten hatten:

Mehrfachtraktion

Wirklich wichtig ist dieses Thema vor allem für die US-Bahner, da sind Consists aus mehreren Lokomotiven fast die Regel. Natürlich kann man das einfach nach Augenmaß machen - zwei Triebfahrzeuge auf's Gleis stellen und schauen, ob sie gleichschnell fahren und wenn nicht, nachjustieren. Für US-Betrieb ist das zwar auch machbar, aber nicht ideal; dort möchte man im Grunde die Möglichkeit haben, jedes beliebige Triebfahrzeug mit jedem beliebigen anderen Triebfahrzeug (ok, vielleicht nicht gerade mit einem Track Mobile) zu einem Consist kombinieren zu können. Für die Justage nach Augenmaß müsste dann ein Triebfahrzeug als Referenz dienen, nach der alle anderen eingestellt werden. Sinnvoller ist es aber, sich an absoluten Werten zu orientieren, die jedes Triebfahrzeug erfüllen muss. Dazu ist irgendeine Form der Geschwindigkeitsmessung erforderlich. Das können Längenmarkierungen an der Teststrecke sein und eine Stoppuhr dazu - oder auch stationäre oder mobile Messgeräte.

Consists

Dekoder-Feintuning

Das Feintuning könnte/müsste vielleicht als erstes erfolgen, bevor man die ganzen anderen Einstellungen trifft.

Adresse an FREDi mit JMRI und Digikeijs DR5000 zuweisen

Zum Steuern der Lokomotiven wird im FREMO ein FREDi benutzt. Es handelt sich dabei um einen Handregler, der nur eine einzige DCC-Adresse steuern kann. Diese Adresse muss ihm natürlich einmal zugewiesen. Dies kann unter anderem auch mit JMRI geschehen. Da sich die Digikeijs-Zentrale hier etwas speziell verhält, möchte ich das Verfahren, das sich bei mir als tauglich erwiesen hat, hier kurz vorstellen.

Um dem FREDI mit JMRI und der Digikeijs-Zentrale eine Adresse zuzuweisen, wird die LNSV2-Programmierung verwendet. Damit das funktioniert, darf sich der FREDI nicht im Dispatch-Modus (es leuchtet nur die rote LED) befinden.

FREDi im Dispatch-Modus

FREDi in den normalen Modus versetzen

Der FREDi muss zuerst in den normalen Modus versetzt werden. Dazu wird zuerst das Programm DecoderPro von JMRI aufgerufen. Dann wird mit dem Menüpunkt Handlungen/Neuer Fahrregler ein neues Reglerfenster aufgerufen.

Fahrregler in JMRI

In diesem Fenster wird rechts unten bei Adressetafel eine beliebige Adresse angegeben und mit Setze übernommen. Anschließend wird diese Adresse wieder mit Abgeben zum Zuweisen freigegeben.

Auf dem an die Zentrale angeschlossenen FREDi wird dann zuerst die Shift-Taste gedrückt und gehalten. Während die Shift-Taste noch gedrückt gehalten wird, muss dann die rote Stop-Taste betätigt werden. Nun können beide Tasten wieder losgelassen werden. Die drei LED des FREDi sollten nun für ein paar Sekunden blinken und dann nur noch eine der beiden grünen LED leuchten.

FREDi im normalen Modus

Der FREDi ist nun im normalen Betriebsmodus. Allerdings wurde ihm so nur die Adresse "0" zugewiesen und nicht die vorher im Fahrregler ausgewählte Adresse. Dies geschieht nun über LNSV2-Programmierung in DecoderPro.

Neuen Eintrag für FREDi in DecoderPro anlegen

Damit ein FREDi mit DecoderPro programmiert werden kann, muss dafür zuerst ein Eintrag in der Datenbank angelegt werden. Dazu dient der Knopf Neue Lok oben links im Hauptfenster von DecoderPro. In dem neuen Fenster wählt man aus der Liste der Decoder Public-domain and DIY/FREDi/FREDi using LNSV2 aus.

Neuer Eintrag für FREDi in DecoderPro

In der rechten Hälfte des Fenster vergibt man unter Lokpark ID einen Namen für den FREDi. Am besten enthält dieser Name auch gleich die hexadezimale ID des FREDi, die man üblicherweise auf einem Aufkleber finden kann, der auf den Prozessor des FREDi geklebt ist.

Diese hexadezimale Adresse muss nun in eine dezimale Darstellung umgerechnet werden und wird dann bei Aktive Adresse' eingetragen.

Anschließend muss der neu angelegte Eintrag durch Drücken des Knopfes Speichere gespeichert und das Fenster geschlossen werden. Ein direktes Programmieren des FREDi aus dem Fenster heraus funktioniert nicht!

Zuweisen einer Adresse an einen FREDi mit JMRI

Um dem FREDi eine Adresse zuzuweisen, muss dieser sich im normalen Betriebsmodus (eine grüne LED leuchtet) befinden.

Zuerst wird der vorher erstellte Eintrag für den FREDi im Hauptfenster ausgewählt und die Programmierung mit dem Knopf Programmieren unten rechts gestartet. Als Modus sollte vorher Betriebsgleis ausgewählt werden.

In dem neu geöffneten Fenster wechselt man auf den Reiter Erweitert. Zuerst sollte mit einem Druck auf den Knopf Alle Seiten auslesen unten im Fenster die Konfiguration des FREDi eingelesen werden.

Einstellungen des FREDi

Bei Adresse der zugewiesenen Lok steht dann eine "0", wenn der FREDi nach dem weiter oben beschriebenen Verfahren in den normalen Zustand versetzt wurde.

Nun kann in diesem Feld die neue gewünschte Adresse eingetragen werden. Bei der Gelegenheit kann, wenn gewünscht, im Feld Anzahl der Fahrstufen auch gleich die Anzahl der Geschwindigkeitsschritte eingetragen werden. Üblicherweise sind das entweder 28 Fahrstufen oder 128 Fahrstufen'.

Anschließend können die neuen Werte mit dem Knopf Änderungen dieser Seite schreiben in den FREDi übernommen werden.

Damit die Änderungen im FREDi aktiv werden, muss dieser nun einmal vom LocoNet getrennt und dann wieder neu verbunden werden! Der FREDi kann nun normal zum Steuern der programmierten Adresse verwendet werden.