Welchen PC für die Steuerung?

Welchen PC man für die Steuerung verwenden sollte? Kommt drauf an – so wäre jetzt meine normale Antwort. Ich gebe zu dass dies nicht sehr hilfreich ist, deshalb versuche ich es mal hier etwas zu differenzieren.


Warum überhaupt ein PC?

Diese Frage hört man oft in Foren und unter Modelleisenbahnern. Schließlich kann man auch ohne PC die Züge automatisch steuern. Für mich war aber nicht die automatische Steuerung entscheidend für die Vorteile einer PC Steuerung, sondern die schier unendlichen Möglichkeiten, die sich mit dem PC ergeben. Wo ich früher ein großes Stellpult benötigte um alle Weichen zu schalten, Schalter für jedes Signal und jedes abschaltbare Gleis, da benötigt es heute nur noch einen Monitor und die entsprechende Software. Das sieht bei mir aktuell so aus:

Stellpult - Traincontroller
Stellpult – Traincontroller

Das hatte ich früher mal alles mühsam mit Schaltern erstellt – heute ist das um so viel einfacher. Alle belegten Bereiche sind orange hinterlegt 1das hier nicht alle orange sind hat nur damit zu tun, das ich das Bild am Arbeits-PC mit einem Simulator erstellt habe. In jedem Bereich (aka „Block“) sieht man nicht nur welcher Zugverband dort steht, sondern auch aus welchen Wagen er gebildet ist. Gelb sieht man oben gerade eine aktive Weichenstraße. Die hier zur Verwendung kommende Software ist Traincontroller.

Welche Funktionen für den PC? Laptop oder Desktop?

Wer mit der Modelleisenbahn anfängt, für den reicht am Anfang auch ein ganz normaler Standard-Laptop. Aber spätestens wenn die Anlage Gestalt annimmt und größer wird, stellt man fest, das der Laptop nicht ausreichend ist. Hier mal eine Liste dessen was mein PC aktuell leisten muss:

  • So viel USB Anschlüsse wie möglich. HSI-11, Intellibox, Tams Redbox, Brand Drehscheibensteuerung, 4 WebCams für den Schattenbahnhof, USB Keyboard, USB Maus, MobaLEDLib-Programmierung Arduino 1, IR Einstellung Arduino 2, Traincontroller Dongle, Backup USB Laufwerk . Richtig – das sind alleine schon 15 USB Anschlüsse. Tatsächlich schafft das nicht einmal ein normaler Desktop-PC der zwischen 6-8 USB Anschlüsse besitzt.
  • Verwendet auf jeden Fall einen externen USB Hub mit eigener Stromversorgung. Nur so könnt ihr die Anzahl der Anschlüsse problemlos erhöhen.2 Ein Kollege hatte letztens das Problem, das er einen PC mit 100 USBs benötigte und dachte das wäre kein Problem, weil Microsoft Windows 255 Anschlüsse unterstützt. Tatsächlich ist aber bei schon 44 Anschlüssen Schluss. Nur noch Industrie-PCs kommen über 44 Anschlüsse!
  • Videokarten und Audiokarten sind nicht erforderlich – diese kann man ggfs. auch später noch nachrüsten. Erst jetzt habe ich den PC um eine Soundkarte erweitert um mittels 4D Sound auch Geräusche auf die Anlage zu bringen – aber das ist ein anderes Projekt 🙂
  • Internes oder externes CD ROM Laufwerk. Gerade die kleineren Hersteller liefern Software immer noch auf CD aus – auch wenn der Download inzwischen fast Standard ist. Ein externes USB Laufwerk hat den Vorteil, das man es auch anderweitig benutzen kann – vor allem aber könnt ihr das externe Laufwerk direkt in euer Stellpult einbauen.
  • Fast alle Desktop PCs (wobei das Teil eher unter der Anlage stehen sollte), haben im BIOS die Möglichkeit den PC einzuschalten sobald die Stromversorgung eingeschaltet ist. Das macht es wesentlich einfacher den PC irgendwo zu platzieren – der Hauptschalter des PC wird bei mir nur ganz selten benötigt. Das setzt aber voraus, das wir den 220V Anschluß von unserem „Arbeitsplatz“ einschalten können (siehe dazu das obige Bild).
  • Einen Netzwerkanschluss hat heute jeder Desktop. Außerdem haben viele Zentralen heute einen Netzwerkanschluss – dazu kommen dann noch Netzwerkkameras usw. usw. Weiter unten habe ich im Kapitel Netzwerk beschrieben was deshalb noch zusätzlich zum PC benötigt wird.

PC Arbeitsplatz

Damit kommen wir zu einem weiteren Thema: Dem PC Arbeitsplatz. Meine Anlage steht in 120 cm Höhe relativ hoch (man wird ja auch nicht jünger). Deshalb ist ein übersichtlicher Arbeitsplatz erforderlich. Wie man auf dem Bild sieht habe ich mir deshalb 2 Hochstühle angeschafft und verwende ein günstiges Billy Regal eines bekannten schwedischen Möbelhauses um darauf die Füße bequem abstellen zu können:

Stellpult Nächternhausen
Stellpult Nächternhausen

Nicht gerade wunderschön – aber das Redesign steht schon auf der ToDo Liste :?.

Den PC seht ihr hier nicht – der steht hinter dem „Regal“. Lautstärke ist für unseren Bahn-PC kein Problem – also benötigen wir auch keine ultra-leisen Lüfter, keine gedämmten Innenplatten und auch keinen Einbauschrank.

Monitor und Maus

Wer sich obiges Bild genau anschaut, wird feststellen, das ich eine ganz normale, schnur-gebundene Maus verwende, die mit einem USB Kabel angeschlossen ist. Eine schnurlose wäre sicher auch möglich gewesen. Relevant sind aber die Monitore. Hier kommt ein 19“ und ein etwas größerer 20“ Monitor zum Einsatz.

Warum eigentlich 2 Monitore? Dazu ein Bild mal in der Übersicht eines typischen Einsatztages mit der Moba:

Monitor Modelleisenbahn
Monitor Modelleisenbahn

Auf dem größeren Monitor sehen wir das aktive Stellpult. Weichen, Licht und alle manuellen Fahrten werden hierüber geschaltet. Außerdem sieht man noch rechts das Fenster für die zu startenden Zugfahrten. Ein weiteres „Window“ dient auf dem linken Monitor für Prio2-Aktivitäten: Meldungen werden hier angezeigt, aber auch die Steuerung der Loks (normalerweise steuere ich nicht mit dem PC sondern mit der Roco Multimaus). Und das Bild mit dem Schattenbahnhof ist hier schon total verdeckt – da wäre dann auch ein 3. Monitor durchaus von Vorteil 3letztens sah ich einen solchen 3. Monitor rechts oben unter die Decke gehängt – dort wurden die Schattenbahnhöfe angezeigt. Durchaus von Vorteil wenn man den Platz dafür hat.

Eigentlich muss man sagen: Je größer (oder besser: je länger), umso besser. Tatsächlich habe ich aber mit 2 Monitoren bessere Erfahrungen gemacht – insbesondere da manche Moba-Software mit den hohen Auflösungen großer Monitore oftmals nicht wirklich klar kommt. Zwar kann man dies in den Einstellungen ändern, aber letztlich war es immer relativ viel Aufwand mit dem Versuch eines großen Monitors.

Achtet beim Monitor darauf, das man den Standfuß abschrauben kann – für das Arbeiten mit dem Monitor ist ein senkrecht stehender Monitor nur in den seltensten Fällen praktikabel!

Irgendwann werde ich mir die Mühe machen und einen Touchpad-Monitor anschaffen – angeblich funktionieren die wirklich gut mit Traincontroller. Für diejenigen, die einen Touchpad zu Hause haben: Es gibt auch Möglichkeiten diesen als 2. oder 3. Bildschirm zu verwenden und auf diese Weise sich selbst einen Touchscreen zu bauen.

PC Leistungsklasse

Das ist die schwierigste Frage und die Antwort hängt vor allem von der Anlagengröße und der verwendeten Software ab. Meine Empfehlung:

Die meisten Hersteller von Steuerungssoftware haben Empfehlungen für die PC Leistungsklasse.

In Nächternhausen verwende ich einen günstigen Desktop PC mit Intel i3 CPU und 8 GB Memory. Eine interne 100 GB Disk reicht vollständig aus – ich würde aber eine SSD empfehlen.

PC Einstellungen und zusätzliche Hardware

Es gibt einige sinnvolle Einstellungen, welche mir das Leben einfacher gemacht haben – hier mal eine Übersicht:

  • Gönnt dem PC einen eigenen Ein/Ausschalter (220V). Das kann z.B. über einen gesonderten Schalter oder eine schaltbare Steckdosenleiste erfolgen.
  • Im BIOS eines PC kann man festlegen, das dieser hochfährt, sobald der Strom eingeschaltet ist. Der Vorteil ist, das der PC nicht direkt vom Stellpult aus erreichbar sein muss und man jedes Mal im Untergrund den PC-Schalter suchen muss. 4ihr müsst später eh nur noch selten direkt an den PC Im Bild oben seht ihr einen solchen extra PC-Schalter am Stellpult.
  • Eine SSD beschleunigt das Starten und Herunterfahren – wenn ihr zusätzlich Funktionen wie den Windows Schnellstart oder FastBoot nutzt, ist das schneller als das Booten aus dem Ruhezustand5es gibt im Netz diverse Hinweise den Schnellstart bei SSDs nicht zu nutzen weil dabei eine hohe Schreiblast auf die SSD geht – tatsächlich ist die Schreiblast bei einem MobaPC allerdings so gering, das ihr definitiv nicht an die SSD Grenzen kommt.

Netzwerktechnik

Es gibt immer noch Modellbahner, die meinen das ein Moba-PC keinen Internetanschluss benötigt! Das ist Quatsch und falsch verstandene Sicherheitsbedenken. Deshalb mal kurz ein Plädoyer für die Anbindung eines PC ans Internet (und nicht nur an das lokale Netzwerk (aka LAN) zuhause.

Auch ein MobaPC sollte Verbindung zum Internet haben.

Der Grund: Ein Moba PC lebt von vielen Softwarekomponenten – nicht nur der Steuerungssoftware wie z.B. Traincontroller. Und diese Softwarekomponenten müssen aktualisiert werden. Dazu kommt, das immer mehr Zentralen, Netzwerkkameras, usw. über das lokale Netzwerk mit dem PC kommunizieren und natürlich ebenfalls ihre Updates aus dem Internet beziehen.

Software

Hört sich einfach an, ist es aber leider nicht. Hier mal eine Übersicht der Software die sich inzwischen auf dem Moba-PC angesammelt hat:

  • Microsoft Excel – zur Verwaltung meiner Moba-Artikel. Auch die Liste aller DCC Adressen verwalte ich mit Excel. Ist günstig und hilft auch bei der Fehlersuche
  • Die „Freiwald-Suite“ – Traincontroller, Trainanimator und Trainprogrammer
  • iSpy für die Kameraüberwachung und Darstellung (kostenlos – zeigt alle WebCams im Schattenbahnhof sehr übersichtlich an.
  • Virenscanner
  • Datensicherungsprogramm zum Backup auf eine USB Festplatte
  • Synchronisationsprogramm „AllwaySync“
  • Arduino und MobLEDLib Bibliothek
  • Software zur Drehscheibensteuerung
  • Software zur Programmierung der TAMS Redbox
  • Mailprogramm für ausgehende Mails 6vornehmlich um Fehlermeldungen zu senden. Eingehende Mails sollte man nicht erlauben.

Problemfelder

Ein alter Kollege meinte einmal: „Software ist böse“ – und damit hat er nicht so ganz unrecht. Im Laufe der Jahre habe ich mit dem Moba-PC durchaus auch böse Überraschungen erlebt. Deshalb hier mal einige wichtige Punkte:

PC hängt

Bestimmt habt ihr das auch schon mal erlebt: Plötzlich ist mitten in der Arbeit die Sanduhr zu sehen. Wenn einem das mit Excel oder Powerpoint passiert, wartet man eine Minute und meist geht es dann wieder. Aber in dieser einen Minute hat unsere PC Steuerung keine Verbindung mehr zur Anlage oder reagiert extrem langsam auf Änderungen auf der Anlage – was die Folge sein kann brauche ich wohl nicht zu erzählen. Wie man das Problem löst habe ich in einem gesonderten Beitrag beschrieben – ihr findet diesen unter dem Namen „Software Watchdog für Traincontroller“. In der Regel funktioniert das dortige Verfahren auch mit anderen Steuerungsprogrammen

Windows Updates

Microsoft Windows ist leider kein Realtime-Betriebssystem. Das bedeutet, das Windows mit vielen USB Schnittstellen und Treibern von kleinen, unbekannten Herstellern so seine Probleme hat.

Mir hat es bei einem größeren Windows-Update die USB Schnittstelle einer Zentrale (Uhlenbrock Intellibox Basic) vollständig zerlegt. Der Grund war ein nicht zertifizierter Treiber der mit dem Update nicht mehr erlaubt war und der deshalb durch einen Standardtreiber ersetzt wurde – leider hat es in dem Wirrwar dann auch noch die USB Kennung der Zentrale überschrieben.

Vor einem größeren Windows Upgrade empfiehlt es sich alle USB Anschlüsse abzustecken

Das gilt nur für größere Windows Upgrades – also nicht die kleineren „Up-Dates“.

USB Einstellungen

Im Gerätemanager unter Anschlüsse -> Energieverwaltung den Haken bei dem Wert „Computer kann das Gerät ausschalten, um Energie zu sparen“ rausnehmen. Das hat mir einigen Ärger erspart mit COM Schnittstellen die ab und an mal nicht funktionierten.

USB Kabel

Mal abgesehen davon, das es diverse USB Stecker gibt, haben diese auch noch technische Besonder­heiten wie USB 1.1. oder nur USB 3.0 usw. Ich will mal hier nicht in die Details gehen – wer sich dafür interessiert findet eine gute Dar­stellung im Elektronik-Kompendium.

Wenn ein USB Anschluss nicht funktioniert – einfach mal ein anderes USB Kabel verwenden

Es gibt hochwertige Kabel welche für den aktuellen USB 3.1 Standard auch unterstützt sind. Ich habe für solche Zwecke ein solches Extra Kabel in der Werkstatt.

USB ist bis 5m Länge spezifiziert – das heisst nicht das es nicht auch länger geht und auf der Moba sind 5m schnell erreicht. Wenn ihr über diesen Wert kommt schaut euch die Beschreibung im Elektronik-Kompendium an.

Wenn eine USB Anschluss jahrelang und dann – ohne ersichtlichen Grund – nicht mehr funktioniert: Tauscht einfach mal das Kabel aus.


Es gibt natürlich noch viel, viel mehr Möglichkeiten den PC optimal auszustatten und unendlich viel mehr Fehlermöglichkeiten. Ich habe hier nur die genannt, mit denen ich mich selbst mal auseinandersetzen musste.

Views: 1958

MobaLEDLIb – Erfahrungen eines Nicht-Elektronikers

Letzte Aktualisierung: 4.5.2021

Grundsätzliches

Schon lange war ich auf der Suche nach günstigen DCC Funktionsdecodern. Auch sollte die Hausbeleuchtung nicht mehr konstant langweilig vor sich hin leuchten, sondern ich wollte – wie in einem realen Haus – die Lichter zu unterschiedlichen Zeiten ein- und ausschalten.

Im Stummiforum 1https://www.stummiforum.de/viewtopic.php?f=7&hilit=Mobaledlib&t=165060&sid=b21bc5d7bf69acc025b3cb75fb13eff3 bin ich auf die Entwicklung der MobaLEDLib gestoßen. Hierbei werden günstige Arduinos mit einer selbst entwickelten Schaltung genutzt. Ein eigenes „Busssystem“ ermöglicht die Nutzung von LEDs und RGB-LEDs auf der Anlage. Bei RGB LEDs handelt es sich um einen winzig kleinen Prozessor der mehrere Kleinst-LED auf dem LED Chip in allen Farben leuchten lässt und so auch vielfältige Lichteffekte wie Feuerschein, Fernseher etc. ermöglicht.

Dieser „Erfahrungsbericht“ ersetzt in keinster Weise die vorhandene und sehr gute Dokumentation der MobaLEDLib auf Github und im Stummiforum!

Ich hoffe vielmehr, das sich andere angesprochen fühlen es auch mal auszuprobieren – auch wenn man sich mit Elektronik und Programmierung nicht so auskennt.

Hier mal ein Beispiel eines Hauses in Nächternhausen welches mit der MobaLEDLib angesteuert wird:

Haus welches mit MobaLEDLib beleuchtet wurde

Vielleicht weiß nicht jeder was ein Arduino ist, deshalb hier mal ein wenig Theorie darüber wie das Gesamtsystem aufgebaut ist:

Die Hauptplatine ist mit zwei Arduinos bestückt. Ein Arduino ist für die LED Steuerung zuständig, der andere für die DCC Programmierung.

Die Platine erhält man über die Entwickler der MobaLEDLib. Grundsätzlich gibt es folgende Basiselemente:

  • Es sind keine Programmierkenntnisse erforderlich – man wählt einfach ein Szenario aus, vielleicht noch die Helligkeit und dann wechseln die Lichteffekte nach dem Zufallsprinzip und nach eingestellter maximaler Dauer und den maximal gleichzeitig leuchtenden LEDs.
  • Die Hauptplatine 2(genauer: einer der Arduinos auf der Platine) wird mit einem USB Kabel mit dem PC verbunden. Die PC Verbindung ist nur einmal erforderlich zur Programmierung – und natürlich wenn es Änderungen gibt weil ein neues Haus, neue LED etc. mit zu versorgen sind.
  • In jedem Haus lässt sich das Licht über einen Befehl von der Zentrale aus Ein- oder Ausschalten. An der Hauptplatine wird auch das Digitalsignal angelegt (sowohl DCC, als auch CAN und Selectrix sind hier möglich).
  • Die Hauptplatine hat über ein Flachbandkabel Verbindung zu Verteilerplatinen – diese können sequentiell hintereinander angeordnet werden oder auch sternförmig. Die Verteilerplatinen sind mit dem gleichen Flachbandkabel untereinander verbunden mit dem auch die Hauptplatine Verbindung zum ersten Verteiler hat.
  • An den Verteilern(dieses sind eigenständige Platinen) können „beliebig“ viele LEDs an einen Steckplatz der Verteilerplatine angeschlossen werden. Das kann auch ein weiterer Verteiler sein – man muss nur darauf achten, dass der Gesamtstrom nicht größer als 1-5 -2A wird (Eine LED benötigt 0.06 A bei voller Helligkeit.3 vielen Dank an den Entwickler, Hardi, für die Detaillierung!
  • Es sind auch gesonderte Schaltungen möglich – aber ich konzentriere mich hier im Bericht erst mal auf das Thema Hausbeleuchtung. Die RGB LED sind ebenfalls in Reihe miteinander verbunden.
  • Die Stromversorgung erfolgt im normalen Betrieb über die Verteilerplatinen. Dazu reichen kleine 5V, 2A Stromversorgungen wie sie auch als Ladegeräte für Handys verwendet werden. Zur Programmierung ist die externe Stromversorgung nicht erforderlich.
  • Die RGB LED können direkt verlötet werden – es gibt aber auch hier diverse Varianten.

Alles oben genannte bezieht sich auf die Häuserbeleuchtung. Das ganze Projekt ist so flexibel, das auch Servos oder einzelne Straßenlampen damit angesteuert werden können.

Materialien und Hilfsmittel

Meine Elektronikkenntnisse sind leider ziemlich gering – ich kann noch einen Kondensator von einem Widerstand unterscheiden und weiß bei einer LED wo der Plus- und Minuspol ist. Softwaretechnisch kenne ich mich etwas besser aus – bin aber auch kein Programmierer.

Meine Werkstatt ist daher auch nicht mit den Spezialwerkzeugen eines Elektronikers ausgestattet – für den Bau und die Bestückung von Platinen benötigte ich folgende Hilfsmittel:

  • Lötkolben – hier reicht ein einfaches Modell – wichtig ist nur eine dünne Lötspitze
  • Leselupe – nicht unbedingt erforderlich, aber sehr hilfreich
  • Decoupiersäge oder kleine Kreissäge – notfalls tut es aber auch eine Laubsäge
  • dünnes Lötzinn
  • einfaches Messgerät
  • Laptop oder PC mit Windows Betriebssystem
  • Ein USB Kabel mit Mini USB (nicht Micro USB welches bei den meisten Smartphones Verwendung findet).

Du brauchst weder Elektronik- noch Programmierkenntnisse – normales Arbeiten mit dem Lötkolben und das Wissen, wie man eine neue Software installiert, reichen vollständig aus!

Ganz am Anfang

Ganz am Anfang sollte man sich mal als erstes die detaillierte erste Seite des Threads auf dem Stummiforum durchlesen 4man findet diese unter https://www.stummiforum.de/viewtopic.php?f=7&hilit=Mobaledlib&t=165060&sid=b21bc5d7bf69acc025b3cb75fb13eff3 – leider wieder mal ohne gültiges Zertifikat weshalb ich nicht direkt darauf verlinken kann.

Hat man die erste Seite durch empfehle ich als nächstes das Video des MobaLEDLib Stammtisches – und zwar das erste Video welches sich auf Youtube findet. Es erklärt sehr detailliert den Einstieg in die Lösung.

Danach dann die Dokumentation auf Github anschauen – zumindest mal überfliegen bevor es ans Bestellen geht. Überlegt euch auch dabei was ihr eigentlich machen wollt. Geht es nur um 4 Häuser die alle nebeneinander stehen – oder 4 Häuser die quer über die Anlage verteilt sind? Oder doch um eine ganze Stadt? Für den Anfang reicht m.E. die Hauptplatine und 2-3 Verteilerplatinen – aber das muss jeder für seinen eigenen Anwendungsfall entscheiden

Bestellung

Auf Github gibt es im Rahmen der Dokumentation auch einen Warenkorb für Reichelt – ich würde aber in die aktuelle Dokumentation schauen und den dortigen Link für den Warenkorb verwenden! . Man muss den Link einfach öffnen und kann dann alle Elemente in den eigenen Warenkorb übernehmen.

Das einzige was im Warenkorb fehlt sind die RGB LEDs WS2812 und die Arduinos – und hier bin ich prompt reingefallen weil es unter dem Namen WS2812 unendlich viele Varianten gibt – und ich hatte natürlich eine bestellt bei der alle RGB LEDs auf einer einzigen Platine fest verdrahtet waren 👿

Zum Glück hatte ich parallel auch WS2812 in China bestellt – 100 Stück für 2 US $ – da kann man nicht meckern. Es handelt sich um WS2812 mit dieser Bezeichnung 5(die Links sind leider schnell mal wieder andere): „WS2812B LED chip With Heatsink (10mm*3mm) DC5V 5050 SMD RGB WS2812 IC Chips“. Wichtig dabei das man die WS2812 herausbrechen kann und einzeln sehen die dann so aus:

Bitte aber erst die Bauteile bei Reichelt bestellen wenn die Platine geliefert wurde – sonst geht es euch wie mir und ihr bekommt eine neuere Platinenversion (deren Bestückung zum Glück eine Untermenge der alten Version war).

Die Hauptplatine (100DE Hauptplatine Grundversion) hatte ich für DCC bestellt – die folgenden Beschreibungen beziehen sich daher auch auf die DCC Version.

Die Platine kommt mit einem kleinen Verteiler der Platz für 4 getrennt ansteuerbare Häuser bietet. Ich hatte gleich auch die Verteilerplatine mit bestellt, da ich vermeintlich noch die alte Platine bestellt hatte (die war in grün – die neue Platine ist in schwarz). Die alte Platine hatte keine Verteilerplatine mit integriert.

Die Arduinos kann man ebenfalls in China bestellen – angesichts des Preises würde ich direkt einige mehr bestellen als man anfangs benötigt. Es stimmt schon: Das ganze Projekt macht Lust auf mehr 🙂 Es gibt viele Arduinos – für unser Projekt sollte man unbedingt die Arduino Nano auswählen

Für den Anschluss an den PC (und das schreiben der Konfiguration vom PC in die Arduinos) benötigt ihr noch ein USB Kabel. Auf der Arduinoseite muß dieses einen Mini-USB Anschluß haben (nicht den neuen Micro-USB!). Also eine Seite Mini-USB – andere Seite USB.

Dokumentation

Die Dokumentation ist sehr detailliert und man sollte sich zunächst auf die Hauptplatine konzentrieren und diese auch erst testen.

Achtung – es gibt zwar sehr gute aber auch sehr viel Dokumentation. Ich empfehle als Maß aller Dinge die Dokumentation auf Github zu verwenden. Ich dokumentiere hier generell keine Links – es sind einfach zu viele – , aber unter der Suche: „inurl:github Mobaledlib solltet ihr fündig werden!

Speichert nicht nur die Dokumentation, sondern auch alle Verweise in der Dokumentation (Links) vorher lokal ab.

Ladet die Dokumentation von Github erst wenn ihr die Platinen erhalten habt und wisst um welche Platinenversion es sich handelt.

Wichtig ist auch, das alles zur aktuellen Version passt! Leider sagten mir manche der Informationen absolut gar nichts. Zum Glück wusste Google was ein LDR ist – nur woher bitte sollte ich wissen welchen LDR ich bestellt hatte? In der Bestellliste taucht kein LDR auf? Ich habe einfach mal den Standardwert für den LDR Widerstand und gut war.6Soweit ich es bisher verstehe ist irgendwo auch die Option einen Dämmerungsschalter einzusetzen – dafür benötigt man besagten LDR. Anmerkung vom 12.12.20: Inzwischen ist der LDR auch im Wiki zu finden – dort findet sich auch eine Liste welcher Widerstand zu einem LDR passt.7(ich weiss nur trotzdem nicht welchen LDR ich verwende – ich wüsste nicht einmal das einer auf dem Arduino drauf ist…)

Platinenbestückung

Ich war schon überrascht, als ich erfahren habe, das ich die Platine erst noch aussägen muß. Nicht das ich grundsätzlich damit ein Problem habe – bei mir half da eine Dekoupiersäge.

Die Bestückung selbst ist sehr gut in der Dokumentation beschrieben.

Was dort nicht steht und vielleicht die Nicht-Elektroniker unter euch nicht wissen:

Auf jeden Fall die Einbaurichtung von Kondensatoren, ICs und LED beachten!

Ich gehe mal davon aus, das ihr wisst, das z.B. bei LED das längere Beinchen immer der Pluspol ist – was ich nicht wusste, war die Einbaurichtung von RGB LEDs – aber auch die sind – ähnlich wie IC – mit einer Markierung versehen:

Hauptplatine

Die Platine durchtrennen war zunächst gar nicht so einfach – und ich hatte zunächst auch keinen blassen Schimmer was es mit den übrig gebliebenen Teilen auf sich hat.

Vielleicht hätte ich mir aber auch vorher mal alle Videos und Beiträge im Stummiforum durchlesen sollen! Jedenfalls sah das dann bei mir so aus wie nebenstehend – man braucht aber nicht unbedingt eine Dekoupiersäge. Eine am Stahllineal geführte Trennscheibe sollte es auch tun.

Nicht gleich mit dem Löten der Platine loslegen. Schaut euch erst einmal die Videos zur Benutzung an – dann wird vieles klarer. Die Videos finden sich ebenfalls im Github Bereich.

Vielleicht an dieser Stelle daher mal eine Übersicht aller bei mir verwendeten Komponenten – das 3D Druckgehäuse braucht es natürlich nicht wirklich (gibt es als STL Datei auch auf github):

Wenn ihr alle Teile der Hauptplatine getrennt habt, so solltet ihr am Schluss folgende Platinen haben:

  • 1 Hauptplatine
  • 6 WS 2812 Mini-Platinen
  • 1 Verteilerplatine

Ich komme nachher noch auf die Teile zu sprechen – am Anfang geht es aber erst einmal nur um die Hauptplatine und den Anschluss mittels USB Kabel an den PC.

Die Bestückung der Hauptplatine sollte keine Probleme bereiten und ist detailliert in der Aufbauanleitung beschrieben. Die Buchsenleisten sollte man wirklich – wie beschrieben – erst einlöten wenn man vorher einen Arduino auf die Leisten steckt. Dann stimmen nämlich die Abstände exakt.

Mini Platinen

Die 6 WS 2812 Mini-Platinen stellten mich anfangs vor ein Rätsel. Wie sollten die denn auf meine WS2812 passen? Die Lösung: Ich hatte WS2812 welche sich bereits auf einer Platine befanden und die zusätzlichen Bauteile bereits mit drauf hatten. Bei den meisten WS2812 ist das aber nicht der Fall – genau dann braucht man die Mini-Platinen. Links sieht man mal meine WS2812 und die Platine für die anderen Typen.

Verteilplatinen

Die „kleine Verteilerplatine“ welche sich aus dem Schneiden der Hauptplatine ergibt habe ich selbst nicht mit eingesetzt. Bei der „großen Verteilplatine“ kann man stur nach Anleitung arbeiten – die wieder sehr detailliert beschreibt was zu tun ist.

Allerdings war ich anfangs bei der Bestellung etwas irritiert: Es gibt eine Version mit Bestückung und eine Version ohne Bestückung bei Alf – die Erklärung: Bei der Version mit Bestückung sind nur die Wannenstecker und Pfostenbuchsen mit dabei – daher auch in der Dokumentation den entsprechenden Reichelt-Warenkorb beachten!

Wenn du die Verteilplatinen mit Steckern bestellst, dann denk daran, das du die – wenigen – Reichelt Elemente noch zusätzlich bestellen musst.

Bei einem Punkt bin ich allerdings hier reingefallen: die Lötbrücke!

Hintergrund: Wie in der Dokumentation beschrieben, verwende ich zur Stromversorgung

Stromversorung Mobaledlib Verteilplatinen

ein normales 5V, 2A Ladenetzteil wie es auch für Handys usw. genutzt wird. Tatsächlich nutze ich auch den entsprechenden USB Anschluss (siehe auch oben stehende Übersichtszeichnung). Und entsprechend den Empfehlungen von Hardi wollte ich jede Verteilplatine mit einer eigenen Stromversorgung ausstatten. Deshalb habe ich (vorsichtig) die Lötbrücke J_Power aufgetrennt und siehe da: Es passiert nichts!

Der Grund war schnell gefunden: Das Auftrennen der Lötbrücke führte dazu, das die Verteilerplatine natürlich auch keinen Strom mehr vom PC (über den Arduino-Anschluß) erhielt. Ich brauchte also immer gleich auch die Stromversorgung der Verteilplatine um einen neuen Verbraucher zu programmieren.

Am Anfang – wenn man nur eine Verteilplatine sein eigen nennt – ist es einfacher die Lötbrücke J_Power nicht aufzutrennen. Dann kann man auch vom PC aus den Verbraucher am Schreibtisch programmieren und testen

Beim Auftrennen der Lötbrücke sollte man übrigens entsprechend vorsichtig sein – also nicht gleich mit dem Dremel ran gehen sondern vorsichtig mit einem Cutter arbeiten.

Software

Die Installation der Arduino Software ist auf dem Github detailliert beschrieben – insofern spare ich mir hier alle Details. Allerdings hatte ich auch hier erst mal einige Merkwürdigkeiten:

USB Port ohne Beschreibung

Chinesische Version des Arduino ohne weitere Bezeichnung

Wie man sieht meldet sich mein chinesischer Arduino nicht mit Namen am USB Port – wer mehrere USB Serial Ports am System hat sollte also genauer hinschauen. W

Für die Ansteuerung mittels Excel benötigt man natürlich das entsprechende Microsoft-Programm. Das kann man alles installieren auch wenn die Hauptplatine noch nicht fertig ist. Mit diesem Excelprogramm kann man so viel anstellen, das dies wohl einen eigenen Blog Wert wäre (die Dokumentation zu den verschiedenen Optionen ist noch in Arbeit – bis dahin verweise ich auf die wirklich guten Videos zum s.g. Programm_Generator und dem Pattern_Configurator.

Auf der Hauptplatine befinden sich zwei RGB LEDs. Ich hatte anfangs keinen blassen Schimmer, wofür die 2. RGB LED zuständig war bis mich Hardi darüber aufklärte: „Die zweite WS2812 LED auf der Hauptplatine wird ebenfalls als Heartbeat ganz am Ende der Liste konfiguriert. Wenn alle LEDs dazwischen Funktionieren und alle Kabel richtig angeschlossen sind, dann pulsiert diese LED genau so wie die erste LED. Selbst dann wenn keine andere LED auf der Anlage leuchtet (Tag). Mit ihr wird also alles außerhalb der Hauptplatine überprüft.“8Das Wort „Heartbeat“ ist für mich als Informatiker allerdings schwer zu verdauen – diente uns doch ein Heartbeat früher dazu um Serversysteme(s.g. Cluster) sich gegenseitig überwachen zu lassen. Letztlich war das nichts anderes als ein Hello auf einen anderen Knoten um zu prüfen ob er noch existiert. Hier dient es dazu um mit dem Heartbeat zu prüfen, ob alles funktioniert.

Erst viel später, beim Einbau auf der Anlage, habe ich den Vorteil des Heartbeats schätzen gelernt: Wenn man die Häuser alle auf der Anlage einbaut und die Anschlüsse alle verkabelt hat, ist man froh darum, wenn einem der Heartbeat mitteilt, das die Verkabelung in Ordnung ist .

Überhaupt waren alle Fragen und Probleme sehr schnell geklärt – ich habe teilweise den Entwickler, Hardi, direkt angeschrieben. Aber auch im Stummiforum bekommt man schnell Antwort !

Diese RGB LED auf der Platine lassen sich in der Exceldatei auch direkt ansteuern über den ersten Eintrag in der Excel bzw. dem letzten Eintrag. Damit kann man dann auch erst mal ausprobieren ob die Hauptplatine funktioniert!

Einbau

Zum Einbau der LED in ein Modellbahnhaus gibt es ebenfalls eine sehr detaillierte Beschreibung und auch diverse Videos im Netz. Ich bin selbst allerdings einen etwas anderen Weg gegangen und habe mir kleine Räume mit dem 3D Drucker gedruckt.

RGB 3d Druck Modul

In Naechternhausen fehlt ja immer noch der Schmalspurbahnhof – Karnsdorf. Dafür braucht es natürlich auch neue Häuser. Mein erstes Versuchsobjekt war ein Geschenk meines Großneffen der von H0 auf Spur N gewechselt ist und noch einige Häuser übrig hatte. Ich glaube es ist von Faller – aber es wurde auch entsprechend ge-„kitbashed“ was sich vor allem in der Aufteilung der Türen und der farblichen Nachbearbeitung niederschlägt.

Das obige Bild zeigt ein mehrfach verwendbares, in FreeCad gezeichnetes, Zimmermodul. Auch die Inneneinrichtungen wurden mit dem 3D Drucker gedruckt – das sieht dann so aus:

MobaLEDLib Einbauten mit 3D Druckkästen

Das sieht immerhin etwas aufgeräumter aus als wenn man Pappstücke nimmt – und es gibt auch keine Durchscheinungseffekte.

Die Kästen habe ich jetzt nicht Online gestellt – die Größe hängt halt doch zu stark vom aktuellen Haus und dem Abstand der Fenster ab. Es sind aber alles einfache Elemente die nur mit einer 10mm Bohrung am oberen Ende für die RGB LED gedruckt werden.

Die Anschlüsse jedes Hauses wurden auf eine Stück Lochrasterplatine aufgelötet die dann wiederum an das 6-adrige Kabel gehen. Das hat den Vorteil, das man diese Kabel auch durch ein normales Bohrloch unter die Anlage führen kann (die 6-poligen Stecker sind dazu etwas zu breit).

Im Ergebnis hier mal eine Nahaufnahme:

MobaLEDLib – Nahaufnahme Fenster

Lasst euch nicht von der Helligkeit blenden – die Helligkeitswerte will ich auf jeden Fall noch reduzieren.

Zusätzliches

Die Beschäftigung mit der MobaLEDLib zeigt Unmengen von Möglichkeiten – Ich bin hier nur auf die Basisfunktion des belebten Hauses eingegangen. 12V Versorgung über die Verteilplatinen, Servosteuerungen, Soundmodule – die Liste der Optionen ist beliebig lang. Ansonsten kann ich nur auf die wirklich sehr gute Dokumentation auf github und den detaillierten Thread im Stummiforum verweisen und ich hoffe dieser Bericht überzeugt auch die Nicht-Elektroniker sich mit dieser günstigen und vielseitigen Lösung zu beschäftigen.

Update: Inzwischen ist dieser Bericht auch auf dem MobaLEDLib Wiki zu finden. Gerade wer weitere Themen sucht wie z.B. Herzstückpolarisierung, Soundmodul, Servoansteuerung und Steuerung einzelner LED ist gut beraten hier nachzuschauen. Hier finden sich auch weitere Anwenderberichte.

Views: 3965

Software Watchdog für Traincontroller

Letzten Monat hatte ich mich mal wieder über den PC geärgert der meinte er müsste mal eben gerade irgendwas anderes machen anstatt die Modellbahn zu steuern. In der Folge liefen die Loks noch eine Zeitlang planlos ohne Steuerung und wurden vor dem Absturz in die Tiefe zum Glück nur noch von einer Auffangmatte aufgehalten 😡

Ein Kollege hat mal gesagt: Software ist böse! Er meinte damit vor allem die Software der Betriebssysteme. Nicht meine Steuerungssoftware war schuld, sondern irgendein Update der im Hintergrund meinte er müsste mal eben alle Systemresourcen fressen.

In grossen Infrastrukturen werden Fertigungssysteme auch nicht dem Computer überlassen – hier gibt es s.g. Wachhunde (Watchdogs), welche laufend die Verbindung zum Computer überprüfen und im Fehlerfall entsprechende Maßnahmen einleiten und das System geregelt abschalten.

Und tatsächlich: Das gibt es auch für die Modellbahn. Nach intensiver Lektüre der Dokumentation meiner TAMS B-4 Booster konnte ich dort folgendes nachlesen:

Die Zentrale (i.d.R. gesteuert durch eine PC-Software) sendet bei dieser Funktion in Abständen von ca. 5 Sekunden einen DCCWeichenstellbefehl an eine Weichenadresse, die dem B-4 zugewiesen wurde. Sobald der B-4 diese Befehle nicht mehr empfängt, schaltet er sich automatisch ab. Nach dem Einschalten des Boosters ist die Watchdog-Funktion zunächst inaktiv. Sie wird aktiviert, indem an die zugeordnete Weichenadresse ein Stellbefehl gesendet wird. Damit besteht die Möglichkeit, die Anlage ohne PC-Steuerung zu steuern, ohne die Watchdog-Funktion zu deaktivieren.

Das war genau was ich gesucht hatte. Und natürlich dachte ich zunächst: Ist doch wunderbar! Nach genaueren Recherchen fand ich heraus, das es sogar eine Funktion ist die bei vielen Digitalzentralen und Boostern vorhanden ist!

Wir müssen unserer Steuerungssoftware also nur noch klarmachen in festen Zeitintervallen einen „BinNochDa“-Befehl zu senden. Sobald der PC dann denkt es wäre Zeit etwas anderes zu tun oder ganz hängen zu bleiben würde der Befehl ausbleiben oder zu spät kommen – die Booster würden abschalten und die teuren Loks wären gerettet! 1 Wie ihr wisst steuere ich meine Anlage mit der Software Traincontroller – die Umsetzung sollte aber auch in anderen Steuerungsprogrammen möglich sein.

Nun wäre es eigentlich ein einfaches eine während der gesamten Sitzung laufende Loop zu machen in welcher periodisch laufend ein Stellbefehl für den Booster aktiviert wird.  Allerdings haben wir dabei mehrere Probleme:

  1. Wird aus dem laufenden Betrieb in TC in den Editormodus geschaltet so unterbricht TC diese Loop. Damit würden auch sofort die Booster abschalten.
  2. Die Zeitabstände sind nicht immer einzuhalten. So habe ich festgestellt, das eine normale Loop im laufenden Betrieb und unter Last des PC auch mal länger laufen kann als geplant. Die Folge davon ist klar: Der Booster wird abschalten.

Das Problem lässt sich natürlich mit TC lösen – allerdings müssen wir dazu etwas tiefer in die „Trickkiste“ von TC greifen. Punkt 1 lässt sich mittels eines Melders einfach lösen – Punkt 2 ist etwas komplizierter. So ist es in TC so, das eine Loop in einem externen Zubehör eigenständig abläuft – warum wissen die Götter äh Programmierer – und zwar immer und unabhängig von den „Aussenbedingungen“ in dem festgelegten Zeitintervall. Also müssen wir ein externes Zubehör erstellen (wer bis hierher mitgelesen hat: Im Downloadbereich findet sich dieses Zubehör sodaß es jeder nutzen kann und nur importieren muss – die Beschreibung hier ist also vornehmlich zur Erklärung):

Erweitertes Zubehör – „Kontinuierlich EIN/AUS“

Wir benötigen 4 Elemente – wobei diese Elemente relativ einfach gestrickt sind (von rechts nach links): Eine Anzeige, ein Taster (Stellbefehl), ein Schalter und ein 2. Taster (Taster2). Die eigentliche Arbeit macht der Schalter unten rechts beim einschaltenden Zustand:

Erweitertes Zubehör – Schalter für Blinkfrequenz

Hier findet sich eine Variable in welcher wir festlegen, in welchem Zeitintervall der Stellbefehl ausgeführt werden soll. Meinen B-4 reichen eigentlich 10 Sekunden, aber Sicher ist Sicher – daher sende ich den Befehl hier im Beispiel mal alle 4 Sekunden (der reale Wert ist das doppelte des angegebenen Werts!).

So lange der Taster2 aktiv ist, wird jeweils die Anzeige eingeschaltet, der Stellbefehl mit dem Taster „Stellbefehl“ gesendet und sich dann wieder 2 Sekunden Schlafen gelegt. Dann wird der Taster offiziell Ausgeschaltet, wieder 2 Sekunden gewartet und wieder eingeschaltet.

Der Ausschaltvorgang unseres Schalters ist dann eigentlich nur noch das Rücksetzen der Statusabfrage. Auch hier steht nochmal die Blinkfrequenz (kann man hier auch löschen!)

Der eigentliche Befehl wird also von Taster2 gesendet – das sieht dann so aus:

Externes Zubehör: Stellbefehl senden

Wie man sieht arbeiten wir hier mit einem Weichenbefehl – und das ist schon die ganze „Magie“ in diesem externen Zubehör. Die Spezialisten für externes Zubehör können sich gerne das ganze im Detail anschauen. Und was Punkt 1 anbelangt der Problemstellung: Das erkläre ich gleich unten bei der Installation. Was mir aber wichtig war:

Es funktioniert (seit mehreren Wochen) genial gut!

Und wie kann man das benutzen?

Klar – ich schreib das ja jetzt hier nicht nur um euch die Nase lang zu machen, sondern damit ihr es auch selbst verwenden könnt in euren Anlagenkonfigurationen. Dazu braucht es zunächst natürlich einen (oder mehrere) Booster die auch mittels Wachhund-Befehl aktivierbar sind. Schreibt euch die Adresse (in unserem Falle eine DCC Adresse auf) – wir brauchen sie später noch. Ach ja: Und testet die Adresse aus – also legt einfach eine Weiche an mit der Adresse und schaltet die mal ein – und aus – und ein – und aus. Nach einem gewissen Timeout sollte euer Booster jetzt abgeschaltet haben.2 (Tut er das nicht solltet ihr die Kiste einschicken oder den Hersteller fragen – manchmal ist es nur ein Firmwareproblem wenn es nicht wie geplant funktioniert)

Jetzt könnt ihr auch gleich noch eine 2. „Weiche“ anlegen – weil ihr jetzt nämlich euren Booster ausgeschaltet habt – aber ihr müsst ja auch eine Möglichkeit haben ihn wieder über die Software einzuschalten. Auch das findet sich in der Dokumentation des Boosters. Statt einer Weiche könnt ihr aber auch einfach einen x-beliebigen Schalter verwenden dessen Kontakte eine Funktion schalten.

Nun können wir es in TC auch installieren, oder?

Ja – dazu brauchen wir zunächst mal das zusätzliche externe Zubehör welches sich im Downloadbereich findet oder hier: [ddownload id="1240"]

Zum Import in TC im Reiter Zubehör – Erweitertes Zubehör – Bibliothek für erweitertes Zubehör – Import wählen 3falls es ausgegraut sein sollte müsst ihr vorher erst eine Tab mit einem Stellwerksfenster aktiviert haben

Nun könnt ihr dieses erweiterte Zubehör auch an eure Booster anpassen – oder ihr könnt die Einstellung von 4 Sekunden lassen. Falls ihr es anpassen müsst solltet ihr in der Bibliothek die Funktion „Eigenschaften“ auswählen. Dort wählt ihr den Schalter unten links im Bild und ändert die Blinkfrequenz – in beiden auslösenden Zuständen. Damit ist das erweiterte Zubehör einsatzbereit!

Das wars aber nicht – was ist mit der Konfiguration in TC

Nee – das wars noch nicht. Jetzt müssen wir das Zubehör auswählen und in TC im Stellwerk platzieren. Danach mit Rechtsklick geben wir ihm eine Adresse – und zwar genau die Adresse welche den Watchdog eures Boosters aktiviert:

Externes Zubehör – Watchdogadresse konfigurieren

Soweit so gut. Aber wir benötigen noch einen Schalter mit dem wir den Watchdog aktivieren – den sieht man im Bild ganz rechts

Schalter für externes Zubehör – EIN
Schalter für externes Zubehör – AUS

Das wars auch schon – jetzt wird das externe Zubehör kontinuierlich den Watchdog-Befehl senden sobald der Schalter aktiviert ist. Aber Achtung: Wenn der Schalter ausgeschaltet ist, dann ist auch der Watchdog ausgeschaltet – und euer Booster gleich mit! Deshalb sollte man beim Einschalten der Anlage direkt nach dem Einschalten der Booster auch den Watchdog aktivieren und aktiviert lassen!

Da war doch noch was mit dem Editiermodus?

Richtig – den hätte ich fast vergessen! Wenn wir nämlich bei TC in den Editiermodus gehen, dann wird auch unser Watchdog seine Loop beenden – was wir aber in der Regel eigentlich vermeiden wollen. Man will vielleicht auch im Editiermodus noch einen funktionierenden Booster haben – wüsste eigentlich auch kaum einen Fall wenn nicht. Zum Glück hat TC hier einen Monitor welcher uns mitteilt das der Editiermodus aktiv ist. Und das macht für uns ein Bahnwärter den wir erstellen und der folgenden Auslöser hat:

Bahnwärter für Editiermodus
Bahnwärter Operationen

Die Operationen für das Einschalten und für das Ausschalten (!) sind identisch – in jedem Falle wird der Watchdog aktiviert – in diesem Falle indem wir direkt das externe Zubehör aktivieren. In obigem Beispiel gibt es 2 Booster (S und N) die jeweils aktiviert werden. Die zusätzliche Voraussetzung stellt noch sicher das dies nur passiert wenn der Watchdog auch aktiviert wurde.

Thats it! Und wer es nochmal genau nachschauen will kann sich auch gerne meine aktuelle TC Datei anschauen – die findet sich auch im Downloadbereich.

Viel Spass damit und ich hoffe ihr habt eure Moba damit ein wenig sicherer gemacht!

Views: 1075

Translate »