Aufbau eines BananaPi CAN Interfaces zur Nutzung der Märklin Gleisbox als Zentrale

Ich bin auf ein interessantes Projekt gestoßen, wie man die MS2 Gleisbox über den CAN-Bus an den PC bzw. das Netzwerk anschließen kann: http://lnxpps.de/bpi/

Damit ergeben sich viele Möglichkeiten:

  • Steuerung der Modellbahn über den PC mit
    – RockRail
    – CS2.exe (bitte die Lizenzbedingungen beachten!)
    – anderer Modellbahnsteuerungssoftware
  • Programmierung von mfx- und DCC-Decodern mit der CS2.exe (bitte die Lizenzbedingungen beachten!)
    – Voller Zugriff auf alle mfx-Einstellungen
  • Integration des Banana Pi CAN-Interfaces in eine CAN digital Bahn (CdB) Infrastruktur (es werden nur passive CdB-Komponenten wie StartPunkt, SpielPunkt unterstützt. Aktive CdB Komponenten (Gleisreporter etc pp) sind ohne CC-Schnitte nicht nutzbar.

Was nicht geht:
Es können keine Soundprojekte  auf mSD-Decoder gespeichert werden!

Inzwischen habe ich die Platine von Gerhard Bertelsmann bekommen und fertig bestückt. Ein fertiges Image für den Banana Pi ist auch schon auf der SD-Karte installiert. Nun muss ich nur noch den CAN-Anschluss des CAN-Interfaces mit der Gleisbox verbinden. Das geht am bequemsten über den CdB StartPunkt 2, weil dieser auch gleich die Versorgungsspannung für das CAN Interface zur Verfügung stellt.

Kosten:
Ein nicht unwichtiger Aspekt sind natürlich die Kosten. Ich habe mich für die Aufbauvariante der Platine mit galvanischer Trennung entschieden. Damit sieht die Kostenseite wie folgt aus:

  • Platine von Gerhard und Bauteilesatz: 14€
  • Banana Pi M1 von Conrad mit Gutscheinaktion: 27€ (Normalpreis 37€)
  • USB-Netzteil 2,1A: 8€

Macht zusammen ca. 50€ – 60€, je nach Preis und Verfügbarkeit.

Nützliche Informationen:

Ein erster Funktionstest ist halbwegs erfolgreich verlaufen. Wer eine CS2 besitzt kann legal die CS2 PC-Software auf seinem Rechner installieren. Die CS2.exe erkennt den Banana Pi als CS2 Master und man kann Loks steuern:

Aber: Im Moment funktioniert die Erkennung von mfx-Loks nicht, ich kann auch nicht auf die in der angeschlossenen MS2 gespeicherten Loks zugreifen. Ich muss also die Loks manuell in der CS2-Software anlegen.

Hinweis: Um auf mfx-Decoder zugreifen zu können, darf man die cs2.exe nicht als Zweitgerät laufen lassen!

In der Konfiguration muss man den Haken bei “Zweitgerät” rausnehmen:

Dann sieht das Menü so aus:

Hat man dies umgestellt, bekommt man im Info-Bereich alle angeschlossenen Geräte angezeigt:

Hier ein paar Bilder von meinem Testaufbau.

Auf einer Holzplatte habe ich Die Gleisbox, einen StartPunkt 2 und den Banana Pi mit aufgesteckter CAN-Interfaceplatine von Gerd verschraubt. An der Gleisbox sind die MS2 und der StartPunkt 2 über die 10-polige Buchse angeschlossen. Die Gleisbox versorgt die kleine Teststrecke im Hintergrund mit Strom und dem Digitalsignal. Eine alte Fritz!Box Fon 7050 dient als WLAN-Router. Diese ist per LAN mit dem Banana Pi verbunden. Das kleine Acer Aspire One wiederum ist lediglich per WLAN an der Fritz!Box angemeldet, darauf läuft die cs2.exe PC-Software.

Hier die drei Hauptbestandteile Banana Pi, StartPunkt 2 und die Gleisbox. Die CAN-Interfaceplatine benötigt wegen der galvanischen Trennung eine eigene Spannungsversorgung. Diese stellt der CdB StartPunkt 2 zur Verfügung, der von einem 12V Netzteil versorgt wird. Die 12V-Spannung des StartPunkt 2 steht somit im gesamten CAN-Netz ab dem StartPunkt 2 zur Verfügung und entlastet so die Stromversorgung der Gleisbox!

Unten der Banana Pi mit der darüber aufgesteckten CAN-Interfaceplatine:

Der Banana Pi wird über das stoffummantelte USB-Kabel mit 5V Spannung versorgt, der StartPunkt 2 wie schon beschrieben mit 12V und die Gleisbox mit 18V.

Und hier noch zwei dunkle Bilder von der CS2-Software:

Demo-Video vom Testaufbau und Betrieb:

Anpassung, um Märklin-App zu unterstützen
Möchte man auch die Märklin App nutzen, muss man noch die folgenden Verzeichnisse aus dem Arbeitsverzeichnis des cs2.exe-Programms des PCs auf den BPi kopiert werden.

Hier findet man die Einstellung des Arbeitsverzeichnisses:

Ziel: /www/config
C:\Program Files\Maerklin\CS2\*.cs2
C:\Program Files\Maerklin\CS2\gleisbilder

Ziel: /www

C:\Program Files\Maerklin\CS2\icons
C:\Program Files\Maerklin\CS2\fcticons
C:\Program Files\Maerklin\CS2\magicons_

Ich benutze dazu das FTP-Programm WinSCP, als Übertragungsprotokoll ist SCP einzustellen:

Hier läuft gerade der Kopiervorgang:

Sind die Dateien erst mal auf den Banana Pi übertragen, können die Android Apps RemoteCS2 (kostenlos oder pro-Version) und die Märklin MobileStation App (5,99€) bzw. Märklin Main Station (10,99€ für Tablets) auf die Loks zugreifen:

RemoteCS2

Märklin MobileStation App

Hinweis zur Verwaltung der Lokdaten:
Änderungen an den Lok-Icons über die CS2-Software wirken sich erst mal nur auf die lokale CS2-Software auf dem PC aus. Wenn man also einer Lok ein neues Icon zugewiesen hat, so kopiert man die lokomotive.cs2 vom lokalen Arbeitsverzeichnis auf den Banana Pi, und schon sind die neuen Einstellungen auf den Mobile Apps ebenfalls verfügbar:

Über die Freeware RemoteCS2 habe ich separat ein paar Erfahrungen und Eindrücke geschildert: http://h0-gleichstrom.forumprofi.de/kraftwerk-f41/remotecs2-android-fernsteuerung-fuer-maerklin-cs2-t1469.html

Neben der Softwarelösung von Gerd gibt es eine weitere, die in einer Version für den Beaglebone Black als auch für den Banana Pi veröffentlicht wird:

Die Lösung von Michael Bernstein ist sehr interessant, weil hier der Banana Pi voll als CS2 Master arbeitet. Damit ist es dann möglich, dass auch die Lokanmeldungen von der MS2 an den Banana Pi übertragen werden. Das neue Image, welches ein paar Fehlerkorrekturen enthält, wird demnächst veröffentlicht.

Das Model Railroad System von Michael Bernstein

Inzwischen habe ich das Model Railroad System (MRSystem) von Michael Bernstein ausgiebig getestet und Michael hat noch zwei kleinere Probleme gelöst, die im Testbetrieb mit der kostenlosen Android-App RemoteCS2 auffielen. Eine neue Version wird daher sicherlich demnächst erscheinen.

Das MRSystem zeichnet sich gegenüber der Bpi Gleisbox Interface-Software von Gerhard Bertelsmann dadurch aus, dass für den Betrieb z.B. auf einem Modellbahnstammtisch kein PC erforderlich ist. Es reicht aus, den Banana Pi mit Gerhard Bertelsmann Interface-Platine und Michael Bernsteins MRSystem und eben eine Gleisbox und eine MS2 dabei zu haben.

Lokliste aus MS2 auslesen
Das MRSystem liest bei jedem Neustart die Lokliste aus der an der Gleisbox angeschlossenen MS2 aus. Diese steht dann allen im WLAN angemeldeten MobileStation/RemoteCS2-Apps zur Verfügung. Gerade im Modellbahnstammtischbetrieb kommt das ja häufiger vor, dass eine neue Lok angemeldet wird, ob per Lokkarte, mfx oder manuell.

Webconfig
Darüber hinaus enthält das MRSystem eine Web-Oberfläche, über die bestimmte Grundeinstellungen aber auch ein Systemneustart ausgelöst werden kann. Dieses wird auf Michaels Homepage erklärt: http://mbernstein.de/modellbahn/konfig_web.htm

Bugfixes und Verbesserungen
Die aktuell verfügbare Version mrsystem V2.3 enthält noch zwei Fehler, die aber beim nächsten Release behoben sein werden. Ich habe schon die entsprechend korrigierten Source-Files und das System neu kompilieren können (lässt sich direkt auf dem laufenden Banana Pi kompilieren).

– Erstellung der lokomotive.cs2
Beim aktuellen Release wird die lokomotive.cs2 in einer Form erstellt, die von der RemoteCS2 nicht verstanden wird. Daher funktioniert das Einlesen der Lokliste mit der RemoteCS2-App nicht. Dies ist eigentlich ein Fehler der RemoteCS2-App, aber Michael hat seinen Code trotzdem jetzt angepasst, so dass die lokomotive.cs2 auch von der RemoteCS2 ausgelesen werden kann.

– UDP-Kommunikation mit der RemoteCS2
Bei der Kommunikation zwischen der RemoteCS2 und dem MRSystem über UDP kam es zu einer Endlosschleife im Netzwerk, so dass die Kommunikation zu anderen Geräten und auch die Steuerung von der RemoteCS2 gestört war. Auch dies ist nun behoben.

Abgrenzung von MRSystem und BPi-Software von Gerd
Michael Bernsteins MRsystem arbeitet weitestgehend autark und bildet zusammen mit der MS2 den CS2-Master. Über die MS2 werden z.B. neue Loks angemeldet, beim Start wird die Lokliste der MS2 eingelesen. Ein auf einem PC laufendes CS2.exe wird entsprechend als Slave (Zweitgerät) konfiguriert. Darüber hinaus kann auf dem MRSystem aber auch ein Rocrail-Server gestartet werden, was für mich aber nicht weiter von Interesse ist und ich daher nicht getestet habe.

Die BPi-Software von Gerd fokussiert auf die Zusammenarbeit mit anderer Steuerungssoftware wie Rocrail, WDP oder iTrain. Es arbeitet aber auch mit der CS2.exe (als Master) sowie Apps (Märklin MobileStation, RemoteCS2) parallel oder standalone zusammen. Zusammen mit einer auf einem PC laufenden CS2.exe ergibt die BPi-Software ein komplettes CS2-System, bei dem die CS2.exe als Master läuft. Hier bildet also die CS2.exe mit dem BPi-System den Master und die MS2 ist der Slave. Neue Loks müssen daher auch über die CS2.exe oder die automatische mfx-Anmeldung angemeldet werden. Eine Anmeldung über die MS2 ist derzeit (noch) nicht möglich. Aber das soll evtl. noch kommen.

Entsprechend bietet sich die BPi-Software als CS2-Ersatz an, wenn es darum geht, mfx-Decoder neu zu programmieren (Mapping, Funktionszuordnung, …), was mit der MS2 allein bisher nicht möglich ist. Nur Soundprojekte und Firmware-Updates lassen sich nicht auf Märklin mfx-Decoder einspielen. Das MRSystem dagegen ist für einen autarken Betrieb zusammen mit einer MS2 die bessere Wahl, sofern man auf der Anlage mfx-Loks nicht programmieren will. Also die ideale Lösung für den Modellbahnstammtischbetrieb, wo man neue Loks über die MS2 anmelden möchte und dann über das MRSystem per App (RemoteCS2, Märklin MobileStation, MainStation) steuern möchte.

Messingbolzen-Abstandshaltern:

Schematischer Anschlussplan

So könnte ein Ausbau aussehen, wenn man eine CAN-RJ45-Buchse direkt in die Gleisbox einbaut:

Ich habe die S88n-Adapterplatine als CAN-Platine missbraucht, um eine CAN-Buchse in die Gleisbox enzubauen:

Das CAN-Signal und die 18V Versorgungsspannung für den CAN-Bus greife ich an den MS2-10-Pol-Mini-DIN-Buchsen an der Platinenunterseite ab:

Dass ich an der einen Buchse das CAN-Signal und an der anderen GND und +18V abgegriffen habe, liegt schlicht nur daran, dass ich so etwas mehr Platz hatte, vor allem weil CAN-High und CAN-Low so dicht hintereinander liegen, war es mir so einfach übersichtlicher beim Löten.

Der CdB StartPunkt2 benötigt so keine eigene Versorgungsspannung mehr, sondern wird von der Gleisbox gespeist. Das Netzteil für die Gleisbox sollte man etwas stärker wählen, so dass trotz des CAN-Busses und den daran angeschlossenen Geräten genügend Leistung für das Fahrgleis übrig bleibt.

[rot]ACHTUNG: Bei der Verwendung weiterer aktiver CdB CAN digital Bahn Produkte im CAN-Bus ist auf die Spannungsverträglichkeit zu achten! So benötigt der [url=http://www.can-digital-bahn.com/modul.php?system=sys2&modul=57#Mod_Top]Gleisreporter deluxe[/url] zwingend 12V DC! In diesem Fall darf die 18V-Spannung aus der Gleisbox NICHT über den CAN-Bus verteilt werden. Es empfiehlt sich dann, den CAN-Bus über den StartPunkt 2 mit einer separaten 12V DC Spannungsversorgung aususatten![/rot]

PIN-Belegung der RJ45-Stecker und -Buchsen
Die PIN-Belegung der RJ45-Stecker ist in dem folgenden Dokument des CAN digital Bahn Projekts sehr gut beschrieben:

http://www.can-digital-bahn.com/infusions/pro_download_panel/download.php?did=35

Hier noch die Belegung der S88n-Platine und der CAN-Buchse:
Die Nummerierung auf der Platine entspricht der Darstellung unten aus der Dokumentation des CdB. Achtung: Die beiden Buchsenleisten auf der Platine sind um 180° zueinander verdreht! Die Nummerierung muss entsprechend um 180° gedreht werden für die obere Buchsenleiste im Bild.

Quelle: CAN digital Bahn Projekt[/quote]

Banana Pi CAN Interface mit WIN-DIGIPET

Wegen entsprechendem Interesse aus dem WIN-DIGIPET Anwendertreffen habe ich einen ersten Versuch unternommen, die Modellbahnsteuerungs-Software WIN-DIGIPET mit dem Banana Pi zu verbinden.

BPi Software von Gerhard Bertelsmann

Mit der BPi-Software von Gerd wird der Banana Pi von WIN-DIGIPET erkannt:

Wie man sieht, werden alle am CAN-Bus angeschlossenen Geräte angezeigt, die Gleisbox und in diesem Fall zwei MS2, jeweils samt Seriennummer.

Im laufenden Betrieb habe ich zwei weitere MS2 angeschlossen, WIN-DIGIPET neu gestartet und es werden alle vier MS2 angezeigt:

MRSystem von Michael Bernstein
Mit dem MRSystem gelingt mir bisher noch kein Verbindungsaufbau zwischen Banana Pi und WIN-DIGIPET. Da wird es vielleicht aber ein Update geben.

Weitere Tests stehen noch aus…

Ergänzend habe ich eben noch das Win-Digipet Netzwerkmodul mit der Android-App getestet. Funktioniert soweit auch:

s88-Rückmelder
Auf der Adapter-Platine befindet sich auch eine S88(N) Schnittstelle. Dazu müssen folgende Bauteile aufgelötet werden:

U3,U4,U5,U6 6N137
R2,R3,R4 270 Ohm
R5 390 Ohm
R6 330 Ohm
R7,R8,R9 1k5 Ohm
C5,C6,C7,C8 100nF
P6 1×6 Anreihklemme 3,5 mm

Die Adapter Platine liefert nicht die 5V Versorgungsspannung für die S88-Module. Diese muss extern zugeführt werden.

Damit ist also eine Rückmeldung über s88-Rückmelder möglich, man muss keine CAN-Rückmelder verwenden.

Quelle: http://lnxpps.de/bpi/]http://lnxpps.de/bpi/

Hier mal der Banana Pi mit Gerhard Bertelsmanns BPi-Platine in Vollbestückung:

Und so sieht das Anschlußschema ohne CAN digital Bahn Komponenten aus, quasi die Minimalkonfiguration mit WLAN und LAN-Anschluss, wenn man die GleisBox mit der CAN-Buchse ausgestattet hat:

2 Kommentare

Schreibe einen Kommentar

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