Forum: Analoge Elektronik und Schaltungstechnik Temperaturregelung PID auf Zweipunktregler


von Tobias (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich hab eine regelungstechnische Frage. Ich hatte zwar Regelungstechnik 
in der Vorlesung aber die Praxis ist dann doch nochmal was anderes, vor 
allem wenn man es so lange nicht braucht :-)
Ich programmiere übrigens in LabView.

Mein Problem ist folgendes:
Ich möchte einen Aufbau (Metallisch, erhitzt durch einen Strom) auf eine 
variable Temperatur regeln. Die Temperatur wird über einen Strom von 
einem Ringkerntrafo eingestellt. Der Ringkerntrafo wird über 2 Schütze 
(Links- und Rechtslauf, bei ca. 15-800 A bis auf ca. 10 A genau) 
angesteuert.

Die Stromregelung ist ja nichts anderes als ein Zweipunktregler wenn ich 
mich nicht irre. Ich kann ihn hoch- und runterfahren und mit Hilfe einer 
großzügigen Hysterese auf einen Wert regeln. Das regeln auf einen 
Stromwert bekomme ich problemlos hin.

Nun ist die Frage, wie komme ich an meinen Soll-Strom für meine 
Soll-Temperatur mit anständigem Führungsverhalten mit recht guter 
Ausregelzeit? Dafür hatte ich mir überlegt, einen PID-Regler davor zu 
schalten, der mir meinen Soll-Strom ausgibt? Sprich am Anfang wird der 
Strom sehr hoch sein und später natürlich recht klein um den 
Temperatursprung von 20°C Raumtemperatur auf ca. 120°C zu bewältigen.
Kann ich hierbei den Soll-Strom begrenzen? Macht das Probleme? Der PID 
Regler wird mir anfangs vermutlich einen Strom ausgeben, der über dem 
maximal Zulässigem Strom für die Anlage liegt. Sprich wenn der Sollstrom 
>500A ist, dann I_soll=500A. Geht sowas? Mir ist bewusst, dass die 
Anlage dann länger zum Ausregeln braucht.

Ich habe dafür meine "Sprungantwort" aufgenommen, sofern dies möglich 
ist, da der Ringkerntrago Stromlos geschaltet wird und dann mit 5-6 s 
Verzögerung auf seinen Sollstrom kommt. Da meine Anlage sehr träge ist, 
komme ich auf eine Zeit bis zur Ausregelung von ca. 30 min. Diese Kurve 
habe ich genommen und mal beide gängigen Verfahren (Ziegler und CHR) 
angewandt.

Ist meine Regelung halbwegs praktikabel oder totaler Murks?
Könnte jemand, der sich etwas besser mit der Regelungstechnik auskennt, 
mal einen Senf dazugeben? Das wäre Super :)

von Uwe B. (uwe_beis)


Lesenswert?

Abgesehen davon, dass du mit dem Zweipunktregler dafür sorgst, dass der 
Stellmotor ständig läuft, sollte es prinzipiell gehen. Du wirst einen 
Dreipunktregler brauchen. Und die Zeitkonstanten müssen stimmen, damit 
das System nicht schwingt. Die Dimensionierung des PID bestimmt, wie 
dein Einschwing- und Regelverhalten ist.

Wenn der PID-Regler mehr Sollwert ausgibt als der Trafo macht, ist das 
System halt am Anschlag, entweder von Natur aus oder du musst es 
künstlich begrenzen.

Simulieren ist sinnvoll. Wenn du aber Nichtlinearitäten im System hast, 
wird es aufwändig. Sowohl sie zu bestimmen, als auch sie korrekt zu 
simulieren.

von Joachim B. (jar)


Angehängte Dateien:

Lesenswert?

Uwe Beis schrieb:
> Abgesehen davon, dass du mit dem Zweipunktregler dafür sorgst, dass der
> Stellmotor ständig läuft

kann man durch Hysterese verhindern.

Ein Glück das in meiner Dipl.Arbeit Thyrotakte zum Einsatz kamen, so 
konnte ich den PID Teil rauswerfen und trotzdem arbeitete der 
2-Punktregler in engen Grenzen. Duch fette Zeitkonstanten des Ofens 40kW 
schaltete der auch nicht so oft.

von Uwe B. (uwe_beis)


Lesenswert?

Joachim B. schrieb:
> kann man durch Hysterese verhindern.

Genau dann ist es ein 3-Punktregler. Hauptsache es gibt einen 
Aus-Zustand. https://de.wikipedia.org/wiki/Dreipunktregler

Die Fotos deuten an, dass wir ungefähr gleichzeitig Diplom gemacht 
haben...

: Bearbeitet durch User
von Tobias (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
danke für eure Antworten.
Also der Motor schwingt nicht, da man pro Lamelle des Ringkerntrafo ca. 
5A ändert. Durch eine Hysterese von ca. 8A schwingt zum Glück nichts. Da 
durch den Strom ja eine Temperatur erreicht werden soll, geht's hier 
auch nicht um 1 A :-)

Ich habe das System soweit am laufen. Das einzige wo ich mir unsicher 
bin, sind die Regelparameter.
Die Verfahren, die man in der Uni kennengelernt hat, kann man nicht 
anwenden oder ich bin mittlerweile einfach nur zu dumm :D

Bisher habe ich folgendes gemacht:
Bei einer PT1 Strecke entspricht der Zeitwert, bei dem die Sprungantwort 
63% erreicht hat, dem T_1.
Zum K_p:
Ich bin dabei recht unsicher wegen dem Strom/Temperatur-gewirr- aber 
alles andere ist unlogisch: Ich habe einen Sollstrom von 400A drauf 
gegeben, diese erreich ich nach 4-5s (wenn der Motor dort angekommen 
ist). Da nun Sollstrom=Iststrom ist, müsste das K_p=1 sein? Dass ich mit 
einem Strom von 400 A eine Temperatur von ca. 155°C erreicht, ist doch 
unwesentlich?
Oder habe ich die falsche Sprungantwort aufgenommen?

Denn meine Parameter, K_p=1 und T_1=(ungefähr)13 min, sorgen für einen 
sehr trägen Regler der nach ca. 30/40min ausregelt.

Vielleicht liegt aber das Problem auch an LabView und der nicht 
gemachten Umrechnung. Ich bin ja mit K_p und T_1 von einer Regelung mit 
einem PI ausgegangen. Kann ich einen PID dafür nehmen und eifnach den 
D-Anteil 0 setzten? Oder muss ich da was hin und her rechnen? Ich kann 
mich leise an etwas erinnern, dass man irgendwo sowas machen musste...!?

Hat jemand eine Idee? Ich habe mal meine Sprungantwort angehangen.

Vielen Dank, Tobias

von Joachim B. (jar)


Lesenswert?

Tobias schrieb:
> Metallisch, erhitzt durch einen Strom
Tobias schrieb:
> Durch eine Hysterese von ca. 8A schwingt zum Glück nichts.

dein Bild (mir fehlt irgendwie die Beschriftung der X-Achse) und so ein 
Metall....??? sieht ja ähnlich träge aus wie "mein" Ofen, allerdings ist 
dein Stellmotor ne Ecke lahmer.

Tobias schrieb:
> Kann ich einen PID dafür nehmen und eifnach den
> D-Anteil 0 setzten?

den D Anteil? wenn dein Antrieb lahm ist und die Metallzeitkonstanten 
groß würde ich am D-Teil eher optimieren als zu 0 machen.

Den I Teil kannst du im Prinzip vergessen, der diente doch nur 
Schwingneigung zu bedämpfen.

Wobei es fraglich bleibt ohne Zeitwerte ob du mit D was reissen kannst.

von Tobias (Gast)


Lesenswert?

Sorry,
Auf der Abzisse ist die Zeit aufgetragen.
Auf der Ordinate ist die Temperatur eines 150 mm^2 Aluleiters.

Regeln soll der PID einen Strom, siehe mein Bockschaltbild im Startpost.
Die Sprungantwort des Stromes ist für mich nichts-Aussagend. Der ist 
sofort da, 5-6 Sekunden braucht der Motor zum Vollausschlag und dann 
macht der seine 600/700 A. Und wenn der Strom sofort (bei meiner 
Aufzeichnung 400A) anliegt, dann bekomm ich eine so träge Kurve.
Die Kurve verläuft natürlich steiler, wenn ich mehr Strom drauf gebe.

Aber das Verhalten ist doch das eines PT1? Und einen PT1 regelt man doch 
mit einem PI??
Wichtig ist, dass die Regelung stationär genau ist. Erreiche ich das mit 
einem PD?

Gruß Tobias

von Joachim B. (jar)


Lesenswert?

Tobias schrieb:
> Sorry,
> Auf der Abzisse ist die Zeit aufgetragen.

ach was, echt? hätte ich kaum raten können, nur welche Maßeinheit 
verschweigst du immer noch, as (atto sekunden), kJahre?

meinst nicht das das eine Rolle spielt? aber du bist bestimmt noch nicht 
so alt das du die Sprungantwort in kJahre kennst :-)

Tobias schrieb:
> Die Sprungantwort des Stromes

wen interssiert die?

dich interessiert die Sprungantwort der Temperatur dachte ich

Tobias schrieb:
> variable Temperatur regeln

: Bearbeitet durch User
von Claus M. (energy)


Lesenswert?

Joachim B. schrieb:
> den D Anteil? wenn dein Antrieb lahm ist und die Metallzeitkonstanten
> groß würde ich am D-Teil eher optimieren als zu 0 machen.
>
> Den I Teil kannst du im Prinzip vergessen, der diente doch nur
> Schwingneigung zu bedämpfen.

Unsinn Unsinn Unsinn

D-Anteil zu 0 setzen ist schonmal ne gute Idee. Zusätzlich den Ausgang 
vom Regler und den Integrator vom I-Anteil begrenzen auf den maximal 
zulässigen Strom.

von Joachim B. (jar)


Lesenswert?

Claus M. schrieb:
>> Den I Teil kannst du im Prinzip vergessen, der diente doch nur
>> Schwingneigung zu bedämpfen.
>
> Unsinn Unsinn Unsinn

geil, man möge mir verzeihen, habe seit 31 Jahren nix mehr damit zu tun.
Statt deiner 3x Unsinn eine kurze Erklärung wäre nett gewesen, aber egal 
ich lese mich noch mal ein.

http://www.physik.uni-augsburg.de/~sausemar/FP14/FP14.pdf

Also der I-Anteil wird ihm beim stufigen Stelltrafo kaum helfen, eine 
Regelabweichung bleibt über die Stufen.

: Bearbeitet durch User
von Tobias (Gast)


Lesenswert?

Die Zeit ist in Sekunden. Aber die sollte nicht stören. Ob man in 
Sekunden oder Minuten oder Stunden rechnet. Das sollte egal sein. Die 
Größe beim Rechnen ergibt auch so die Größe beim Ergebnis...


Ja, mich interessiert die Sprungantwort der Temperatur, nur dadurch, 
dass meine Reglerauslegung nicht wie gewünscht funktioniert, bin ich 
ganz schön verwirrt.
Wenn ich meine Werte in Boris Winfact simuliere, dann regelt er gut und 
schnell aus wie gewünscht. Aber in der Realität, sieht das leider ganz 
anders aus.

Da ich das Programm auf einem nicht Internetfähigem Rechner habe, und 
mir das hin und her mit dem USB Stick auf die nerven geht, hab ich mal 
eine Skizze angehangen. Der Vergleich zwischen realem Verlauf von Strom 
und Temperatur sowie dem theoretisch erwünschten bzw. mit Boris 
simulierten Verlauf in pink und hellgrün.

Der Ausgang ist begrenzt auf meinen Maximal zulässigen Strom, 
funktioniert auch super. Und die Regelabweichung durch meinen 
Ringkerntrafo macht gar keine Probleme. 1. Schwingt er nicht und 2. wäre 
ein Schwingen bei einem so trägen Aufbau nicht spürbar. Weiterhin ist 
die Regelabweichung von maximal 5A bei einer Größenordnung von 500 A 
auch nicht spürbar.


Theoretisch sollte ja der Strom sofort gegen seinen Maximalwert gehen, 
um am Anfang möglichst schnell aufzuheizen. Mit zunehmender Temperatur 
sollte er dann langsam Abflachen und gegen seinen Endwert streben, genau 
wie die Temperatur.
So die Theorie und das Ergebnis in Boris (pink und hellgrün).

Bei der realen Anlage ist es jedoch leider nicht so. Der Regler regelt 
sehr sehr langsam hoch, viel langsamer als er könnte. Er regelt nach ca. 
2min auf seinen Maximalen Wert, schonmal 2 Minuten, die man einsparen 
könnte. (Das hat nichts! mit der Stromregelung und den Stufen zu tun! 
Ich lasse mir den Sollstrom anzeigen und dieser geht einfach sehr 
langsam hoch.. Wenn der Regler am Anfang direkt einen Sollstrom von 500 
A vorgeben würde, dann wäre der Stelltrafo innerhalb von 5/6 Sekunden 
dort und würde den Strom liefern)

Nachdem er dann auf seinem Maximum ist, geht der Strom, für mein 
Verständnis viel zu früh auf seinen Endwert. Ca. nach 10 min bleibt er 
auf einem Wert +-5 A, obwohl die Temperatur erst bei 80°C von 
gewünschten 120 °C ist. Mit dem Strom den er hat, erreicht er die 120 °C 
zwar, nur ist die Zeit sehr hoch. Würde er nicht nach 10 min, sondern 
langsamer (vllt 15/20min) lansam runter gehen, dann wäre die Regelung 
schneller.

Wäre jemand so gut und würde meine Reglerparameter überprüfen?
Anhand meiner Sprungantwort habe ich ja, wie bereits geschrieben, ein 
K_p von 1 und T_1 von 12/13 Minuten.
Wenn ich nun an dem PID den D-Anteil auf 0 setze, hab ich ja einen 
PI-Regler? Und ein PI-Regler braucht nur K und T.

Habe grade nochmal neu mit einem anderen Ansatz gerechnet, der aber auch 
falsch ist.

Offener Regelkreis: 1=Regler*Strecke
1=Kpi*(Tn*s+1)/(Tn*s)*Kp/(T1*s+1)

Tn=T1 -> Kürzen, es bleibt 1=kp*kpi/Tn*s
kp=1
Tn=T1= ca. 13min
1=1*kpi/(13min*s)
nach Laplace ist 1/s=1. Bleibt das Problem mit der Einheit.. K muss 
Einheitenlos sein.
Irgendwas ist total Falsch. Jeder der ein wenig Ahnung von der 
Regelungstechnik hat, lacht mich wahrscheinlich aus. Symmetrisches 
Optimum, Ziegler, Zeit-Prozent und den ganzen Kram bekomm ich sogar noch 
hin aber irgendwie steckt hier der Wurm drin...

von Tobias (Gast)


Angehängte Dateien:

Lesenswert?

oh Bild vergessen

von Medium-Regler-Erfahrung (Gast)


Lesenswert?

Einige Ansätze:

a.) Das Zeitverhalten der Stromregelung (I-soll, I-ist) ist in Relation 
zum Gesamtsystem relativ uninteressant, da deutlich schneller. Wenn Du 
da etwas funktionierendes hast, wunderbar, lass es so.

b.) Heizen tut nicht der Strom, sondern die Leistung. Und die ist 
quadratisch vom Strom abhängig: P = R * I²
Ein PID-Regler ist aber für lineare Systeme gedacht, und nicht für 
quadratische. So lange Du Reglerparameter für einen Arbeitspunkt 
optimierst, kann man die Strecke in diesem Arbeitspunkt als linear 
betrachten. Du willst aber verschiedene Arbeitspunkte anfahren. Daher 
solltest Du die Strecke (halbwegs) linearisieren. D.h. der PID-Regler 
hat als Ausgang eine Soll-Leistung als Stellwert. Daraus errechnest Du 
den Soll-Strom: I = Wurzel(P)

c.) Die Sprungantwort bei 100% Heizleistung ist alles nur kein PT1. Auch 
hier hast Du große Nichtlinearitäten. Mach mal ein Sprungantwort bei 50% 
Heizleistung (=71% Strom) und bei 25% Heizleistung (=50% Strom).
Aus diesen Sprungantworten berechnest Du nach einem Verfahren Deiner 
Wahl die Initial-Reglerparameter.

d.) Du musst Dir vorher im klaren sein, was Du willst: Schnelles 
anfahren der Solltemperatur oder präzises halten der Solltemperatur, 
oder beides. Wie immer im Leben: Je mehr man will, desto größer der 
Aufwand:
Z.b. ein Parametersatz um möglichst schnell in die Nähe des Sollwertes 
zu kommen, und einem um möglichst genau zu halten. Mit einer 
Hysteresefunktion (Fenster) zwischen den beiden Sätzen umschalten.
Auch wichtig: Wieviel Überschwinger kannst Du erlauben? Man kann so ein 
Regler beliebig "schlau" machen, aber ein einfacher PID-Regler hat seine 
Grenzen.


Es muss grundsätzlich geklärt sein, was "möglichst gut" für die 
Regelungsaufgabe bedeutet. Die Rahmenbedingung müssen abgesteckt sein. 
Nur dann ist eine Optimierung überhaupt machbar. Wenn das nicht geklärt 
ist, ist eine Diskussion über eine 2-Minuten-Einsparung bei einer 
knappen Stunde müßig.

von Tobias (Gast)


Lesenswert?

Hallo,
wow, Danke für diese Antwort.
a) Genau das war mein Plan :-)

b) Ich werde es mal versuchen, mal gucken was passiert. Danke für den 
Hinweis, mit dem quadratischen Verhalten. Als nicht-regelungstechniker, 
habe ich da gar nicht dran gedacht. Für mich war nur klar, dass der 
Strom in Abhängigkeit der Temperatur geregelt werden muss.

c) Wieso ist das kein PT1-Verhalten? Wenn ich mir die Kurve angucke, 
dann sieht sie genau so aus, wie die eines PT1 aus meiner Formelsammlung 
:-)
Zufälligerweise habe ich schon mehrere Sprungantworten aufgenommen. Bei 
500A komme ich auf 155°C, 400A 108°C, 250A 57°C, natürlich sehr wage 
Aussagen, da es auch von der Umgebungstemperatur abhängig ist. Aber 
dennoch astrein quadratisch! Danke nochmal für den Hinweis :-)

Ich hatte schon vorher bei allen per 63% mein T1 (Annahme PT1) bestimmt. 
Alle liegen +-1/2 Minuten im ähnlichen Bereich. Und hierbei weiß ich 
immer noch nicht, wie ich mein K bestimme. Das einzige was ich durch 
googlen finde ist mit Ersatzparametern, wo ich leider in den Skripten 
der Profs keine nähere Erläuterung zu finde, ohne die kann ich mir 
solche irgendwie nicht bestimmen...

Nur welches Verfahren nehme ich, wenn ich nicht einmal weiß, welche 
Strecke ich habe?
Soll ich das ganze als PT2 approximieren und dann per Zeitkennwert oder 
Wendetangente bestimmen? Wenn ich das ganze approximiere, dann wird es 
doch auch wieder sehr ungenau?

d) Ein Überschwinger von 2%, lieber 1% wäre verkraftbar. Da es hierbei 
darum geht, ein stabiles Temperaturgleichgewicht zu erstellen und zu 
halten. Da ich in LabView programmiere, hab ich, zumindest von 
verfügbaren VIs her, nur einen PID zur Verfügung.
Meinst du jetzt, dass ich mir einen schnellen und einen langsamen Regler 
baue, und je nach Temperatur von den schnellen zum langsamen schalte?

Möglichst gut ist natürlich wie so oft, schnell am Sollwert und ohne 
Schwingen :-) Klar ein wenig utopisch bei vielen Strecken. Aber wenn ich 
mir bei meinem Aufbau Temperatur und Sollstrom angucke, dann bin ich der 
Meinung, ich habe was falsch gemacht, weil er Strom 1) zu langsam 
hochregelt und 2) zu schnell wieder sinkt und dann auf seinem Wert 
verharrt. Schneller könnte er auf jeden fall sein. Da bin ich mir 
sicher.

Danke nochmal für deine Hilfe aber ich muss sagen, außer der Hinweis mit 
Soll-Strom: I = Wurzel(P), hat mich alles noch mehr verwirrt und lässt 
mich zweifeln ob das was ich hier mache, richtig ist..

Gruß Tobias

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.