Forum: Mikrocontroller und Digitale Elektronik Ansterung eines Servos


von Ikarus (Gast)


Lesenswert?

versuche jetzt grade mal nen servo anzusteurn nur kenn mich irgendwie
nicht ganz aus.

also:
wenn ich einen impuls von 1,5ms schicke ist das so ungefähr die
mittelstellung des servos.
wenn ich jetzt die periodendauer verlänger also sagen wir mal 1,8ms so
schlägt er nun nach rechts aus.

zu meiner frage:
gibts irgendwo im netz ne seite, wo alle winkel in die der servo
ausschlägt, die nötigen impulslängen stehen??  - is bissi umständlich
alle 0,1ms den winkel zu messen.

und noch eine etwas wichtigere frage:
wie schaffe ich es den servo in die andere richtung ausschlagen zu
lassen?? also zb nach links statt nach rechts? mit ner minus spannung?

von Jens (Gast)


Lesenswert?

mit einer kleineren frequenz???

das mit dem ausschlag kann man so nciht sagen ist auch
herstellerabhaenngig

von Ikarus (Gast)


Lesenswert?

aha .... also jetzt bin ich ganz verwirrt ....
ich soll mich mit den frequenzen und den impulslängen spielen?

von edi-edi (Gast)


Lesenswert?

ich benuetze standard Servos von Hitec.

alle 20 ms muss ein impuls kommen....Dauer: 0.9 - 2.1 ms

1.5 ist Mitte

von crazy horse (Gast)


Lesenswert?

Nur die Impulsdauer ist wichtig, bei der Impulspause sind die Servos
nicht zimperlich. Standardmässig werden 20ms Gesamtdauer benutzt, bei
1,5ms Impulsdauer also 18,5ms Impulspause.
Die Mittelstellung beträgt, wie du schon sagst, 1,5ms. die kannst du
varieren +/-1ms. 0,5ms vol links, 2,5ms voll rechts.
Vermeiden musst du auf jeden Fall, dass das Servo auf den mech.
Anschlag läuft.

von Ikarus (Gast)


Lesenswert?

ok, das heißt jetzt also meine frequenz kann ich ruhig lassen.

die impulse dürfen nicht aufhören da der servo sonst durch die mech.
belastung in irgend einen zustand dreht.

und für zb die mittelstellung alle 18,5ms nen 1,5 ms impuls schicken!
will ich jetzt, dass er ganz links steht so muss ich alle 19,5ms nen
0,5ms impuls schicken!

richtig verstanden?

zu den winkeln die ich ansteuern möchte hab ich mal folgende überlegung
gemacht:
also, wenn 0,5 ganz links ist (270°) und 1,5 in der mitte (0°) und ganz
rechts 2,5 (90°) kann ich den rest der winkel ja mit ner hochrechnung
auflisten lassen oder?

wo liegt denn eigentlich der vorteil der servos zu nem schrittmotor?
etwa nur der preis und die ansteuerung?

von Rahul (Gast)


Lesenswert?

Eigentlich geht der Bereich von 1 - 2 ms Impulsdauer. Zumindest war das
bisher immer so.
Und die Pausendauer ist wie Crazy Horse schon berichtet hat ziemlich
egal.
Sonst würde ich mal bei Conrad.de nach dem Servo-Tester-Bausatz gucken.
Da müsste das eigentlich in der Bauanleitung drin beschrieben sein.
Gruß Rahul

von Achim Walther (Gast)


Lesenswert?

Du kannst das auf dem Papier nicht vorher festlegen, sondern musst es
austesten. Manche Servos haben auch mehr als 180 Grad Weg - also würde
die Berechnung mit 90 bis 270 auch nicht passen. Drehe den Servo
erstmal von Hand und messe den Winkel. Dann teste, wie weit Du mit dem
Puls nach unten und oben gehen kannst. Dann natürlich immer nur
baugleiche Typen verwenden.

Wenn der Servo keine Pulse bekommt, nimmt er das nicht übel. Allerdings
hält er die Position auch nicht mehr, wenn eine Kraft auf den Hebel
einwirkt.

Die Frage des Vorteils von Servos ggü. Schrittmotoren müsstest Du
eigentlich schon selbst beantworten können. Weniger Kabel,
mulitplexfähigkeit, keine H-Brücken oder Treiber notwendig. Stepper
sind dagegen wesentlich genauer zu positionieren.

Gruß, Achim.

von Ikarus (Gast)


Lesenswert?

stimmt, da erspar ich mir wirklich einiges gegenüber dem
schrittmotor...

naja, werd mich mal n bissi länger mit den servos wohl spielen zu
müssen um mich mit denen auszukennen g
sollte mir vieleicht wirklich nen servo tester zulegen!

danke daweil :-)

von Achim Walther (Gast)


Lesenswert?

hab nochwas vergessen: wenn Du einmal die Grenzen bezüglich Zeit und
Winkel ermittelt hast, so sollten sich die Werte dazwischen natürlich
berechnen lassen. Idealerweise ist der Stellwinkel proportional zur
Pulsweite und lässt sich mit einer Formel w = Wmin + f * (p - Pmin)
berechnen, wobei Wmin der kleinste Winkel, Pmin die kürzeste Pulsweite,
p die aktuelle Pulsweite und f ein Faktor ist, der sich aus
(Wmax-Wmin)/(Pmax-Pmin) ergibt.

(ich hoffe, die Formel stimmt ;-)

von dicky (Gast)


Lesenswert?

an achim: habe monatelang mit sm und servos experimentiert für eine
etwas knifflige anwendung. es gibt unterschiede zwischen den servos.
manche gibts schon ab 4 euro, andere für 60. meine erfahrung war die
dass für meine anwendung sog. digitale servos die richtige wahl waren.
sind leider erst ab ca 35 euros zu haben. dafür war die exakte rückkehr
an bestimmte winkel jederzeit sehr präzise möglich und sie zitterten in
ruhe und bei belastung nicht so.

dig. servos haben den nachteil dass man nicht so einfach die üblichen
impulslängen etwas über/unterschreiten kann. von futaba gibt es sog.
programmierbare die entsprechende sw habe ich aber nie finden können,
bzw nie rausgekriegt wie man die programmiert. dann kann man nämlich
auch den maximalen aktionswinkel einprogrammieren.

bei den schrittmotoren (habe nur unipolare probiert wg der primitiven
ansteuerbarkeit) war das problem immer wider der schlupf beim anlaufen
unter last, der dann mein "zählwerk" im µC durcheinander brachte.

bei den wiki-artikeln hier gibt es einen kurzen text zu servo und
schrittmotor.

von Achim Walther (Gast)


Lesenswert?

@dicky: danke für die interessante Info. Habe mich mal kurz über
Digitalservos belesen und mir die Meinung gebildet, dass das nur ein
Zwischenschritt zur echten Digitalisierung sein kann. Da ich mit den
analogen bisher immer zufrieden war - auch die Ansteuerung per ATMega
funzt sehr gut - habe ich keine weitere Mühe reingesetzt. Aber sollten
die analogen irgendwelche Nachteile zeigen, werde ich nochmal drüber
nachdenken.

von Simon (Gast)


Lesenswert?

Kann man eingentlich solche servos auch eine drehung von ca. 5 Grad ohne
Probleme machen oder sind die zu ungenau ?
Simon

von Breti (Gast)


Lesenswert?

Hi,

ich wollte ebenfalls demnächst mal ein Servo mit einem Atmega32
steuern. Ich weiß aber leider nich, wie man das am Besten mit nem Atmel
machen könnte:

Version 1 (sollte klappen ist aber nicht elegant): einfach nen 20ms
Timer, der dann für 1-2ms mit ausreichend nops den impuls generiert
(verschwendung von rechenzeit)

Version 2 (wäre super, wenn das ginge): Irgendwie mit PWM (kenne mich
da noch nicht so aus) - Sind die internen PWM Ausgänge dazu zu
gebrauchen?

Gruß,
       Thomas

von Wolfgang (Gast)


Lesenswert?

@dicky,
wo kann man „analoge“ Servos für ca. 4€ bestellen?
MfG
Wolfgang

von Rahul (Gast)


Lesenswert?

@dicky:
würde mich auch interessieren.
Das grosse gelbe C hat aber richtig kleine Servos (Mini-Servos #230501)
für 4,95Euro pro Stk.

von Ikarus (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.