PD-Regelkreis mit Vorschau?

Gast #6400576
Lesenswert?

Hi,

fertige und ausgereifte/getestete Quellcodes/Bibliotheken für P(I)D 
Regelkreise gibt es ja genügend. Allerdings habe ich jetzt hier einen 
konstanten Datenstrom von Sollwerten mit festen zeitlichen Abständen t.

D.h. wenn ich diese Werte erst mal durch einen kleinen Ringbuffer 
schiebe, hätte ich zwei Sollwerte:

1. den aktuellen Sollwert (Ringbuffer Position 0), wie er exakt zu 
momentanen Zeitpunkt sein soll

2. einen kommenden Sollwert (Rungbuffer Position 0+n), wie er zu einem 
kommenden Zeitpunkt t*n anstehen soll.

Meine Überlegung: kann es für einen Regelkreis nicht von Vorteil sein, 
zu wissen, welcher Sollwert in der Zukunft gefordert sein wird und 
resultierend daraus zu wissen, wie weit/stark vom aktuellen Sollwert aus 
ausgesteuert werden muss, um diesen zukünftigen Wert effektiv zu 
erreichen?

Gibt es für diese Aufgabenstellung eventuell schon fertige Bibliotheken 
oder habe ich hier einen Denkfehler, so dass das gar keinen Sinn machen 
würde?

Danke!
Gast #6400583
Lesenswert?

Hallo
Nun in dem Fall unterscheidet man zwischen Regelung (nur die 
Rückführung) und Vorsteuerung. In der Vorsteuerung werden dann 
zukünftige Sollwerte mitberücksichtigt. Diese ist unabhängig von deinem 
(PID...) Regler.
Gast #6400605
Lesenswert?

> fertige und ausgereifte/getestete Quellcodes/Bibliotheken für P(I)D
> Regelkreise gibt es ja genügend.

Aehem..ja Bibliotheken fuer eine Zeile Quellcode. Warum wundert mich das 
jetzt nicht?

> Allerdings habe ich jetzt hier einen
> konstanten Datenstrom von Sollwerten mit festen zeitlichen Abständen t.

Wieso erstaunt dich das? Ein fester Abtastzeitpunkt ist wesentlich weil 
er deine Regelparameter gewichtet.

> D.h. wenn ich diese Werte erst mal durch einen kleinen Ringbuffer
> schiebe, hätte ich zwei Sollwerte:

Du willst eine zusaetzliche Zeitkonstante in deinen Regelkreis einfuegen 
weil dir sonst die Regelung zu einfach waere? Kann man machen, muss man 
aber nicht.

> Gibt es für diese Aufgabenstellung eventuell schon fertige Bibliotheken

Du brauchst keine fertigen Bibliotheken sondern ein Grundlagenbuch ueber 
Regelungstechnik weil es dir am Grundverstaendnis fehlt.

Olaf
Gast #6400610
Lesenswert?

Olaf schrieb:
>> fertige und ausgereifte/getestete Quellcodes/Bibliotheken für
> P(I)D
>> Regelkreise gibt es ja genügend.
>
> Aehem..ja Bibliotheken fuer eine Zeile Quellcode. Warum wundert mich das
> jetzt nicht?

Eine Zeile für einen PID-Regler? Na dann kannst du die hier ja mal 
posten...

>> Allerdings habe ich jetzt hier einen
>> konstanten Datenstrom von Sollwerten mit festen zeitlichen Abständen t.
>
> Wieso erstaunt dich das? Ein fester Abtastzeitpunkt ist wesentlich weil
> er deine Regelparameter gewichtet.

Lesen hilft: es geht um die Sollwerte, nicht um die Abstastung der 
Istwerte.

>> D.h. wenn ich diese Werte erst mal durch einen kleinen Ringbuffer
>> schiebe, hätte ich zwei Sollwerte:
>
> Du willst eine zusaetzliche Zeitkonstante in deinen Regelkreis einfuegen
> weil dir sonst die Regelung zu einfach waere? Kann man machen, muss man
> aber nicht.

Nein, will ich nicht - siehe oben.

>> Gibt es für diese Aufgabenstellung eventuell schon fertige Bibliotheken
>
> Du brauchst keine fertigen Bibliotheken sondern ein Grundlagenbuch ueber
> Regelungstechnik weil es dir am Grundverstaendnis fehlt.

Und du brauchst einen Grundkurs "Lesen", weil du den elementaren Teil 
meiner Frage einfach nicht verstanden hast.
Gast #6400613
Lesenswert?

Olaf schrieb:
> Du willst eine zusaetzliche Zeitkonstante in deinen Regelkreis einfuegen
> weil dir sonst die Regelung zu einfach waere?

Das wäre keine Zeitkonstante, wie sie in linearen Systemen völlig normal 
ist, sondern eine Totzeit.
Damit kommt ein linearer PID Regler überhaupt nicht gut zurecht, weil 
sich Totzeiten nicht durch gewöhnlichen Differentialgleichungen 
beschreiben lassen.
Gast #6400660
Lesenswert?

Looper schrieb:
> so dass das gar keinen Sinn machen
> würde?

Natürlich macht das Sinn (Deutschterroristen bitte weghören), ich habe 
so etwas verwirklicht für ein medizinisches Bad, bei dem Wasser im 
Kreislauf gepumpt wurde und mit einer Art Durchlauferhitzer auf 
Temperatur gebracht. Im Behandlungsbad trat die Temperaturerhöhung mit 
einer Verzögerung von 30..60 Sekunden auf. Ich habe daher den 
Temperaturverlauf in die Zukunft extrapoliert und auf diesen Wert 
geregelt, mit einem parametrierbaren PID-Regler. Das Regelergebnis war 
um eine Grössenordnung besser als mit einer Regelung nach der aktuellen 
Badtemperatur, was für die medizinische Behandlung auch notwendig war.

Die Softwarestruktur ist eigentlich einfach: eine Vorhersage der 
zukünftigen Temperatur - die ist massgebend für die Regelqualität. Und 
mit diesem zukünftigen Wert einen PID-Regler füttern.

Für so etwas gibt es nicht nur keine Theorie, puristische Regeltechniker 
lehnen so etwas sogar entschieden ab, weil es nicht in die schulmässigen 
Modelle passt.

Georg
Gast #6400662
Lesenswert?

Peter D. schrieb:
> In der Regel will man, daß solange auf den alten Sollwert geregelt wird,
> bis der neue vorgegeben wird

Ergänzung: der Sollwert änderte sich bei meinem Gerät, die Temperatur 
sollte linear ansteigen. Folglich wurde auch der Sollwert extrapoliert, 
wie der in der Zukunft sein sollte war ja bekannt, und geregelt wurde 
also mit Sollwert und Istwert aus der Zukunft.

Georg
Gast #6400664
Lesenswert?

Peter D. schrieb:
> Die Frage ist, was Du willst.
> In der Regel will man, daß solange auf den alten Sollwert geregelt wird,
> bis der neue vorgegeben wird und sich nicht schon früher ändert.

Bei dieser Anwendung sieht es so aus, dass viele, sich ständig ändernde 
Sollwerte geliefert werden. So lange so ein Sollwert aktuell ist, soll 
er natürlich auch gehalten werden.

Meine Überlegungen sind jetzt folgende:

- vom Zeitpunkt der Vorgabe eines Sollwertes bis dieser wirklich 
erreicht ist, benötigt jeder Regler eine gewisse Zeit. D.h. es kann für 
meine Anwendung passieren, das zu dem Zeitpunkt, zu dem der letzte 
Sollwert endlich erreicht wurde, möglicherweise schon ein neuer Sollwert 
aktuell ist. Könnte ein Regelkreis das nicht ausgleichen, wenn er von 
vorneherein schon weiß, welcher neue Sollwert demnächst ansteht?

- wenn ein neuer Sollwert zu schnell angefahren wird (unpassende 
Reglerparameter), so kann das zu Überschwingern führen. Wenn jetzt aber 
ein zukünftiger Sollwert in Richtung des Überschwingers liegt, wäre das 
ja kein Problem, sprich der Regelkreis könnte den Überschwinger dann ja 
akiv nutzen um gleich weiter "in die Zukunft" zu verfahren?
Gast #6400665
Lesenswert?

Hallo Looper,

insofern ich deine Frage richtig verstanden habe, wirst du unter dem 
Begriff prädiktive Regelung bzw. predictive control fündig. Das hat dann 
mit einem einfachen PID-Regler allerdings nicht mehr viel zu tun.

Ob bei einem PID-Regler die Kenntnis zukünftiger Sollwerte hilfreich 
sein kann, weiß ich leider nicht.

Viel Erfolg beim Recherchieren und Implementieren.

LG Simon
#6400672
Lesenswert?

georg schrieb:
> Folglich wurde auch der Sollwert extrapoliert,
> wie der in der Zukunft sein sollte war ja bekannt

Ist nur eine Ansichtssache. Man kann für die Regelung eine 
Anstiegsgeschwindigkeit und den Endwert vorgeben. Dann wird quasi der 
momentane Sollwert in kleinen Schritten entsprechend der geforderten 
Kurve intern vorgegeben. Die Regelung interessiert sich nicht dafür, 
sondern arbeitet als ganz normale PID-Regelung.
Gast #6400754
Lesenswert?

Looper schrieb:
> - vom Zeitpunkt der Vorgabe eines Sollwertes bis dieser wirklich
> erreicht ist, benötigt jeder Regler eine gewisse Zeit. D.h. es kann für
> meine Anwendung passieren, das zu dem Zeitpunkt, zu dem der letzte
> Sollwert endlich erreicht wurde, möglicherweise schon ein neuer Sollwert
> aktuell ist. Könnte ein Regelkreis das nicht ausgleichen, wenn er von
> vorneherein schon weiß, welcher neue Sollwert demnächst ansteht?
>
> - wenn ein neuer Sollwert zu schnell angefahren wird (unpassende
> Reglerparameter), so kann das zu Überschwingern führen. Wenn jetzt aber
> ein zukünftiger Sollwert in Richtung des Überschwingers liegt, wäre das
> ja kein Problem, sprich der Regelkreis könnte den Überschwinger dann ja
> akiv nutzen um gleich weiter "in die Zukunft" zu verfahren?

Die Aufgabe des Reglers ist es, das System zu stabilisieren, Störgrößen 
auszugleichen und Modellierungsungenauigkeiten zu kompensieren. Für das 
Folgen von Führungsgrößen wird dagegen keine Rückführung benötigt.

Ich empfehle dir, dich mit dem Konzept Vorsteuerung auseinander zu 
setzen, welches genau für diese Aufgabe da ist, einem vorgegebenen 
Verlauf zu folgen. Wenn man die beiden Probleme (Regelung + 
Vorsteuerung) getrennt betrachtet macht man sich das Leben wesentlich 
einfacher.

Regelung + Vorsteuerung führen dann zu dem von dir 
prognostizierten/gewünschten Verhalten.
Gast #6401020
Lesenswert?

Simon schrieb:
> insofern ich deine Frage richtig verstanden habe, wirst du unter dem
> Begriff prädiktive Regelung bzw. predictive control fündig. Das hat dann
> mit einem einfachen PID-Regler allerdings nicht mehr viel zu tun.

Das klingt doch mal interessant und vor allem richtig - Danke, ich werde 
den Herrn Google mal ein wenig mit diesen Begriffen bemühen!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren