Ein wenig Archäologie: Züge im MattzoBricks Train Automation System 1.0

Das folgende Tutorial erklärt, wie wir unsere Züge im MattzoBricks Train Automation System 1.0 automatisiert hatten. So machen wir das jetzt nicht mehr, daher hat das Video lediglich einen technologiegeschichtlichen Wert.

Es enthält:

  • Infos über die Züge, Empfänger und Energieversorgung,
  • Einblicke in unsere Automatisierungs-Software,
  • ein paar Worte über die Gleise, auf denen wir fahren.
LEGO Train Automation Tutorial 1: Züge

Züge im MattzoBricks Train Automation System 2.0

Überblick

Unsere augenblickliche Automatisierungsplattform MattzoBricks Train Automation System 2.0 unterstützt die folgenden Arten von Zug-Controllern:

  1. MattzoTrainController for Power Functions
  2. MattzoTrainController for Powered Up
  3. MattzoTrainController for 4DBrix

Das folgende Diagramm zeigt die grundsätzlichen Unterschiede zwischen den unterschiedlichen MattzoTrainController-Typen:

MattzoBricks Train Automation System: Züge
MattzoBricks Train Automation System: Züge

MattzoTrainController for Power Functions (MTC4PF)

Zur Steuerung von LEGO Zügen mit Power Functions Motoren benötigt man den MattzoTrainController for Power Functions.

Der “MattzoTrainController for Power Functions” besteht hauptsächlich aus einem Mikro-Controller und einem Motorshield. Der Controller empfängt Nachrichten von Rocrail über den Message Broker und setzt den Motor in Bewegung. Der oder die Motoren werden über die Power Function Stecker an den Controller angeschlossen. Somit brauchen die Motoren nicht modifiziert zu werden.

Der MTC4PF lässt sich in unterschiedliche Gehäuse einbauen. Hier ein paar Beispiele:

MTC4PF mit Batterie im Gehäuse
MTC4PF without battery
MTC4PF ohne Batterie im Gehäuse

An den Controller können ein oder zwei Power Functions Motoren angeschlossen werden. Die Drehrichtung der Motoren kann einzeln umgedreht werden. Dies ist besonders interessant, wenn zwei Motoren in einer Lok verbaut sind und gegenläufig drehen müssen. Weiterhin hat der Controller Anschlüsse für zwei LEDs, die z.B. für Front- und Rücklichter verwendet werden können.

Eine andere Art, den MTC4PF zu nutzen, besteht in der Übertragung von Rocrail Kommandos an den LEGO Infrarot Empfänger 8884. Der MTC4PF bleibt dabei entweder an Land oder er fährt auf der Lok mit. Letzteres hat den Vorteil, dass es keine Empfangsprobleme in Tunneln, hinter großen Gebäuden oder Bergen oder in Anlagenbestandteilen in anderen Räumen mehr gibt. Die Variante an Land ist baulich etwas einfacher und hat den Vorteil, dass der Controller mehrere Züge auf einmal steuern kann. Für kleine Anlagen also durchaus eine Option.

LEGO Infrared Receiver 8884

Es ist auch möglich, mit dem MTC4PF die WiFi Train Receiver von 4DBrix für unser Automatisierungssystem nutzbar zu machen. A single MTC4PF can control any number of 4DBrix controllers. For more information see below.

Hier gibt es ein absolut sehenswertes Video, in dem der Controller detailliert beschrieben wird und damit auch ein paar Runden auf der Anlage gedreht wird:

MattzoTrainController for Power Functions

Hier ist ein Video über die Infrarot-Unterstützung für den MattzoTrainController for Power Functions:

MTC4PF: Infrarot Unterstützung!

Die Bauanleitung findet sich hier.

Wir wünschen viel Spaß beim Basteln!

MattzoTrainController for Powered Up (MTC4PU)

Der “MattzoTrainController for Powered Up” besteht aus einem ESP-32 Mikrocontroller – sonst nichts! Er wird einfach an eine Stromquelle wie z.B. eine USB power bank angeschlossen. Mehr Hardware wird nicht benötigt.

Der Controller empfängt Kommandos von Rocrail per WLAN über den MQTT Message Broker und sendet diese per Bluetooth an den Powered Up Hub weiter. Eine direkte galvanische Verbindung zwischen dem Controller und den Powered Up Komponenten existiert nicht, was die Flexibilität bei der Verwendung erheblich steigert. Ein einziger Controller kann mehrere Züge steuern, von denen jeder auch mehrere Motoren haben kann. Die Drehrichtung der einzelnen Motoren kann individuell festgelegt werden.

Das folgende Bild zeigt sechs Züge, die allesamt mit einem einzigen MTC4PU gesteuert werden:

MTC4PU: Test setup in the MattzoBricks lab
MTC4PU: Test-Aufbau im MattzoBricks Labor

Der Controller kann irgendwo auf der Anlage oder im Zug platziert werden. Fährt der Controller mit, sind damit alle Reichweitenprobleme des Bluetooth-basierten Powered Up Problems auch bei größeren Anlagen gelöst.

Der Controller braucht nicht aufwendig verdrahtet oder gelötet werden. Es muss lediglich die Firmware aufgespielt und die Konfiguration in Rocrail durchgeführt werden.

Großen Dank an Markus, der die Idee mit dem ESP-32 beigetragen hat und auch einen Protoyp der Firmware programmiert hat.

Die Bauanleitung findet man hier.

Bitte abonniert unseren Newsletter und unsere Social Media Kanäle, um auf dem aktuellen Stand zu bleiben!

MattzoTrainController for Bluetooth (MTC4BT)

Der MTC4BT ist eine Neuimplementierung des MTC4PU basierend auf Visual Studio Code und platform.io. Wie der MTC4PU, basiert der Controller ebenfalls auf einem ESP32 Microcontroller.

Der Grund für den Begriff “Bluetooth” im Namen erhält der MTC4BT, weil er neben LEGO Powered Up Hubs auch Lokomotiven mit SBricks steuern kann, die ebenfalls per Bluetooth mit dem Controller kommunizieren.

Die Bauanleitung findet man hier.

Support für 4DBrix WiFi Train Controllers

4DBrix WiFi Train Controller

Das Mattzobricks Train Automation System 2.0 hat auch WiFi Train Controller von 4DBrix unterstützt. Da 4DBrix seine Geschäfte eingestellt hat, sind diese Controller nicht mehr käuflich zu haben. Der Gebrauchtmarkt für diese Controller ist sehr eng. Es darf vermutet werden, dass die Relevanz dieses Controller-Typs über die Zeit weiter stark abnehmen wird. Wie dem auch sei: wenn Du einen dieser Controller hast, kannst Du sie mit unserer Zugautomatisierung verwenden. Allerdings nur mit der MTC4PF Firmware vor Version 1.0.

Der MTC4PF war in Firmware Versionen vor V1.0 in der Lage, Kommandos von Rocrail in die Sprache der 4DBrix WiFi Train Controller zu übersetzen. Die zu steuernden Züge (auch mehrere) werden einfach in die Konfigurationsdatei eingetragen und mit dem Upload der Firmware hochgeladen.

Das Prinzip ist dabei, Rocrail Nachrichten in das 4DBrix Protokoll zu übersetzen. Da sowohl Rocrail und 4DBrix mittels MQTT kommunizieren, muss sich dazu der MTC4PF lediglich mit dem MQTT-Broker verbinden und die Nachrichten übersetzen. Es wird nur ein einziger MTC4PF benötigt, egal wie viele 4DBrix WiFi Train Controller im System verwendet werden.

Ein paar allgemeine Dinge

Es gibt ein paar Dinge, die unabhängig vom spezifischen MattzoTrainController sind. Dazu gehört z.B. das Thema “Geschwindigkeit”, aber auch Themen wie Konfiguration von Lokomotiven in Rocrail oder das automatische Fahren von Zügen in Rocrail von Block zu Block.

Einige dieser Themen werde ich in nächster Zukunft hier veröffentlichen.

Danke für Deine Geduld.

Ausblick und nächste Schritte

Wir arbeiten kontinuierlich an der Verbesserung der MattzoTrainController. Neue Infos gibt es auf dieser Website.

Bitte abonniere unserer Social Media Kanäle auf Facebook und Youtube, um auf dem Laufenden zu bleiben.

27 thoughts on “Züge

  1. Hallo Mattzobricks, läuft die Parametrisierung der Lok komplett im Rocrail Standard ab oder hast du du da am Quellcode noch etwas programmiert? Ich verstehe noch nicht den Übergang vom WIFI Sender von Lego über den MQTT zu Rocrail.
    Ich bin begeistert von eurer Arbeit und bin über den weiteren Fortschritt sehr gespannt.

    Viele Grüße

    OnSnow

    1. Hallo OnSnow,
      wie ich sehe kennst Du Dich aus und stellst auch die richtigen Fragen. 🙂

      Der weiße Fleck auf der Landkarte ist tatsächlich die Verbindung zwischen den Train Controllern und RocRail. Dazu habe ich mir eine kleine Zusatz-Software (Arbeitstitel: Roc2Bricks) gebaut, die als Übersetzer zwischen Rocrail und den Train Controllern fungiert. Ich unterstütze momentan die Wifi-Empfänger von 4DBrix, aber es werden auch noch LEGO PoweredUp und meine eigenen MattzoTrainController hinzukommen. Neben der Übersetzungsleistung macht Roc2Bricks auch noch ein paar andere sinnvolle Sachen. Z.B. kontrolliert die Software, ob sich die Weichen- und Sensor-Controller regelmäßig zurückmelden. Falls nein, werden alle Züge gestoppt.

      Roc2Bricks ist mitten in der Entwicklung, daher kann ich es noch nicht veröffentlichen.

      Ich arbeite dran und danke für Deine Geduld!

      Gruß,
      Mattze

      1. Hallo Mattze,

        auskennen ist vielleicht nicht so korrekt. Ich würde gerne meine Züge automatisieren, da ich nicht bereit bin für jeden Zug die teuren Lego Preise für powerd up Module zu bezahlen. Ein weiterer Nachteil ist, dass man die Batterienboxen nicht mit Akkus betreiben kann. Da hat das alte Power Functions System viel mehr Möglichkeiten durch die Steckverbindungen.
        Ich verstehe das Prinzip deiner Automatisierung allerdings kann ich leider null programmieren und habe etwas Respekt davor die Controller nachzubauen, da das Programmieren mein weißer Fleck auf der Landkarte ist^^. Daher würde ich mich über ein kleines Tutorial der nötigen Programmierungstätigkeiten sehr freuen.

        Viele Grüße

        OnSnow

        1. Stimmt, PU hat tatsächlich ein paar Nachteile. Ich habe grundsätzlich schon Probleme mit der Basis-Technologie, nämlich Bluetooth. Bei großen Anlagen reißt da die Verbindung schnell ab, sobald sich der Zug zu weit vom Controller entfernt hat. Das ist in vielen Fällen schon ein grundsätzliches Ausschlusskriterium für PU.

          1. Update: wir glauben, das Reichweitenprobleme bei Powered Up gelöst zu haben: die Verbindung zu Powered Up wird ein eigener Controller namens “MattzoTrainController for Powered Up” übernehmen. Die Controller kann einfach in die Lok oder sogar einen Waggon eingebaut werden und kommuniziert drahtlos mit Powered Up. So ist der Controller immer in Reichweite zum PU Hub, und die Reichweitenprobleme sind gelöst. Der “MattzoTrainController for Powered Up” selbst kommuniziert wie gewohnt über WiFi und MQTT mit Rocrail.

  2. Hallo Matze,
    wird es auch möglich sein, die Lego PU Hubs über die Laptop Bluetooth Schnittstelle mit Rocrail zu verbinden?
    Viele Grüße
    Hans

    1. Ja, das ist auf jeden Fall geplant. Ich habe selbst eine Reihe von Loks, die Powered Up Hubs drin haben. Wir werden PU, 4DBrix Wifi Train Receiver und unsere eigenen MattzoTrainController unterstützen. MattzoTrainController kann sich jeder selbst bauen, die Firmware stellen wir dann als open source Software bereit.

  3. Hallo Mattzobricks,
    vielen Dank für die super Ausarbeitung und die vielen Ideen.
    Auf eurer Basis konnte ich mir einen eigenen Traincontroller mit einem NodeMCU und dem NodeMCU Motorshield erstellen.
    Im eigentlichen Program brauchte ich bis auf die Motoransteuerung nicht viel anpassen.
    Im setup_mqtt habe ich zusätzlich einen subscribe (client.subscribe(“rocrail/service/command”);) eingesetzt um die ganzen Overheadmeldungen (Info) gleich auszuschliesen.
    Auch habe ich zuerst die id abgefragt. Sofern die Nachricht nicht für den Controller ist, brauch diese nicht weiter ausgewertet zu werden.
    Für die Signale und Weichen werde ich einen oder mehrere PCA9685 verwenden. Da diese skalierbar sind kann man alle Weichen oder Signale mit einem Controller steuern.

    Viele Grüße
    Tom

    1. Danke, Tom – es freut mich, dass es auch bei Dir geklappt hat. Ich bekomme täglich Nachrichten von Leuten, die die Sache erfolgreich zum Laufen gekriegt haben und begeistert ihre Eisenbahnen mit MattzoControllern und Rocrail steuern.

      Wir sind bei den MattzoTrainControllern übrigens auf der Zielgeraden und habe eine erste stabile Version. Wenn ich etwas Zeit habe, drehe ich das nächste Video und stelle es mit der Dokumentation für den MattzoTrainController for Power Functions online.

      Wir haben hier mittlerweile ein kleines, aber stetig wachsendes Team von LEGO-Eisenbahn Fans mit ganz unterschiedlichen Kompetenzen, die gern etwas beitragen wollen. Falls Du auch mitmachen willst, kannst Du mir gern mal eine E-Mail oder eine Facebook-Nachricht schicken.

      1. Hi Mattze,
        FB- nachricht ist unterwegs.
        Auch wenn meine Kernkompotenzen eher auf Copy&Paste bestehen (Guttenberg wäre stolz auf mich)., Aber ich gehe berufsbedingt gerne abseits von ausgetretenen Pfaden.
        Ich freue mich auf den Gedankenaustausch
        Tom

  4. Hallo Herr Runte/Mattze/Mattzo (wie soll man eigentlich sagen? ^^),
    ich finde das Projekt sehr spannend und würde gern sowohl die Zug- als auch Weichensteuerung gern mal ausprobieren.
    Was ich aber entweder übersehen oder noch nicht verstanden habe: wie kommt man eigentlich an die Controller? Ich kann gern auch Code Testen oÄ, je nach Software, worauf das aufsetzt.
    Ich freue mich auf jeden Fall über Nachrichten, Updates oder gern auch persönlichen Austausch!
    Viele Grüße aus Köln,
    Matthias

    1. Hallo Matthias,
      ich bin der Typ aus den Videos und werde meist Mattze genannt. Die Controller muss man sich selbst bauen, d.h. Einzelteile kaufen, bauen, Software aufspielen. Ich schließe für die Zukunft grundsätzlich erst mal nichts aus, und es gibt bei Mattzobricks im Hintergrund mittlerweile ziemlich viele helfende Hände, die ganz unterschiedliche Dinge beisteuern. Ich bin genauso gespannt, was die Zukunft bringt – vielleicht kann man die ganzen Dinge irgendwann sogar kaufen? Mal schauen.

      Gruß,
      Mattze

  5. Guten Tag Mattze,
    Erstmal grosses Lob für deine bisherige Arbeit.
    Es gibt ja auf YT gute Tutorials für Rocrail von den Modellbauern jedoch nichts von Lego. Von diesen kann man gut das erstellen eines Gleisplans, setzen von Blöcken und Rückmelder abschauen. Wass ich jetzt bereits erstellt habe.
    Habe nun bereits einige Controller gebaut aber noch nicht programmier
    Wird es in Zukunft auch Videoanleitungen geben wie du die Mattzocontroller programmierst und diese in Rocrail einbindest?
    Das Handwerkliche ist bei mir kein Problem jedoch habe keine Ahnung von programmiern.

    grüsse aus Luzern

    1. Hallo Jonas,
      ich würde Dir empfehlen, die Arduino IDE herunterzuladen. Damit kannst Du die Firmware am leichtesten auf die Controller spielen.

      Deine Wünsche nehme ich mal auf die Liste auf versuche, dazu bei Gelegenheit mal ein Video zu machen.

      Gruß,
      Mattze

  6. Hallo Mattze,

    erstmal großes Lob für die ganze Arbeit und die Ideen, welche du innerhalb der Community und auf Youtube teilst. Ich bin auch sehr interessiert am Thema Automatisierung und werde mich erstmal im Kleinen ausprobieren. Ich besitze auch zwei BuWizz Einheiten (Bluetooth) welche über die höhere Spannung dann vor allem schnelle Loks wie den TGV oder besonders schwere Züge wie die Ludmilla antreiben sollen. Meinst du der ESP-32 kann auch die BuWizz oder für andere vielleicht interesant SBricks ansteuern?

    Weiterin viel Erfolg und beste Grüße
    Stephan

    1. Hi Stephan,
      danke. Ich halte es nicht für ausgeschlossen, auch Buwizz und/oder Sbricks mit in das Mattzobricks Train Automation System integrieren zu können. Das würde vermutlich ähnlich zum MattzoTrainController for Powered Up funktionieren, den ich demnächst veröffentlichen werde.

      Gruß,
      Mattze

  7. Hallo Mattze!
    Super Sache!!!
    Finde es auch sehr freundlich, offen und ehrlich dokumentiert!
    Eine Frage: Deine SW würde doch dann auch prinzipiell auf einem “M5Stack Atom laufen” oder?
    Der bringt z.B. als Powered Up “Mitfahrer” auch gleich ein Gehäuse mit.
    Gruß
    Benjamin

    1. Hi Benjamin,
      danke für das Lob.

      Ich habe tatsächlich schon zwei von den Dingern bestellt und werde mal schauen, ob ich die einsetzen kann. Das Format ist genial (müsste auf eine Fläche von 3×3 Noppen passen), und halbwegs vernünftige Buchsen für ein paar LEDs scheint das Ding auch zu haben.

      Ich werde berichten – wäre eine topp Lösung!

      Gruß,
      Mattze

  8. Hallo Mattze,

    ich bin begeistert von eurem Fortschritt in den letzten Monaten.

    Ich habe mal noch ein Paar Fragen:

    1. Wird noch die Brückensoftware Rock2Bricks benötigt oder hat sich das mit den Traincontrollern erledigt?

    2. Kann ich eine Anlage auch step bei step bauen? 1. Sensoren + Traincontroller und dann nach und nach mit Signalen und weichen ergänzen?

    3. Unterstützt der PF Controller auch den Motor von Bluebrixx? Lego liefert ja leider nicht mehr

    Vielen Dank

    Grüße

    OnSnow

    1. Hallo OnSnow,
      freue mich, dass unsere Errungenschaften Dir gefallen. Geht uns auch so! 🙂

      Zu Deinen Fragen:
      1. Alle MattzoTrainController kommen ohne Roc2Bricks aus. Wir haben Roc2Bricks erst einmal auf Eis gelegt, da es derzeit nicht benötigt wird. Vielleicht kramen wir das Projekt zu einem späteren Zeitpunkt noch einmal hervor, z.B. zu einfacheren Konfiguration von Controller usw. Mal schauen.
      2. Auf jeden Fall. Ich würde empfehlen, mit den Weichen zu beginnen. Dann kannst Du die Weichen schon mal remote umschalten und hast sofort einen echten Nutzen für Deine Anlage. Dann kommen die MattzoTrainController dran. Sensoren machen nur für den Automatikbetrieb wirklich Sinn, daher würden die als letztes dazu kommen. Signale haben in Rocrail nur dekorativen Charakter, die können nach Lust und Laune irgendwann dazu kommen.
      3. Weiß ich nicht. Getestet haben wir mit LEGO Powered Up Zugmotoren und irgendwelchen chinesischen Nachbauten von Ali Express für kleines Geld. Diese laufen allesamt einwandfrei. Daher würde ich tippen, dass der Bluebrixx Motor auch gut läuft.

      Viel Erfolg beim Basteln!

      1. Die Bluebrixx Akku Box hat 7.4 V am Ausgang, soweit ich weiß.

        Wenn man direkt mit dem Controller die Box ansteuern will, wird das nicht klappen, da die Box auf 2.4GHz funkt und nicht per Infrarot. Man kann also die Signale auch nicht “caputren” und dann anschauen. Sehr schade 🙁

  9. Ich bin durch Youtube auf dieses Projekt gestoßen und bin darüber mehr als begeistert.
    Danke schon mal dafür.
    Mich würde interessieren ob man die Akku Box von Bluebrixx statt der alten Power Functions Box benutzen kann, um die Züge mit dem MattzoBricks Controller zu automatisieren.

    Gruß
    Dirk

  10. Hallo,

    Cooles Projekt! Würde ich gern nutzen um meinen “Buben” 10J der “zugbegeistert” ist ein wenig für das Thema Computer / Programmierung zu interessieren. Und für mich selber wäre es auch Spaß. Vorab – ich hab zwar von Computern ein wenig Ahnung, aber von so hardwarenaher Programmierung wie hier leider nicht.

    Problemstellung – uns sind die Zugmotoren ausgegangen und ich will neue nachbestellen. Bloß welche? Folgende Frage hierzu:

    Mir ist der Lego Powered Up Hub 88009 mit 50 Euronen zu teuer, iBes wo man das mit dem MTC4PF (ohne IR; direkte Verbindung zum Zugmotor) ja auch hinbekommt 🙂 und dabei auch gleich was lernt. Welche Möglichkeiten hab ich jetzt?
    +) Versuchen einen alten PF Zugmotor 88002 irgendwo zu bekommen und den an den MTC4PF drankabeln
    +) oder kann man den neueren Lego PU Zugmotor 88011 auch an den L9110 motorshield d MTC4PF Steuerung drankabeln?
    +) oder hat es seit E02 jemand geschafft den Bluebrixx Zugmotor anzusteuern (entweder über RC an die Bluebrixx Akkubox oder direkt Bluebrixx-Motor MTCPx ?

    MfG,
    Christoph H.

  11. Cooles Projekt! Ich werde das eine oder andere dankend nachbauen.

    Gleich noch ein Vorschlag: Es wäre total der Hammer, wenn ein MTC4xx (BT?) den Eisenbahnempfänger Gen.2 von Bluebrixx unterstützen würde: https://www.bluebrixx.com/de/trains/401289/Eisenbahn-Empfaenger-mit-Akku-Box-Generation-2-BlueBrixx-Special .
    Der hat mehr Fahrstufen als das Lego Vorbild und kostet nicht viel. Bei der gleicher Größe wie ein Lego PF Empfänger, nur mit mehr Funktionen…
    Dann würde ich alle meine Züge auf MTC umrüsten.

Schreibe einen Kommentar zu Stephan Antworten abbrechen

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