Quelle: http://www.rn-wissen.de/index.php/Regelungstechnik In der Erklärung steht: >Software I-Regler: >esum = esum + e >y = Ki Ta esum >esum ist die Summe aller bisherigen Abweichungen e. Der Parameter des >Software I-Reglers ist abhängig von der Rechenschrittweite Ta (Abtastzeit). >Je öfter gerechnet wird, desto öfter wird auch hinzugezählt >(aufintegriert). Eine kleine Abtastzeit erfordert also einen kleineren >Faktor, dies wird durch die Multiplikation mit Ta verwirklicht. und was für mich interessant ist ist das: >Der Parameter des >Software I-Reglers ist abhängig von der >Rechenschrittweite Ta (Abtastzeit). Wie ist denn das gemeint mit der Rechenschrittweise? Wie schnell der Prozessor ist =? >Je öfter gerechnet wird, desto öfter >wird auch hinzugezählt Das stelle ich mir mit der GEschwindigkeit des Controllers vor, stimmt diese ANnahme? Wieso brauche ich also einen extra Faktor für die Abtastzeit wenn der COntroller eine Fixe Zykluszeit hat und er das soi schnell wie er mag hochrechnet? lg andy
Nein, das sollte nichts mit der Geschwindigkeit des Controllers zu tun haben. Der Sinn dahinter ist, dass die Regelfunktin regelmäßig in immer gleichen Zeitschritten aufgerufen wird. Das macht man normal mit einem Timer. Damit die Reglerparameter normiert sind, muss dem Regler bekannt sein, wieviel Zeit seit seinem letzten Aufruf vergangen ist. Das ist Ta. Grüße, Peter
Peter Diener schrieb: > Damit die Reglerparameter normiert sind, muss dem Regler bekannt > sein, wieviel Zeit seit seinem letzten Aufruf vergangen ist. Aha, aber das geht dann auch ohne Timer doch auch, wenn auch nur ungenau, da ein Zyklus genau ausgemessen/simuliert werden muss. Aber verstehe jetzt dass das der I Regler nur braucht um zu wissen wieviel vergangen ist. Danke! lg andy
Aber eine Frage noch: Diese Zeit bleibt fix oder? Dh wenn ich nen Timer in 100ms überlaufen lasse dann bleibt Ta immer 100 und wird nur zu Programmbeginn festgelegt mit #define oder desweiteren lg andy
Ja, das ist alles richtig. Nur meistens ist das Programm so kompliziert, dass es nicht für jeden Durchlauf gleich lang braucht. Deswegen erzwingt man das mit einem Timer. Für hochdynamische (und damit sehr schnelle) Regler kann es sein, dass die Multiplikation mit Ta störend viel Zeit braucht, dort kann man sie dann auch weglassen. Man muss aber wissen, dass man dann die Regelparameter ändern muss, wenn sich die Zykluszeit des Reglers ändert. Grüße, Peter
>Aber eine Frage noch: Diese Zeit bleibt fix oder?
Das sollte üblicherweise so sein, in Sonderfällen kann man die
Abtastrate dynamisch ändern, findet man aber eher selten.
Peter Diener schrieb: > Für hochdynamische (und damit sehr schnelle) Regler kann es sein, dass > die Multiplikation mit Ta störend viel Zeit braucht, dort kann man sie > dann auch weglassen. Man muss aber wissen, dass man dann die > Regelparameter ändern muss, wenn sich die Zykluszeit des Reglers ändert. ok, danke der Erklärungen!! lg Andy
EIne Frage hätte ich da aber noch, und zwar in welcher EInheit das ist. Wenn ich zB einen PID Regler dimensioniere kann ich dann einfach den Faktor 10 einsetzen oder ist dort der Standardwert in Sekungen, dh es müsste dann so ausshcuaen #define Abtastzeit 0.01f ? lg Andy
Das kann man schon für menschenverständliche Einheiten auslegen, also Sekunden für die Nachstellzeit Tn bzw. Hz für Ki. Wenn man den Regler aber nicht im Gleitkommaformat rechnen will, sollte man eine Normierung wählen, die den Ganzzahlbereich besser ausnutzt, das geht dann meistens nicht mehr mit normalen Einheiten.
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.