Bitte erläutern Sie in Laienbegriffen, wie eine PID die Trägheit bei der Temperaturregelung berücksichtigt

9

Ich baue meinen eigenen mikroprozessorgesteuerten Reflow-Ofen für Bastler. Ich benutze (mechanische) Relais, um die Heizungen (dh Quarzrohre) ein- oder auszuschalten. Ich habe festgestellt, dass die Erwärmung einige Sekunden nach dem Temperaturanstieg nachlässt.

Im Moment verwalte ich das Temperaturprofil manuell mit Hilfe eines Arduino, der die Heizungen nur ausschaltet, wenn die eingestellte Temperatur erreicht ist. Wenn ich zum Beispiel die Temperatur auf beispielsweise 120 ° Celsius einstelle und die Heizungen anhalten, steigt die Temperatur immer noch um 10 bis 20 Grad, so dass es zu einem gewissen Überschwingen kommt, dann zu einem gewissen 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 einfach die Heizungen anhalten, etwa 10 bis 20 Grad unter dem eingestellten Wert, und sie kurz danach 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 kenne die exponentielle Natur des Temperaturanstiegs mit einem festen Sollwert.

Kann also jemand in Laienbegriffen erklären, wie eine PID die Trägheit erklärt, z. B. welche Rolle der integrale Teil und was der abgeleitete Teil in einfachen Worten spielen, und wie / ob ich eine Schätzung der Ableitung und des Integrals ziemlich intuitiv herausfinden kann Mengen ohne auf komplexe Berechnungen zurückzugreifen.

TonyM
quelle
Die Herausforderung sind die Verzögerungen, wie Sie gesehen haben. Daher liegt der Schlüssel zur Kontrolle in der Untersuchung der Anstiegsraten und der Ableitung von Anstiegsraten
analogsystemsrf
@analogsystemsrf Ich glaube, ich habe es tatsächlich. Wie Sie lesen können, habe ich nur einige Schwierigkeiten, die Verbindung zwischen diesem (Theorie) und diesem (Praxis) herzustellen . Kurzum: Was ist der Teil, der die Verzögerung kompensiert und wie ?
1
Verzögerungen sind schrecklich zu bewältigen. Möglicherweise durch einen Sensor verursacht, der zu weit vom Heizgerät 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. Durch Verringern der Verzögerungen werden PID-Regelungsfaktoren erzielt, die zu kleineren Fehlern führen.
glen_geek
Sie können eine PID nicht wirklich implementieren, wenn Sie nur die Heizung mit einem Relais ein- und ausschalten.
Mkeith
2
Ich benutze industrielle Temperaturregler für die Arbeit. Diejenigen mit Relaisausgang begrenzen die Zykluszeit im Allgemeinen auf mindestens 5 s. Diejenigen mit einem Festkörper-Gleichstromausgang zum Ansteuern eines SSR haben diese Einschränkung nicht. Wenn Sie an eine Anwendung mit einer langen Zeitkonstante denken - beispielsweise einen Glasofen oder eine Tonne Schokolade -, können Sie sich vorstellen, dass ein Arbeitszyklus von 30 Sekunden ausreicht, um sie gut zu steuern.
Transistor

Antworten:

12

Δt

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

ut=K[et+1Ti0teτdτ+Tddetdt]

KTiTd

  1. ut=Ket+ubub
  2. Proportional + Integralsteuerung : Die Hauptfunktion der Integralwirkung besteht darin, sicherzustellen, dass die Prozessleistung im eingeschwungenen Zustand mit dem Sollwert übereinstimmt. Bei integraler Aktion führt ein kleiner positiver Fehler immer zu einem zunehmenden Steuersignal und ein kleiner negativer Fehler führt immer zu einem abnehmenden Steuersignal. Dies gilt unabhängig davon, wie klein der Fehler ist.
  3. PID-Regelung : Durch Hinzufügen einer Ableitungsregelung wird die Stabilität des geschlossenen Regelkreises verbessert . (Es wird einige Zeit dauern, bis eine Änderung der Steuerung in der Prozessausgabe bemerkt wird. Das Steuerungssystem wird sich also verspäten und diesen Fehler korrigieren. Das Ergebnis des abgeleiteten Terms ist, dass es sich um eine Art Vorhersage handelt, die durch Extrapolation derSteuerung erfolgtFehler unter Verwendung einer Tangente an die Fehlerkurve, die verwendet wird, um die verzögerten Ergebnissezu antizipieren .

Die obige Beschreibung, die zu Ihrer eigenen Beschreibung Ihres Verzögerungsproblems hinzugefügt wurde, würde darauf hinweisen, dass ein abgeleiteter Begriff Ihnen helfen würde. Aber wie immer ist nichts unbedingt so einfach.

Eine Proportional-Integral-Steuerung 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 Kontrolle erfordert, auch wenn er nicht von 1. Ordnung ist.

Die PID-Regelung ist ausreichend für Prozesse, bei denen die dominante Dynamik 2. Ordnung ist. Hier ist häufig eine Temperaturregelung der Fall. Dies spricht vielleicht erneut dafür, dass in Ihrer Situation eine Ableitungskontrolle hinzugefügt wird.

Jedoch. All dies sollte erst berücksichtigt werden, nachdem Sie alles 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ögerungsschwankungen bei der Durchführung von Messungen und der Durchführung der Prozesssteuerung.

Ich möchte auf diesen letzten Punkt etwas näher eingehen. Stellen Sie sich 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 jedes Mal schnell und einfach tun. Aber wenn die Bambusstange lang und das Vogelhaus weit von Ihnen entfernt ist, ist es sehr, sehr schwer zu tun. Die Stange wandert weiter herum und macht Ihre Vorhersage und Kontrolle sehr schwierig.

(Wenn es noch nicht klar ist, entspricht die Länge der Bambusstange der Schleifenverzögerungszeit.)

Verzögerung ist also wahrscheinlich der schlimmste Albtraum von Steuerungssystemen. 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 jetzt die gleiche Situation vor. Aber jetzt ändert sich auch die Länge der Bambusstange. Manchmal ist es kürzer, manchmal länger und es variiert ständig, ohne dass Sie dies vorhersagen müssen. Sie müssen jetzt Ihre Haltung ständig ändern und wissen nie, wann sich die Verzögerung ändern wird. 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 steuert.

Während also die Verzögerung für ein PID-Regelsystem schlimm genug ist. Die variable Verzögerung ist noch schlimmer. Sie müssen also genau auf Ihr Software-Design achten - sehr genau -, damit Sie keine IF-Anweisungen und keinen bedingten Berechnungscode oder keine schlampige Verwendung von Timern usw. haben, was zu erheblichen Abweichungen in der Software führen kann Verzögerung zwischen Abtast- und Steuerausgang.

Sie müssen das oben Genannte in das Management einbringen, bevor Sie sich dann Gedanken darüber machen, ob Sie eine derivative Kontrolle benötigen oder nicht. Das wichtigste zuerst. Räumen Sie Ihre Handlung auf. 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 äußerst genauen Pyrometersystem (auch für Kunden sehr teuer). Ich erhielt einen Anruf von einem kanadischen Forscher, der mit unserem Pyrometer arbeitete, aber einen separaten PID-Regler von einem sehr großen Handelsunternehmen (dem größten in) verwendete die Welt tat diese Dinge.) Der Forscher kämpfte mit Wellen an der Seite einer Kugel Galliumarsenid, die er aus einer Schmelze zog. Und wollte meine Hilfe bei der Ermittlung der richtigen PID-Regelgrößen. (Beim Boule-Ziehen möchten Sie sehr gleichmäßige Durchmesser.)

Der Controller, den er benutzte, war in jeder Hinsicht recht gut. Aber es wurden Verzögerungen hinzugefügt - 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 der Software in unserem Pyrometer eine PID-Regelung hinzufügen würde und dass er einfach den externen Regler aus dem von ihm verwendeten System ziehen sollte. Ich habe diese Software in weniger als einer Woche hinzugefügt und ihm das modifizierte Pyro-System geliefert. Ich habe mit der PID-Software nichts Besonderes gemacht. Ich habe jedoch meine Variabilität von ADC zu DAC auf weniger als ein paar Mikrosekunden gehalten und die Gesamtverzögerung ebenfalls auf etwa 100 Mikrosekunden erhöht. Das habe ich ihm geschickt.

Ich habe am Montag der nächsten Woche einen Anruf erhalten. Die Kugeln zogen sich fast perfekt heraus, ohne Wellen.

Es war so einfach wie nur die Verzögerungen zu verringern und auch die Variabilität dieser Verzögerungen zu verringern. Überhaupt nichts Besonderes an der PID-Regelung. Es war eine einfache Vanille-Implementierung, die jeder zum ersten Mal produzieren würde, wenn er etwas darüber lernte.

Dies zeigt, wie wichtig es ist, Verzögerung und Verzögerungsvariabilität herauszudrücken. Sicher, die Ableitungskontrolle kann eine Art "Sekanten- / Tangens" -Idee der Vorhersage liefern. Aber nichts ersetzt es, die Verzögerungen zu verringern und die Variabilität auf ein absolutes Minimum zu beschränken.

Denken Sie einfach weiter an die Bambusstange und das Lochproblem im Vogelhaus.


Fazit?

Die Steuerung von Systemen mit einer dominanten Zeitverzögerung ist bekanntermaßen schwierig. Ich habe einige Gründe vorgeschlagen, die Sie vielleichtglauben, dass ein abgeleiteter Begriff bei Zeitverzögerungen helfen wird. Es besteht jedoch allgemeine Übereinstimmung darüber, dass abgeleitete Maßnahmen bei Prozessen mit dominanten Zeitverzögerungen nicht viel helfen. Aus diesem Grund hatte ich sofort vorgeschlagen, diesem Forscher zu helfen, indem ich alle Verzögerungen beseitigte, die ich leicht beseitigen konnte (wie zum Beispiel eine externe PID-Box). Ich stellte mir nicht vor, dass meine Implementierung besser war als das kommerzielle Produkt. Ich wusste, dass meine Implementierung nicht annähernd so gut überprüft werden würde. Cripes, ich musste es von Grund auf neu schreiben, testen und installieren und ein Gerät mit neu hinzugefügter Software ausliefern, die es noch nie zuvor gegeben hatte, und das alles in einer Woche erledigen. Aber ich wusste auch, dass die Verzögerung alle Chancen tötete, die dieser Forscher hatte, um die gewünschten Ergebnisse zu erzielen. Ich wusste also sofort, dass der beste Ansatz darin bestand, die Verzögerungen zu beseitigen 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 niedrigere Priorität.

Es gibt einige Dinge, die als "Totzeitkompensatoren" bezeichnet werden. Letztendlich müssen Sie jedoch alles tun, um Verzögerungen zu beseitigen und die Variabilität dieser Verzögerungen zu verringern. Und dann, nachdem Sie alles getan haben, was Sie können, benötigen Sie wahrscheinlich immer noch komplexere Steuerungen, als es eine PID zulässt, wenn es immer noch ein Problem gibt. 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). Mit diesen können Sie viel anfangen, was mit PID nicht berührt werden kann. 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 deren Variabilität herauszufiltern. Ich denke, Sie sollten nach Möglichkeit auch die Verwendung einer vereinfachten Ein- / Ausschaltlampensteuerung vermeiden. Es wäre schön, wenn Sie die Lampenintensität steuern könnten. Aber ich weiß nicht, ob Sie das in Betracht ziehen können.

Jonk
quelle
1
Vielen Dank, Jonk, das war eine (für mich) ziemlich ausführliche 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 umgewandelt, wie er im Internet üblich ist. Trotz der Verwendung von Quarzrohren beträgt der Temperaturanstieg die Hälfte der erforderlichen Geschwindigkeit (nicht mehr als 1 ° C pro Sekunde anstelle von 2-3). Für den Sensor verwende ich ein Paar K-Thermoelemente und habe überprüft, ob er wenig bis gar keine Trägheit aufweist. Das einzige, was mir aufgefallen ist, ist, dass die Temperaturverzögerung abnimmt, wenn ich den Ofen vorheize, dh um die 50 ° C.
Haben Sie versucht, mit dem Smith Predictor Controller die Verzögerung zu verringern?
Chu
@Chu Noch nicht, ich habe es nur hier erfahren :-D. Außerdem ist mein Ofen derzeit teilweise zerlegt und ich habe keine Hände darauf.
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 gaben mir genügend Hinweise, was als nächstes zu tun ist. Es kann jedoch nur eine [akzeptierte Antwort] geben. Trotzdem vielen Dank an alle .
4

Dies beantwortet Ihre Frage nicht direkt, bietet Ihnen jedoch einige Tools, 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 schwierige Teil besteht darin, Ihren Prozess - den Ofen - zu modellieren, um die K - Prozessverstärkung, Ts - die Reaktionszeitkonstante und Ls - die Reaktionsverzögerung zu ermitteln. Ich schlage vor:

  • P1P2
    K=T2T1P2P1
  • P1P2LS
  • TST1T2

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

Einige wilde Vermutungen anstellen:

  • und T 1 = 92 ° C .P1=40%T1=92°C
  • P1=70%T2=176°C
  • K=176927040=2.8°C/%
  • Ls=3s
  • TS=50s

Geben Sie hier die Bildbeschreibung ein

Abbildung 2. Ausgabe des Excel PID-Simulators.

Sie kommen im Allgemeinen mit einem Null-D-Term davon, wenn bei Ihrem Prozess keine Störungen wie plötzliche Änderungen des Sollwerts oder plötzliche Änderungen der thermischen Belastung auftreten können. Das vereinfacht die Einrichtung bis hin zur Einrichtung einer PI-Steuerung.

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

Abbildung 3. Variabler Arbeitszyklus für die Wechselstromregelung eines Heizgeräts.

Transistor
quelle
Vielen Dank für die verständlichen technischen Informationen. Nur eine Randnotiz: Da ich Relais verwende, von denen ich herausgefunden habe, dass sie billiger als SSRs sind (Quelle: Digi-Key), kann ich die Heizungen nur vollständig ein- oder ausschalten. Eine Einstellung zwischen 0% und 100% ist nicht möglich. Ich kann auch keinen Nulldurchgang verwenden, um die Heizungen auszuschalten, aber ich denke, das ist von geringster Bedeutung. Trotzdem vielen Dank für Ihre Erkenntnisse.
2
Meine Abbildung 3 zeigt die Ein-Aus-Steuerung und es ist das, was Sie tun werden und es ist in Ordnung. Sie werden überall zwischen 0 und 100% einen Durchschnitt bilden . Tatsächlich handelt es sich um eine langsame Pulsweitenmodulation (PWM) mit Wechselstrom. Sie werden die Zykluszeit mit der Relaislebensdauer relativ kurz halten. Nulldurchgang ist insofern schön, als er elektrische Störungen reduziert. Wenn es kein Problem ist, dann ist es kein Problem!
Transistor
2

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

Proportional ist der einfachste Controller. Es verstärkt den Fehler zwischen gewünschtem und tatsächlichem Signal. Wenn beispielsweise die gewünschte Temperatur 100 ° C beträgt, die tatsächliche Temperatur 80 ° C beträgt, ist der Ausgang = 20 * Kp. Wie viel Ausgabe gegeben wird, wird durch Kp eingestellt.

Wenn Sie Kp zu niedrig einstellen, ist die Heizung nicht ausreichend und die gewünschte Temperatur wird möglicherweise nie 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 Angabe einer bestimmten Ausgangsleistung und der Messung ihrer Wirkung gibt.

Der integrale Teil ist erforderlich, wenn Sie niedrige statische Offsets wünschen. Beachten Sie, dass ein P-Regler, um eine Ausgabe zu liefern, einen Fehler aufweisen muss, um einen Ausgabewert zu generieren. Wenn der Fehler sehr nahe bei Null liegen soll, muss der I-Teil von P übernommen werden. 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 sich der Fehler stark ändert, bedeutet dies, dass eine hohe Trägheit vorliegt. Mit einem eingestellten Faktor Kd können Sie sicherstellen, dass der Ausgang in der Zeit zurückdrosselt. Dies ist so, dass die Trägheit langsamer wird, bevor sie den endgültigen Ausgangswert erreicht.

Dies ermöglicht es Ihnen, einen hohen (er) P-Faktor für eine ausreichend aggressive Reaktion zu verwenden, während Sie D verwenden, um ein Überschwingen zu verhindern. Der I-Teil wird verwendet, um einen statischen Fehler zu machen, der sich schließlich auf 0 setzt.

Hans
quelle
Tatsächlich ist es auf lange Sicht der P-Term, der auf Null abfällt, da der I-Term genau auf den Sollwert integriert wird und die Ausgangsdifferenz bei Null bleibt und P mal Null Null ist.
WhatRoughBeast