Hallo Zusammen,
in den letzten Tagen habe ich mal wieder mit den Stepper Motoren für die Märklin C-Gleis Weichenantriebe rumgespielt.
Dieses Mal habe ich die autarke DCC-Platine von Dominik und mir verwendet welche bis jetzt wenig Beachtung gefunden hat.
Sie ist gerade mal 4.5mm dick und passt in jede Märklin C-Gleis Weiche
und ersetzt die von Märklin für viele Euros angebotene Platine.
Aber unsere Schaltung kann mehr:
Dabei kostet die Schaltung und der passende Schrittmotor viel weniger (< 12€ inclusive Platine und Antrieb) und man hat außerdem noch den Bastelspaß.
Der Motor wird in den 3D-gedruckten Halter von Dominik gesteckt und an den original Befestigungspunkten verschraubt. Aus einem stück Draht biegt man sich die Betätigungsstange.
Die Bohrungen der Platine passen exakt zu den Stiften der Weichen so dass sich auch die Platine ganz einfach eingebaut werden kann.
Und so sieht das Ganze dann in Aktion aus:
Mit der einen DCC-Adresse wird die Weiche geschaltet, mit der anderen das Licht.
Adressen:
Die Adressen können beliebig konfiguriert werden. So kann man das Licht an allen Weichen mit einer DCC-Adresse schalten. Das muss man aber nicht jedes Mal einschalten. Der Arduino speichert den letzten Zustand und stellt diesen wieder her, wenn die Versorgungsspannung wieder eingeschaltet wird.
Zustandsspeicherung:
Der Prozessor merkt sich auch die letzte Position der Weiche und startet den Schrittmotor nicht nochmal, wenn die gleiche Position erneut kommandiert wird. Falls mal während der Bewegung der Strom abgeschaltet wird, dann wird die Weiche beim nächsten Start in die gewünschte Position gefahren. Das ist wichtig, weil die Weiche ja vorbildgerecht 3 Sekunden zum stellen benötigt (Könnte in der Software zwischen 1 und x Sekunden stufenlos eingestellt werden).
Anschluss:
Versorgt wird die Elektronik über das Gleis. Die Platine wird einfach über zwei Kabel mit den Kontaktlaschen der C-Gleise verbunden.
=> Es ist keine zusätzliche Verkabelung nötig.
Konfiguration:
Die DCC-Adressen werden bei der Inbetriebnahme definiert und im EEPROM des Arduinos gespeichert.
Damit befindet sich der Arduino im Programmiermodus. Das wird durch die Blinkende LED (Weichenlaterne) angezeigt.
Achtung: Wenn der Stepper bereits in der richtigen Position steht bewegt er sich nicht. Am langsamen Blinken der LED erkennt man trotzdem, dass der Befehl akzeptiert wurde.
Damit ist die Programmierung der Adresse abgeschlossen.
Die LED blinkt nicht mehr.
Warum habe ich geschrieben, dass man die rote oder die grüne Taste gedrückt wird?
Welche der beiden Tasten betätigt wird ist tatsächlich nicht egal. Mit der roten Taste wird die normale Funktion geschaltet, mit Grün die inverse Funktion.
Doch was ist „Normal“? Ich würde sagen Rot = Gerade und Grün = Abbiegen. Aber das ist Geschmacksache und hängt außerdem vom Anschluss der Stepper Pins ab. Darum ist es das Beste, wenn man zunächst einfach die rote Taste drückt und dann schaut ob sie die Weiche wie gewünscht verhält. Wenn nicht, dann wiederholt man die Konfiguration noch mal mit der grünen Taste.
Wichtig ist, dass man nur eine der beiden Tasten betätigt, weil der zweite Tastendruck ja die Adresse der LED definiert.
Bei der LED gilt das gleiche. Zunächst betätigt man die rote Taste und prüft dann ob die LED wie gewünscht geschaltet wird. Auch hier gibt es die Möglichkeit die LED invers zu schalten indem man die grüne Taste bei der Konfiguration wählt.
Das ist z.B. dann sinnvoll wenn man die LED als Statusanzeige verwenden will. Dann vergibt man für die Weiche und die LED die gleiche DCC-Adresse. Wenn man hier beides mal die gleiche Logik verwenden will, dann müsste man die gleiche Taste zweimal drücken. Das ist aber programmtechnisch nicht so einfach, weil manche Zentralen einen DCC mehrfach wiederholen. In diesem Fall kann man die PROG Anschlüsse nach der Konfiguration der Weichenadresse noch mal kurz verbinden und dann den selben Taster nochmal drücken. Beim Schreiben fällt mir ein, das es ja einfacher gewesen währe wenn ich eine Wartezeit eingebaut hätte. Vielleicht gibt es das in einer neuen Software Version.
Nachbau:
Das Programm und die Daten für die Platine und den Stepper Halter findet Ihr auf GitHub:
dieser Schaltung mussten aus Platzgründen SMD Teile verwendet werden. Zum Glück sind es nicht so viele. Der Großteil der Bauteile sitzt auf dem A4988 Stepper Modul welches man fertig kauft.
Programm: https://github.com/Hardi-St/MobaLedLib_D...ny_Mini_Stepper
3D-Daten
Bei
Zunächst werden alle SMD-Bauteile (von Klein nach Groß) bestückt (Wenn genügend Interessenten zusammen kommen können wir Platinen bestellen bei denen alle SMD-Bauteile bestückt sind).
Anschließend wird der ATTiny programmiert (Siehe unten).
Dazu ist es sinnvoll, wenn bereits eine LED angeschlossen ist. Das kann auf zwei verschiedene Arten gemacht werden:
Nach dem Programmieren muss nur noch das Stepper Modul bestückt werden.
Dieses von dem Kunststoff Halter der Pins befreit und dann bündig auf die Platine gelötet.
Auf dem Bild sind die rechten Halter entfernt. Die linken müssen auch noch weg.
Damit die Pins unten nicht überstehen habe ich die Platine eingesetzt und dann die Pins mit einem Knipex Elektronik-Seitenschneider ganz knapp angeschnitten. Dann habe ich die Stepper Platine so weit rausgedrückt, dass nichts mehr von den Pins aus der Trägerplatine rausschaut. Anschließend wird das Teil mit ganz wenig Lötzinn festgelötet so dass nicht übersteht. Das ist mir bei den meisten Pins ganz gut gelungen:
Nur die beiden Lötjumper stehen über.
Wenn die Platine fertig bestückt ist muss der Strom für den Stepper eingestellt werden. Dazu misst man die Spannung zwischen dem Minus-Pol des Gleichrichters und dem Drehteil des Potis. Ich klemme dazu eine Krokodilklemme an den Schraubenzieher mit dem ich das Poti verstelle und stelle etwa 0.3V ein.
Danach werden die 4 Anschlüsse des Stepper Motors der Reihenfolge nach mit der Platine verbunden. Das geht am besten mit dünnen Decoder Litzen.
Die Lötkontakte des Steppers sind mit etwas Licht Kleber an den 3D-Halter geklebt:
Der Stepper ist nur eingeklipst. Je nach Drucker Einstellungen muss man ein bisschen nacharbeiten.
Hier noch mal von der anderen Seite:
Programmierung:
Zur Programmierung benötigt man die „400-Tiny-Uniprog“ Platine.
Mit dem ATTiny85 Adapter. Hier der Adapter noch mal separat:
Am anderen Ende des Flachkabels sitzt ein präparierter Pfostenstecker bei dem die Pins ein wenig verbogen sind so dass sie auch ohne löten Kontakt zur Platine bekommen. Das ist leider nicht so ganz einfach. Am besten geht es, wenn die Stepper Platine noch nicht eingelötet ist und man den Stecker leicht schräg halten kann. In einer späteren Version der Platine werde ich die Löcher leicht versetzt anordnen. Dann gelingt das hoffentlich besser.
Während man das mit der einen Hand festhält startet man das Programm „Upload_Hex.cmd“ welches man zusammen mit der Datei „ATTiny_Mini_Stepper.hex“ herunter lädt.
Ich habe mir diesen Adapter mit federnden Pogo Pins gebastelt:
Beim Programmiren des ATTinys müssen die Kontakte sicher verbunden sein. Falls nicht, dann wird eine Fehlermeldung ausgegeben und man muss die Programmierung wiederholen. Hier ist eine ruhige Hand und Geduld gefragt ;-(
Schaltplan:
Hardi
Text created by Hardis Forum_Doc_Convert Programm