Drehzahlregelung Maxonmotor

Gast #3260972
Lesenswert?

Hallo liebes Forum,

bin erneut auf eure Hilfe angewiesen.
Es geht um eine Drehzahlregelung eines Gleichstrommotors mit H-Brücke.
Ich kann bisher über einen Inkrementalgeber die aktuelle Drehzahl 
einlesen und ihn auch über PWM steuern, allerdings kann ich die drehzahl 
noch nicht regeln.

Meines erachtens sollte das ganze so aussehen:

Soll->(-)->P-Regler->Umrechnung von Drehzahl auf PWM->Regelstrecke->
       <------------------------------------------------------------Drehzahl

Ich habe es bisher folgendermaßen im Programm gemacht und hatte leider 
noch keinen Erfolg.

Könntet ihr mir bitte den Abschnitt vom P-Regler bis zur Umrechnung der 
Drehzahl auf ein PWM erläutern?
Ich blicke da noch irgendwie nicht durch.
Wie geht das also genau?

Ich habe PWM-Werte von 0-256. 0...Vollgas
                              256..Stopp

Ich dachte ich gebe die Regeldifferenz auf eine konstante Verstärkung 
und rechne dann mittels einer linearen auf des PWM. Funktioniert leider 
nicht.

Danke für eure Hilfe!

Liebe Grüße

Wolfgang
#3260982
Lesenswert?

Mit Gleichstrommotor, meinst du wahrscheinlich einen DC-Bürstenmotor, in 
deinem Fall?

p-Regler:

- Drehzahl messen
- Differenz SOLL-IST
- Viel Differenz Pulsweite stark "erhöhen"
  wenig Differenz Pulsweite weniger stark "erhöhen"

Was genau du für Verstärkungsfaktoren etc. hast spielt bei der 
eigentlichen "konstruktion" des Reglers ja eher eine untergeornete 
Rolle.

Anmerkung:

PWM x != Drehzahl y - trifft nur zu wenn sich die Last nicht verändert 
(Leerlauf)
#3261018
Lesenswert?

Falk Brunner schrieb:
>>p-Regler:
>
>>- Drehzahl messen
>>- Differenz SOLL-IST
>>- Viel Differenz Pulsweite stark "erhöhen"
>>  wenig Differenz Pulsweite weniger stark "erhöhen"
>
> Das ist kein P-Regler sondern ein I-Regler.

Alexander V. schrieb:
> Ähm nein...

Missverständlich ausgedrückt.
Wenn gemeint ist daß der Stellwert in jedem Durchgang erhöht wird wenn 
noch Differenz da ist, dann ist das ein I Regler.
Gast #3261019
Lesenswert?

Falk Brunner schrieb:
> Das ist kein P-Regler sondern ein I-Regler.

Ich sehe hier kein I, sondern nur ein P

Aber abgesehen davon wirst du mit einem reinen P-Regler keine 
vernünftige Regelung hinbekommen. Dieser hat eine bleibende 
Regelabweichung

Aber im prinzip funktioniert es so:

Neuer PWM-Wert = Regelabweichung * Kp

und Kp ist eine Konstante, die du ermitteln musst
Gast #3261024
Lesenswert?

Was funktioniert denn nicht ? Etwas mehr Infos wären schön.

Zwei Punkte hätte ich aber gleich:
 - Bei 8 bit ist 0 = 256; Du meinst hoffentlich 0 - 255 als PWM,
   wenn's 8 Bit PWM ist. Ansonsten ist Stop = Vollgas -> komischer 
Effekt.
 - 0 = Vollgas ist nicht schön, da der Regler einen größeren Wert 
ausgibt,
   wenn die Differenz größer wird. Lösungsansatz: Entweder den 
Ausgabewert
   invertieren ( Output = 255 - Output ) oder das PWM anderes 
definieren.

Pepe.
#3261033
Lesenswert?

p-Regler

Abweichung = Drehzall_soll - Drehzahl_IST
PWM = KP * Abweichung

PI-Regler

Abweichung = Drehzall_soll - Drehzahl_IST
Integral = Integral + Abweichung
PWM = KP * Abweichung + KI * Integral.

Die Faktoren KP und KI muss man experimentell auf den Motor abstimmen.
#3261038
Lesenswert?

@ Schlumpf (Gast)

>> Das ist kein P-Regler sondern ein I-Regler.

>Ich sehe hier kein I, sondern nur ein P

Man muss auch das GESAMTE Zitat betrachten.

>p-Regler:

>- Drehzahl messen
>- Differenz SOLL-IST
>- Viel Differenz Pulsweite stark "erhöhen"
>  wenig Differenz Pulsweite weniger stark "erhöhen"

Ist eine sehr schwammige Formulierung und klingt nach I-Regler, weil er 
ja abhängig von dem Fehler die Stellgröße erhöht oder erniedrigt.
Gast #3261042
Lesenswert?

Falk Brunner schrieb:
> Ist eine sehr schwammige Formulierung und klingt nach I-Regler, weil er
> ja abhängig von dem Fehler die Stellgröße erhöht oder erniedrigt.

Richtig, wenn man es so liest, dann kann man auch einen I-Regler 
dahinter vermuten. Aber ist halt, wie du schon sagtest, "schwammig" 
formuliert und dann kommt´s drauf an, welche Brille man beim Lesen 
gerade auf hat ;-)
Gast #3261088
Lesenswert?

Vielen Dank für eure Kommentare!

Ich werde es morgen gleich an meiner Schaltung ausprobieren.
Das PWM geht natürlich von 0 bis 255!
Falls ich es morgen nicht zusammenbringe melde ich mich,aber ich denke 
es ist jetzt um einiges klarer. Mein Fehler lag in der Umrechnung aufs 
PWM! Hatte wieder mal ein Brett vor dem Kopf.

Liebe Grüße

Wolfgang

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