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
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)
@ 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.
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.
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
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.
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.
@ 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.
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 ;-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.