MobaLEDLib – Erfahrungen mit DCC Relaisplatine

Artikel aktualisiert am 24.02.2023 Diese Beschreibung bezieht sich auf die Version 3.2.0 der MobaLEDLib und Hardware Version 1.1 der Schaltplatine. Aktualisierung um Erfahrungen nach längerem Betrieb (siehe unten).

Nachdem ich schon über meine ersten Erfahrungen mit DCC gesteuerten RGB-LEDs und über DCC gesteuerte Servos berichtet hatte, möchte ich euch diesmal von meinen Erfahrungen mit der DCC Relaisplatine des MobaLEDLib Projektes berichten.

Hintergrund

Für ein neues Modul (Schmalspurbahnhof Karnsdorf) benötigte ich eine Herzstückpolarisierung der Weichen – außerdem hat das neue Modul eine Segmentdrehscheibe die mittels Spannungsumpolung arbeitet. Da kam es gut, das es für die MobaLEDLib inzwischen ein  Relaismodul – Modul 530 – mit 8 Relais gibt, die jeweils 1xUM schalten. (Wer mit dem Thema MobaLEDLib noch gar nichts anfangen kann dem empfehle ich meinen Artikel zur LED Steuerung)

Ein solches Modul kostet mit den Elektronikbauteilen ca. 20€ und man kann mittels DCC Kommandos jedes einzelne Relais schalten! Die teuersten Teile sind dabei die Relais mit ca. 1,50€ pro Relais. Zum Vergleich: Die Firma TAMS hat einen Schaltdecoder zum Selbstlöten mit nur 4 Relais im Angebot (Schaltdecoder SD-34) zum Preis von 34,95 €!

Vor allem aber waren für mich die bisherigen, sehr guten Erfahrungen mit allen Platinen der MobaLEDLib ein Grund, es einmal mit dieser Platine auszuprobieren.

Um es vorwegzunehmen: Die Platine funktioniert problemlos – allerdings musste ich einiges an Lehrgeld bezahlen und hoffe das euch diese Beschreibung hilft nicht in die gleichen „Fettnäpfchen“ zu tappen. Müsste ich für mich ein Schwierigkeitsgrad beim Bau definieren, so käme allerdings die Relaisplatine auf den höchsten Grad, gefolgt von der Servoplatine und der LED Hauptplatine mit dem niedrigsten Schwierigkeitsgrad.1diese persönliche Einstufung hängt aber vornehmlich von meinen Kenntnissen des Lötens von SMD ICs ab

Folgende Beschreibungen waren bei dem Arbeiten mit der Relaisplatine hilfreich:

Beachtet: Einige der Links sind versionsabhängig – deshalb bitte immer über die in obiger Liste als erstes genannte Einstiegsseite gehen und dann dort die genannten Links suchen!

Auch wenn ich im folgenden eine Herzstückpolarisierung beschreibe, können die Relais natürlich für jede andere Schaltaufgabe verwendet werden. Die Beschreibung ist auch in diesem Falle hilfreich, da es vornehmlich um Aufbau und Betrieb der Relaisplatine geht.

Bestellung und Varianten

Wie immer findet sich die Beschreibung der Relaisplatine 530 im MobaLEDLib Wiki. Dabei hatte ich allerdings gleich das erste Problem:

Es gibt 3 unterschiedliche Möglichkeiten die Platine zu bestücken – entweder als Platine zur „Herzstückpolarisation“ – ich nenne es mal (RH), oder als Relaisplatine (RE) oder als ABC Bremsmodul (RA) . Außerdem kann man RE mit monostabilen Relais 1A, monostabilen Relais 2A und bistabilen Relais 2A bestücken. Hier mal die Übersicht, wie sich RE bestücken lässt:

RelaiskonfigurationTypAnzahlBemerkung
Monostabil1A wie im Wiki beschrieben88 Relais können geschaltet werden, davon 7 unabhängig.
Monostabil2A (Link Reichelt)3Höhere Amperezahlen möglich – bei stromintensiven Verbrauchern notwendig
Bistabil2A bei den Relais handelt es sich um diese hier mit zwei Spulen3Nur kurze Schaltspannung erforderlich um das Relais umzuschalten – Zustand bleibt auch bei Abschaltung MLL bestehen. Daher auch z.B. manueller Betrieb bei Herzstückpolarisierung möglich.
Bestückungsvarianten in der Konfiguration als Relaisplatine

Diese unterschiedliche Bestückungsvarianten ermöglichen zwar einen sehr variablen Einsatz der Platine – als Anwender verwirren sie mich aber doch ziemlich.

Hier mal eine Übersicht was es mit den verschiedenen Relais auf sich hat:

Monostabiles Relais – man gibt einen DCC Befehl ein und das Relais schaltet ein. Stellt es euch wie einen Taster vor: Mit dem DCC Befehl wird der Taster aktiviert. Das Relais zieht an und schaltet durch. Wie bei einem Taster muss aber in angezogenem Zustand dauerhaft Strom fließen. Schaltet ihr die Anlage ab, so ist das Relais wieder abgefallen und muss jedes Mal neu aktiviert werden2(dafür gibt es eine Lösung – dazu aber später mehr)

Bistabiles Relais – auch das funktioniert mit einem DCC Befehl, aber das Relais schaltet nur einmal um und bleibt danach in Ruhe, d.h. es fließt nach dem Umschalten kein Strom. Schalt-technisch sind beide Relais identisch

Verwirrend ist hier, dass es auch eine extra Bestückung in der Variante RH – also als Platine zur Herzstückpolarisation gibt. Diese ist insbesondere dann empfohlen, wenn MLL auch mit den MLL Servomodulen (siehe mein Bericht zu den Servomodulen) zum Einsatz kommt und gleichzeitig Weichen mit durchgehenden Zungen.

Nun wollte ich allerdings nicht nur die Polarisation verwenden, sondern auch eine Umpolung für eine Segmentdrehscheibe. Auch erlaubt die Herzstückpolarisation nur 3 bistabile Relais – die Relaiskonfiguration aber erlaubt 8 monostabile Relais.

Also dachte ich: 8 ist mehr als 3 und mit 8 monostabilen kriegt man ja auch eine Polarisierung hin!

Entsprechend habe ich auch die Bauteile bestellt die unter dem Link für die „Relaisversion“ zu finden sind. Da gab es aber gleich folgende Probleme (vielleicht gibt es ja irgendwann keine Lieferprobleme mehr):

  • Die ICs vom Typ ULN 2003A AN waren bei Reichelt bis auf weiteres nicht mehr lieferbar.  Wie der Entwickler – Dominik – mir bestätigt hat, kann man aber auch die ULN 2003A STM nehmen.
  • Ebenfalls kann Reichelt aktuell keine steckbaren Schraubklemmen liefern. Die sind aber für die Funktion auch nicht erforderlich. Hier kann man sich mit einfachen Stiftleisten aushelfen. Dann kommen auf die Stifte entsprechende Stiftbuchsen – genau so wie man auch Servos anschließt. (siehe dazu mein Modul oben). Die Stiftleisten sind aber nicht Teil des Warenkorbs, da die Standardbestückung die Schraubklemmen vorsieht.
  • Der Warenkorb alleine reicht nicht aus – es fehlen die Wannenstecker und vor allem die WS2811 in SMD Bauform! Letzter sind nur schwierig zu bekommen – fragt am Besten mal bei der Bestellung der Platinen, ob ihr noch 2 SMD WS2811 dazu bestellen könnt – manchmal haben die Kollegen noch welche vorrätig.

Zusammenbau und Test

Der Zusammenbau ist eigentlich problemlos möglich. Allerdings stehe ich selbst wohl auf Kriegsfuß mit SMD IC Bauteilen. So funktionierten anfangs nur die ersten beiden Relais – und eine kalte Lötstelle tat ihr übriges. Zum Glück hat mir der Entwickler, Dominik, hier geholfen und das Bord nach Einsendung an ihn, repariert!

Einige Empfehlungen zum Löten von SMD Bauteilen findet ihr in meinem Artikel zu den Infrarot Sensoren3(obwohl ich meine eigenen Tipps eingehalten hatte, hat es allerdings bei mir nicht funktioniert – aber dazu brauche ich wohl erst eine neue Lötstation – die alte Lötstation ist doch langsam fällig …)

Vergesst nicht die Lötpunkte richtig zu setzen!

Da es so viele Varianten gibt, war ich anfangs irritiert, welche Lötpunkte ich denn jetzt für mein “Standardrelais mit 8 monostabilen Relais” verbinden musste. Hier hat mir (wie immer) der Blog im Stummiforum aus der Patsche geholfen. Dazu folgende Rahmenbedingungen:

Wenn ihr eure Platine immer mit einer Verteilplatine anschließt, 8 Monostabile Relais mit 1A verwendet, keine höhere Spannung über Pin 6 einspeist und die Platine als reine Relaisplatine verwendet4(das sind jetzt alles die “Standardbedingungen”) , dann müssen folgende Lötpunkte (aka Jumper) verbunden werden5wer es genau wissen will findet hier den Thread mit einem Bild der Lötpunkte:.

  • RES_G1
  • NO_OPTW2
  • TERM (nur offen lassen, wenn man mehrere Relaisplatinen miteinander verbinden will – davon würde ich aber die Finger lassen und stattdessen jede Relaisplatine an einen eigenen Anschluß einer Verteilerplatine anschließen)
  • 6=5V (nur offen lassen, wenn man eine abweichende Spannung am Verteiler von PIN 6 hat – also eher etwas für die “Insider”)

Dieser Beitrag bezieht sich auf V1.1 der Relaisplatine -wenn ihr eine andere Version verwendet, solltet Ihr unbedingt erst vorher die Dokumentation im MobaLEDLib Wiki zu Rate ziehen!!

Die LED und die 8 Relais sind dabei wie folgt angeordnet:

Mobaledlib Platine 530

Steuerplatine 530 (Version ohne Schraubklemmen) – der weiße Punkt markiert den Pin der im Ruhezustand aktiviert ist. Nur für die ersten 6 Relais sind LED vorhanden. Relais 8 (H) schaltet zusammen mit Relais 6 (F).

Da die Pins nicht verpolungssicher angeordnet sind, habe ich jeden Stecker mit einer Markierung versehen – der 1. Stecker hat zusätzlich 1 Punkt als Markierung – der 8 Stecker 8 Punkte.

Testen der Platine

Mein erster Test ging gründlich in die Hose. Um es gleich vorwegzunehmen:

Vor dem Test der Platine solltet Ihr den Programmgenerator der MLL (also die Exceldatei) auf die neueste Version aktualisieren. Dabei auch nicht vergessen, den DCC Arduino mit zu aktualisieren, falls eine neue Version vorhanden ist.

Wie das geht habe ich bereits im Artikel über die Servobausteine beschrieben (da hatte ich nämlich das gleiche Problem).

Das Hauptproblem war mein fehlender Kenntnisstand zur Konfiguration der monostabilen Relais im Programmgenerator der MLL. So fand ich in der V3.1.0 netterweise folgende Konfigurationsoption:

MobaLEDLib - Relaisdarstellung V3.1.0
MobaLEDLib – Relaisdarstellung V3.1.0

Toll – dachte ich, aber weit gefehlt – diese Konfiguration ist nur für den Fall gedacht, das man die Herzstückpolarisations-Variante RH gebaut hat – nicht aber für die Version RE!

Wie immer war das Forum sehr hilfreich – vor allem nachdem ich erst einmal verstanden hatte, das man auch die monostabilen Relais als Dauerkontakt oder als Momentkontakt konfigurieren kann. Dazu ein kurzes Beispiel:

Ein Herzstück möchte ich dauerhaft mit Strom versorgen – dann brauche ich aber auch ein Kontakt der dauerhaft eingeschaltet ist. Einen magnetischen Weichenantrieb sollte ich aber nur kurzzeitig unter Spannung setzen – selbst wenn dieser eine Endabschaltung haben sollte. In der Dokumentation ist aber (zumindest zum Zeitpunkt dieses Artikels) nur der Momentkontakt beschrieben – nicht aber der Dauerkontakt! Der Entwickler – Dominik – hat mir dann schnell aus der Patsche geholfen. Hier meine Konfiguration – ich verwende die Adressen 721 – 727 um die Relais einzuschalten.

Konfiguration MobaLEDLib mit monostabilen Relais
Konfiguration MobaLEDLib mit monostabilen Relais
  • Mittels RS Flip-Flop (gelb markiert) wählt ihr aus, das ein Relais dauerhaft eingeschaltet wird. Wollt ihr nur ein kurzes Einschalten, so lasst ihr das RS-Flip-Flop einfach weg.
  • Die DCC Adresse (rot markiert) wird bei der Eingabe des Flip-Flop – nicht beim Relais angegeben.
  • Der Name des Relais (blau markiert) bei der Definition des RS Flip-Flop muss mit dem Namen dem Relaisnamen übereinstimmen (sofern das Relais dauerhaft geschaltet bleiben soll)
  • Vergesst auch nicht, das die Helligkeit (orange) zwingend auf 255 gesetzt werden muss – dies ist im Dialog beim Einrichten leider nicht der Standardwert.

Herzstückpolarisierung

Die Herzstückpolarisierung funktioniert auch mit monostabilen Relais – es ist nur ein wenig aufwändiger in der Verkabelung und der Konfiguration in eurer Steuerungssoftware. Wenn ihr nur das Herzstück selbst, und nicht die Zungen, umschalten wollt, dann könnt ihr einfach eines der Relais verwenden und einfach die Spannung in Abhängigkeit von der Weichenstellung umstellen. Das ist aber bei 2L Fahrern und Weichen mit federnden Zungen nicht ganz so einfach. Solche Weichen werden z.B. von Tillig, Weinert usw. hergestellt.

Bei Weichen mit federnden Zungen, wird die Stromverbindung über das Anlegen der Zunge hergestellt. Wenn die Weichenzunge umgelegt wird, und gleichzeitig umgepolt wird, so kommt es zum Kurzschluss

Wer nun denkt: Da braucht man doch keine Polarisierung – man muss ja nur Herzstück mit Zunge verbinden hat vollkommen Recht! Aber: Die Zunge liegt nicht immer vollständig an – hinzu kommt nach dauerhaftem Betrieb eine Verschmutzung was dauerhafte Reinigung der Zungeninnenseite nach sich zieht.

Federnde Zungen in Weichen solltet ihr immer mit einer eigenen Stromversorgung versehen, um einen dauerhaft störungsfreien Betrieb zu garantieren!

In der MLL gibt es daher auch die Möglichkeit die Herzstückpolarisierung mit dem Schalten der Servos zu koppeln, sodass erst bei Bewegung des Servos die Polarisierung umgeschaltet wird. Nun habe ich allerdings meine Weichen nicht mit dem Servobaustein geschaltet – aber generell würde ich dies auch nicht unbedingt empfehlen. Deshalb kommt bei mir folgende Schaltung zum Einsatz

2L Herzstückpolarisierung bei federnden Weichen
2L Herzstückpolarisierung bei federnden Weichen

Die Schaltung zeigt die Relais im stromlosen Zustand. Dabei ist das Herzstück ohne Verbindung zu einer der Schienen. Tatsächlich kann es trotzdem Verbindung haben, wenn die Zunge Verbindung zum grünen Gleis hat! Diese Einstellung führt aber garantiert nicht zu einem Kurzschluss.

Um jetzt die Weiche zu schalten, wird als erstes das Relais 1 in Ruhezustand gebracht, dann wird die Weiche geschaltet und die Zungen laufen um. Erst danach schaltet Relais 2. Ein bistabiles Relais würde diese Verbindung dauerhaft halten. Diese Abfolge übernimmt die Steuerungssoftware (in meinem Falle Traincontroller). Wie dies konkret in der Software ausschaut – dazu das nächste Kapitel

Konfiguration Steuerungssoftware

Die folgende Beschreibung bezieht sich auf die bei mir eingesetzte Steuerungssoftware Traincontroller. Bei anderen Steuerungsprogrammen, ist dies natürlich anders zu definieren – trotzdem mag diese Beschreibung hier vom Grundsätzlichen auch für diese Programme interessant sein.

Halten wir uns noch einmal vor Augen, wie jetzt die Herzstückpolarisierung (am Beispiel von Relais A und Relais B funktioniert:

Wenn ich Relais A aktiviere, deaktiviere (!) ich damit auch die Herzstückpolarisierung6 Ich hätte es auch anders herum machen können, aber dann wäre Relais A bei Betrieb der Anlage dauernd aktiv gewesen. Ist Relais A eingeschaltet, so ist auch das Herzstück nicht mit Strom versorgt. Tatsächlich habe ich allerdings u.U. über die Weichenzungen eine Verbindung – die allerdings nicht sehr kontaktsicher ist. Ich habe mir daher folgende Vorgehensweise in Traincontroller programmiert:

Als erstes wird eine Weiche in TC angelegt (Beispiel: DE 352) – allerdings ohne, das dafür eine Adresse eingetragen wird!

Traincontroller 530 - Weichenschalter

Als nächstes erstellen wir einen Umschalter, der nur dazu dient die Weiche von rechts nach links zu stellen. In meinem Beispiel hat die Weiche die Adresse 354 (im Bild sorry – 352) und hängt an einer Intellibox Basic. Diese Weiche wird über einen Servo und WA5 Weichendecoder umgestellt.

Dann erstellen wir einen Melder, der als Auslöser die Weichenstellung Abzweig hat. In den Operationen ist folgendes hinterlegt:

Zunächst wird das erste Relais eingeschaltet – es hat bei mir die DCC Adresse 721. Auch dieser Schalter ist ein Umschalter und mit der Adresse des Relaisbausteins aktiviert. Es wird also zunächst die Herzstückpolarisierung AUS geschaltet. Jetzt kann die Weiche aktiviert werden und die Zungen können umlaufen. Die Umlaufzeit habe ich in einer globalen Variablen vom Typ Zeit hinterlegt. Erst wenn die Weiche um gelaufen ist, darf ich jetzt auch die Polarisierung ändern. Dies erledigt ein Umschalter mit dem Namen “858 Weichenherzstück….”. Dieser Umschalter hat die Adresse 722 und ist damit das Relais B auf der Platine. Mit einer kleinen Verzögerung wird dann die Polarisierung auch aktiviert über Relais A

Das funktioniert im laufenden Betrieb einwandfrei. Beim Ausschalten der Stromversorgung der Relaisplatine würden aber auch alle Relais abfallen und beim erneuten Einschalten wäre ein Kurzschluss im wahrsten Sinne des Wortes vorprogrammiert! Aus diesem Grund ist es wichtig, das wir im Programmgenerator noch eine zusätzliche Funktion aktivieren:

Zustände speichern in der MobaLEDLIB

Hiermit ist sichergestellt, dass garantiert auch bei Ausschalten der Anlage der letzte Zustand aktiviert bleibt.

Ein Nachteil hat diese Vorgehensweise jedoch: Schalte ich die Anlage ein, ohne entsprechende Steuerungssoftware, und betätige dabei auch manuell – also nicht über die Steuerungssoftware – die Weichen deren Herzstücke über die Relaisplatine mit Spannung versorgt werden, so kommt es zum Kurzschluss. Um auch dieses – zugegeben geringe – Risiko zu vermeiden, deaktiviere ich beim Abschalten von Traincontroller die Polarisierung der Herzstücke, und aktiviere diese wieder beim Einschalten. Wer dies ebenfalls umsetzen will, dem empfehle ich einen Blick in die Programmdatei.

Eine weitere Absicherung ist eine Bedingung in der Betätigung des Weichenschalters: Um zu vermeiden, das die Weiche zu schnell hin und her bewegt wird und damit ebenfalls ein Kurzschluss auftreten würde, ist in der Bedingung für die Aktivierung der Weiche hinterlegt, das die Herzstückaktivierung aktiviert sein muss (also im Beispiel muss das Relais A deaktiviert sein).

Einbau

Zum finalen Einbau des Moduls gibt es nicht viel zu sagen – am wichtigsten: “Beschriftet alle Anschlüsse detailliert und macht euch am Besten auch eine Sicherungskopie eures Programmgenerators”. Letzteres funktioniert im Excel über “Optionen” – “Dateien” – “Speichern in Datei”.

Gehäuse für MLL 530 Relaisplatine

Es gibt inzwischen auch ein Gehäuse für den 3D Druck für die Platine 530 – zu finden unter diesem Linkhttps://wiki.mobaledlib.de/3d_druck/zubehoer/3dgehaeuse

Fehlersuche

Wie schon oben angedeutet, hatte ich mit dem Modul anfangs diverse Schwierigkeiten – daher hier mal eine Zusammenstellung der verschiedenen Fehler (und ich hatte alle davon)

Als erstes solltet ihr versuchen zu prüfen, ob die Relais überhaupt richtig angesteuert werden. Dazu empfehle ich eine “Testschaltung”. Wer häufiger mit der MLL arbeitet, der sollte sich auf jeden Fall eine Testschaltung mit 3-6 RGB LED gönnen, die in Reihe geschaltet sind. Tauscht diese Testschaltung gegen die Relaisplatine aus und schaltet dann die DCC Kommandos durch. Wenn alle RGB LED nach Aktivierung der DCC Adressen der Reihe nach leuchten, dann ist die Eintragung in der Excel schon einmal grundsätzlich richtig.

Sodann solltet ihr prüfen, ob die Helligkeit bei der Zeile “LED einstellbar” auch wirklich auf 255 steht. Oftmals hört man ein leises, hochfrequentes Pfeifen wenn man die Relais mit zu niedriger Helligkeit konfiguriert hat. Diese benötigen zwingend die Einstellung 255!

Um sicherzustellen, das es nicht an der Hardware liegt, hat Michael aus dem Forum unter diesem Link beschrieben, wie man die Verbindungen testen kann – vor allem solltet ihr die SMD WS2811 mal genauer anschauen7an dieser Stelle nochmal tausend Dank an Dominik, der mir geholfen hat nicht nur meine Fehler zu finden, sondern auch meine SMD Lötfehler beseitigt hat.

Eine kalte Lötstelle an den Kondensatoren kann z.B. schon Schuld sein, das ein Relaispaar nicht schaltet.

Update – Erfahrungen

Inzwischen habe ich bereits den 2. Relaisbaustein über ein Jahr in Betrieb und bin damit sehr zufrieden.

Allerdings verwende ich ihn nicht mehr für die Herzstückpolarisierung. Der Grund dafür liegt vor allem darin, das ich häufig auch mit Traincontroller Tests und Konfigurationen ohne Verbindung zur Anlage mache. Dann steht die Weiche oftmals falsch und die Folge ist ein Kurzschluss. Auch kam es Hin- und Wieder vor, dass ein Relais zu spät geschaltet hatte, wenn eine ganze Weichenstraße geschaltet wurde.

Zum Einsatz kommt der Relaisbaustein daher immer dann, wenn 12V-Lampen mit DCC geschaltet werden, oder mechanische Entkuppler bewegt werden müssen.

Der Relaisbaustein arbeitet inzwischen seit einem Jahr ohne Probleme – er stellt eine ideale Ergänzung zu den Bausteinen der MobaLEDLib dar. Insbesondere wenn Verbraucher mit 12V geschaltet werden müssen. Zur Herzstückpolarisierung verwende ich die Relais wegen der Kurzschlussgefahr nicht mehr. In solchen Fällen ist eine direkte Kopplung mit den Weichenantrieben – insbesondere beim Einsatz von federnden Zungen – sinnvoller.

Visits: 1406

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.

Visits: 3898

Translate »