DC Motor mit Potentiometer regeln

#6974577
Lesenswert?

Hallo

ich bin gerade dabei einen 24V-DC Motor mit Arduino zu regeln.
Ich benutze eine H-Brücke mit PWM um die Drehzahl zu steuern. Im Motor 
befindet sich ein Drehpotentiometer welches auf 10 Umdrehungen genau 
regeln kann. Mein Ziel ist es über ein Zahnstangen/Ritzel System. In 
einem Bereich von 0 bis 0,5 m zu regeln (Wert ist variabel).
Die Genauigkeit ist im mm Bereich also nicht allzu genau.
Ich habe es geschafft das Analoge Signal am Arduino auszulesen.

Das Problem das ich habe ist, dass wenn ich auf die Position hin will 
also den Motoren fahren lasse und dann bei der Position stoppen lasse. 
Läuft der Motor immer nach und will Natürlich wieder zurück auf die 
eingestellte Position in dem er die Drehrichtung ändert. Danach dreht er 
wieder beim Ausschalten nach und das ganze ist ein Vorgang der sehr 
lange dauert also das Wiederholt sich sehr oft bis er sich einpendelt 
bis der Motor im gewünschten Bereich ist. Das dauert mir aber zu lange 
und ich brauche Hilfe. Denn in Regelungstechnik bin ich ein Anfänger.

Habt ihr Lösungsvorschläge.

LG
Mathias
#6974583
Lesenswert?

Wenn du es schnell und genau willst brauchst du einen PID-Regler.
Für den Anfang einfacher und wahrscheinlich ausreichend ist der 
PI-Regler. Genau ja, aber langsamer.
Für dein System unbrauchbar der noch einfachere P-Regler.

Dein konkretes Problem kann niemand aus der Ferne lösen, du musst dich 
mit Regelungstechnik befassen.
#6974598
Lesenswert?

Typischer Weise verwendet man hier kaskadierte Regler, P für Position -> 
PI für Drehzahl -> PI für Strom -> Stellgröße.

PID ist hier eigentlich nicht hilfreich, da das System nicht wirklich 
zum Schwingen neigt. Der D- Anteil macht das Einstellen des Reglers 
unverhältnismäßig schwerer. Zumal ist ein gut implementierte D-Anteil 
auch nicht so einfach, da die reine Ableitung im diskreten eigentlich 
nicht wirklich funktioniert. Ein sauber eingestellter PI ist schnell 
genug und kaum bis gar nicht langsamer als der PID.
(Firma: S-C-I DATA GbR) #6974624
Lesenswert?

Kurz gesagt:

du darfst natürlich nicht mit "Volldampf" den Punkt anfahren, sonnst 
schiest der Motor immer etwas über das Ziel hinaus.
Regle deine PWM runter sobald der Motor in die Nähe deines 
"Wunschpunktes" kommt.

Das Verfahren ist bei CNC und 3D Drucker gang und gebe.
Mann nennt dies Anfahr- und Abbrems- Rampen.
Oder auch einfach Rampen.
Dies bezeichnet eine Regelung der Drehgeschwindigkeit in Bezug der 
Distanz zum Ziel un/oder vom Start.

Bringt den Vorteil dass wen die distanz von Punkt "A" zu Punkt "B" nur 
klein ist der Motor gar nicht zu schnell werden kann, und dann übers 
Ziel hinaus schießt.

DC Motoren brauchen nicht zwingend eine Anfahr-Rampe, Steppermotoren 
schon!
Aber das war ja nicht deine Frage. ;-)

Als Beispiel:
PWM_Effektiv=((Endpunkt - Aktuelle_Position) x PWM_Value)
Ist jetzt aber nur Minimalistisch dargestellt.
Da braucht es natürlich noch so Parameter wie:
 IF (Endpunkt - Aktuelle_Position)< XX% Fahrweg usw um das Optimal zu 
machen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren