Thomas Kortschack

Hobby- und Projekt-Website

CAN-Servodecoder

Während meiner Studienzeit habe ich 2011 testweise einen Schaltdecoder entworfen, mit dem ich mit dem CAN-Bus praxisnahe Tests in Verbindung mit meiner Modellbahnsteuerungssoftware machen könnte. Ich bezeichnete diesen Decoder kurz als CanUlnDecoder, weil dort - wie auf diversen anderen DCC-Schaltdecodern - zwei ULN2803A-Bausteine (je 8 Darlington-Transistoren) verbaut sind, um z.B. Magnetartikel zu schalten. Die Platine wurde damals noch gefräst.

CanUlnDecoder

Großer Fan von Magnetartikeln war ich aber schon zur damaligen Zeit nicht mehr und außerdem gab es beim CAN-digital-Bahn Projekt bereits Schaltdecoder für CAN (WeichenChef Magnet), auf die ein Anwender zurückgreifen könnte.

Als ca. 2013 bei einer Spur 0 Anlage ein Bahnhofsneubau anstand, war ein Stellpult angedacht, mit dem die Weichen unter der Anlage geschaltet werden sollten. Ein klassisches Verkabelungsschema aus dem Analogzeitalter wollte ich nicht mehr realisieren, weil man von jeder Weiche dutzende Kabel bis zum Stellpult hätte führen müssen, zumal bei der Anlage ohnehin neue Servo-Antriebe verbaut wurden, die einen Decoder benötigen.

Beim CAN-digital-Bahn Projekt gab es bereits Module für ein Stellpult, an denen Taster und LEDs angeschlossen werden können (SwitchMann). Auch gab es bereits einen sogenannten WeichenChef Servo, der jedoch keine Herzstückpolarisierung ermöglichte.

Auf Basis des alten CanUlnDecoders entstand ein CAN-Servodecoder, wobei das meine erste Schaltung gewesen sein dürfte, die ich nach dem Entwurf bei einem Platinenhersteller produzieren ließ (zweilagiges Layout mit Durchkontaktierungen, Lötstopplack und Bedruckung), da ich mir die Fräsarbeiten in größerer Stückzahl nicht antun wollte.

CanServoDecoder

Kurzgefasst besteht die Schaltung aus einem ATmega 32, an dem wiederum ein CAN Controller (MCP 2515) angebunden ist. Genutzt wird außerdem ein galvanisch isolierter CAN-Transceiver (ISO1050), der auf der CAN-Seite die Energie direkt über das verwendete Patchkabel bekommt. Versorgt werden kann der CAN-Servodecoder klassisch mittels Modellbahntrafo, wobei ein Schaltregler die 5V für den Mikrocontroller, ICs und Servos erzeugt. Die Servospannung ist über Transistoren abschaltbar und über die Relais ist eine Herzstückpolarisierung möglich.

Da es zum damaligen Zeitpunkt recht schnell gehen musste, war mir die Entwicklung eines Tools zu aufwändig, um die Servoeinstellungen über den PC vorzunehmen, zumal ich nicht irgendwelche neuen CAN-Nachrichten im Märklin Kommunikationsprotokoll definieren wollte. Die 4 Tastereingänge auf der Schaltung können deshalb nicht nur zum lokalen Schalten der Servos genutzt werden, sondern können im sogenannten Programmiermodus verwendet werden, um die Geschwindigkeit und die Endlagen je Servo zu konfigurieren. Mittels Kabel wird dafür eine kleine Tasterplatine angeschlossen.
Sicherlich ließe sich die Firmware hier erweitern, zumal Thorsten Mumm beim CAN-digital-Bahn Projekt mittlerweile auch ein Tool zur Servokonfiguration für den WeichenChef Servo anbietet.