Hallo leute, ich versuche derzeit einen DC Motor mittels eines Drehgebers zu steuern. Der Motor hat dabei einen eingebauten Encoder zur Positionsbestimmung. Der Drehgeber den ich zum steuern benutze ist ein Absolutwertgeber. Jetzt hätte ich gerne das der Motor sich gleich ausrichtet wie der Drehgeber, also den gleichen Winkel zurücklegt und das möglichst gleichzeitig mit dem Drehgeber. Der Drehgeber kann sich dabei unterschiedlich schnell drehen (max 1U/5s) und seine Richtung jederzeit ändern. Code der dafür sorgt das sich der Motor immer dem Winkel anpasst funktioniert schon. Leider etwas ruckelig da sobald der Encoder an der gleichen Position ist wie der Drehgeber der Motor aufhört und dadurch immer ein ruckeln in seiner Bewegung hat... Hat hierzu vielleicht irgendjemand eine Idee wie ich das ganze "smoother" steuern kann? derzeit benutze ich ein Arduino Motorshield... ich kann die Geschwindigkeit der Motors also variieren Am besten wäre es wenn sich der Motor immer an der gleichen Position ist wie der Drehgeber und dabei nicht ruckelt...ca so wie ein normaler servo... LG
:
Bearbeitet durch User
@ LeiderNichtVerfügbar AuchNicht (Firma: Keine) (strgfn) >Jetzt hätte ich gerne das der Motor sich gleich ausrichtet wie der >Drehgeber, also den gleichen Winkel zurücklegt und das möglichst >gleichzeitig mit dem Drehgeber. Das nennt sich Servoantrieb. >Der Drehgeber kann sich dabei unterschiedlich schnell drehen (max 1U/5s) >und seine Richtung jederzeit ändern. Eher langsam. >Hat hierzu vielleicht irgendjemand eine Idee wie ich das ganze >"smoother" steuern kann? derzeit benutze ich ein Arduino Motorshield. Klingt nach einem zu einfachen 1 oder 2 Punkt Regler. Muss man wohl verbessern, im Idealfall mit kaskadierter Strom- und Geschwindigkeitsreglung. Hier die Referenz des Meisters aus dem fernen Osten. http://elm-chan.org/works/smc/report_e.html
Ja, zu meinem Glück muss der Motor sich nicht schnell bewegen... Kann ein Zwei-Punkt Regler nicht nur zwischen zwei werten wechseln, abhängig von Ins- und Soll Wert? Ließe sich das denn nicht rein Softwaremäßig auch lösen? Ich dachte daran den Motor immer langsamer drehen zu lassen je näher er seinen ist wert kommt. Zusätzlich hätte ich den Motor einfach jede Bewegung des Drehgebers 100ms oder so verspätet machen lassen.
@ LeiderNichtVerfügbar AuchNicht (Firma: Keine) (strgfn) >Kann ein Zwei-Punkt Regler nicht nur zwischen zwei werten wechseln, >abhängig von Ins- und Soll Wert? Nö, der arbeitet rein binär, an/aus bzw. vorwärts/rückwärts. >Ließe sich das denn nicht rein Softwaremäßig auch lösen? Davon rede ich doch! Der Regler sitzt in der Software! ist doch jetzt auch schon so! "Code der dafür sorgt das sich der Motor immer dem Winkel anpasst funktioniert schon." Schön kopiert und nix kApiert! > Ich dachte >daran den Motor immer langsamer drehen zu lassen je näher er seinen ist >wert kommt. Das macht ein PID Regler, der arbeitet quasi-analog. Ist alles im Artikel vom Elm Chan beschrieben, sogar in Nicht-japanisch ;-) >Zusätzlich hätte ich den Motor einfach jede Bewegung des Drehgebers >100ms oder so verspätet machen lassen. Das ist die Murksvariante 8-0
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.