Forum: Mikrocontroller und Digitale Elektronik Drehzahlregelung Maxonmotor


von Wolfgang (Gast)


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

von Alexander V. (knecke)


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)

von Falk B. (falk)


Lesenswert?

@ Alexander V. (knecke)

>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.

von Alexander V. (knecke)


Lesenswert?

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

Ähm nein...

von Udo S. (urschmitt)


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.

von Schlumpf (Gast)


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

von Pepe (Gast)


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.

von Falk B. (falk)


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.

von Falk B. (falk)


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.

von Schlumpf (Gast)


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 ;-)

von Falk B. (falk)


Lesenswert?


von Wolfgang (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.