Allgemeine Frage zur Mathematik der Regelungstechnik

Im Studium habe ich zwar gelernt, schnell Differentialgleichungen zu lösen, wie man das aber einsetzt ist leider an mir vorübergegangen. Ich habe aber gerade ein Problem, wo diese Mathematik wahrscheinlich gut anwendbar wäre, nämlich eine Temperaturregelung:

Gegeben sind eine Heizung mit Stellwert von 0..255, eine Temperaturmessung für die Ist-Temperatur und natürlich eine Solltemperatur. Der ganze Aufbau hat eine Zeitkonstante von etwa 15 Sekunden, es dauert also 15 Sekunden, bis eine Änderung des Stellwertes in der Messung sichtbar wird.

Der Stellwert der Heizung ist nicht direkt berechenbar, da sich der thermische Widerstand des Aufbaus ändern kann - man kann also den Stellwert nicht direkt berechnen, sondern muss sich "heraniterieren".

Für einfache Lösungen (z.B. Prognose anhand der aktuellen Steigung) ist das Einschwingverhalten aber miserabel und bei der Suche nach einem besseren Algorithmus bin ich bis zur Erkenntnis gekommen, dass ich mit den Differenzen der letzten Differenzen arbeiten müsste - aha, da war doch was! Wie wird so etwas denn richtig gemacht? Was sollte ich mir angucken und gibt es da Beispiele?

Reply to
Edzard Egberts
Loading thread data ...

Normalerweise wird sowas per PID-Regler gemacht:

formatting link

Da gibt es auch Verfahren, wie man die Parameter berechnen kann. Ich habe sowas mal in einem anderen Zusammenhang per Microcontroller programmiert, sind zwei Zeilen C-Code. Allerdings habe ich beim Entwurf nichts berechnent, sondern nur einfach an den Parametern so lange gedreht, bis es gut funktionierte.

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Das habe ich bisher auch immer so gemacht. Wie kann man denn die Temperatur eines Regelobjekts relativ einfach simulieren? Also konkret, beispielsweise:

- Eisenwürfel 1kg steht auf Herdplatte

- Umgebungsluft 30°C

- Platte ist stufenlos regelbar von 0-10kW

- Gegeben ist die Eingangsfunktion (Leistung über Zeit), gesucht die Temperatur oben auf dem Würfel

Gibt es für sowas Faustformeln, in denen man nur die "thermische Latenz" als einfachen Term (z.B. irgendeinen Latenzkoeffizienten) modelliert, statt aufwändig mit Gauss-Seidel und seinen Freunden handtieren zu müssen?

Oder (möglicherweise schwerer, weil die Abwärme-Funktion stark nichtlinear ist): Topf (oben offen) mit 10l Wasser steht auf Herdplatte. Wasser ist ideal durchmischt, gefragt ist die Temperatur über Zeit bei gegebener Leistung über der Zeit.

Viele Grüße, Johannes

--
>> Wo hattest Du das Beben nochmal GENAU vorhergesagt? 
> Zumindest nicht öffentlich! 
Ah, der neueste und bis heute genialste Streich unsere großen 
Kosmologen: Die Geheim-Vorhersage. 
 - Karl Kaos über Rüdiger Thomas in dsa
Reply to
Johannes Bauer

Edzard Egberts schrieb:

Hallo,

meinst Du eine Zeitkonstante als Totzeit? Das wäre sehr heikel für die Regelung. Ein Beispiel für eine Totzeit wäre eine Beheizung mittels eines Wasserkreislaufs wo das Wasser in den Leitungen 15 Sekunden vom Heizer bis zum Temperaturfühler für die Regelung braucht.

Bye

Reply to
Uwe Hercksen

Und um den zu verstehen ohne mit Oberstufenmathematik hantieren zu müssen ist der Artikel von Tim Wescott sehr zu empfehlen:

PID without a PhD.

formatting link
ot.pdf

- Philip

--
Ich pfeif' aufs Geld, ich will schlafen! 
(Donald Duck)
Reply to
Philip Herzog

Uwe Hercksen schrieb:

Aha, dann hat der ganze Aufbau eine Totzeit von etwa 15 Sekunden. Das macht die Sache schon irgendwie schwieriger, vor allem da man natürlich möglichst schnell einschwingen will.

Reply to
Edzard Egberts

formatting link

Danke, genau das brauche ich! :o) Die Umsetzung findet allerdings erst nächste Woche statt...

Reply to
Edzard Egberts

Kann man nicht die Sprungantwort des Systems loggen ? D.h. Stellwert von 0 auf 255 schalten und ab da im Abstand von

1sec die Temperatur auslesen.

Es gibt durchaus Temperatur-Strecken die man bei frugalen Ansprüchen als 1pol Tiefpaß annehmen kann. D.h. 1pol RC-Glied.

Diffusion wird aber oft besser als Kette von vielen 1pol RC-Gliedern nachgebildet. Sie kann dann Anfangsverzögerung haben und damit Ähnlichkeit mit echter Totzeit. PID-Regler mag das nicht.

Echte Totzeit wirds nicht sein, denn da würde auf den Sprung am Eingang nach 15sec Sprung am Ausgang folgen.

MfG JRD

Reply to
Rafael Deliano

Rafael Deliano schrieb:

Ja, aber was mache ich mit dem Log? Außerdem müsste diese Sprungantwort jedes Mal neu ermittelt werden, weil sich das thermische Verhalten ändern kann - das ist so eine Röhre und die Wärmekapazität ändert sich, wenn die auf dem Tisch liegt, oder irgendwie montiert ist (z.B. mit Stahlklammer). Und umstecken kann man das auch, also wirklich von Start zu Start erheblich wechseln. Wenn jemand das Fenster aufmacht vielleicht sogar während des Betriebs. Deshalb brauche ich eine Regelung, die fortlaufend den "Wirkungsgrad" bestimmt und den Stellwert entsprechend anpasst und komme mit einer fest proportionalen Lösung nicht weiter.

Reply to
Edzard Egberts

Edzard Egberts schrieb:

Hallo,

vielleicht könntest Du die Regelstrecke etwas genauer beschreiben damit wir sicher sind ob es da nun eine Totzeit gibt oder nicht.

Bye

Reply to
Uwe Hercksen

Uwe Hercksen schrieb:

Ein Stahlrohr in dem ein Heizwiderstand und ein Temperatursensor mit etwas Abstand eingegossen sind. Allerdings geht es doch etwas schneller als 15s, bis sich eine Sprungantwort einstellt - die 15s sind das Intervall, mit dem die bestehende Regelung am besten funktionierte.

Reply to
Edzard Egberts

Edzard Egberts schrieb:

Hallo,

also offenbar doch keine Totzeit.

Bye

Reply to
Uwe Hercksen

formatting link
Vgl. die Kennzahlen links unten. Zeichnung dazu ist Bild 11.17. Buderus verwendete ehedem handelsüblich PID. Man kann so feststellen ob man mit PID bei üblichen Anforderungen hinkommt. Wenn nicht: theoretisch kann man auf Totzeit-Regler a la Smith Predictor übergehen, praktisch würde man das aber eher vermeiden. Klassische Regler bohrt man gerne durch mehr Sensoren, verschachtelte Regelschleifen auf.

Die theoretische Antwort auf eine Regelstrecke deren Parameter sich ändern ist ein adaptiver Regler. Praktisch könnte das hier eventuell Gerät sein bei dem Benutzer auf Knöpfchen drückt und das Gerät dann z.B. über Sprungantwort sich neue, feste Parameter für den PID-Regler beschafft. Man kann natürlich noch weitergehende Forderungen einbringen: Parameter der Strecke können sich im Betrieb ändern. Formal bietet moderne Regelungstechnik auch dafür Lösungen an und an der Rechenleistung moderner Controller wirds auch nicht scheitern. Aber der Entwicklungsaufwand könnte unwirtschaftlich sein. Insbesondere weil man ja jeden dieser Fälle experminell ( d.h. via Sprungantwort ) prüfen sollte. Und dann eventuell feststellt, daß sich die Parameter nicht stark ändern. Oder es reicht dem Benutzer einfach irgendwo ein Poti anzubieten an dem er bei Bedarf nachstellen kann.

MfG JRD

Reply to
Rafael Deliano

Es gab glaube ich früher einschlägigen Physikversuch. Als es noch keine Oszilloskope gab, aber bereits Zeigerinstrumente die von Thermoelementen ausgesteuert werden konnten. Am einen Ende des Metallstabs ( Kupfer ? ) wurde der Bunsenbrenner angezündet, entlang des Stabs waren die Sensoren/Zeigerinstrumente. Man konnte damit das durchlaufende Signal darstellen. Mit etwas Phantasie die Analogie auf ein Morsesignal auf Transatlantikkabel.

MfG JRD

Reply to
Rafael Deliano

formatting link

Tim ist auch in der NG sci.electronics.design mit dabei, ein wirklich netter Mensch.

Ich erledige solche Jobs normalerweise mit PID Regler und Ziegler-Nichols Einstellung. Diese Methode ist bei manchen Wissenschaftlern als "unwissenschaftlich" verpoent, war mir bisher aber wurscht :-)

Manchmal messe ich das Verhalten der Last und bilde es in SPICE nach. Dann setze ich alle Zeitkonstanten um den Faktor 100 oder 1000 hoch, optimiere das am Simulator, setze alles wieder auf orischinol und lasse den am Ende nochmal zur Sicherheit die volle Zeit laeufen. Ist nur im Sommer was unangenehm weil der Rechner dabei das Buero aufheizt. Ein Kunde macht das fast alles in Excel mit VBA. Auf diese Weise haben Leute schon erfolgreich halbe Triebwerke berechnet (mit SPICE oder Excel).

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Edzard Egberts :

Überlege mal, ob Du da noch einen separaten Sensor anbringen kannst, der dieses Verändern der Regelstrecke oder Umgebungsbedingungen messen kann. Den Wert benutzt Du dann als zusätzliche Größe für deinen Regler (z.B. in einem überlagerten Regler). Dein "Differenzen der Differenzen" klingt auch danach, dass Du einen Regler brauchst bei dem zwei D-Glieder drin sind - also ein einfacher PID vermutlich nicht so dolle ist.

M.

Reply to
Matthias Weingart

Rafael Deliano schrieb:

Das hat nicht so besonders viel mit meinem Log zu tun, aber das mit der Totzeit können wir erst einmal begraben:

formatting link

Hatte gerade keine andere Location für den Upload zur Hand, das lasse ich da nur ein paar Tage drauf. Die Temperatur muss erst noch aus der Kurve berechnet werden, dann dreht sich das um - ist also steigend, nicht fallend. Sieht für mich nach einer ganz normalen - vielleicht etwas bauchigen - e-Funktion aus.

Reply to
Edzard Egberts

Edzard Egberts schrieb:

Die x-Achse zeigt übrigens Sekunden, die ganze Messung geht also über etwa 525 Sekunden, also knapp 9 Minuten.

Reply to
Edzard Egberts

Das du die Totzeit gering halten solltest, Thermofuehler in der Naehe deines Heizelements, hast du ja schon gelernt.

Es gibt aber noch etwas anderes was kritisch ist. Achte darauf die Heizung nicht zu stark zu uberdimensionieren. Wenn deine Heizung bei

100% Einschaltzeit z.B 500Grad erreichen koennte, du aber nur auf 40Grad regeln willst, dann wird deine Regelung schwieriger.

Wenn du dagegen alle Sollwerte zwischen 40 und 500Grad einstellen willst, dann kann es sein das du mehere Parametersaetze fuer deinen PID-Regler brauchst.

Olaf

Reply to
Olaf Kaluza

Am 08.03.2013 11:42, schrieb Edzard Egberts:

Ermittle erstmal den eingeschwungenen Zustand, also die Leistung, bei der sich Dein Sollwert eingestellt hat. Dann machst Du eine Funktion, eine Gerade, die durch diesen Punkt geht. Der andere Punkt ist der Startpunkt, volle Leistung und kalt. Diese Geradengleichung rein, davon ausgehen und mittels MUP* optimieren.

  • MUP Methode des unbekümmerten Probierens

Carsten

--
Wehret den Lügen!
Reply to
Carsten Thumulla

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.