Hallo zusammen,
ich habe diesen DC-Encoder-Motor
den ich mit einem H-Brücken-Controller-Modul an meinem Arduino für eine Positionieraufgabe (gut eingestellte PID-Regelung) nutze. Auf der Motorwelle des DC-Motors sitzt ein kleines Zahnrad, das wiederum ein großes Außenverzahntes Rad antreibt, das auf einer Welle sitzt. Das außenverzahnte Zahnrad kann 52 Positionen an seinem Umfang (360°) anfahren. Also alle 6,9° eine anzufahrende Position.
Problem:
Die Wiederholgenauigkeit der angefahrenen Positionen ist nicht gut genug (mal trifft er exakt die Stelle, die er soll, mal nicht),
Frage: Wie kann ich die Positionier-Wiederholgenauigkeit verbessern?
- Kann ich den DC-Motor intern irgendwie kalibrieren? (Bibliothek)
- Die Antriebswelle des DC-Motors hat recht großes Spiel und wackelt ca. 5° hin und her (Gibt es gute/bessere DC-Encoder-Motoren wie den oben angegebenen)
- Was kann man sonst noch machen?
PS.: Es existiert bereits eine Art Kalibrierung, die folgender Maßen funktioniert:
- Motor dreht sich, bis ein Schalter über einen Anschlag betätigt wird --> Interrupt-Signal --> Motor auf eine feste Position einregeln (sollte eigentlich immer in etwa die gleiche Position sein)
- Von dieser Position fährt der Motor dann auf die gewünschte Winkelposition, indem ein fester Ziel-Encoder-Wert vergeben wird (z.B. 90 Grad)
- Ist das überhaupt eine Kalibrierung im strengeren Sinne oder bringt das eigentlich gar nichts?
Viele Grüße
