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 :)
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.
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.
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
Tobias schrieb:> Metallisch, erhitzt durch einen StromTobias 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.
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
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
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.
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.
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...
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.
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