Fahrpult mit zwei Fahrreglern für XpressNet

Einleitung

Fertig montiert sieht das Ganze dann so aus.

Ich habe ein Fahrpult für den XpressNet-Bus entwickelt, das mit zwei Fahrreglern ausgestattet ist.

Seit vielen Jahren steuere ich die Lokomotiven auf meinen Ausstellungsplatten mit der Roco Multimaus. Der Rest wird mit Rocrail gesteuert. Einziger Nachteil: möchte man mehrere Loks gleichzeitig fahren lassen, braucht man entweder mehrere Multimäuse oder gute Nerven, um zwischen den Loks hin- und her zu schalten.

Grundsätzlich ist das Fahrpult bewusst einfach gehalten. Es soll nicht in Konkurrenz zu ausgewachsenen Digitalzentralen treten.

Motto: Lok auswählen, Lok steuern.

 

Übersicht

Funktionalität

  • 2 individuelle Fahrregler mit Endlos-Drehregler
  • Konfiguration auf Micro-SD-Karte
    • Tastenbelegung
    • Lokomotiven
  • Tastenbelegung frei belegbar
  • 6 beleuchtete Funktionstasten und Licht pro Fahrpulthälfte
  • 5 Geschwindigkeitstasten pro Fahrpulthälfte
  • 4-zeiliges, beleuchtetes LCD-Display

Anschluss

Das Fahrpult wird an den XpressNet-Bus angeschlossen. Die beiden folgenden Abbildungen zeigen den Anschluss des Fahrpultes an die Roco-Zentrale 10764 und an die Digikeijs-Zentrale DR5000.

Digikeijs DR5000Roco 10764

 

Bedienung

Die Bedienung ist intuitiv. Für beide Seiten gilt das gleiche Bedienkonzept. Die nachfolgende Grafik beschreibt kurz die Funktion der einzelnen Tasten:

Display

Das Display zeigt im laufenden Betrieb folgende Informationen an:
Zeile 1: Name der gesteuerten Lok
Zeile 2: Adresse der Lok
Zeile 3: Fahrstufe und Fahrtrichtung
Zeile 4: Status der Funktionstasten und des Lichts (Die Nummer einer eingeschalteten Funktion wird angezeigt)

Gleisspannung, Not-Aus

Über die Tasten “Fahrspannung ein” und “Fahrspannung aus” kann die Gleisspannung ein- oder ausgeschaltet werden. Sollte also einmal ein Zug außer Kontrolle geraten, kann die rote Taste gedrückt werden und die Gleisspannung wird abgeschaltet. Ein Druck auf den grünen Taster schaltet die Spannung wieder ein.

Lok-Auswahl

Für die Lokauswahl ist neben dem großen Fahrregler ein Taster vorhanden. Ein Druck auf den Taster ruft die Lokliste auf und man kann aus der Liste die gewünschte Lok auswählen:

Das Display zeigt zunächst die ersten drei Einträge der Lokliste an. Der Pfeil markiert hierbei den aktuell gewählten Eintrag. Ein erneuter Druck auf die Taste wählt die markierte Lok aus und übernimmt sie in die Steuerung.

Die Reihenfolge der Loks ist die gleiche, wie sie auch in der Konfigurationsdatei angeordnet sind.

Die Buchstaben “L” und “R” markieren diejenigen Loknamen, der bereits auf der linken oder rechten Fahrpultseite aktiv sind. In diesem Beispiel wurde also die Lok “G7 Infraleuna” auf der linken Seite gesteuert und die Lok “BR212 blau” auf der rechten Seite.

Loks, die mit einem “*” markiert sind, wurden quasi geparkt. Das heisst, dass die Lok bereits gesteuert wurde und somit Geschwindigkeits- und Funktionstasteneinstellungen gespeichert sind und bei erneutem Aufruf der Lok wiederhergestellt werden.

Möchte man Gastloks steuern, kann man ein oder mehrere Loks in der Konfigurationsdatei anlegen, die die Adresse 0 besitzen. Bei Auswahl einer Lok mit der Adresse 0 wird anschließend die Adresse abgefragt. Diese lässt sich dann mit Hilfe des Drehknopfes einstellen.

Geschwindigkeitsregelung

Die hier implementierte Geschwindigkeitsregelung unterscheidet sich radikal vom Bedienkonzept z.B. der Multimaus.

Während bei der Multimaus etwa 270° Drehwinkel für beide Fahrtrichtungen zusammen zur Verfügung stehen, kann bei diesem Fahrpult quasi unbegrenzt gedreht werden. Eine Drehbewegung im Uhrzeigersinn erhöht die Geschwindigkeit, entgegen des Uhrzeigersinns verringert die Geschwindigkeit. Dies geschieht natürlich in gewissen Grenzen: die Geschwindigkeit kann nicht kleiner als 0 werden. Ist diese Geschwindigkeit (also Stop) erreicht, ändert sich der Wert nicht mehr. Umgekehrt kann der Wert nicht größer als 127 werden (entsprechend 128 Fahrstufen). Zwischen diesen beiden Werten kann also feinfühlig geregelt werden.

Zusätzlich dazu gibt es noch 5 Fahrstufentasten. Denn seien wir ehrlich: In der Regel fährt meine Lok entweder langsam, zügig oder mit Vollgas. Ob ich Fahrstufe 56 oder 58 einstelle, ist an der Lok in der Regel nicht erkennbar. Daher kann ich über die Fahrstufentasten die folgenden Fahrstufen abrufen: 0% (also Stop), 20%, 50%, 80% und 100%. Ausgehend von dieser per Taste eingestellten Fahrstufe kann ich natürlich wieder mit dem Regler schneller oder langsamer einstellen. Das Anfahr- und Bremsverhalten wird hierbei über den Dekoder der Lok gesteuert.

Fahrtrichtungsumschaltung

Die Fahrtrichtungsumschaltung erfolgt durch Druck auf den Fahrregler-Knopf.

Funktionstasten

Die Funktionstasten sind beleuchtet und leuchten, wenn die Funktion aktiviert ist. Es stehen die Funktionen F1 bis F6 und die Beleuchtung (F0) zur Verfügung.

Menü-Taste

Die Menü-Taste ist für spätere Erweiterungen vorgesehen und wird derzeit noch nicht verwendet.

 

Bau

Der Bau des Fahrpults umfasst das Bestücken der Shield-Platine (diese wird anschließend auf ein Arduino Mega-Board aufgesteckt) und dem Bestücken der Tasten-Platine. Anschließend erfolgt die Verbindung der beiden Platinen und der Einbau in ein passendes Gehäuse.

Platinenbestückung

Als Bestellhilfe habe ich eine Artikelliste bei Reichelt hinterlegt. Leider musste ich feststellen, dass es in letzter Zeit immer öfter vorkommt, dass bestimmte Artikel recht schnell wieder aus dem Programm verschwinden. Dies war früher mal anders. Da konnte man jahrzehntelang einen Artikel nachbestellen. So traf es die von mir ursprünglich vorgesehenen Steckverbinder in 4-, 5- und 7-poliger Ausführung. Stattdessen kann man nun einen 32- oder 64-poligen Verbinder entsprechend ablängen.

Shield

Die Shield-Platine wird überwiegend mit Stiftleisten und sonstigen Steckverbindern bestückt. Als SMD-Bauteile sind das Schnittstellen-IC MAX485 sowie Widerstände, LEDs und Kondensatoren zu bestücken.

 

 

 

 

 

 

Tastenplatine

Auf der Tastenplatine werden überwiegend die zum Teil beleuchteten Tasten bestückt.

 

 

 

 

 

 

 

Eine ausführliche Baubeschreibung folgt in Kürze in einem separaten Beitrag.

Einbau in ein Gehäuse

Der Einbau erfolgt in ein Gehäuse von OKW . Verwendung fand ein Gehäuse des Typs “Protec”: B4422107 PROTEC 220, Ausführung 1. Natürlich kann auch jedes andere passende Gehäuse genutzt werden.

Als Bohrschablone nutzte ich eine unbestückte Platine des Fahrpultes und markierte hier das jeweils linke, obere Loch der Taster. Die verwendeten Taster benötigen eine relativ genaue Bohrung. Zum einen muss der Taster durch die Bohrung geführt werden und zum anderen darf der Taster natürlich nicht an der Bohrung scheuern.

Konfiguration

Die auf der Micro-SD-Karte gespeicherte Konfigurationsdatei beinhaltet im wesentlichen die Tastenbelegung und die Lokdaten.

Grundsätzlich ist es so also möglich, die vorhandenen Tasten frei zu belegen. Inwieweit dies sinnvoll ist, sei dahingestellt. Da die Platine und Software aber auf der bereits vorhandenen Software für das Stellpult basiert, war die Funktionalität vorhanden und kann so auch genutzt werden.

Beispielsweise könnten die Taste des Reglers und die Fahrtrichtungstaste getauscht werden, so dass die Lokauswahl über die graue Taste erfolgt und die Fahrtrichtungsumschaltung über einen Druck auf die Fahrreglertaste.

Bei der Lokliste erfolgt die Anzeige im Fahrpult in der gleichen Reihenfolge wie hier in der Konfigurationsdatei. So lässt sich die individuelle Reihenfolge einfach festlegen.

# Konfigurationsdatei für Arduino-XpressNet-Doppelfahrpult
# 26.06.2020 / 23.09.2020
#
# Änderungen:
#

# Konfiguration des Kunden
[kunde]
    name = Andreas Schulze
    anlage = Ausstellungsplatten

# Konfiguration des XPressnet
[xpressnet]
    # Basisadresse dieses Moduls am XPressnet 
    # zu dieser Adresse wird die am Codierschalter eingestellte Adresse addiert
    adresse = 10
    
# Konfiguration der Tasten
# Funktionstasten links:      F0L, F1L, F2L, F3L, F4L, F5L, F6L
# Funktionstasten rechts:     F0R, F1R, F2R, F3R, F4R, F5R, F6R
# Fahrstufentasten links:     S0L, S1L, S2L, S3L, S4L
# Fahrstufentasten rechts:    S0R, S1R, S2R, S3R, S4R
# Drehencoder Taste links:    DEL
# Drehencoder Taste rechts:   DER
# Fahrtrichtungstaste links:  FRL
# Fahrtrichtungstaste rechts: FRR
# Menütaste:                  MEN
# Spannung ein/aus            EIN, AUS
[tastenkonfig]
    # Spalte 1 (Tasten 1-8)
    1  = 
    2  = 
    3  = F6R
    4  = F5R
    5  = F4R
    6  = F3R
    7  = F2R
    8  = F1R
    
    # Spalte 2 (Tasten 9-16)
    9  = 
    10 = 
    11 = F0R
    12 = S0R
    13 = S1R
    14 = S2R
    15 = S3R
    16 = S4R
    
    # Spalte 3 (Tasten 17-24)
    17 = 
    18 = 
    19 = 
    20 = AUS
    21 = EIN
    22 = FRR
    23 = MEN
    24 = FRL
    
    # Spalte 4 (Tasten 25-32)
    25 = 
    26 = 
    27 = 
    28 = 
    29 =
    30 =
    31 = DER
    32 = DEL
    
    # Spalte 5 (Tasten 33-40)
    33 =
    34 =
    35 = F0L
    36 = S0L
    37 = S1L
    38 = S2L
    39 = S3L
    40 = S4L
    
    # Spalte 6 (Tasten 41-48)
    41 =
    42 =
    43 = F6L
    44 = F5L
    45 = F4L
    46 = F3L
    47 = F2L
    48 = F1L
    
    
[tasten]
    # Konfiguration allgemeiner Tasten (falls nicht bei Lok explizit angegeben
    # links: T0..T4
    # rechts: Fahrstufe in Prozent
    T0 =   0
    T1 =  20
    T2 =  50
    T3 =  80
    T4 = 100
    
# Konfiguration der Lokomotiven und ihrer Funktionen
# weitere Ausbaustufe: Taste F1 kann Funktion F4 für 250ms schalten
# f1 = F4,250
[lok1]
    name = 185 rot
    adresse = 27

[lok2]
    name = 204 rot
    adresse = 13

[lok21]
    name = Neue Lok
    adresse = 3
    
[lok22]
    name = Gastlok 1
    adresse = 0
    
# Ende der Konfiguration

 

Software und Dokumentation

Ich stelle hier die Software und eine Dokumentation für den Nachbau zur Verfügung.

Aufbauanleitung (als pdf) folgt… Download
Software (inkl. notwendiger, externer Libraries) Download

 

Ausblick

Bei der jetzigen Version handelt es sich um einen Prototypen. Insgesamt schon recht gut gelungen, aber verbesserungsfähig 🙂

Platine

Ich möchte die Platine noch einmal überarbeiten und z.B. jeweils ein kleines Loch in der Mitte der Taster und Drehencoder vorsehen, um die Platine auch als exakte Bohrschablone für die Frontplatte nutzen zu können. Dann kann man die Platine auf das Gehäuse legen und die Mitten der Bohrungen markieren. Außerdem kann die Zahl der Verbindungen zwischen Shield und Tastenplatine noch verringert werden.

Software

Auch an der Software kann natürlich immer noch etwas verbessert werden. Ideen sind:

  • Mehr Einstellungen direkt am Fahrpult vornehmen und dann auch abspeichern
  • Konfiguration über Web-Oberfläche. Dies setzt dann aber auch eine Erweiterung der Platine um eine Netzwerkschnittstelle voraus. Die Chancen hierfür sind aber leider gering, da für diese Erweiterung nicht mehr genügend Speicher auf dem Arduino-Board vorhanden sein wird.

5 Kommentare:

  1. Alfred Plaß

    Moin, mit Interesse habe ich Ihren Artikel gelesen. Als Moba Neuling (mit 61) habe ich immer Stress beim Fahren mit mehr als zwei Zügen mit der Multimaus. Meine Frage kann ich das Nachbauen, brauche ich da eine Platine? Bin kein Elektroniker habe aber schon viel zusammengelötet. Was würde das Gerät kosten. Freue mich auf eine Antwort. Viele Grüße
    Alfred Plaß

  2. Wunderbar!
    Genau das würde ich ebenfalls gerne nachbauen. Wie kann ich die Platinen für Ihr »Stellpult für XpressNet« und das »Fahrpult mit zwei Fahrreglern für XpressNet« bestellen? Und was kosten diese?

    Würde mich sehr über eine Antwort freuen.
    Herzlicher Gruß aus der Uckermark,
    Achim Bengs

  3. Jürgen Musick

    Hallo,
    Da ich das Projekt sehr gute finde, meine Frage. Wäre es möglich den Schaltplan und die Software zu bekommen.

    Mit freundlichen Grüßen

    Jürgen Musick

  4. Reinhold Schmid

    Interessant !
    Würde ich ebenfalls gerne nachbauen. Kann man bei ihnen die Platinen für Ihr »Stellpult für XpressNet« und das »Fahrpult mit zwei Fahrreglern für XpressNet« bestellen? Und was kosten diese?

    Würde mich sehr über eine Antwort freuen.
    Mit freundlichem Gruß ,
    Reinhold Schmid

  5. Markus Grün

    Hallo,
    Sehr spannendes Projekt! Ich plane derzeit einen sehr einfachen Handregler für xpressnet zu bauen. Wäre es möglich den Quellcode der Steuerung zu bekommen? Das würde mir den Einstieg stark vereinfachen.
    Vielen Dank und freundliche Grüße
    Markus Grün

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert