Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Der Einstieg in die MobaLedLib:

Stammtische

aktuell verwendete Versionen


Python MobaLedLib

Workshops

Verwendung mit der MoBa-Zentrale

Steuerung der MobaLedLib-Effekte

Erste Hilfe

Bewegung mit der MLL

Servoplatine

Relaisplatine

WS2811-BiPol


Sound mit der MLL

JQ6500

MP3-TF-16P

Hauptplatine

Servoplatine

Sounddateien

Anwendungsbeispiele:

3D-Druck

Entwicklungen MoBa-Universum

Platinen van Theo

MobaLedLib Sonderplatinen

Drehscheibensteuerung LocoTurn V 1.4

Drehscheibe (V0.6)

Lok-Platinen

OLED Displays

Infrared to Z21 Bridge

Hilfereiche Themen

Wissen für Fortgeschrittene

Impressum & Datenschutz

Für Wiki-Editoren:

Faszination Modellbahn - wir sind 2025 dabei

wir sind dabei

anleitungen:spezial:pyprogramgenerator:servo_animation

pyProgrammGenerator - Servo Animation

Der Servo-Animations Assistent ermöglicht die einfache Erstellung von komplexen Servo Animationen. Er ist Teil des pyProgrammGenerators.

Die Servo Animation arbietet am besten mit den Direct Mode Servos von Eckhard (Platine 511) zusammen, funktioniert aber auch mit den bisherigen Servos (Platine 510).

Details zu den Direct Mode Servos ist hier zu finden:

Direct-Mode-Servo

Auswahl der Servo Animation

Die Assistenten werden genauso wie ein Macro, z.B. der HausMacro, im Macro Dialog ausgewählt:

Servo Animation

Nach Auswahl des Macros Servo Animation erscheint folgendes Fenster:

Links sind die Eingabefelder zum Definieren von einfachen Bewegungskurven. Rechts wird die erstellte Kurve grafisch dargestellt nachdem man auf den Button „Update Grafik“ geklickt hat.

Der Assistent unterstützt den Direkt Mode Servo von Eckhart (Servo DM) und die normalen MLL-Servos (Servo1, Servo2 und Servo3)

Durch Eingabe der Ein- und Ausschaltparameter wird der Zeitablauf bestimmt. Es stehen 3 Kurven-Modi zur Verfügung: Linear, Beschleunigung und Individuell.

Die berechneten Kurven werden in der Grafik rechts angezeigt.

Achtung: Die Änderungen werden erst nach Betätigung des Tasters „Update Grafik“ in die Grafik übernommen

Bei der Einstellung Individuell können die Kurvenwerte (Grüne Punkte) einzeln eingestellt werden.

Wurde unter Servo-Adresse die Adresse des Servos angegeben, kann die Servostellung direkt überprüft werden.

Beim Ausführen kann man wählen zwischen:

  • Wiederholen: die Ein-und Ausschaltsequenz wird automatisch wiederholt,
  • PingPong: die Sequenz wird vor- und zurück abgespielt,
  • Ein/Aus: Bei Schalter auf EIN wird die Einschaltsequenz, bei Schalter auf AUS, wird die Auschaltsequenz abgespielt.

Ein Beispiel für eine individuelle Sequenz zeigt das folgende Bild. Die Sequenz simuliert einen umstürzenden Baum, der beim ersten Schlag sich etwas bewegt und dann mit einer Beschleunigungskurve umfällt, um dann noch mal kurz hoch zu springen.

Das Ergebnis in der ProgrammGenerator Tabelle sieht dann so aus:

individuelle Sequenzen erstellen

Zum Erstellen von individuellen Sequenzen gibt es 2 Einstellungen:

1. individuelle Kurvenparameter

Wenn der Kurvenparametertypauf „Individuell“ gestellt wurde, kann man die Werte für jeden Kurvenpunkt mit der Maus ändern. Es ist nicht möglich, die Zeitpunkte zu ändern.

2. Individuelle Zeitstufen Wenn der Zeitstufenparametertypauf „Individuell“ gestellt wurde, kann man die Werte und die Zeitpunkte für jeden Kurvenpunkt mit der Maus ändern.

Es ist auch möglich Punkte zu löschen und neue Punkte einzufügen (ab Version 5.3.1D)

Bedienung der Kurvenverlaufgrafik

Bewegung der Punkte:

Punkte können mit der Maus angeklickt und mit gedrückter linker Maustaste bewegt werden. Die aktuellen Werte für die Zeit und die Servostufe, werden unten links unter der Grafik angezeigt.

Zusätzlich zur Maus können Punkte nachdem sie mit der Maus angeklickt wurden auch mit den Cursortasten bewegt werden.

Für die Zeit ist das Raster auf 20ms gesetzt.

Punkte löschen, bzw neu erstellen

Nachdem ein Punkt mit der Maus angeklickt wurde, kann er mit der „Entf“-Taste gelöscht werden.

Nachdem ein Punkt mit der Maus angeklickt wurde, kann er mit der „Einfg“-Taste ein neuer Punkt rechts von dem angeklickten Punkt erzeugt werden. Der neue Punkt wird in der Mitte zwischen dem angeklickten Punkt und dem nächsten Punkt erzeugt.

Zoom

Mit Ctrl-Mausrad und Ctrl-Pfeil-auf/ab kann in die Grafik gezoomt werden.

Mit Shift-Linke-Maustaste und Shift-Pfeiltasten kann das Fenster verschoben werden.

Durch klick auf „Update Grafik“ wird der Zoom Faktor 100% wieder hergestellt.

Gesamtzeit ändern

Ist der Zeitstufenparametertyp auf „Individuell“ eingestellt, kann die Gesamtzeit für die Einschalt- und die Ausschaltphase durch Ändern der Einschalt- bzw. Ausschaltparameter geändert werden. Maßgeblich ist jeweils die gesamte Zeit aus Startpause, Dauer und Endepause. Wird „Update Grafik“ betätigt, werden alle Punkte entsprechend proportional an die neue Gesamtzeit angepasst.

Einige Tips

  • Es empfiehlt sich mit einer linearen oder Beschleunigungskurve und einem festen Zeitraster zu starten und die Zeitparameter entsprechend zu setzen.
  • Erst wenn diese einfachen Kurven funktionieren, sollte man zu den individuellen Einstellungen gehen um die Bewegung zu optimieren und z.B. ein Nachwippen zu erzeugen.
  • Das Zeitraster nicht zu klein wählen. Jeder Kurvenpunkt kostet Speicher im ARDUINO und Zeit beim Erstellen des Programms.
  • Das Programm erzeugt einen Patternmacro. Dieser Macro enthält die Abstände zwischen den Zeitpunkte und alle Werte zu einem Zeitpunkt. Wenn alle Zeitpunkte denselben Abstand haben, wird nur ein Zeitwert benötigt. Alle folgenden haben dann denselben Abstand. Dadurch kann man die Anzahl der Zeitwerte reduzieren, in dem man am Ende möglichst viele gleiche Abstände zwischen den Zeitpunkten verwendet.

Bekannte Probleme

Beim Neustart des ARDUINO, z.B. beim Einschalten und nach Neuverbinden mit dem PC, wird die letzte Sequenz nochmal ausgeführt. Dies führt dazu, daß der Sero, wenn die letzte Sequenz z.B. Torschießen war, erst einmal das Tor mit voller Geschwindigkeit öffnet und dann entsprechend der Animation wieder schließt. Wir arbeiten daran, diesen Effekt zu verhindern.

Deshalb vorsichtig sein mit empfindlichen Modellen.

Außerdem ist es sinnvoll eine Federung zwischen Servo und Modell einzubauen, falls der Servo mal die programmierte Endlage überschreitet.

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
anleitungen/spezial/pyprogramgenerator/servo_animation.txt · Zuletzt geändert: 2024/06/30 16:06 von hlinke