Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
anleitungen:bauanleitungen:locoturn_v10:150_locoturn_philosopie [2023/02/08 13:02] – gelöscht - Externe Bearbeitung (Unknown date) 127.0.0.1 | anleitungen:bauanleitungen:locoturn_v10:150_locoturn_philosopie [2024/10/03 08:01] (aktuell) – domapi | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Grundlegende Philosophie von LocoTurn ====== | ||
+ | ===== Einstellungen der Drehscheiben-Parameter ===== | ||
+ | Der Sketch umfasst zahlreiche Einstellparameter, | ||
+ | |||
+ | Die wesentlichen benutzerindividuellen Parameter stehen in der Turntable_Config.h Datei bzw. im entsprechenden Reiter der Arduino-IDE. Sie beschreiben die jeweilige individuelle Drehscheibe und die verwendeten Steuerungseinstellungen. Im ino-File stehen weitere #defines. Generell gibt es #defines, die echte Benutzer-Parameter sind, um den Sketch zu beeinflussen, | ||
+ | |||
+ | Im Hauptsketch (ino) stehen zudem die default-Werte für diese Benutzerparameter (falls mal einer in der Turntable_Config.h vergessen wurde) und die Sketch-internen defines! | ||
+ | |||
+ | Bei einer neuen Programmversion kopiert man einfach das " | ||
+ | Ausnahme: neue #defines für neue Funktionen müssen ggf. in der " | ||
+ | |||
+ | Die meisten Parametereinstellungen müssen direkt im Programm bzw. im Config-Reiter gemacht werden, eine spätere Einstellungen im lfd. Betrieb (z.B. über Dekoder-CVs, | ||
+ | |||
+ | Der Grund, warum keine CVs verwendet werden konnten, ist schlicht und ergreifend der begrenzte Speicherplatz eines Nano. | ||
+ | ===== Konfigurationsdatei ===== | ||
+ | |||
+ | Der Arduino-Sketch beinhaltet das eigentliche Programm (Turntable.ino-File), | ||
+ | {{bilder: | ||
+ | |||
+ | Bei einer neuen Programmversion, | ||
+ | |||
+ | Bevor die Steuerung verwendet werden kann, muss man zunächst in der Turntable_Config.h-Datei die eigene Drehscheibe definieren (Anzahl und Lage der Ports, Drehgeschwindigkeit, | ||
+ | |||
+ | Ein Beispiel zur Konfiguration einer Fleischmann-Drehscheibe und einem 400 Step-Stepper-Motor findet sich hier am Ende der Seite: [[anleitungen: | ||
+ | ===== Definition von Ports/ | ||
+ | |||
+ | |||
+ | * Eine Drehscheibe (DS) hat eine bestimmte Anzahl von Gleisabgängen, | ||
+ | |||
+ | * Es gibt 3 Arten von Ports: | ||
+ | * <color # | ||
+ | * <color # | ||
+ | * <color # | ||
+ | |||
+ | * Bei den meisten Drehscheiben liegen die Gleisabgänge in einem bestimmten Raster und sind gleichverteilt über einen kompletten Vollkreis. Bei einer klassischen Fleischmann-Drehscheibe gibt es z.B. im 7, | ||
+ | |||
+ | * Bei der Fleischmann-DS liegt gegenüber einem Auffahrgleis entweder ein Gleisabgang (= aktiver Port) oder ein passiver, " | ||
+ | |||
+ | * Es gibt immer eine __geradzahlige__ Anzahl Ports. | ||
+ | |||
+ | * Die kleinste Anzahl Ports ist 2: Ein Gleisabgang plus der gegenüberliegende Port; damit kann man dann aber wirklich nur eine Lok wenden :-D. | ||
+ | |||
+ | * Inaktive Ports können von der Steuerung übersprungen werden. Sie werden dann nicht angefahren, wenn die DS mit dem Drehencoder, | ||
+ | |||
+ | * Intern werden die typischen 48 Ports von 0 - 47 nummeriert, im Display oder im seriellen Monitor wird 1 - 48 angezeigt. Die Steuerung arbeitet also intern mit Gleisabgängen/ | ||
+ | |||
+ | * Die Portnummer im OLED bezieht sich immer auf den Port, wo die Bühne mit der Hausseite steht. Bei eigenkonstruierten DS muss man eine Bühnenseite als „Hausseite“ deklarieren. | ||
+ | |||
+ | * Beim Einrichten der Scheibe muss man sich überlegen, ob wirklich jeder einzelne Gleisabgang angefahren werden soll oder nur die benutzten Ports, an denen Gleise (aktiv) oder kurze Gleisstücke (passiv) angeschlossen sind. Dazu gibt in der Konfiguration entsprechende Parameter. | ||
+ | |||
+ | * Zum ersten Testen empfiehlt es sich, z.B. 12 Ports zu nutzen. Das entspricht einer analogen Uhr und die Uhrzeit-Positionen sollten jedem vertraut sein. | ||
+ | |||
+ | {{ bilder: | ||
+ | |||
+ | <WRAP center round tip 80%> | ||
+ | **Exkurs:** \\ | ||
+ | Ein gültiger Port muss immer >= 0 und < PORT_CNT sein; die OLED-Anzeige addiert +1 dazu. | ||
+ | Intern wird auch mit negativen Ports und Ports >= PORT_CNT gerechnet, um auch Nullpunkt-Durchgänge in der richtigen Drehrichtung verarbeiten zu können. Im Sketch werden dann Steps für eine komplette Umdrehung addiert/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Typische Einsatzszenarien ===== | ||
+ | |||
+ | Der Sketch ist sehr speicherintensiv und nutzt den Nano-Speicher quasi komplett aus. Beim Testen muss man ggf. Programmteile ausschalten, | ||
+ | |||
+ | * Einrichten der Steuerung + Test | ||
+ | - DCC abschalten, spart Speicher | ||
+ | - seriellen Monitor einschalten (Ausgabe + Eingabe) | ||
+ | |||
+ | * Einsatz auf der Anlage | ||
+ | - DCC einschalten | ||
+ | - keine Verwendung des seriellen Monitors, da sinnlos (es ist i.d.R. kein PC angeschlossen) | ||
+ | |||
+ | * Einsatz auf der Anlage ohne Poti; Steuerung nur mit Encoder und DCC | ||
+ | |||
+ | * Einsatz auf der Anlage ohne Poti und ohne Encoder; Steuerung nur mit DCC | ||
+ | |||
+ | Die Einsatzszenarien lassen sich über die #defines in der Turntable_Config.h einstellen: [[anleitungen: |