-         

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 31

Thema: Servo Geschwindigkeitsregelung

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    23.03.2011
    Beiträge
    9

    Servo Geschwindigkeitsregelung

    Anzeige

    Hallo zusammen,

    ich steuere mittels einer Mess-/Steuerkarte über einen PC über ein PWM-Signal einen Digitalservo an. Die Ansteuerung zur jeweiligen Position klappt einwandfrei.
    Jedoch möchte ich auch den Servo in der Geschwindigkeit steuern. Meine Idee dazu war, dem Servo auf dem Weg zur Endposition weitere Zwischenpositionen zu schicken bzw. anfahren zu lassen. Problem dabei ist nur, dass der Servo bei dem Fahren durch die Zwischenpositionen zur Enposition in der Bewegung eine Art zittern ausführt. Den Motor im Servo über die Spannung zu steuern bringt auch nichts, denn da verliert der Servo an Kraft.
    Ich habe jedoch gelesen, dass man bei Servos auch die Geschwindigkeit steuern kann lediglich bloß wie, stellt sich mir die Frage.
    Daher nun meine Frage. Kennt jemand eine andere Art und Weise wie ich einen Servo im PWM-Signal auch in der Geschwindigkeit steuern kann oder gibt es andere Möglichkeiten?

    Viele Grüße
    Lars

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.04.2010
    Beiträge
    1.249
    Also, die eine Variante hast du ja schon angesprochen. Selbst noch nciht ausprobiert, aber vielleicht liegts auch daran wie du es machst, das er "zittert".

    Eine andere Variante sind programmierbare Servos, aber auch nciht ganz billig...

    Oder du schaust dich mal heir um: http://www.openservo.com/

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.05.2005
    Ort
    Berlin
    Beiträge
    316
    Du könntest den Motor im Servo ja auch per PWM ansteuern, dann verliert er keine Kraft.
    Das läuft dann aber auf zusätzliche Hardware hinaus (H-Brücke). Und du musst selber regeln.
    Dürfte aber noch wesentlich billiger sein, als Openservo oder gar programmierbares Servo.
    Deine Karte kann doch sicher auch analoge Signale aufnehmen? Dann könnteste die Regelung dem PC überlassen.

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.557
    Hi Lars,

    willkommen im Forum.

    Eine Frage ist natürlich: warum willst Du die Servogeschwindigkeit regeln - ich vermute Du meinst aber steuern. Trotzdem bleibt die Frage offen: warum? Für Modellbauzwecke dürfte "so schnell wie möglich" die richtige Wahl sein - ich denke mal nur an Ruderbetätigung - da wird ne variable Stellgeschwindigkeit kaum Sinn machen.

    WENN Du den Servo als Endlosdreher umbaust, und danach ne Drehzahlvariabilität wünscht - da geht ne variable Drehzahlsteuerung. Lies mal unter RN-Wissen/Servo (klick) nach. Dort ist unter "Methode 1" (klick hier) beim Servohacking diese Möglichkeit kurz beschrieben. Wenns Dich interessiert, können wir uns hier näher darüber unterhalten.

    Die von Dir geübte Methode - schrittweises Anfahren von Zwischenpositionen als Simulation einer Geschwindigkeitssteuerung - gibt eine ruckelnde Bewegung vor allem dann, wenn die PWM z.B. nur 8 Bit Breite kennt. Ich hatte mal nen Servo durch einen Mikrocontroller mit 6000 (sechstausend) Schritten angesteuert, das sind schon rund 12½ Bit Breite. Da ging das selbst mit meinen Billigstservos einigermassen glatt - abgesehen von deren Zittern, das die selbst bei Stillstand haben.

    Ansonsten dürfte die Geschichte mit dem OpenServo und I²C die richtige Wahl sein.
    Ciao sagt der JoeamBerg

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.04.2010
    Beiträge
    1.249
    Oder du schaust dich mal heir um: http://www.openservo.com/
    Ich wollte darauf hinaus sowas selbst zu machen, nicht zu kaufen.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    23.03.2011
    Beiträge
    9
    Vielen Dank ersteinmal für alle eure Antworten. Werde alle Ideen mal sorgfältig betrachten und schauen, welche die Beste sein wird.

    Was ich machen will: Ich möchte über einen Servo eine Wippe, welche an einem Gelenk befestigt ist über einen Bowdenzug (Mechanik etc. hab ich schon gebaut) auf und ab bewegen. Dabei sind die Anforderungen, dass ich eine ca. gradgenaue Ansteuerung hinbekomme, sowie dass ich die Wippe in Abhängigkeit der Geschwindigkeit auf und ab bewegen möchte. Mit meinem aktuellen Aufbau bekomme ich das zwar hin, habe aber wie gesagt ein zittern bei der Bewegung. Ich steuere das Servo über ein countergestützes Signal mit High- und Low-Time-Angabe je nach Position.

    an oberallgeier:
    Das Servohacking würde mir zwar die Geschwindigkeitssteuerung ermöglichen, aber wird mir doch sicher die Positionsansteuerung die ich gern möchte erschweren oder?
    Welchen Controller hast du benutzt bzw. wie hast du das aufgebaut, um die Bit-Breite zu verändern?

    Viele Grüße
    Lars

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.05.2005
    Ort
    Berlin
    Beiträge
    316
    Wie "sauber" ist denn das Signal, dass deine Karte liefert? Vielleicht bringt ein dedizierter Servocontroller schon Besserung?!

  8. #8
    RN-Premium User Stammmitglied
    Registriert seit
    14.02.2011
    Ort
    südl. von Wien
    Alter
    41
    Beiträge
    69
    Nur mal zu Anregung: Ich steuere meine Servos über einen Polou Maestro Servocontroler an. Da lässt sich sowohl die Geschwindigkeit als auch die Beschleunigung recht einfach steuern. Entweder in der jeweiligen Outputkonfiguration oder über einefache Skripts.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    23.03.2011
    Beiträge
    9
    Habe die Geschwindigkeitsregelung jetzt mit einem Pololu Serial 8-Servo Controller realisiert, welche ich zum testen bekommen habe. Leider schaffe ich damit nur die Geschwindigkeit bei einem analog Servo Hitec HS-322HD zu steuern.
    Für meinen Modelcraft VSD-18MBWG Digitalservo ist dies nicht möglich, jedoch klappt die Positionszuweisung mit dem Controller. Schicke ich einen Geschwindigkeitsbefehl an den Pololu, ändert sich bei neuer Positionszuweisung nur der Stellweg (es wird nicht die Position voll angefahren) und nicht die Geschwindigkeit. Wenn ich es mit dem Graupner Digitalservo DES 806 BB MG versuche, kann ich nicht mal eine gewünschte Position anfahren.
    Kann das an dem Controller liegen, dass dieser nur mit analog Servos funktioniert (habe aber in der Bedienungsanleitung nicht von funktionalitätsauschluss mit digitalen Servos gelesen)?

    Das eigentlich Vorgehen eines solchen Controllers zur Geschwindigkeitssteuerung ist doch auch eine Pulsweitenveränderung zu der gewünschten Position hin, entsprechend einer gewissen möglichen Auflösung des Controllers oder?

    Das Signal was ich mit meiner Karte erzeugt habe, ist ein counter gestütztes PWM-Signal (je nach Position), dass ich alle 20 ms an den Servo schicke. Ist es dabei vielleicht möglich durch eine Verringerung der Low-Time von 20 ms auf zb. 10ms und meiner Idee des schrittweisen Anfahren einer Zwischenposition zur Endposition (wenn ich die Auflösung der Zwischenschritte sehr klein mache) eine saubere Geschwindigkeitsregelung zu realisieren bzw. das Zittern des Servos zu verringern?

  10. #10
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.05.2005
    Ort
    Berlin
    Beiträge
    316
    Warum das jetzt mit den Digitalservos nicht funktioniert, kann ich mir auch nicht erklären.
    Ich arbeite zZt mit 5€ Servos von Modelcraft. Ich mache den Refresh alle 10ms. Dabei gibt es keinerlei Probleme.
    Auch Fahrten mit konstanter Geschwindigkeit werden relativ sauber ausgeführt.


Seite 1 von 4 123 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •