DC Motor Steuern Arduino

OP (Firma: Keine) #4438190
Lesenswert?
• ▲
▼
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
#4438194
Lesenswert?
• ▲
▼
@ 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
OP (Firma: Keine) #4438212
Lesenswert?
• ▲
▼
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.
#4438222
Lesenswert?
• ▲
▼
@ 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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.