Forum: Mikrocontroller und Digitale Elektronik Abtastzeit beim I Regler


von Andy11 (Gast)


Lesenswert?

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

von Peter D. (pdiener) Benutzerseite


Lesenswert?

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

von Andy11 (Gast)


Lesenswert?

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

von Andy11 (Gast)


Lesenswert?

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

von Peter D. (pdiener) Benutzerseite


Lesenswert?

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

von Peter D. (pdiener) Benutzerseite


Lesenswert?

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

von Andy11 (Gast)


Lesenswert?

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

von Andy11 (Gast)


Lesenswert?

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

von Peter D. (pdiener) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.