-
-
Servo Steuerung...
Hi,
ich hab mal mein alten Servos an den RP6 angeschlossen und links rechts bewegen geht soweit (mit langer / kurzer impuls) nur frag ich mich wie kann ich die Servos langsamer bewegen.
dazu müsste ich dich die spannung runtersetzen oder?
nur wie mach ich das?
danke!
Mfg
Philipp
-
Erfahrener Benutzer
Robotik Einstein
Hallo Philipp,
nein, mit der Spannung hat das wenig zu tun, wie langsam sich das Servo in eine neue Stellung bewegt.
Das Servo bewegt sich in eine neue Stellung, wenn du ihm einen neuen Wert (= andere Impulsdauer) gibst.
Also: Je schneller du eine andere Impulslänge an das Servo anlegst, umso schneller bewegt sich der Hebel.
Wenn es langsamer gehen soll, must du z.B. eine Pause in dein Programm einbauen, bevor die nächste (geänderte) Impulsdauer angelegt wird.
Gruß Dirk
-
Hi Dirk,
das hab ich jetzt nicht ganz verstanden.
warum soll ich die impulsdauer ändern, ich dachte der Impuls ist nur dazu da
dem servo überhaupt zu sagen in welche richtung es sich bewegen soll.
Hab mal versucht statt 20ms zwischewn den impulsen 50 bzw. 100 ms zu warten aber das stockt dann eben...
Danke!
Mfg
Philipp
-
Hallo,
Servoansteuerung funktionniert so: alle 20 ms benötigt das Servo einen Impuls, die Länge dieses Impulses muss zwischen 1.25 und 1.75 ms liegen. Die Anzahl von 50 Impulsen pro Sekunde (1 Sekunde = 1000 ms, 1000 / 20 ms = 50 Impulse) ist als konstant anzusehen, es ist die Länge dieser Impulse, die die Position angibt.
Das Servo wird nun die gewünschte Position so schnell es kann ansteuern: wenn man also die Lange von 1.25 auf 1.75 änders, wird der Servomotor so schnell wie moglich drehen, um die gewünschte Position (von einem extrem zum anderen) zu erreichen. Im allgemeinen macht das ja auch Sinn, Servos werden ja hauptsächlich im Modellbau angewendet, und man will zum Beispiel, dass sich ein Ruder im Idealfall 'sofort' in der richtigen Stellung befindet.
Will ich nun eine Zwischenposition ansteuern, muss ich die Länge (!) des Impulses andern (Beispiel: Mittelstellung: impulsdauer 1.5 ms), diesen Impuls aber noch immer alle 20 ms wiederholen.
Will man die Stellung langsam verändern (also die Drehgeschwindigkeit beeinflussen), muss man die Position schrittweise veränders. Also, von einem Extrem zum andern, in 1 Sekunde, alte Stellung 1.25 ms = 0°: 25 Impulse zu 1.5 ms, dann 25 Impulse zu 1.75: das Servo fährt zuerst zur 90°-Stellung, dann eine halbe Sekunde später zur 180°-Endstellung.
Dies ist näturlich noch immer sehr grob, eine weitere Verfeinerung (innerhalb einer Schleife) führt dann zum gewünschten Erfolg: man beginnt mit einem kurzen (langen) Impuls, wartet (20 ms - Länge des Impulses), vergrössert (verkleinert) den Impuls ( um den Wert Gesamtänderung geteilt durch Anzahl der 20msSschritte), und wiederholt, bis die Endpositin erreicht ist.
Ich hoffe dies hilft etwas weiter. Das ganze klingt kompliziert, ist es aber auch
René
.
-
Erfahrener Benutzer
Begeisterter Techniker
Es gibt noch eine aendere Lösung für das Problem, aber deutlich kostlicher : du kauft eine Digital Servo und Programmer dazu. Diese Servos haben die moglichkeit um die Geschwindigkeit in Servo selbst einzu programmieren. Wird auch mal genutzt in Modellbau um eine Fahrgestell langsam ein oder aus zu fahren. Aber wie gesagt, kostet auch deutlich mehr....
-
Hi,
danke René so weit verstehe ich das jetzt...
werd das mal ausprobieren
aber ne kleine frage noch gitb die impulslänge die position
des Servos an?
Danke!
mfg
Philipp
-
Hallo,
genau, 1,5 ms ist normalerweise Mittelposition, kleinere und grössere Werte bewegen das Servo in die eine und andere Richtung. Welche Richtung, resp. den Minimal- und Maximalwert findet man am besten durch Probieren heraus, da insbesondere letztere vom Servomodell/hersteller abhängen. Werte kleiner als 1ms resp grösser 3ms sind aber unwahrscheinlich
René
-
-
Erfahrener Benutzer
Robotik Einstein
Hallo Philipp,
übrigens:
In diesem Thread ...
https://www.roboternetz.de/phpBB2/viewtopic.php?t=34407
... gibt es einige Demo-Progs zur Servo-Ansteuerung mit der RP6 Base und mit der Control M32 Zusatzkarte.
Gruß Dirk
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen