DC-Servomotor mit Drehencoder, konst. Drehzahl

Gast #3614903
Lesenswert?

Hallo,
ich möchte mit einem DC-Servomotor konstante Drehzahlen erreichen, der 
Motor hat einen Drehencoder (SUMTAK LDA-051-1000CE). Der Bereich 
erstreckt sich zwischen 10 bis 1000 U/min. Der Motor wird dabei nur 
gering belastet.Der „Ist Stand“ ist folgender:
-  Atmega32
-  Motorendstufe L6203
-  DCMotor  PM Servo Motor Mod. MH3528-381C4, kein Datenblatt verfügbar
-  Drehencoder, gibt auf Kanal A und B um 90° versetzt 1000 Pulse pro 
Umdrehung
-  Die Motordrehzahl lässt sich per PWM steuern

Um die Drehzahl zu regeln, wollte ich in bestimmten Abständen die Zeit 
zwischen den Pulsen zählen (Input Capture vom Timer)und in eine Drehzahl 
umrechnen. Mit diesem Werten möchte ich die Pulsweite für die Motor PWM 
regeln.
Meine Fragen sind jetzt folgende:
Ist die Herangehensweise so o.k.?
Spielt Prellen eine Rolle?
Kann ich die Werte für die PWM einfach hoch und runterzählen, oder 
benötige ich einen Regelalgorithmus (PID-Regler)?

Wäre schön ein paar Anregungen zu erhalten, vielen Dank im voraus.
Gast #3614949
Lesenswert?

als gast schrieb:
> Ist die Herangehensweise so o.k.?

Das sampeln des Positionswert und das Ausführen der Regelung sollte in 
festen Abständen ablaufen, idealerweise in einem Vielfachen der 
PWM-Periode und mit selbiger synchronisiert.

als gast schrieb:
> Spielt Prellen eine Rolle?

Wenn der Geber prellt, ja.

als gast schrieb:
> Kann ich die Werte für die PWM einfach hoch und runterzählen, oder
> benötige ich einen Regelalgorithmus (PID-Regler)?

"Einfach hoch und runterzählen" ist auch ein I-Regler, mit fester 
Verstärkung. Mach die Verstärkung noch variabel und baue eine 
P-Verstärkung dazu, dann hast du doch schon einen PI-Regler. Das ist der 
Standard für Motorregelung, PID-Regler verwendet man eher nicht.

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