So ein Stellpult ist ja eine schöne Bastelei, aber das muss ja in der echten Welt auch irgendwas bewirken. Ich gebe zu, hier hapert es noch, der Abzweig zum vorgestellten Stellpult will erst noch entstehen. Aber damit ich schon ein bisschen Modellbahnwelt spielen kann ist ein Testaufbau entstanden. So sieht der momentan aus:
Links unten kommt ein Datenkabel vom Stellpult. Das sind auch wieder die 4 schon bekannten Datenleitungen, verpackt in einem 9poligen Sub-D Kabel. Eigentlich soll die Platine 1 wieder so eine Treiberplatine werden, aber der erste Versuch tut nicht ganz so wie er soll. Deswegen ist mit 1a und 1b hier nochmal eine Treiberstufe dazwischen. Dieser Teil wird auf jeden Fall noch überarbeitet.
Auf der Seite des Raspberrys im Stellpult sitzt das Gegenstück dazu:
Hier sind die Datenleitungen alle mit Optokoppler vom Anlagenteil getrennt so dass sich die beiden Elektriken nicht ins Gehege kommen können.
Platine 2:
Das ist eine Ansteuerung für einen Weichenservo. Die ist mit einem Arduino Nano umgesetzt und hat auf der Platine gleich noch die Relais für die Polarisierung des Herzstücks und der Weichenzungen sowie zusätzliche Eingänge für Endlagenschalter (wenn man den Aufwand so weit treiben möchte dass man den Umstellvorgang auch mechanisch überwachen möchte), Eingänge für zusätzliche Taster zum Umstellen der Weiche (wenn eine derartig ausgerüstete Weiche mal ohne das Stellpult geschaltet werden soll, z.B. weil irgendwas nicht funktioniert wie es soll) und Ausgänge für eine Rückmeldung der Weichenlage (wenn man in Weichennähe am Modul zusätzlich die aktuelle Weichenlage anzeigen möchte). Und zu guter Letzt natürlich den Anschluss für den Stellservo der Weiche. Angesteuert werden kann mit dieser Platine nur genau eine Weiche - dafür ist aber auch die Polarisierung gleich mit drauf und braucht keine zusätzliche Platine.
Platine 3:
Das ist eine Ansteuerung für beliebige Signale. Auch die ist mit einem Arduino Nano umgesetzt und kann bis zu 2 Signale ansteuern. Von dieser Platine aus geht es über ein 8poliges RJ45 Kabel zum Signal - üblicherweise auf den Modulen in einem Wattenscheider Schacht. Die Ansteuerung dafür ist zuvor schon mal im Rahmen eines anderen Projektes entstanden. Mit dieser Ansteuerung können da dann beliebige Signale angeschlossen werden, ja, ich weiß, zu GS II gehört zwingend Hl aber rein technisch geht hier bei mir auch alles andere.
Platine 4:
Das ist eine ganz allgemein gehaltene I/O Platine mit 16 Ein- oder Ausgängen. Im konkreten Fall benutze ich da nur Taster auf den Platinen 4a und 4b zur Simulation von Gleisbelegtmeldern. Diese I/O Platine könnte man aber auch an Stelle der Platine 3 zur Signalansteuerung verwenden, und/oder man könnte beliebige andere Weichendecoder anstelle der Platine 2 ansteuern solange diese über entsprechende Eingänge verfügen. (Werbung: z.B. der Weichendecoder von @Holgi ist so anschließbar)
Die Arduinos auf den Platinen 2, 3 und 4 bekommen genau wie die Elemente des Gleisbildstellpults ihre Daten über SPI vom zentralen Raspberry und werden, was die Eingänge betrifft, ebenfalls vom Rasberry gepollt.
An diesem Teil der Umsetzung bin ich im Detail auch aktuell dran, d.h. momentan funktioniert nur der I/O Baustein schon im Zusammenspiel mit dem Gleisbildstellpult, die beiden anderen müssen noch ihre angepasste Arduino-Software bekommen. Alle diese Platinen sind im Prinzip auch Loconetfähig und stammen aus einem Parallelprojekt mit dem ich ein paar Steuerungssachen zusammengebastelt habe, von daher halt noch Softwarenanpassungen nötig.
Von diesen Platinen können prinzipiell auch wieder beliebig viele eingesetzt werden um die ganzen Weichen, Signale und Belegtmelder zu steuern und abzufragen die halt so auf einer Betriebstelle zu finden sind.
Links unten kommt ein Datenkabel vom Stellpult. Das sind auch wieder die 4 schon bekannten Datenleitungen, verpackt in einem 9poligen Sub-D Kabel. Eigentlich soll die Platine 1 wieder so eine Treiberplatine werden, aber der erste Versuch tut nicht ganz so wie er soll. Deswegen ist mit 1a und 1b hier nochmal eine Treiberstufe dazwischen. Dieser Teil wird auf jeden Fall noch überarbeitet.
Auf der Seite des Raspberrys im Stellpult sitzt das Gegenstück dazu:
Hier sind die Datenleitungen alle mit Optokoppler vom Anlagenteil getrennt so dass sich die beiden Elektriken nicht ins Gehege kommen können.
Platine 2:
Das ist eine Ansteuerung für einen Weichenservo. Die ist mit einem Arduino Nano umgesetzt und hat auf der Platine gleich noch die Relais für die Polarisierung des Herzstücks und der Weichenzungen sowie zusätzliche Eingänge für Endlagenschalter (wenn man den Aufwand so weit treiben möchte dass man den Umstellvorgang auch mechanisch überwachen möchte), Eingänge für zusätzliche Taster zum Umstellen der Weiche (wenn eine derartig ausgerüstete Weiche mal ohne das Stellpult geschaltet werden soll, z.B. weil irgendwas nicht funktioniert wie es soll) und Ausgänge für eine Rückmeldung der Weichenlage (wenn man in Weichennähe am Modul zusätzlich die aktuelle Weichenlage anzeigen möchte). Und zu guter Letzt natürlich den Anschluss für den Stellservo der Weiche. Angesteuert werden kann mit dieser Platine nur genau eine Weiche - dafür ist aber auch die Polarisierung gleich mit drauf und braucht keine zusätzliche Platine.
Platine 3:
Das ist eine Ansteuerung für beliebige Signale. Auch die ist mit einem Arduino Nano umgesetzt und kann bis zu 2 Signale ansteuern. Von dieser Platine aus geht es über ein 8poliges RJ45 Kabel zum Signal - üblicherweise auf den Modulen in einem Wattenscheider Schacht. Die Ansteuerung dafür ist zuvor schon mal im Rahmen eines anderen Projektes entstanden. Mit dieser Ansteuerung können da dann beliebige Signale angeschlossen werden, ja, ich weiß, zu GS II gehört zwingend Hl aber rein technisch geht hier bei mir auch alles andere.
Platine 4:
Das ist eine ganz allgemein gehaltene I/O Platine mit 16 Ein- oder Ausgängen. Im konkreten Fall benutze ich da nur Taster auf den Platinen 4a und 4b zur Simulation von Gleisbelegtmeldern. Diese I/O Platine könnte man aber auch an Stelle der Platine 3 zur Signalansteuerung verwenden, und/oder man könnte beliebige andere Weichendecoder anstelle der Platine 2 ansteuern solange diese über entsprechende Eingänge verfügen. (Werbung: z.B. der Weichendecoder von @Holgi ist so anschließbar)
Die Arduinos auf den Platinen 2, 3 und 4 bekommen genau wie die Elemente des Gleisbildstellpults ihre Daten über SPI vom zentralen Raspberry und werden, was die Eingänge betrifft, ebenfalls vom Rasberry gepollt.
An diesem Teil der Umsetzung bin ich im Detail auch aktuell dran, d.h. momentan funktioniert nur der I/O Baustein schon im Zusammenspiel mit dem Gleisbildstellpult, die beiden anderen müssen noch ihre angepasste Arduino-Software bekommen. Alle diese Platinen sind im Prinzip auch Loconetfähig und stammen aus einem Parallelprojekt mit dem ich ein paar Steuerungssachen zusammengebastelt habe, von daher halt noch Softwarenanpassungen nötig.
Von diesen Platinen können prinzipiell auch wieder beliebig viele eingesetzt werden um die ganzen Weichen, Signale und Belegtmelder zu steuern und abzufragen die halt so auf einer Betriebstelle zu finden sind.