Hallo, ich stehe total auf dem Schlauch! Nehmen wir mal an ich habe einen P-Regler. Y=Kp*e Und ich will damit, sagen wir mal eine Drehzahl auf 5000u/min regeln. Ich muss doch dann die Stellgröße auf die Istgröße aufaddieren? Es heißt immer auf die "Regelstrecke die Stellgröße" aber WIE programmtechnisch? Gruß
ohman schrieb: > Hallo, > > ich stehe total auf dem Schlauch! > > Nehmen wir mal an ich habe einen P-Regler. > > Y=Kp*e > > Und ich will damit, sagen wir mal eine Drehzahl auf 5000u/min regeln. Das geht mit einem reinen P-Regler nicht. Ein reiner P-Regler schafft es nicht eine vorgegebene Sollgröße zu erreichen. Daher muss ein P-Regler immer mit einem anderen Regler kombiniert werden. Normalerweise ein I-Regler. Wobei ein Teil der Integration durchaus auch von der Regelstrecke selber übernommen werden kann. > Ich muss doch dann die Stellgröße auf die Istgröße aufaddieren? Damit hast du dann hier im Prinzip einen I-Regler versteckt. > Es heißt > immer auf die "Regelstrecke die Stellgröße" aber WIE programmtechnisch? Du hast eine Stellgröße 'Stell'
1 | Y = K * e; |
2 | Stell = Stell + Y; |
In der Theorie bin ich auch nicht so fit. Das was du da hast, ist dann kein klassischer P-Regler mehr, sondern eigentlich, ja was eigentlich, das müsste IMHO ein I-Regler sein, weil die Fehlerabweichung ja aufsummiert wird. Das wichtige in Kürze: Ein reiner P-Regler hat immer eine Regelabweichung, die er nicht mehr ausgleichen kann. Gibst du dem 5000 U/min vor (unter Last), dann erreicht er die nicht. Wohl aber reagiert er schnell auf die Regelabweichung und fängt an auszuregeln. Irgendwann im Regelprozess übernimmt dann der I-Regler das Ruder und gleicht Ist an Soll an, wodurch dann der P_Regler aus dem Schneider ist und immer mehr in den Hintergrund tritt. Ist der Sollwert erreicht, dann ist im wesentlichen nur mehr der I-Regler an der Arbeit um die kleinen Abweichungen auszugleichen. Erst bei größeren Abweichungen 'kickt' dann der P-Regler wieder ein und macht die ersten Korrekturen, weil er schneller reagiert als der I-Regler. Kann man sehr gut erkennen, wenn man sich in einer Regelstrecke die einzelnen KOmpoenten der kompletten Reglergleichung ansieht (und hat mich auch das erste mal verblüfft, als ich die Zahlen beobachtet habe, während der Regler an der Arbeit war)
:
Bearbeitet durch User
Vielen Dank für die ausführliche Aufklärung! Aber irgendwie ist es mir trotzdem noch nicht klar. Also ich formuliere es nochmal so: Ich habe einen P-Regler Y=Kp*e Und praktisch: der Motor dreht sich gerade mit 3000u/min, der Sollwert sind aber 5000u/min. Also muss ich ihm mehr Spannung geben. Die Spannung ist gerade auf sagen wir 5V. Also muss ich ja irgendwie das Ergebnis vom P-Regler in V umrechnen und auf die 5V addieren. Oder ist das komplett falsch? Also vlt. an diesem Beispiel!
ohman schrieb: > Ich muss doch dann die Stellgröße auf die Istgröße aufaddieren? Es heißt > immer auf die "Regelstrecke die Stellgröße" aber WIE programmtechnisch? Was ist die Istgröße? Der Regler bekommt die Regelabweichung, also die Differenz aus Regelgröße und Führungsgröße. Daraus berechnet der Regler die Stellgröße. Die Größe wird auf die Strecke gegeben.
ohman schrieb: > Oder ist das komplett falsch? Ja. Der Regler bekommt die Differenz, also 2000 U/min. Daraus berechnet er die neue Stellgröße, also z.B. 7V.
Joe G. schrieb: > ohman schrieb: >> Oder ist das komplett falsch? > > Ja. > > Der Regler bekommt die Differenz, also 2000 U/min. Daraus berechnet er > die neue Stellgröße, also z.B. 7V. Verstehe ich irgendwie nicht. Kannst du da vlt. am oberen Beispiel von mir aufzeigen. und vor allem wie er dann auf die 7V kommt ? Danke Gruß
ohman schrieb: > Kannst du da vlt. am oberen Beispiel von > mir aufzeigen. und vor allem wie er dann auf die 7V kommt ? Nimm deine Gleichung Y=Kp*e und stelle sie nach Kp um. Kp = 7/2000
Kp:= 0.1 nSoll=5000 Loop alle 1 ms nIst = MesseDrehzahl() err = nSoll - nIst UOut = Kp * err StelleUOutAlsPWMOderSo(Uout) Loop Ende Beispiel: nSoll = 5000 nIst = 3000 err = 2000 UOut soll 7V sein Also Kp = UOut/err = 0.0035 Der Haken ist, wie oben schon erklärt, dass Du mit dieser Struktur die Nenndrehzahl nie erreichst. Wenn Soll=Ist, dann err=0 und damit UOut auch 0. Der Fehler beim P-Regler sinkt mit steigendem Kp, wobei die Regelstrecke schwingt, wenn das Kp zu gross wird. Wenn Kp unendlich ist (und damit die Regelabweichung theoretisch 0), hat man einen Bügeleisenthermostat. Dessen Regelabweichung ist durch die Dynamik der Strecke gegeben. Was Du mit "Addieren" meinst, gibt einen I-Regler, der tatsächlich die Nenndrehzahl erreicht, wenn auch langsam. Deswegen kombiniert man P und I-Regler zu PI.
Martin schrieb: > Der Haken ist, wie oben schon erklärt, dass Du mit dieser Struktur die > Nenndrehzahl nie erreichst. Wenn Soll=Ist, dann err=0 und damit UOut > auch 0. Der Fehler beim P-Regler sinkt mit steigendem Kp, wobei die > Regelstrecke schwingt, wenn das Kp zu gross wird. Nun ist der Lerneffekt aber hin :-( Erst wenn der TO genau diesen Effekt selber herausbekommen hätte, könnte er nun von echtem Wissenszuwachs sprechen.
Joe G. schrieb: > Nun ist der Lerneffekt aber hin :-( Erst wenn der TO genau diesen > Effekt selber herausbekommen hätte, könnte er nun von echtem > Wissenszuwachs sprechen. Man könnte anmerken, dass zwischen dem Beobachten des Motorzappelns bei zu grossem Kp und dem Verstehen von Frequenzgang, Phasengang und Nyquist-Kriterium (was mE das Minimum wäre, Pol/Nullstellenlage etc. braucht es dazu nicht) ein Riesenschritt ist. Wenn man es mal begriffen hat, ist die Theorie ja sehr einfach, aber wenn nicht... nützen vermutlich auch wohlgemeinte Links zu Regelungstechnik nichts. Der Lerneffekt wäre riesig, wenn der TO sich anhand seines Beispiels die Theorie eines PI-Reglers erarbeiten würde, aber das ist eben gar nicht so einfach. Nimm mal ein einem Mikrocontroller-Aufbau mit PWM-Endstufe einen Frequenzgang auf.
Am meisten habe ich gelernt, als ich mir eine Reglung zu Testzwecken aufgebaut habe und mir dann vom µC Tabellen gezogen habe, in denen ich mir den zeitlichen Verlauf der einzelnen Werte angesehen habe. Wie entwickelt sich e, wie entwickelt sich esum, was macht der Kp*e Term, wie ist der Integrale Anteil der Regelstrecke, was macht der Istwert und die Stellgröße. Das ganze in Tabellenform aufbereitet und als Grafik umgeschlüsselt. Beim sinnieren darüber, was ich da in den Diagrammen sehe, ist mir so manches Licht aufgegangen, welche sich dann durch Versuche 'am lebenden Objekt' verfiziert habe.
Ich hab mir einfach mit einem AVR und LCD ein kleines Motorregelungssystem aufgebaut und dabei die AVR221 durchgearbeitet. Übers LCD und 3 Taster konnte man P, I und D einzeln einstellen (und natürlich die gewünschte Drehzahl) und dabei dem Motorregler bei der Arbeit zusehen. AVR221 ist sowieso recht interessant, weil da grafisch und textlich die einzelnen Parameter gut erklärt werden. http://www.atmel.com/Images/doc2558.pdf
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.