-
-
Erfahrener Benutzer
Robotik Einstein
Einem stinknormalen Servo kannst du nur Punkte also Positionen mitteilen.
Anfahren tut er diese mit seiner bauartbedingten Maximalgeschwindigkeit auf die du keinen Einfluss hast.
Wenn du also die Drehgeschwindigkeit ändern willst dann geht das nur als "Emulation" indem du ihm den Weg als Punkte gibst die in zeitlichen abständen geliefert werden.
Probiers doch einfach mal mit ner einfachen Schleife.
Beispiel (Pseudocode)
Rem Der Servo kann zb. zwischen den Positionen 30 und 210 gestellt
Rem werden.
Rem Ausserhalb ändert sich nix.
Rem Die Auflösung beträgt 5 (digitalservos sind da besser aber teurer
Rem Einfache Strecke
Y=100
For x= 50 to 200 step 5
Servo x
Waitms y
Next x
Beispiel Ende
In diesem Beispiel würde er 30 Punkte anfahren und dafür 3 Sekunden brauchen.
Das sieht schon geschmeidig aus.
Jetzt,zur verdeutlichung,reduzieren wir die Schrittzahl um den Faktor 10 und die Wartezeit wird auf 1 Sekunde (Waitms 1000) erweitert.
Das ist jetzt natürlich übertrieben aber du sollst ja sehen was wirklich passiert
Damit macht der Servo 3 Schritte und braucht am ende wieder 3 Sekunden für den Weg.
Jetzt aber kann man sehen das er sich in wirklichkeit immer mit der gleichen Geschwindigkeit bewegt.
Probiers einfach und experimentier mit den Werten.
Zu "Rampe"
Wenn du die Wartezeiten ebenfalls mit der Zeit änderst dann ändert sich auch die scheinbare Geschwindigkeit.
Das würdest du sicher sofort als "Rampe" anerkennen.
aber wenn die Zeit sich nicht ändert ist das auch eine Rampe.
Sier hat eben nur eine unendliche Steigung (Positiv wie Negativ)
Wie gesagt.
einfach mal aufbauen und probieren.
Is ganz einfach.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen