PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo Motor ansteuern



ga69jot
14.01.2014, 17:35
Hallo Community,

nach langem hin und her wegen der Verkabelung des Servos, habe ich es nun geschafft, meinen gehackten Servo-Motor zum laufen zu bringen.
Nun, ich habe mir ein Code ausgesucht, mit dem ich schauen wollte, ob mein Servo sich auch so bewegt, wie ich das vorhabe.
Jedoch habe ich gesehen, dass mein Servo sich irgendwie willkürlich bewegt.

import RPi.GPIO as GPIO

import time



GPIO.setmode(GPIO.BOARD)

GPIO.setup(24, GPIO.OUT)

p=GPIO.PWM(24,50)

p.start(0.0)

try:

while True:

p.ChangeDutyCycle(7.5)

time.sleep(1)

p.ChangeDutyCycle(12.5)

time.sleep(1)

p.ChangeDutyCycle(2.5)

time.sleep(1)

except KeyboardInterrupt:

p.ChangeDutyCyle(0.0)

GPIO.cleanup()


Mein eigentliches Ziel ist es, den Motor zu beschleunigen und wieder zu verlangsamen...
Jedoch bewegt sich mein Servo immer mit der gleichen Geschwindigkeit.
Ein Kumpel hat sich das ganze auch angesehen, wir sind jedoch verzweifelt gescheitert.

Vielleicht kann mir hier ja jemand helfen.
Grüße
ga69jot

oberallgeier
14.01.2014, 19:07
... geschafft ... gehackten Servo-Motor ... Ziel ... Motor zu beschleunigen und ... verlangsamen...
Gehackt. Was meinst Du damit? Elektronik komplett weg oder nur das Poti abgeklemmt oder ... Hier gibts zwei Beispiele dazu (klick mal). (http://www.rn-wissen.de/index.php/Servo) Vermutlich kann man helfen, wenn Du genau(er) beschreibst, was Du alles ausgebaut oder aufgetrennt, einfach, was Du gemacht hast.

ga69jot
14.01.2014, 22:49
Ich habe an dem servo gar nichts gemacht, habe den so erhalten...
Ich weiss nur dass er keine endanschläge hat. Heißt man den beschleunigen und abbremsen...
Aber ich Kriegs nicht hin...der dreht sich willkürlich nach rechts und wieder links und immer mit gleicher Geschwindigkeit...

Ach ja was mir noch einfällt der Motor soll einen integrierten pid Regler besitzen

nikolaus10
15.01.2014, 09:41
Eine Servoelektronik ist kein Fahrtregler.
Die arbeitet anders, sie soll eine Position erreichen und dann halten. Das macht sie je nach Servo unterschiedlich gut.
Wenn sie die Geschwindigkeit regelt dann eigentlich nur aus Zufall.
Ein grosses Problem ist auch der driftende Nullpunkt.

Nimm einen Fahrtregler (ESC).

ga69jot
30.01.2014, 18:00
Ich bin vom RaspberryPI zum Arduino umgestiegen.
Ich hätte eine Fragen und zwar möchte ich ja 2 Servos damit ansteuern um einen Rollstuhl entlang einer Wand fahren zu lassen.
Jetzt wollte ich fragen, ob ich hierfür einen PID-Regler brauche oder einfach mit if und while schleifen arbeiten kann?

Und wenn ich einen Regler benutzen sollte, Arduino hat ja eine PID-Library, jedoch wie kann ich das dann programmieren? Heißt wenn ich die Distanzwerte vom Sensor als Input gebe und mein Sollwert vorgebe, wie weiß der Regler welchen der beiden Motoren wie er ansteuern soll?