Bitte erklären Sie in einfachen Worten, wie ein PID die Trägheit bei der Temperaturregelung berücksichtigt

Ich baue meinen eigenen mikroprozessorgesteuerten Reflow-Ofen für Bastler. Ich verwende (mechanische) Relais, um die Heizungen (dh Quarzröhren) ein- oder auszuschalten. Ich habe festgestellt, dass die Erwärmung einige Sekunden verzögert, bevor die Temperatur zu steigen beginnt.

Im Moment verwalte ich das Temperaturprofil manuell mit Hilfe eines Arduino, der die Heizungen einfach ausschaltet, wenn die eingestellte Temperatur erreicht ist. Wenn ich zum Beispiel die Temperatur auf, sagen wir, 120° Celsius einstelle und die Heizungen stoppen, steigt die Temperatur immer noch um 10-20 Grad, so dass es ziemlich viel Überschwingen gibt, dann ein Klingeln, das langsam abnimmt.

Ich habe viele Beispiele gelesen und gesehen, die eine PID für eine bessere Temperaturregelung verwenden. Ohne das würde ich die Heizungen einfach stoppen, etwa 10-20 Grad unter dem eingestellten Wert, und sie danach in kurzen Zeiträumen ein- und ausschalten, bis sich die Temperatur um den eingestellten Wert stabilisiert. Ich weiß nur, dass das Delta mit der Temperatur variiert, daher ist es möglicherweise nicht so einfach – ich weiß um die exponentielle Natur des Temperaturanstiegs mit einem festen Sollwert.

Kann also jemand in Laiensprache erklären, wie ein PID die Trägheit berücksichtigt, zB welche Rolle der integrale Teil und was der abgeleitete Teil in einfachen Worten spielt, sowie wie / ob ich ziemlich intuitiv eine Schätzung der Ableitung und des Integrals herausfinden kann Mengen ohne komplizierte Berechnungen.

Die Herausforderung sind die Verzögerungen, wie Sie gesehen haben. Somit liegt der Schlüssel zur Steuerung in der Untersuchung der Anstiegsgeschwindigkeiten und der Ableitung von Anstiegsgeschwindigkeiten
@analogsystemsrf Ich glaube, ich habe es tatsächlich. Wie Sie lesen können, habe ich nur einige Schwierigkeiten, die Verbindung zwischen diesem (Theorie) und jenem (Praxis) herzustellen. Kurz gesagt: Was ist der Teil, der die Verzögerung kompensiert und wie ?
Verzögerungen sind schrecklich zu bewältigen. Möglicherweise verursacht durch einen Sensor, der zu weit von der Heizung entfernt ist. Oder eine zu große Heizung mit zu viel thermischer Masse. PID-Skalierungsfaktoren können sich stark ändern, wenn die physikalische Anordnung geändert wird. Verringernde Verzögerungen helfen, PID-Steuerfaktoren zu erreichen, die kleinere Fehler ergeben.
Sie können eine PID nicht wirklich implementieren, wenn die einzige Steuerung, die Sie haben, darin besteht, die Heizung mit einem Relais ein- und auszuschalten.
@mkeith: Sicher kannst du! Solange die Schaltperiode im Verhältnis zur Reaktion der Last kurz ist, ist dies in Ordnung, und eine Zykluszeit von 3 bis 20 s wäre bei industriellen Systemen nicht ungewöhnlich. Aus Gründen der Zuverlässigkeit schlägt ein SSR natürlich ein Relais, aber PID ist mit der Relaissteuerung möglich. Der PID-Ausgang wird verwendet, um das Tastverhältnis einzustellen.
@Transistor, interessant. Ich wusste ehrlich gesagt nicht, dass Sie Relais über einen längeren Zeitraum so schnell schalten können. Es handelt sich also nur um eine PWM-Steuerung mit einer PWM-Periode von mehreren Sekunden oder mehr? Und vielleicht auch einige Duty-Cycle-Einschränkungen?
Ich benutze industrielle Temperaturregler für die Arbeit. Diejenigen mit Relaisausgang begrenzen die Zykluszeit im Allgemeinen auf mindestens 5 s. Diejenigen mit einem Halbleiter-DC-Ausgang zum Ansteuern eines SSR haben diese Einschränkung nicht. Wenn Sie an eine Anwendung mit langer Zeitkonstante denken – beispielsweise einen Glasofen oder eine Tonne Schokolade –, könnten Sie sich vorstellen, dass eine Einschaltdauer von 30 Sekunden ausreichen könnte, um sie gut zu steuern.

Antworten (3)

Ich musste + Glens Kommentar. Er hat sein Gehirn immer am richtigen Ort, IMHO. Nichts ist schwieriger in einer PID zu handhaben als a Δ t Verzögerung. Ich beschäftige mich seit Jahren auf die eine oder andere Weise mit lampenbeheizten Temperaturregelungen für IC-Wafer-FABs. Lassen Sie mich mit einem Überblick über PID beginnen und ein wenig darüber sprechen, wo es NICHT so nützlich sein wird wie in anderen Fällen. Ich werde auch einen von vielen anderen Bereichen von Kontrollmethoden vorschlagen, die Sie ebenfalls erkunden könnten, aber mit einer Priorität von Schritten, die Sie zuerst unternehmen sollten, bevor Sie woanders hingehen.

Der kanonische Ausdruck für die PID-Regelung lautet:

u t = K [ e t + 1 T ich 0 t e τ d τ + T d d e t d t ]

Bei den Reglerparametern handelt es sich um die Proportionalverstärkung K , integrale Zeit T ich , und Ableitungszeit T d .

  1. Proportionalregelung : Die Regelwirkung ist hier einfach proportional zum Regelfehler. (Die obige Gleichung reduziert sich auf u t = K e t + u b , wo u b ist ein Controller-Bias oder -Reset.) Eine Analyse eines statischen Prozessmodells zeigt, dass der resultierende Prozess im stationären Zustand einen Rest-Offset oder Controller-Bias aufweist (obwohl ein System manuell so eingestellt werden kann, dass ein Regelfehler von Null auftreten kann bei einem und nur einem Sollwert durch eine geeignete Wahl der Reglervorspannung.) Eine Erhöhung der Verstärkung verstärkt auch das Messrauschen (schlecht), daher sollte die Schleifenverstärkung nicht zu hoch sein und es gibt keine "beste" Schleifenverstärkung wie es kommt auf die Ziele an.
  2. Proportional + Integralregelung : Die Hauptfunktion der Integralaktion besteht darin, sicherzustellen, dass der Prozessausgang im stationären Zustand mit dem Sollwert übereinstimmt. Bei Integralwirkung führt ein kleiner positiver Fehler immer zu einem ansteigenden Steuersignal und ein kleiner negativer Fehler immer zu einem abnehmenden Steuersignal. Dies gilt unabhängig davon, wie klein der Fehler ist.
  3. PID-Regelung : Das Hinzufügen einer Differenzialregelung verbessert die Stabilität des geschlossenen Regelkreises. (Es wird einige Zeit dauern, bis eine Änderung in der Steuerung in der Prozessausgabe bemerkt wird. Das Steuerungssystem wird also zu spät kommen und diesen Fehler korrigieren. Das Ergebnis des Ableitungsterms ist, dass es sich um eine Art Vorhersage handelt , die durch Extrapolation gemacht wird Fehler unter Verwendung einer Tangente an die Fehlerkurve, die verwendet wird,die verzögerten Ergebnisse zu antizipieren .

Die obige Beschreibung, hinzugefügt zu Ihrer eigenen Beschreibung Ihres Problems einer Verzögerung, würde darauf hindeuten, dass Ihnen ein abgeleiteter Begriff helfen würde. Aber wie immer ist nichts unbedingt so einfach.

Eine Proportional-Integral-Regelung ist ausreichend, wenn die Prozessdynamik 1. Ordnung ist. Dies lässt sich leicht durch Messen der Sprungantwort herausfinden. (Wenn die Nyquist-Kurve nur im 1. und 4. Quadranten liegt.) Sie kann auch in Fällen angewendet werden, in denen der Prozess keine strenge Steuerung erfordert, selbst wenn er nicht von 1. Ordnung ist.

Für Prozesse, bei denen die Dynamik 2. Ordnung vorherrscht, reicht die PID-Regelung aus. Hier ist häufig eine Temperierung der Fall. Also noch einmal, dies spricht vielleicht dafür, in Ihrer Situation eine derivative Kontrolle hinzuzufügen.

Jedoch. Alle oben genannten Punkte sollten erst berücksichtigt werden, nachdem Sie alles andere getan haben, um einige Dinge zu verbessern:

  • Verwenden Sie den am schnellsten reagierenden Temperatursensor, den Sie vernünftigerweise anwenden können (kleine Masse, Pyrometrie usw.), und wenden Sie ihn in einer Situation mit der geringstmöglichen Reaktionsverzögerung auf den Prozess an, den Sie steuern möchten (nah, nicht weit.)
  • Reduzieren Sie die Verzögerungsvariation bei der Durchführung von Messungen und der Umsetzung der Prozesssteuerung.

Auf diesen letzten Punkt möchte ich etwas näher eingehen. Stellen Sie sich die Prozesssteuerung so vor, als würden Sie irgendwo stehen und versuchen, eine dünne, sehr flexible und wackelige Bambusstange in ein entferntes Vogelhausloch zu stecken, das in einem Baum über und von Ihnen entfernt sitzt. Wenn Sie in der Nähe sind und die Bambusstange kurz ist, ist es einfach. Sie können es jederzeit schnell und einfach tun. Aber wenn die Bambusstange lang und das Vogelhaus weit von Ihnen entfernt ist, ist es sehr, sehr schwer. Die Stange wandert ständig herum und macht Ihre Vorhersage und Kontrolle sehr schwierig.

(Wenn es nicht schon klar ist, die Länge der Bambusstange ist wie die Loop-Verzögerungszeit.)

Verzögerung ist also wahrscheinlich der SCHLECHTESTE ALBTRAUM von Kontrollsystemen. Mehr Verzögerung ist sehr schlecht. Daher ist es sehr wichtig, dass Sie alles in Ihrer Macht Stehende tun, um diese Verzögerung zu verringern. Aber es gibt noch einen wichtigen Punkt.

Stellen Sie sich nun dieselbe Situation vor. Aber jetzt ändert sich auch die Bambusstange ständig in der Länge. Manchmal ist es kürzer, manchmal länger, und es ändert sich ständig ohne Vorhersage Ihrerseits. Sie müssen jetzt ständig Ihre Haltung ändern, und Sie wissen nie, wann sich die Verzögerung ändert. Dies ist die Situation, die besteht, wenn Ihre SOFTWARE die Zeitverzögerung bei der Verarbeitung Ihres ADC-Werts und der Erzeugung eines DAC-Steuerausgangs nicht sehr sorgfältig und mit eiserner Faust kontrolliert.

Während also die Verzögerung für ein PID-Regelsystem schlimm genug ist. Variable Verzögerung ist sogar noch schlimmer. Daher müssen Sie Ihrem Softwaredesign strenge Aufmerksamkeit schenken – sehr strenge Aufmerksamkeit –, damit Sie keine IF-Anweisungen und bedingten Berechnungscode oder schlampige Verwendung von Timern usw. haben, die alle zu erheblichen Abweichungen in der führen können Verzögerung zwischen Abtast- und Steuerausgang.

Sie müssen das oben Gesagte in das Management einbringen, bevor Sie sich DANN Gedanken darüber machen, ob Sie eine derivative Kontrolle benötigen oder nicht. Das wichtigste zuerst. Bereinigen Sie Ihre Handlung. Untersuchen Sie dann das System, um festzustellen, was noch zu tun ist (z. B. mithilfe von PI vs. PID).


Ich arbeitete an PID-Regelsystemen mit einem extrem genauen Pyrometersystem (auch sehr teuer für Kunden). Ich erhielt einen Anruf von einem kanadischen Forscher, der mit unserem Pyrometer arbeitete, aber einen separaten PID-Regler von einem sehr großen kommerziellen Unternehmen (dem größten in die Welt, die diese Dinge tut.) Der Forscher kämpfte mit Wellen an der Seite einer Galliumarsenidkugel, die er aus einer Schmelze zog. Und wollte meine Hilfe dabei, die richtigen PID-Regelvariablen herauszufinden. (Beim Boule-Ziehen möchte man sehr gleichmäßige Durchmesser.)

Der Controller, den er benutzte, war nach allen Maßstäben ziemlich gut. Aber es fügte Verzögerungen hinzu – und diese Verzögerungen variierten auch, da die darin enthaltene Software die Verzögerung, die sie in den gesamten Regelkreis einführte, nicht streng kontrollierte.

Das erste, was ich ihm sagte, war, dass ich die PID-Regelung zur Software in unserem Pyrometer hinzufügen würde und dass er einfach den externen Regler von dem System ziehen sollte, das er benutzte. Ich fügte diese Software in weniger als einer Woche hinzu und schickte ihm das modifizierte Pyrosystem. Ich habe nichts Besonderes mit der PID-Software gemacht. Ich habe jedoch meine Variabilität in ADC zu DAC auf weniger als ein paar Mikrosekunden gehalten und die Gesamtverzögerung ebenfalls auf etwa 100 Mikrosekunden verschärft. Ich habe ihm das geschickt.

Am Montag nächster Woche erhielt ich einen Anruf. Die Kugeln zogen fast perfekt heraus, ohne jegliche Welligkeit.

Es war so einfach, nur die Verzögerungen zu reduzieren und auch die Variabilität dieser Verzögerungen zu reduzieren. Überhaupt nichts Besonderes an der PID-Regelung. Es war eine simple Vanilla-Implementierung, die jeder produzieren würde, wenn er zum ersten Mal davon erfährt.

Dies veranschaulicht die Bedeutung des Herausdrückens von Verzögerung und Verzögerungsvariabilität. Sicher, die abgeleitete Steuerung kann eine Art "Sekante/Tangente"-Idee der Vorhersage liefern. Aber nichts ersetzt es, die Verzögerungen zu reduzieren und die Variabilität auf ein absolutes Minimum zu beschränken.

Denken Sie nur immer an die Bambusstange und das Problem mit den Vogelhäuschen.


Fazit?

Die Steuerung von Systemen mit einer dominanten Zeitverzögerung ist notorisch schwierig. Ich habe einige Gründe vorgeschlagen, die Sie könntenglauben, dass ein abgeleiteter Begriff bei Zeitverzögerungen hilft. Es besteht jedoch allgemeine Übereinstimmung darüber, dass die Ableitungswirkung bei Prozessen mit dominanten Zeitverzögerungen nicht viel hilft. Aus diesem Grund hatte ich sofort vorgeschlagen, diesem Forscher zu helfen, indem ich alle Verzögerungen beseitigte, die ich leicht entfernen könnte (wie zum Beispiel eine externe PID-Box). Ich hatte mir nicht vorgestellt, dass meine Implementierung besser war als das kommerzielle Produkt. Ich wusste, dass meine Implementierung nicht annähernd so gut geprüft sein würde. Verdammt, ich musste es von Grund auf neu schreiben, testen und installieren und eine Einheit mit neu hinzugefügter Software ausliefern, die noch nie zuvor darin war, und das alles in einer Woche. Aber ich wusste auch, dass die Verzögerung alle Chancen zunichte machte, die dieser Forscher hatte, um die gewünschten Ergebnisse zu erzielen. Ich wusste also sofort, dass der beste Ansatz darin bestand, die Verzögerungen herauszupressen und keinen „brillant“ implementierten magischen PID-Code zu erfinden, dem nur ein Genie folgen konnte. Es geht in erster Linie um die Verzögerungen und wie diese Verzögerungen variieren. Der Rest hat eine viel geringere Priorität.

Es gibt einige Dinge, die "Totzeitkompensatoren" genannt werden. Aber letztendlich müssen Sie alles tun, um Verzögerungen und Variabilität in diesen Verzögerungen herauszuziehen. Und dann, nachdem Sie dort alles getan haben, was Sie können, und wenn es immer noch ein Problem gibt, benötigen Sie wahrscheinlich ausgefeiltere Steuerungen, als eine PID zulässt. Hier würde ich vielleicht nach Fourier-Transformationen greifen (und eine inverse Transformation verwenden, um die Sprungantworten zu analysieren und eine Beschreibung der Systemantworten zu entwickeln). Sie können damit viel machen, was mit PID nicht zu erreichen ist. In der Tat fast wundersame Ergebnisse, wenn Sie die Antwortfunktion gut genug modellieren können.

Aber in Ihrem Fall würde ich mich darauf konzentrieren, Verzögerungen und ihre Variabilität herauszudrücken. Ich denke, Sie sollten, wenn möglich, auch die Verwendung einer vereinfachten Ein / Aus-Lampensteuerung vermeiden. Es wäre schön, wenn man die Lampenintensität steuern könnte. Aber ich weiß nicht, ob du das in Betracht ziehen kannst.

Vielen Dank, Jonk, das war eine ziemlich ausführliche (für mich) Erklärung. Die Verzögerung, über die ich gut gesprochen habe, kann ich leider nicht reduzieren, da ich glaube, dass der Ofen von Natur aus so hergestellt wird – ich habe einen Allzweckofen in einen Reflow-Ofen umgebaut, wie er im Internet häufig zu finden ist. Trotz der Verwendung von Quarzrohren ist der Temperaturanstieg jedoch nur halb so hoch wie erforderlich (nicht mehr als 1 ° C pro Sekunde statt 2-3). Was den Sensor betrifft, verwende ich ein Paar K-Thermoelemente und habe überprüft, dass es wenig bis gar keine Trägheit hat. Das einzige, was mir aufgefallen ist, ist, dass die Temperaturverzögerung abnimmt, wenn ich den Ofen vorheize, dh auf etwa 50 ° C.
Haben Sie versucht, die Verzögerung mit dem Smith Predictor Controller abzumildern?
@Chu Noch nicht, ich habe es erst hier erfahren :-D. Außerdem ist mein Backofen derzeit teilweise zerlegt und ich habe ihn nicht in der Hand.
Ich habe Ihre Antwort zuerst akzeptiert, weil sie so ausführlich und detailliert ist. Auch, weil ich offen dafür war, alles zu verwenden, was passt, auch wenn es keine PID implizierte. Ihre Antwort und die von Transistor haben mir genug Hinweise gegeben, was als nächstes zu tun ist. Es kann jedoch nur eine [akzeptierte Antwort] geben. Vielen Dank trotzdem an alle .

Dies beantwortet Ihre Frage nicht direkt, gibt Ihnen aber einige Werkzeuge, mit denen Sie spielen können, um Ihr Verständnis zu verbessern.

Bei Engineers-Excel gibt es einen einfachen Excel-Simulator, den Sie möglicherweise hilfreich finden.

Geben Sie hier die Bildbeschreibung ein

Abbildung 1. PID-Simulatormodell.

Der knifflige Teil besteht darin, Ihren Prozess – den Ofen – zu modellieren, um K – Prozessverstärkung, Ts – die Reaktionszeitkonstante und Ls – die Reaktionsverzögerung zu ermitteln. Ich schlage vor:

  • Schalten Sie Ihren Ofen beispielsweise bei 40 % Leistung ein ( P 1 ) und sehen, bei welcher Temperatur es sich stabilisiert. Wiederholen Sie dies beispielsweise mit 70 % Leistung ( P 2 ) und notieren Sie die Temperatur. Die Prozessverstärkung wird (für diesen Einstellbereich) angegeben als
    K = T 2 T 1 P 2 P 1
    und die Antwort wird die ziemlich ungerade Einheit Grad/% haben.
  • Zeichnen Sie die Temperaturreaktion über die Zeit, während Sie zwischen ihnen wechseln P 1 und P 2 . L S , die Verzögerungszeit, ist die Zeit zwischen dem Umschalten und dem Beginn des Temperaturanstiegs.
  • T S ist die Zeit (vom Beginn der Reaktion) bis die Temperatur 63 % (eine Zeitkonstante) des Weges von der erreicht T 1 zu T 2 .

Danach können Sie mit den PID-Parametern spielen, um zu sehen, ob Sie die gewünschte Antwort erhalten.

Ein paar wilde Vermutungen anstellen:

  • P 1 = 40 % und T 1 = 92 ° C .
  • P 1 = 70 % und T 2 = 176 ° C .
  • K = 176 92 70 40 = 2.8 ° C / % .
  • L s = 3 s .
  • Es dauert also 50 s, um 63 % des Weges von 92 °C auf 176 °C zurückzulegen T S = 50 s .

Geben Sie hier die Bildbeschreibung ein

Abbildung 2. Ausgabe des Excel-PID-Simulators.

Sie kommen im Allgemeinen mit einem Null-D-Term davon, wenn Ihr Prozess wahrscheinlich keine Störungen wie eine plötzliche Änderung des Sollwerts oder eine plötzliche Änderung der thermischen Belastung erfährt. Das vereinfacht die Dinge bis hin zu einem PI-Regelungsaufbau.

Zum Heizen können Sie eine proportionale Leistung erhalten, indem Sie die Leistung im Verhältnis zur thermischen Ansprechzeit ausreichend schnell vollständig ein- und ausschalten.Geben Sie hier die Bildbeschreibung ein

Abbildung 3. Variabler Arbeitszyklus für die AC-Steuerung einer Heizung.

Danke für die verständlichen technischen Informationen. Nur eine Randnotiz: Da ich Relais verwende, die meiner Meinung nach billiger sind als SSRs (Quelle: Digi-Key), kann ich die Heizungen nur entweder vollständig ein- oder ausschalten, es ist keine Einstellung zwischen 0% und 100% möglich. Ich kann auch keinen Nulldurchgang verwenden, um die Heizungen auszuschalten, aber ich denke, das ist am wenigsten wichtig. Trotzdem vielen Dank für deine Einblicke.
Meine Abbildung 3 zeigt die Ein-Aus-Steuerung und das ist, was Sie tun werden, und es ist in Ordnung. Sie werden überall zwischen 0 und 100 % mitteln, wo immer Sie möchten . Effektiv ist es eine langsame Pulsweitenmodulation (PWM) mit Wechselstrom. Sie müssen die Zykluszeit mit der Relaislebensdauer angemessen kurz halten. Zero-Crossing ist insofern schön, als es elektrisches Rauschen reduziert. Wenn es kein Problem ist, dann ist es kein Problem!

In PID gibt es 3 Teile: Proportional, Integral und Differential.

Proportional ist die einfachste Steuerung. Es verstärkt den Fehler zwischen Soll- und Ist-Signal. ZB wenn Solltemperatur 100°C ist, ist Isttemperatur 80°C, dann Ausgang = 20 * Kp. Wie viel Leistung abgegeben wird, wird von Kp abgestimmt.

Wenn Sie Kp zu niedrig einstellen, wird nicht ausreichend geheizt und es wird möglicherweise nie die gewünschte Temperatur erreicht.

Wenn Sie Kp zu hoch einstellen, kann es zu schnell ansteigen. Trägheit kann zu Überschwingen und Klingeln führen. Das liegt daran, dass es eine Verzögerung zwischen der Abgabe einer bestimmten Ausgangsleistung und der Messung ihrer Wirkung gibt.

Der integrale Teil ist notwendig, wenn Sie niedrige statische Offsets wünschen. Beachten Sie, dass ein P-Regler, um einen Ausgang zu geben, einen Fehler aufweisen muss, um einen Ausgangswert zu erzeugen. Wenn Sie möchten, dass der Fehler sehr nahe bei Null liegt, müssen Sie den I-Anteil von P übernehmen. Dies kann jedoch einige Zeit dauern.

Der abgeleitete Teil ist wahrscheinlich am interessantesten für Ihr Trägheitsproblem. Die Ableitung betrachtet die Änderungsrate des Fehlers. Wenn der Fehler eine große Änderungsrate aufweist, bedeutet dies, dass eine hohe Trägheit vorhanden ist. Mit einem abgestimmten Faktor Kd können Sie dafür sorgen, dass der Ausgang rechtzeitig zurück gedrosselt wird. Dadurch verlangsamt sich die Trägheit, bevor sie den endgültigen Ausgangswert erreicht.

Auf diese Weise können Sie einen hohen (höheren) P-Faktor für eine angemessen aggressive Reaktion verwenden, während Sie D verwenden, um ein Überschwingen zu verhindern. Der I-Teil wird verwendet, damit der statische Fehler schließlich auf 0 sinkt.

Tatsächlich ist es langfristig der P-Anteil, der auf Null abfällt, da der I-Anteil genau auf den Sollwert integriert wird, wodurch die Ausgangsdifferenz auf Null bleibt, und P mal Null gleich Null ist.