Burggespenst: eine Animation für Modellbahn realisiert mit OpenDecoder (V.2.5)
- english page is missing
Überblick
-
Auf der Burg spukt des nächtens ein Gespenst. Dieses Gespenst erscheint hinter der Burgmauer, schwebt dann
in irgendwelchen Wellenbewegungen und Kreisen über den Zinnen und verschwindet dann wieder. Dabei schimmert
es grün-bläulich, manchmal auch leicht lila.
Hier ist der Dekoder beschrieben, welcher das Gespenst ansteuert.
Mechanik, Elektrik
-
Das Gespenst ist aus Plexiglas (PMMA) gefeilt, die Oberfläche dann mit Schleifpapier angerauht.
Es wird von unten
mit zwei leuchtstarken RGB-LEDs angestrahlt, an der rauhen Oberfläche
bricht sich das Licht dann aus dem Plexiglas.
Dieser Plexiglaskörper ist dann auf einen Draht aufgesteckt, welcher von einem Servo in der Höhe verschoben wird. Die Einheit Servo, Drahtführung und Gespenst ist dann auf einem Schlitten montiert, welcher seitlich mit einem zweitem Servo verschoben werden kann. Als achsstabile Gelenke dienen ineinandergeschraubte Gewindestangen. Das Gespenst ist also in zwei Achsen beweglich.
Die RGB-Dioden und die Vorwiderstände sind auf einer kleinen Adapterplatine montiert, von dort geht es mit einem dünnen Folienkabel zum Dekoder. Die beiden Adapterplatinen sehen so aus:
Zu beachten ist, dass sich bei einem Folienkabel an beiden Ende inverse Pinbelegung ergibt, also Pin 1 kommt mit Pin 10 zusammen.
Auf dem Dekoder ist dann für jede Farbe ein normaler N-FET als Treiber vorgesehen, es sind also 50mA maximal je Farbe möglich. Nachdem VCC hier 5V ist, habe ich die Vorwiderstände mit 270Ohm für rot und grün dimensioniert. Das gibt dann 5V-2,2V = 2,8V; das geteilt durch 270 Ohm ergibt 10mA Strom für die LEDs. Bei Blau ist die Flußspannung etwa bei 3,2V, hier verwendet man dann 180 Ohm.
Ansteuerung
-
Verwendet wird ein
OpenDecoder 2.5 für Servo,
die Software ist eine
Variante der normalen Servosoftware,
mit Ergänzungen für die
Ansteuerung einer RGB-LED
und mit besonderer Programmierung für die Zufallsauswahl der Abläufe sowie bereits
vordefinierter CV-Programmierung.
Berechnung der Bewegung
-
Der Servodekoder bietet die Möglichkeit, eine Reihe von Servostellungen zu einen bestimmten Zeitpunkt anzufahren.
Hierbei sind immer zwei Teilkurven vorgesehen - die Teilkurven A und B, welche mit entsprechender CV-Einstellung
auch nahtlos hintereinander ausgeführt werden. D.h. es stehen für einen Ablauf 46 Stützstellen zur Verfügung.
Ich habe mir ein excel-Spreadsheet gebaut, in dem ich mittels der Mathematikfunktionen von Excel Bewegungsabläufe über der Zeit definieren kann. Nachfolgend sei beispielhaft die Erzeugung eines solchen Bewegungsablaufes dargestellt:
Hier sind die Bewegungsabläufe für eine dreifache Kreisbewegung dargestellt. Das Gespenst fährt hoch, macht dann drei Sinusbewegungen in Y-Richtung und geht dann wieder runter (pinkfarbene Kurve). Gleichzeitig geht es in X-Richtung zuerst kaum vorwärts, dann auch hier drei Sinusbewegungen (bei passender Phase gibt das einen Kreis), diese Sini sind aber mit einer Rampe überlagert, d.h. die Kreise verschieben sich. Jetzt kann man sich das schlecht vorstellen, deshalb habe ich mit einer zweiten Excelgraphik die Abläufe als Y über X dargestellt:
Anhand dieser Darstellung kann man nun die Kurve in der Simulation optimieren. Damit ich das schnell in die Software einladen konnte, habe ich auch gleich die Parameter so vorbereitet, dass man es direkt in C einbinden kann:
Die orange hinterlegte Spalte kann direkt in den AVR kopiert werden. Sie wird mit folgender Formel erzeugt:
="{ "&INT(J17)&" , "&INT(M17)&" },"In einem deutschen Excel steht anstelle INT die Anweisung GANZZAHL.
Funktionen
Burgespenst | ||
---|---|---|
Adresse | Funktion | Kommentar |
0 | Gespenst abschalten | |
1 | Gespenst einschalten | Ein beliebiger Bewegungsablauf und Farbschema wird ausgewählt und abgespielt. Einstellung der Zeiten per CVs. |
Ergebnis
Video auf youtube (hier ist die Bewegung eine Art Sägezahn)
Unterlagen / Links:
- Bitte per mail anfragen.