Hallo Stummis,
MS2+Gleisbox sind eine prima Zentrale, um auf kleinen Anlagen oder Teppichbahnen zu fahren. Gerade bei Teppichbahnen ist man als Lokführer aber gerne mobil unterwegs, um einem Zug ggfs. auch mal ins Nachbarzimmer hinterherzuspringen. Die MS2 ist da eigenltich eine super Sache, hat aber für mich zwei gravierende Probleme: Das Kabel ist nicht lang genug und mehr als zwei Weichen zu stellen ist echt unkomfortabel.
Aber, selbst ist der Modell^WSpielbahner Es gibt (inzwischen?) zwar auch andere haptische WLAN-Handregler-Lösungen am Markt, aber für die muss man viel Geld ausgeben und Weichensteuerung habe ich auch noch nicht so richtig nutzbar gesehen. Daher habe ich meine eigene Lösung gestartet. Siehe Bild:
Eine MS2 mit Gleisbox dienen als Zentrale. Ein Bpi mit Adaptierplatine von bertr2d2 bridgen den CAN-Bus ins WLAN. Mein eigenes Projekt ist der Teil auf dem Brett. Herzstück ist ein ESP32, der wahlweise über CAN oder über WLAN mit der Gleisbox kommunizieren kann. Ein 128x64-Punkt-OLED-Display ist per I2C angebunden. Ein Encoder ist direkt am ESP32 angeschlossen, alle anderen Knöpfe und alle Weichenstellpulte werden über einen S88-Bus eingelesen. Wenn man den ESP einschaltet, wird man von folgendem Startbildschirm begrüßt:
Der einfache Teil sind die Weichenstellpulte. Drückt man auf eine Taste am Weichenstellpult, sendet der ESP das passende CAN-Paket zur Gleisbox, die dann die Weiche schaltet. Über ein Menü auf dem OLED können die R/G-Schalterpaare frei auf eine Weichenadresse von 1-320 eingestellt werden:
Der kompliziertere Teil ist die Steuerung von Loks. Der ESP32 hat selbst keine Möglichkeit, um Loks anzulegen. Er kann aber die Lokliste der Master-MS2 Stück für Stück browsen (getestet mit SW 2.55. Die SW 3.x hat hier eventuell das Verhalten inkompatibel geändert):
Hat man eine Lok runtergeladen, speichert der ESP32 sich auch diese nicht, d.h. nach dem nächsten Reset muss man erneut eine Lok herunterladen. Die heruntergeladene Lok kann man dann Kontrollieren, wie an einer MS2 auch. Es gibt Knöpfe für F0-F4, per Shift lassen sich auch F5-8 erreichen. Mehr Funktionen sind möglich - kommt nur drauf an, wie viele Buttons man auflötet . Im Display werden allerdings nur der Zustand von F0-F7 angezeigt - mehr Platz war nicht, wenn man auch noch etwas erkennen soll.
Für die Stromversorgung hat der ESP32 einen Schaltregler beigestellt bekommen. Bei Betrieb am Kabel kann man damit aus den auf dem CAN-Bus-Kabel verfügbaren 18V die 3.3V herstellen. Für mobilen Betrieb per WLAN schließe ich immer eine USB-Powerbank an. Diese hier im Bild hat 7200mAh - ich habe mit viel Entwickeln und noch wenig Spielen in dieser Saison gerade mal 15% Ladung verbrauchen können. Die ESP-Boards, die ich hier verwende, haben auch einen Linearregler für 3.3V verbaut. Allerdings hat dieser Regler für Betrieb mit WLAN einfach nicht genug Dampf. Sobald ich in der Software das WLAN aktiviere, geht der EPS in den Brownout. Mit einer Stromversorgung per Schaltregler ist das kein Problem mehr. Da man parallel die Powerbank und einen PC per USB anschließen kann, habe ich auch nicht weiter geforscht, ob ich die Situation weiter verbessern kann.
Mit diesem Brett kann man zwar bereits herumlaufen (ok, die Powerbank muss ich noch irgendwie festmachen), was schon super-praktisch ist. Das Mobilitätslevel eines FREDI aus der Loconet-Welt wird damit aber noch lange nicht erreicht. Daher habe ich mich auch an einer Miniaturisierung der Lösung versucht:
Das ist das Gehäuse, was auch für FREDIs verwendet wird. Auf der Platine ist Platz für den ESP32, Displayanschluss, Encoder, 7 Buttons, Serielle Schnittstelle, CAN-Transceiver, CAN-Buchse, S88-Anschluss. Leider habe ich das Problem, dass ich keine funktionierende Reset-Schaltung für den ESP hinbekomme. Daher kann ich den verbauten ESP nicht mehr programmieren. Außerdem ist mir erst hinterher aufgefallen, dass im Gehäuse überhaupt kein Platz mehr für einen Akku ist ops: .
Wenn jemand Lust bekommen hat, meine Lösung nachzubauen: Die Sourcen der Software finden sich im Projekt RR32CanController auf Github. Dort sind auch die KiCad-Designs für einige Platinen eingecheckt, die ich für den Versuch der Miniaturisierung habe Ätzen lassen.
Gruß,
fantux