Einleitung
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.
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.
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ß
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
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
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
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