====== Überblick LocoTurn ====== Autor: [[https://wiki.mobaledlib.de/redirect/forum/updomapi|Domapi]] | Stand: 01.11.2024 ===== Welche Funktionen sind verfügbar? ===== LocoTurn ist ein DCC-Drehscheibendecoder auf Basis eines Arduino Nano. LocoTurn steuert Drehscheibenbewegungen wie das Anfahren von Gleisabgängen und 180°-Drehungen über Drehencoder, Potentiometer, DCC-Befehle oder Kommandos im seriellen Monitor. Dabei werden Signale auf der Bühne angesteuert und Beleuchtungs- sowie Sound-Effekte verwendet. Für die Ansteuerung des Schrittmotors wird ein TMC2208-Steppertreiber verwendet. Die Steuerung umfasst ein Relais zur Umpolung des Bühnengleises (2-Leiter-Fahrer) und ein separates Steuerpanel zur manuellen Bedienung mit Drehencoder, Poti und Tasten. Zusätzlich kann ein OLED-Display angeschlossen werden. Ein JQ6500-Soundmodul dient der Ausgabe von bewegungssynchronen Sounds. Ab Software-Version 1.1 kann auch ein DFPlayer für Sounds genutzt werden. Zur Ansteuerung von Licht-Signalen, Warnleuchte und Hausbeleuchtung kann eine kleine Bühnenplatine mit WS2811-LED-Treibern verwendet werden. Für komplexere Beleuchtungsszenarien und zur Ansteuerung von Servos gibt es eine Schnittstelle zur MobaLedLib. Für den Einsatz von LocoTurn bei Drehscheiben von Fleischmann, Märklin, Roco etc. muss die Drehscheibe auf Schrittmotor umgebaut werden. Der standardmäßig eingebaute lautstarke Motor und weitere Elektronik auf der Bühne werden dabei entfernt und neue Komponenten eingesetzt. {{ :bilder:anleitungen:bauanleitungen:150:locoturn_v10:img_3287.jpeg?nolink&200 |}} Folgende Features für Drehscheiben (DS) sind in der aktuellen **Software-Version V1.4** verfügbar: * Steuerung der Drehscheibenbewegungen, direktes Anfahren von bis zu 62 Gleisabgängen (= Ports), U-Turns (180°-Drehungen der Bühne) incl. automatischer Signalisierung und Steuerung von Beleuchtungseffekten auf der Drehscheiben-Bühne sowie Abspielen von Sounds beim Anfahren, Bewegen und bei Stopp der DS. * Die Bewegungen beherrschen sanftes Beschleunigen und Abbremsen. In Verbindung mit einem geeigneten Steppermotor bewegt sich die Drehscheibe nahezu geräuschlos. * Die Steuerung der Funktionen erfolgt über Drehencoder, Poti, DCC oder den seriellen Arduino-IDE-Monitor. * LocoTurn ist ein **Schaltartikeldekoder** und reagiert auf DCC-Schaltartikel-Kommandos, wie man sie auch zur Steuerung von Weichen- und Signaldekodern verwendet. * LocoTurn ist kompatibel zum Pseudostandard der Märklin-Drehscheibensteuerung 7686/7687 und kann somit über die gängigen PC-Steuerungssysteme (z.B. Traincontroller) angesteuert werden. * OLED-Anzeige für zahlreiche Benutzerinformationen (Status, Aktueller Port/Position, Bewegungsablauf, Menü mit Steuerungsfunktionen). * Anschluss nahezu beliebiger Steppermotoren möglich (mit/ohne Getriebe, 200/400 Steps pro Umdrehung); solange der Motor mit dem verwendeten Stepper-Treiber zusammenpasst (v.a. Strom!). * Die Steuerung ermittelt beim Kalibrieren die Lage des Referenzpunktes (Hallsensor = Null-Punkt), die Anzahl der Steps pro Umdrehung und das Getriebespiel automatisch; die manuelle Vorgabe der Steps pro Umdrehung ist ebenfalls möglich. * Bei Getriebemotoren wird das Getriebespiel beim Anfahren der Gleisabgänge ausgeglichen. Bei Direktantrieb ohne Getriebe ist dies nicht erforderlich. * Der Referenzpunkt (= Null-Punkt) wird während des Betriebes lfd. überprüft und ggf. angepasst. Damit ist eine hohe Positioniergenauigkeit möglich. * Integration der MobaLedLib zur Ansteuerung von Gleissperr-Lichtsignalen / Servos, Hausbeleuchtung und Warnleuchte oder Ansteuerung eines kleinen WS2811-Verteilers auf der Bühne zur direkten Steuerung von Gleissperr-Lichtsignalen (mit Überblenden), Hausbeleuchtung (incl. fade in/out, Neonflackern oder einfaches Ein/Aus) und Warnleuchte (ohne MobaLedLib). * Erweiterte Signalsteuerung: Signale werden automatisch abhängig vom Port-Typ gestellt (bei Stillstand: aktiver/gültiger Port --> weiß, inaktiver oder blinder Port --> rot, bei Bewegung: alle Signale auf rot). * Das Überspringen von inaktiven Ports ist möglich (inaktive Ports ohne Gleisabgang werden nicht angefahren). * Beim Mehrfach-Drehen des Drehencoders behält die DS die einmal eingeschlagene Richtung bei, auch wenn es andersherum kürzer wäre. Dies verhindert Richtungswechsel in der Bewegungsphase und ist v.a. bei Drehscheiben mit wenig Gleisen interessant. Diese Logik ist auch abschaltbar, dann wird immer der kürzeste Weg gefahren und ggf. die Richtung geändert. * Über eine neue Panelplatine können 4 Taster zum Steuern von Signalen, Beleuchtung, Home-Position der Drehscheibe, U-Turn etc. verwendet werden. * Beim Rekalibrieren und komplettem Reset gehen die Signale auf rot und die Flash/Warnleuchte blinkt. Nach dem Rekalibrieren per OLED-Menu fährt die Drehscheibe wieder zur letzten Position. Nach komplettem Reset und Inititalisierung fährt sie zum Port 1. * Ein Soundprojekt für das Soundmodul JQ6500 bzw. einen DFPlayer kann individuell zusammengestellt werden (Hupe, Anfahren, DS-Bewegung etc.). * Für 2-Leiter-Fahrer ist die automatische Polarisierung der Bühnengleise integriert, damit bei Drehungen kein Kurzschluss auftritt. Je nach Stellung der Bühne schaltet ein kleines Relais die Polarität des Bühnengleises um. * Ein potentialfreier Kontakt über einen Optokoppler kann einen geeigneten Rückmelder (S88, ESU Detector etc.) auf Masse schalten und so z.B. einer PC-Steuerung mitteilen, dass der Zielport erreicht wurde und die Drehscheibe wieder steht. * Die Stromversorgung der Bühne kann über einen Gleisbesetztmelder auf Stromfühlerbasis laufen, der eine Lok auf der Bühne z.B. an eine PC-Steuerung melden kann („Bühne belegt“). * Ein zusätzlicher Anschluss für spätere Erweiterungen ist verfügbar. {{ bilder:anleitungen:bauanleitungen:150:locoturn_v10:2881a116-9028-4320-8cfb-63a0231b54bc.jpeg?nolink |}} Umgerüstete Fleischmann-Drehscheibe (H0) mit LocoTurn-Steuerung ---- ===== Überblick LocoTurn ===== {{ bilder:anleitungen:bauanleitungen:150:locoturn_v10:ds_overview.jpg?nolink |{{ :wiki:intern:anleitungen:bauanleitungen:locoturn_v10:ds_overview.jpg?nolink |}} ---- ===== Einsatzszenarien ===== Folgende Einsatzmöglichkeiten für LocoTurn bestehen: * Steuerung einer Drehscheibe auf einer digitalen 2-Leiter-Anlage mit DCC. Hier wird ein Relais für die Polarisierung des Bühnengleises eingesetzt. * Verwendung von LocoTurn auf einer 3-Leiter-Anlage mit DCC (Relais entfällt). * Einsatz auf einer analogen Gleichstrom-Anlage (2-Leiter, nicht digital gesteuert). Ein Polarisierungsrelais ist erforderlich. Die DCC-Features werden nicht verwendet. * Einsatz auf einer analogen Wechselstrom-Anlage (3-Leiter); Relais wird nicht benötigt, DCC-Ansteuerung ist nicht verfügbar. ---- ===== Wo bekomme ich die Software her? ====== Der aktuelle Arduino-Sketch für die Ansteuerung der Drehscheibe ist kostenfrei beim User [[https://wiki.mobaledlib.de/redirect/forum/updomapi|Domapi]] erhältlich. Einfach im Stummi-Forum eine persönliche Nachricht mit einer Mailadresse an ihn senden, dann schickt er den Sketch zu. Hierfür braucht man einen gültigen Stummiforum-User mit Passwort. ---- ===== Wo bekomme ich Platinen her? ===== Die roten Platinen von [[https://wiki.mobaledlib.de/redirect/forum/updomapi|Domapi]] können aktuell über eine Persönliche Nachricht (PN) im Stummi-Forum an ihn erworben werden. Weitere Infos zu den roten Platinen: [[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_platinen|Platinen]] ---- ===== Wer hilft bei Problemen und Fragen? ===== Fragen und Probleme werden im Stummi-Forum diskutiert, damit auch andere Anwender den aktuellen Stand mitverfolgen können: [[https://www.stummiforum.de/t188668f7-MobaLedLib-Hard-und-Software-zur-Steuerung-einer-Drehscheibe-per-Schrittmotor.html#msg2229825|Drehscheibensteuerung im Stummi-Forum]] **Hilfreich beim Finden einer Lösung neben einer aussagekräftigen Problembeschreibung sind:** * hochauflösende Fotos der Platinenvorder- und -rückseite * ein Foto der OLED-Anzeige * eine Angabe, welche Ein- und Ausgabegeräte genutzt werden (Drehscheibe, Motor-Typ, Drehencoder, Poti usw.) * Hinweis auf speziell verwendete Komponenten * die Turntable_config.h (als Anhang an den Post im Stummiforum hängen) * Screenshots von Arduino-IDE-Fehlermeldungen ---- ===== Disclaimer (das muss leider sein) ===== * Dies ist ein nicht-kommerzielles Do-it-yourself-Projekt, das zwei Entwickler und einige Anwender in ihrer Freizeit entwickelt haben. * Funktional ist LocoTurn jedoch mit kommerziellen Produkten vergleichbar. * Eine Funktionsbeschreibung ist teilweise im Sketch selbst bzw. auf den Wiki-Seiten hier zu finden. * **Bevor man mit dem LocoTurn-Projekt startet, muss man das Wiki durcharbeiten und verstehen lernen. Ich habe es nicht aus Jux und Tollerei geschrieben.** Alles wichtige steht hier drin. Ergänzend gibt es im Stummiforum mehrere Threads zum Thema Drehscheibensteuerung. * Es ist erforderlich, dass man sich selbst in die Soft- und Hardware hineinfuchst. Dazu gehören: Schaltpläne lesen und verstehen können, den Unterschied zwischen einem Widerstand und einem Kondensator kennen, Wissen, an welchem Ende der Lötkolben heiß wird, Umgang mit der Arduino-IDE, Programme in den Arduino laden, grobes Programmierverständnis in C bzw. C++. Niemand wird die Steuerung mundgerecht servieren! * Da die elektronischen Komponenten u.U. von verschiedenen Herstellern kommen, muss man die jeweiligen Datenblätter (data sheets) studieren, um die richtige Anschlussbelegung zu finden (z.B. beim MOSFET BS170, dem Hallsensor etc.). * Wir können keinen 24/7-Service sowie Beratung bei Fragen und Problemen anbieten. Hier ist Geduld und Eigeninitiative erforderlich. * Die Drehscheibensteuerung ist kein Spielzeug und ist nicht geeignet für Kinder unter 14 Jahren! * Wir haften nicht für Schäden, die durch den Einsatz der Steuerung entstehen. Schadenersatzansprüche insbesondere auch für indirekte und Folgeschäden sind ausgeschlossen. ---- ===== Erfahrungsberichte mit Videos ===== Thomas Kortschack hat hier seine Erfahrungen mit LocoTurn beschrieben und 2 Videos mit hoher Auflösung zur Verfügung gestellt: [[https://thomas.kortschack.de/?p=61|Erfahrungsbericht]] LocoTurn bewegt die Drehscheibe quasi geräuschlos (wenn man das Sound-Feature außen vor lässt 8-)) und steuert die Ports mit hoher Positioniergenauigkeit an. Ralf hat hier einen ausführlichen Erfahrungsbericht zum Umbau einer kleinen Fleischmann Drehscheibe mit 24 Gleisabgangsmöglichkeiten verfasst: [[https://www.schmalspur-treff.de/t1545f20374-Kleine-Drehscheibe-fuer-die-GKB.html#msg11788 |FLM Drehscheibe]] ---- ===== Sicherheitshinweise und bestimmungsgemäßer Gebrauch ===== Die Drehscheibensteuerung ist zum Einsatz auf Modellbahn-Anlagen in trockenen Innenräumen vorgesehen. Jeder andere zweckentfremdete Gebrauch ist nicht zulässig. Die Angaben zur Spannungsversorgung sind einzuhalten, insbesondere ist ein geeignetes für den Betrieb an Modellbahnen zugelassenes Netzteil vorzusehen. Vor dem Einschalten der Steuerung ist sicherzustellen, dass keine Lok auf der Bühne steht, die über den Bühnenrand hinausragt, da dies sonst zum Blockieren der Bühne führen kann. Die Steuerung kann eine blockierte Bühne nicht erkennen und es kann bedingt durch das Motordrehmoment zu Schäden kommen. Die Motorgeschwindigkeit sollte nicht auf zu hohe Werte gestellt werden. Insbesondere bei schnellem Beschleunigen und Abbremsen in Verbindung mit hohen Drehgeschwindigkeiten kann es zu Entgleisungen kommen. Die Signale auf der Bühne sind reine Deko und haben keinen Einfluss auf die Loks. Die Bühne steht immer unter Spannung. Beim Drehen der Bühne sollte man die Lok nicht fahren lassen, da es ggf. zum Verkeilen mit den Gleisabgängen am Drehscheibenrand kommen kann. ---- ===== Wichtigste Schritte beim Zusammenbau und Inbetriebnahme von LocoTurn ===== ==== 1. Wiki intensiv durchlesen und durcharbeiten! ==== * Ihr müsst euch schon selbst mit der Steuerung beschäftigen. * Alles wichtige ist hier im Wiki zu finden! * Fragen, die im Wiki beantwortet werden, werde ich euch nicht nochmals vorbeten. ==== 2. Platinen löten ==== * Überlegen, welche Funktionen man überhaupt braucht: * mit/ohne Sound, falls mit, welches Modul JQ6500 oder DFPlayer ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_jq6500|Soundmodule]])? * mit/ohne Relais, nur relevant für 2-Leiter-Fahrer für Polarisierung der Bühnenschienen ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_polarisierung|Polarisierung der Bühnengleise]]) * mit/ohne Beleuchtungssteuerung, falls mit, dann überlegen, ob kleine Bühnenplatine, direkter Anschluss von Warnleuchte und Hausbeleuchtung oder MobaledLib genutzt werden soll ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_beleuchtung_signale|Beleuchtungseffekte und Signale]]) * mit/ohne Optokoppler für den Bewegungsstatus der Bühne ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_anschluesse|Anschlussmöglichkeiten und Lötjumper]]) * mit/ohne Optokoppler für die direkte Beleuchtung * LEDs direkt auf Platine löten oder mit Kabel/Stecker an eine Frontplatte verlängern * dito. Drehencoder, Poti sowie OLED * Verwendung Panel-Platine, wenn ja, Wannen-Stecker verlöten * Bauteile besorgen ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_platinen|Platinen]]) * Löt-Jumper beachten ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_anschluesse|Anschlussmöglichkeiten und Lötjumper]]) * Jumper für Steppertreiber richtig setzen * ggf. Panelplatine und Bühnenplatine löten * Printtaster oder Taster für Frontplatte mit Kabel verwenden ==== 3. Arduino Nano vorbereiten ==== * Optiboot Bootloader auf den Nano brennen ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_nano|Arduino Nano mit OPTIBOOT 8 Bootloader]]) * im Boardverwalter den Optiboot installieren, damit später das Optiboot-Board als Prozessor ausgewählt werden kann * richtige Bibliotheksversionen installieren ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_wasbrauchtman|Was braucht man alles für das Drehscheibenprojekt, ganz am Ende der Seite]]) * grobe Einstellung der Drehscheiben-Parameter im Reiter config.h ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_parameter|Parameter zur Einstellung der Drehscheibe]]) ==== 4. Drehscheibe umbauen ==== * Bühne abmontieren, Motor ausbauen und ggf. weitere Elektronik ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_einbau|Umbau und Einbau einer Drehscheibe für den Einsatz mit LocoTurn]]) * Motorhalter unten befestigen/verkleben * Motor incl. Achsenkupplung montieren * Bühne ggf. mit Bühnenplatine, Signalen und Beleuchtung umbauen * Bühne in die Drehscheibe einbauen * Hallsensor außen an der Drehscheibe anbringen, Magnet an der Bühne lagerichtig montieren (Höhe, Abstand und magnetische Richtung beachten!) ==== 5. Motortreiber-Referenzspannung einstellen ==== * Motor vorher abklemmen! * Netzteil zur Stromversorgung anschließen * Stromstärke des Motors aus dessen Datenblatt für die Berechnung verwenden ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_treiber|Stepper-Treiber]]) ==== 6. Sounds vorbereiten (optional) ==== * geeignete Sounds sampeln ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_jq6500|Soundmodule]]) * die mp3-Dateien auf das verwendete Modul speichern * Modul auf Platine stecken ==== 7. Alles anschließen ==== * siehe Wiki-Anschluss-Skizze ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_anschluesse|Anschlussmöglichkeiten und Lötjumper]]) * Motor * Hallsensor * Bühnenplatine * Bühnenschienen * ggf. Besetztmelder für Bühnenbewegung (wird für PC-Steuerung benötigt) * ggf. Besetztmelder für die Bühne * Lautsprecher * Poti * Drehencoder * OLED * Versorgungsspannung * DCC von Zentrale ==== 8. Drehscheibe konfigurieren ==== * siehe Beispiel-config.h ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_parameter|Parameter zur Einstellung der Drehscheibe]]) * Sketch hochladen und testen * wenn Hochladen wegen zu wenig Speicher nicht möglich: Optiboot falsch aufgespielt, falsche (zu neue/zu große) Bibliotheksversionen genutzt oder falsche Drehscheiben-Parameter eingestellt ==== 9. Erstinstallation/Kalibrierung ==== * geht beim Einschalten weitestgehend automatisch ([[anleitungen:bauanleitungen:locoturn_v10:150_locoturn_kalibrierung|Kalibrierung]]) * Feintuning der Portpositionen durchführen, falls erforderlich ---- ===== Typische Fehler und deren Bereinigung ===== Wenn ich die vergangenen Jahre LocoTurn Revue passieren lasse, werden meist folgende Fehler gemacht: * falsch angeschlossene Potis und Drehencoder. Einmal war ein Poti am Drehencoderanschluss … * schlechte Lötstellen; Folge: Kontaktprobleme * zu Tode gebrutzelte Pins (zu lange, zu oft, zu heiß gelötet); Folge: Kurzschlüsse, Verbindung unterbrochen * falsche, widersprüchliche Einstellungen in der Config.h; Folge: Steuerung reagiert falsch * OLEDs mit abweichenden Anschlüssen (v.a. VCC und GND); Folge: die rauchen einfach ab * verkehrt herum eingelötete LEDs; Folge: sie leuchten nicht * nicht geeignete Vorwiderstände für die LEDs (vorher einfach am Steckbrett testen, ob die Helligkeit passt) * zu schwacher Magnet, zu große Entfernung vom Hall-Sensor * generell vertauschte Anschlüsse, z.B. Steppermotor, Hall-Sensor, Bühnenplatine * Kontaktprobleme beim Drehscheiben-Schleifer * zu lange Kabel zwischen Platine und Panel bzw. OLED, Poti und Drehencoder; Folge: Durch Störungen am I2C-Bus zeigt das OLED seltsame Zeichen, bei Encoder-Drehungen kann der Nano abstürzen. Kabel möglichst kurz machen, ggf. kleinere Pullup-Widerstände verwenden. * falsch eingesteckte ICs (Nano, Treiber, JQ6500 etc.) * wenn das Sketch-Hochladen wegen zu wenig Speicher nicht möglich ist: Optiboot falsch aufgespielt, falsche (zu neue/zu große) Bibliotheksversionen genutzt oder falsche Drehscheiben-Parameter eingestellt * wenn sich die Drehscheibe endlos dreht: Poti nicht in Mittelstellung, falsches oder gar kein Poti angeschlossen * falsche Referenzspannung am Steppermotor-Treiber: Bühne ruckelt, zu schwaches Drehmoment Dagegen hilft nur, das Wiki aufmerksam durchlesen, auf die Bilder und die Aufdrucke auf der Platine achten und ggf. mit einem Multimeter nachmessen (Verbindungen, Widerstände etc.). ---- ===== Release Notes ===== ==== Software ==== === V1.4 (ab November 2024) === * Falls bei den WS2811-Chips auf der Bühnenplatine die Kanäle Rot und Grün vertauscht sind, kann man in der config.h mit dem #define WS2811_R_G_OUTPUT_SWAPPED die RG-Kanäle (zurück) tauschen, damit die Bühnensignale wieder die richtigen Farben zeigen. * Das betrifft nur Anwender der kleinen Bühnenplatine. === V1.3 (ab September 2024) === * Für U-Turns gibt es nun die DCC-Adresse 224; hiermit kann ein U-Turn in Uhrzeigerrichtung (RED) und gegen den Uhrzeiger (GRN) ausgelöst werden. * Dies ist v.a. für Anwender interessant, die den Märklin-Kompatibilitätsmodus ausgeschaltet haben. === V1.2.1 (ab August 2024) === * Wenn die Märklin-Kompatibilität bei DCC nicht verwendet wird, wird in der Hauptanzeige des OLED kein DCC-Richtungspfeil angezeigt. * Bei DS-Bewegungen zeigt der Pfeil in der Statuszeile die echte Drehrichtung an === V1.2 (ab Februar 2024) === * Die Lautstärke kann über das Menü eingestellt werden. Sie wird im EEPROM gespeichert und beim Einschalten geladen (Februar 2024). * Allgemeingültige Korrektur für die Portanzeige während Drehscheibenbewegungen und bei Verwendung von advanced_sound basierend auf der verwendeten Portanzahl (Mai 2024). === V1.1 (ab Juni 2023) === * Integration des DF-Players === V1.0 === * Erste verfügbare Version ---- ==== Platinen ==== === Hauptplatine V1.1 (ab Februar 2024) === * Auswahl des verwendeten Soundmoduls über einen 3-fach Lötjumper ergänzt === Hauptplatine V1.0 === * Erste verfügbare Version ---- === Panelplatine V1.1 === * Erste verfügbare Version ---- === Bühnenplatine V1.1 === * Erste verfügbare Version