Das neue Layout ist mittlerweile fertig entworfen, so dass die Anzahl der eingesetzten Gleise und Weichen feststeht. Somit kann das passende Gleisbild-Stellpult angegangen werden.
Firma Uhlenbrock stellt netterweise das Programm TC-Edit zur freien Verfügung, mit dem sich so ein Pult entwerfen lässt.
Nach einer etwas holprigen Einarbeitung - Copy&Paste und Cut&Paste arbeiten etwas ... nennen wir es ungewohnt - lässt sich das Programm letztlich zur Zusammenarbeit überreden, das Resultat ist ein stilisiertes Abbild der Gleise meiner Anlage.
(Click auf das Bild für volle Auflösung)
Um ein bisschen mit den Maßen spielen zu können, um eine Idee der resultierenden Größe des Stellpults zu erhalten, habe ich die Darstellung in Excel nachgebildet. Hierbei galt es ein Hindernis zu umschiffen, das Microsoft absichtlich oder zufällig in Excel eingebaut hat. Excel bietet die Option “Bild in Zelle einfügen”. Das klappt prima, das eingefügte Bild ist anschließend mit der Zellengröße verheiratet, Änderungen an den Abmessungen ergeben sofort ein angepasstes Bild des Layout. Leider verschwinden die Bilder nach dem Schließen der Excel-Datei, beim erneuten Aufruf der Datei enthalten alle Zellen nur noch die aussagelose Meldung “#UNKNOWN!”. Nach langen Recherchen im Internet kristallisiert sich heraus, dass die Funktion “Bild in Zelle einfügen” entweder fehlerhaft umgesetzt wurde, oder dass die Funktion in der aktuellen Office Version 2024 vergessen wurde aus dem Menü zu entfernen.
Um dennoch eine bildhafte Darstellung des Pults in Excel zu erhalten, habe ich ein wenig VBA bemüht und kopiere die Bilder nach jedem Öffnen der Datei per Makro wieder an die passenden Stellen. Die dafür notwendigen Koordinaten sowie die Bilder habe ich aus der Projektdatei von TC-Edit geholt bzw. per Screencapture erstellt. Mühsam aber zielführend.
Die Excel-Version sieht dem Original in TC-Edit täuschend ähnlich, lässt sich aber skalieren - Mission erfüllt.
Als nächstes muss eine Möglichkeit geschaffen werden, die Weichen zu bedienen. MERG hat dafür bei ihrer Lösung DCC Accessory Encoder Kippschalter vorgesehen, was sich aber in der doch etwas gedrängten Darstellung auf dem Pult kaum schick umsetzen lässt.
Dazu der Hinweis, dass sich die Abmessungen des Pults wohl bei ca. 45 x 23 cm einpendeln werden. Eine einzelne Zelle des Gleisbilds hat dann ein Größe von 20,25 x 13,5 mm.
Diese Abmessungen habe ich gewählt, weil ich plane, jedes Feld des Pults mit einer RGB-LED hinterleuchtbar zu machen. Die Aufgabenstellung RGB-LEDs in Matrix Anordnung schreit geradezu nach dem Einsatz sogenannter LED RGB-Strips, wie ich sie bereits bei den Wortuhren eingesetzt habe. Die LEDs auf dem Strip sind hintereinander geschaltet und werden über einen Ausgang des Microcontrollers seriell angesteuert. Jede LED kann dabei eine unterschiedliche Farbe haben, es lassen sich so problemlos Routen anzeigen oder auch Signale mit Rot/Grün visualisieren. Und hier kommt dann die Teilung der im Handel erhältlichen LED-Strips ins Spiel.
Nach langem Suchen und Rechnereien habe ich bei unseren chinesischen Freunden LED-Strips mit 74er Teilung (74 LEDs/Meter) gefunden. Die LEDs sitzen im Abstand von 13,5 mm auf der Leiterfolie, das Band wird senkrecht orientiert eingebaut werden. Mit den anderen, üblichen Teilungen 30, 60, 144 LEDs/m oder auch mit unüblicheren Teilungen von 90, 100 oder 120 LEDs/m würde das Pult unmöglich groß werden, selbst wenn man z.B. nur jede zweite LED nutzen würde, wie ich das bei der WordClock 19 cm umgesetzt habe.
Nach diesem Ausflug in die einschränkenden Randbedingungen zurück zur Funktion. Kippschalter kommen also nicht in Frage, bleiben Taster zur Bedienung der Weichen und
Signale. Die normalerweise bei Modellbahnern zum Einsatz kommenden runden
Einzeltaster
gefallen mir nicht, ich möchte
Taster
von Cherry aus einer Computertastatur einsetzen. Die haben gute
Kontakteigenschaften, gegebenenfalls auch noch nach vielen Millionen Schaltspielen, und es ist bereits eine Diode eingebaut, die für die Verschaltung der elektrischen Tastenmatrix notwendig ist, um sogenanntes Ghosting zu vermeiden. Ghosting tritt auf,
wenn durch nicht unterbundene Rückwärtsströme bei der Abfrage der Tastaturmatrix mehrere Tasten gleichzeitig als gedrückt erkannt werden. Durch die Dioden werden diese Rückwärtsströme verhindert.
Die Tasten haben genau den Abstand der beiden Stößel, die für die Bedienung der Doppelkreuzungsweichen benötigt werden, und die jeweils daneben liegenden normalen Weichen passen auch noch ins Raster. So in etwa muss man sich die Anordnung der Taster vorstellen:
Die roten Kreise deuten die Knöpfe der Taster an. Über die LEDs wird dann die Lage der Weichenzunge visualisiert.
Die Taster selbst werden in einem eigenen “Stockwerk” platziert, so dass sie nicht mit den LEDs in Konflikt geraten. Die Betätigung erfolgt mittels einer Verlängerung aus Kunststoff.
Natürlich passen die LEDs aus dem 74er LED-Strip nicht in doppelter oder bei der Doppelkreuzungsweiche gar in vierfacher Ausfertigung unter die Weichenschaubilder. Diese LEDs vom Typ WS2812(B) kommen im Format 5 x 5 mm daher. Es gibt die LEDs aber auch einzeln und im Format 2,4 x 2,7 mm, beispielsweise der Typ SK6805. Solche Winzlinge habe ich beim Mini-Wecker bereits eingesetzt. Mit ihnen lässt sich die gewünschte Darstellung realisieren. Genialerweise werden sowohl die WS2812 als auch die SK6805 mit identischem Bitmuster, die Farbreihenfolge und die Bit-Wertigkeit betreffend, angesteuert, so dass da keine programmtechnischen Klimmzüge notwendig sind. Die einzelnen Mini-LEDs für die Weichenlageanzeige werden auf einer kleinen Platine aufgelötet, die jeweils an passender Stelle in den LED-Strip eingefügt wird.
Da aufgrund der unterschiedlichen Datenfluss-Richtungen die Leiterführung zu den drei oder vier LEDs auf den Platinen doch recht kompliziert verlaufen muss, habe ich die Platinen zweiseitig ausgeführt, mit EasyEDA erzeugt und von JLCPCB fertigen lassen.
Einschub
Der Service bei JLCPCB ist an sich super, auch dass fünf Stück als minimale
Abnahmemenge festgelegt ist, haut mich nicht vom Hocker, aber dass für die Ritzung der Platinen zum Trennen einmal Mindestabmessungen eingehalten werden müssen
und zum anderen diese Ritzung aufgrund der kleinen Abmessungen der einzelnen Platinen einen erheblichen Aufschlag kostet, der erst ganz zum Schluss den
ursprünglich sehr moderaten Gesamtpreis auf den 20-fachen Betrag hochschnellen lässt, hat mich dann doch etwas verärgert. Dann kam noch hinzu, dass durch die
Ehrenrunde wegen nicht eingehaltenem Minimalformat alle Nachlässe gestrichen wurden. Erst als ich mit meinem neu erworbenen Wissen um die Einschränkungen
einen neuen Auftrag eingestellt habe, wurden die ursprünglichen Nachlässe wieder gewährt, den ersten Auftrag konnte ich problemlos stornieren. Vergleichsweise teuer
war es dann doch, aber die Qualität der Platinen dämpft den Schmerz wieder auf eine erträgliches Maß ;)
Ein Wort zur “Datenfluss-Richtung”:
Da die LEDs auf dem Strip alle hintereinander geschaltet sind, liegt es nahe, die Leiterbahn mäanderförmig anzuordnen: Start links oben nach unten, eins nach rechts,
wieder nach oben und so weiter. In Folge wandern die Daten in der ersten Spalte von oben nach unten, in der nächsten Spalte dann von unten nach oben, im Weiteren dann immer abwechselnd.
Meine in diesen Fluss eingefügten Platinen werden also mal von oben, mal von unten kommend mit Daten versorgt. Das Layout der eingeschleiften Platinen ergibt sich durch diese unterschiedlichen Datenfluss-Richtungen bei identisch angeordneten LEDs komplett verschieden.
Insgesamt benötige ich sechs verschiedene Anordnungen der LEDs für das geplante Layout der Bahn, also sechs Designs in unterschiedlicher Anzahl, insgesamt 27 Stück die dann auf einem 35er Nutzen zusammengestellt werden, um die Minimalgröße der resultierenden Platine zu erreichen. Hier die gerenderte 3D-Ansicht aus EasyEDA:
Zuhause angekommen und teilweise zerteilt...
und letztlich bestückt und zu einer Testanordnung zusammengelötet:
Da ich den von EasyEDA vorgehaltenen Footprint für die Mini-LEDs verwendet habe, hatte ich einigen Spaß beim Verlöten der LEDs, aber nach drei Versuchen hat die kalte Lötstelle aufgegeben und ich konnte den FastLED DemoReel-Test für Arduino auf die Kombination WS2812 LED-Strip mit SK6805 Platinen loslassen. Läuft :)
Da ich davor zurück geschreckt bin, die Kappen über den LEDs von Hand zu designen, habe ich mich letztlich wieder auf OpenSCAD gestürzt und die sechs unterschiedlichen Kappentypen parametrierbar per Programm erzeugen lassen.
Bei der Umsetzung habe ich dann erfreut festgestellt, dass die 6 unterschiedlichen Platinentypen nur 4 verschiedene Kappen benötigen. Typ 1 und 2 sowie Typ 3 und 4 werden identisch abgedeckt, die Datenrichtung muss bei den Kappen naturgemäß nicht berücksichtigt werden. Im folgenden Bild oben die Kappen für Typ 1+2 sowie Typ 3+4, darunter Typ 5 und Typ 6.
Hier beispielhaft die Rückseite der Typ 6 Kappe.
Man sieht die beiden zylindrischen Führungen für den Stift, mit dem der Taster betätigt wird. Die schmalen Wände trennen die vier LED-Positionen optisch voneinander, damit kein Übersprechen untereinander auftritt. Die Ausschnitte in den Längswänden nehmen die Lötkleckse auf, mit denen die Platinen an die LED-Strips gelötet werden.
Die einstellbaren Parameter für die Kappen sind hier zu sehen:
Die Parameter sind leider nicht beliebig änderbar, weil der innere Aufbau der Kappen recht kompliziert zu berechnen ist. Weichen die Parameter zu stark von den angegebenen Defaults ab, passen die Formeln nicht mehr und der Platz für die LEDs könnte zu klein werden. Definitiv werden die Positionen der Löcher und der Wände falsch berechnet, genaugenommen dürfen die mechanischen Parameter also überhaupt nicht geändert werden. Bleibt die Auswahl des zu berechnenden Kappentyps, was die oben angegebene Parametervielfalt etwas einschränkt: