PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo- Geschwindigkeitssteuerung ohne ruckeln ?



ralf33
04.07.2008, 10:50
Hallo,

ist es möglich, die Geschwindigkeit eines Modellbauservos kontinuierlich zu steuern?
Es soll zB. langsam anfahren, dann die Geschwindigkeit halten und dann langsam die Geschwindigkeit bis zum Stillstand verringern.
Wenn ich die Impulse alle 20 Millisekunden so ausgebe das es theoretisch so ein Geschwindigkeitsprofil abfährt, wird das praktisch ohne Ruckeln funktionieren?
Also die Impulsbreite bei jeder Ausgabe minimal verändern, folgt da das Servo jeder Veränderung, ober macht es hin und wieder einen "Sprung"?
Unterm Strich soll eine kontinuierliche Bewegung dabei rauskommen.

Prinzipiell möglich ist ja scheinbar die Steuerung der Geschwindigkeit:
http://www.roboter-teile.de/Shop/themes/kategorie/detail.php?artikelid=23&source=2

Wenn das Ganze unrealistisch ist, würde ich Schrittmotoren nehmen, damit kenne ich mich besser aus, die Lösung mit Modellbauservos wäre aber aus verschiedenen Gründen günstiger.

Gruß Ralf

fhs
04.07.2008, 10:57
Hallo Ralf,


...Wenn ich die Impulse alle 20 Millisekunden so ausgebe das es theoretisch so ein Geschwindigkeitsprofil abfährt, wird das praktisch ohne Ruckeln funktionieren?
Klar geht das -- solange das Servo schnell genug dafür ist. Du findest in den Servo-Datenblättern ja meist den Wert Grad/Zeit, anhand dessen Du (unter Berücksichtigung des 20 ms Update-Intervalls) ausrechenen kannst, ob das von Dir gewünschte Geschwindigkeitsprofil halbwegs kontinuierlich umgesetzt werden kann. Bei Kunstflug, für den die Modellservos ja auch herhalten müssen, werden oft recht flotte Knüppelbewegungen gemacht!

Gruß

Fred

ralf33
04.07.2008, 14:01
Hallo Fred,

danke für die schnelle Antwort!
Das läßt ja hoffen, ich werde mir jetzt mal so ein Teil zum Testen besorgen.
Digitalservos sollen ja da besser sein, weil die Position öfter an den Motor weiter gegeben wird.

Gruß Ralf

fhs
04.07.2008, 16:12
Hallo Ralf,


..., ich werde mir jetzt mal so ein Teil zum Testen besorgen. Digitalservos sollen ja da besser sein, weil die Position öfter an den Motor weiter gegeben wird.

viel Erfolg dabei! Digitalservos kenne ich nur vom Hörensagen, aber mit konventionellen Servos habe ich die von Dir angestrebte Geschwindigkeitsänderung schon mit Software realisiert.

Viele Grüße

Fred

Willa
04.07.2008, 16:40
Hallo!
Ich habe das gleiche Problem gehabt wie du --> Möglichst "glatte" Servobewegung. Es geht, siehe hier:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=35105&highlight=servoswift
Aber an einen Schrittmotor mit 1/16 microstepping kommt das noch nicht dran...
Viele Grüße,
William

ralf33
08.07.2008, 20:09
Hallo Allerseits,

ich habe mir jetzt mal ein Digitalservo besorgt und es ausprobiert.
Mit den Routinen von Bascom läuft es ruckelig, da ist nichts zu machen.
In Assembler wesendlich besser und akzeptabel.

@William:
Tolles Modell, habe mir das Video gerade angesehen, Respekt!


Gruß Ralf

Willa
08.07.2008, 22:18
Danke für das Feedback :-D
Also ich hab das mit Bascom einigermaßen flüssig hinbekommen.
Im Timerinterrupt wird einfach alle 10ms oder so eine Variable X hochgezählt. Im hauptprogramm steht dann:


Select Case X
Case 0 : Servo(1) = 121
Servo(2) = 60
Case 1 : Servo(1) = 122
Servo(2) = 60
Case 2 : Servo(1) = 123
Servo(2) = 60

...

Case 300 : Servo(1) = 100
Servo(2) = 120
end select

Die Positionen für die Servos rechne ich z.B. in Excel anhand einer Sinusfunktion aus. Man kann das auch so machen, dass Excel gleich den fertigen code liefert, dann muss man das nur kopieren und in BASCOM einfügen.
Ist eine relativ simple Lösung die aber ganz gut funktioniert.

ralf33
08.07.2008, 22:45
Hallo William,

so in die Feinheiten bin ich nicht gegangen, ich habe das Servo heute erst bekommen.
Allerdings bin ich auf ein ganz anderes Problem gestoßen, nähmlich wie lange hält ein Servo?
Es würde bei der Anwendung ca. 300000 Zyklen pro Jahr machen und ich glaube nicht, das es das packt. (Ausstellung)

Schönen Abend noch!

Gruß Ralf

Willa
08.07.2008, 23:43
Hallo Ralf,
hmmm wie lange so ein Servo hält hängt wohl von der Qualität ab. Es gibt mittlerweile auch "Coreless" Servos, d.h. Servos mit bürstenlosen Motoren. Ab ca. 120 Euro aufwärts zu haben. Ich denke mal daß das Poti dieser Servos aber weiterhin mit Verschleiß zu kämpfen hat...
Ein anderes sehr gutes Servos is das Futaba S9254 (~100 Euro). Das wird bei Helikoptern mit ultraschnellen SMM-Kreiseln betrieben. Da dürfte auch einiges an Zyklen zusammenkommen bevor die aufgeben.
Kannst du etwas mehr über deine Anwendung erzählen? Nur so aus Interesse...

ralf33
09.07.2008, 22:28
Hallo William,

es geht um die Bewegung von Exponaten, stell es dir vor, wie so eine Art anthropologisches Museum.
Mehr kann ich zur Zeit leider nicht dazu schreiben. Wenn es denn aber dazu kommt und der Auftraggeber hat nichts dagegen, stelle ich gern ein paar Bilder ein.
In die erste Anwendung werde ich übrigens doch lieber Schrittmotoren einsetzen. (28x28mm, Mikroschrittansteuerung)
Die Vorteile die ich sehe sind:
- bestimmt leiser (bin mir aber nicht sicher)
- Lebensdauer
- leichter Ansteuerbar


Beste Grüße, Ralf

Willa
10.07.2008, 00:02
Hallo Ralf! Ja, darauf war ich dann auch umgestiegen.... Als Treiber kann ich dir den nanotec.de smc-11.2 sehr empfehlen.... Klein, günstig, 1/16 Mikroschritt, braucht nur Takt + Richtung als Eingang.
Aber vielleicht hast du ja auch deine eigenen Präferenzen...
Leiser sind die meiner Meinung nach nicht... Wenn man die Dinger direkt ohne Dämpfung an eine größere Metall/ Plastikplatte montiert, dann quietschen & quieken die richtig laut... Aber die Lebensdauer sollte tatsächlich praktisch unbegrenzt sein.
Viel Erfolg,
William