Temperaturregler - Auto-Tuning PID

Der chaotische Hauptfaden

Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese

Antworten
j.o.e
Beiträge: 552
Registriert: Fr 29. Nov 2019, 01:15

Temperaturregler - Auto-Tuning PID

Beitrag von j.o.e »

Hallo Mitfrickler!

Kennt sich wer mit Temperaturregler a la REX-C100, bzw. der Technik dahinter, aus?

Die Teile kommen mit einer interessanten Funktion, beschrieben als "Auto Tuning" (ATU), die anscheinend per Testlauf (oder im Betrieb?) die Parameter des PID-Reglers automatisch optimiert.

Wie habe ich den Parameter "Anti-Reset Windup" (ARW) zu verstehen? Wird beschrieben als: "Prevents overshoot and/or undershoot caused by integral action". Einstellbar zwischen "1 .. 100% of proportional band. Action turns OFF with this action set to 0".

Kennt jemand den zugrunde liegenden Algorithmus oder hat gar Code-Fragmente?

Anm.: PID-Algorithmus ist bekannt - dafür brauche ich keine weitere Erklärung.

Grüße
-joe
Benutzeravatar
ferdimh
Beiträge: 9429
Registriert: Fr 16. Aug 2013, 15:19

Re: Temperaturregler - Auto-Tuning PID

Beitrag von ferdimh »

Das hat nichts mit Autotuning zu tun, sondern ist ein generelles Problem eines PID-Reglers im Großsignalverhalten:
Theoretisch würde auch ein großer Sprung eine große Regelantwort und damit zeitiges Einschwingen hervorrufen. Praktisch klappt das natürlich nicht, dann die Stellgröße ist begrenzt - dann bleibt über längere Zeit ein Fehler bestehen.
Der wird natürlich auch aufintegriert und führt dazu, dass, wenn der Istwert sich dem Sollwert nähert, der Integrator mit einem großen Wert geladen ist. Man könnte sagen, der Integrator wird aufgezogen ("Wind-up") um bei Rückkehr in den linearen Bereich des Reglers Ärger zu machen.
So würde dem Einschaltvorgang ein großer Temperaturüberschwinger folgen.
Das Problem umgeht man, indem man den Wertebereich des Integrators so begrenzt, dass er lediglich den statischen Fehler und nicht mehr ausgleichen kann.
Wenn man z.B. weiß, dass die Temperatur mit 20% der Leistung des Heizelementes gehalten werden kann, reicht es, wenn der Integrator diese 20% beisteuert. Dann kann der Fehler 0 werden, da der P-Anteil nichts mehr beitragen muss.
Hier wäre dann z.B. 30% ein sinnvolles Limit.
j.o.e
Beiträge: 552
Registriert: Fr 29. Nov 2019, 01:15

Re: Temperaturregler - Auto-Tuning PID

Beitrag von j.o.e »

Danke ferdimh,

erstklassig erklärt, sodass sogar ich das verstanden hab!

Anti-Reset Windup könnte bei meiner Primär-Anwendung, einem Schmelzofen für Blei, tatsächlich eine Rolle spielen. Der Ofen kam ab Hersteller mit einem Bimetall-Thermostaten, der nicht mal mit dem Schmelzgut in Kontakt steht. Den hab ich auf "volle Lotte" gestellt und den C100-Regler vorgeschaltet.
Kann gut sein, dass es einen Überschwinger gibt, wenn ich Bleibarren nachlege. Muss ich mal Messungen zu machen - mit und ohne ARW.
Meist hab ich beim Gießen aber genug Zeit, und aufs Grad kommt's mir da eh nicht so an.

Wieso ich so genau nachgefragt habe ...
Hier steht noch eine mg-Waage, Marke Eigenbau.

Der Prototyp sieht so aus:
IMG_0591low.JPG
(Wenn ich nur nicht so faul wäre mit Gehäusebau ...)

Da drin werkelt eine Wägezelle - Spender war eine chinesische Waage. Nix Berühmtes, aber nun erfüllt die Zelle seinen Zweck
Die Chinawaage war fast unbrauchbar, zeigte Temperaturgang, kam dazu mit auto-off. Ganz unglückliche Kombination das, musste daher geschlachtet werden.

Die Zelle hab ich dann auf ein Profil geschraubt, provisorisch in Styropor verpackt und Messungen angestellt.
Setup#11.low.JPG
Dann kam auf die Rükseite der Profils ein MOSFET als Heizung, ein kleiner NTC als Temperatur-Sensor - und der AVR wurde damit beauftragt, die Temperatur auf 30.0 °C kontant zu halten.
IMG_0240low.JPG
Macht er ganz gut, Nullpunkt läuft nun um weniger als 0,3 mg.
Aber am Wochenende ging mir die Temperaturreglung durch. Also muss ich da noch mal ran. Und wenn ich schon dran bin, wollte ich die Features des C100 in mein Waagenprojekt mit übernehmen.

ARW macht wohl auch hier Sinn.
Auch "Auto Tuning" (ATU) wär nicht schlecht - einfach, weil ich zu doof bin P+I+D richtig einzustellen.

Also - auch hier sind Tipps herzlich willkommen.

Grüße
-joe
IPv6
Beiträge: 2211
Registriert: Fr 17. Mär 2017, 22:05

Re: Temperaturregler - Auto-Tuning PID

Beitrag von IPv6 »

Für Arduino gibt es hier hervorragenden Lesestoff:

http://brettbeauregard.com/blog/2011/04 ... roduction/

Da wird Schritt für Schritt erklärt wie aus dem Grundgerüst eines PID Reglers ein praxistauglicher, stabiler Regler wird. Inklusive Codebeispielen, auch für dein genanntes Anti Windup Beispiel.
Benutzeravatar
Toni
Beiträge: 2526
Registriert: Di 13. Aug 2013, 18:24

Re: Temperaturregler - Auto-Tuning PID

Beitrag von Toni »

in 3D Druckern mit Marlin Firmware ist eine PID Autotuning Funktion. Keine Ahnung ob das überhaupt tut (nie probiert), aber das Arduino Programm gibt's bei Marlin zum runterladen
j.o.e
Beiträge: 552
Registriert: Fr 29. Nov 2019, 01:15

Re: Temperaturregler - Auto-Tuning PID

Beitrag von j.o.e »

Jungs, ihr seid klasse!!

Herzlichen Dank für die Info. Ich halte euch auf dem Laufeden.

Grüße
-joe
Antworten