Meine Frage ist immer noch die Abtastrate des Istwertes und die Aufrufrate des Reglers?
Wenn du den Regler öfters aufrufst, als gemessen wird, bekommt er zwischen den Messungen immer den selben Wert gefüttert.
Der berechnete P-Anteil bleibt also konstant, weil (Ist-Soll) auch konstant bleibt.
Der D-Anteil rechnet mit (IstALT - IstNEU) und kämpft gegen das Schwingen und zu schnelle Änderungen des Stellwerts. Wird er mit einem neuen Its-Wert aufgerufen rechnet er eine Gegenmassnahme. Bei den weiteren Aufrufen, wird sein Anteil dann 0.
Der I-Anteil integriert den Wert (Soll - Ist) Da diese Differenz zwischen den Abtastungen konstant bleibt, erhöht der P-teil bei jedem Aufruf die Stellgrösse, ohne zu bemerken, was die letzte Änderung des Stellwerts ausgerichtet hat.
Wenn du den Ist-Wert alle 2s abtastetest und den Regler alle 100ms aufrufst, hats du für 100ms einen vernünftigen Stellwert. Die nächsten 19 sind dann Schüsse in Blaue.
Das Doofe ist aber, dass der Motor sofort auf eine Änderung des Stellwertes reagiert .....
Die Abtastrate des Ist-Wertes muss also mindestens gleich gross, oder grösser, als die Aufrufzeit des Reglers sein.
Ein Problem ist noch die Konstanz der Abtastrate des Istwerts.
Etwas vereinfacht berechnet der Regler welche Drehzahlveränderung eine Stellwert-Veränderung um z.B. 10% in der Zeit tA bewirkt.
ist nun aber die Abtastzeit einmal 2s und einmal 1s ändert sich dieser Wert um den Faktor 2!
Alleine dies führt schon zum Schwingen.
Man muss also die Abtastzeit möglichst Konstanz halten oder die reale Zeit zwischen den Abtastungen mit erfassen und im Regler mit verarbeiten. Dadurch wird allerdings die Rechnerei im Regler um einiges aufwändiger.
Du solltest natürlich schon die maximale Auflösung aus den Stellglied heraus holen!
Wenn dein Stellglied eine Auflösung von 1'000 hat und du skalierst das Ganze auf den Bereich von 0..10 (Integer), kann sich die Stellgrösse nur in 100er-Schritten ändern.
Skalierst du auf 0...1'000 kann sich der Ausgang in 1er-Schritten verstellen.
MfG Peter(TOO)
Lesezeichen