Prof. Dr. R. Kessler, Hochschule-Karlsruhe, D:\75810325.doc, Seite 1/8 Homepage: http://www.home.hs-karlsruhe.de/~kero0001/ Simulation Temperatur-Regelung Blechstab, links mit Transistor geheizt, Wärmeleitung und Wärmeübergang, Einteilung in 6 Abschnitte mit den Temperaturen T1, T2,... T6 T1 T2 T3 T4 T5 P T6 b a h L Die Figur stellt einen Blechstab dar aus einheitlichem Material, z.B. Aluminium. Zur „Diskretisierung“ denken wir uns den Stab in 6 gleiche Bereiche („Streifen“) eingeteilt. Diese Streifen haben die Temperaturen T1, T2, ...T6. Auf den Streifen 1 (linkes Ende) ist ein Leistungs-Transistor aufgeschraubt. Er hat Wärmekontakt zum Blech und gibt die Wärmeleistung P an das Blech ab. Die Temperatur eines ausgewählten Streifens soll geregelt, z.B. die Temperatur T6. Der Transistor dient als Wärmequelle. Der Blechstab gibt Wärme durch „Wärmeübergang“ an das umgebende Medium ab (z.B. an die Luft oder auch an Kühlwasser). Innerhalb des Körpers geschieht der Wärmetransport durch „Wärmeleitung“. Im nachfolgenden Text werden durch Anwendung von Energiebilanzen zunächst die Differentialgleichungen (DGLn) für die Temperaturen T1...T6 aufgestellt. Dann werden diese DGLn und die Regelungsdynamik mit dem Simulationsprogramm Tephys numerisch berechnet. Der Regler ist ein PID-Regler. Er ist „nichtlinear“, denn es kann nur geheizt, nicht aber auch gekühlt werden. Zum Finden „guter“ Regeldynamik wird eine Dimensionierungs-Strategie vorgeführt. Aufstellen der DGLn Es sollen die DGLn der Temperatur-Dynamik aufgestellt werden. Die Temperatur T an einem Ort x,y,z ist von der Zeit t und von den Ortskoordinaten x,y,z abhängig. Zur Vereinfachung wird im Ortsbereich nur die Koordinate x (nach rechts) betrachtet. Der Blechstreifen sei in y-Richtung (nach hinten) so dünn und in zRichtung (nach oben) so schmal, dass die Temperatur in y-Richtung und in z-Richtung bei jedem Ort x gleich ist. Die Temperatur hängt also nur noch von x und der Zeit t ab. In x-Richtung wird eine „Diskretisierung“ vorgenommen. Hier werden 6 Streifen definiert. In jedem Streifen wird die Temperatur als gleich für alle Punkte innerhalb des Streifens angenommen, also haben wir die Temperaturen T1, T2, ...T6. Nach diesem Modell „springt“ die Temperatur beim Überhang von einem Streifen zum Nachbarstreifen. Diese Sprünge sind in Wirklichkeit natürlich nicht vorhanden. Erst wenn die x-Unterteilung beliebig feinstufig wäre, wäre unser Modell „richtig“. Aber selbst dann stimmt es (mit der „Lupe“ betrachtet) immer noch nicht. Prof. Dr. R. Kessler, Hochschule-Karlsruhe, D:\75810325.doc, Seite 2/8 Das Aufstellen der DGLn geschieht, wie immer, durch Bilanzen, in diesem Falle Energiebilanzen. Dazu benötigen wir 3 Energiegesetze im Zusammenhang mit der Temperatur 1. Ein Körper der Masse m hat bei (einheitlicher) Körpertemperatur T den „Energieinhalt“ c*m*T mit c = „spezifische Wärmekapazität“ [Energie/(Kilogramm * Grad) ]. Mit der Abkürzung E =c*m = „Wärmekapazität“ [Energie/Grad] ist der Energieinhalt E*T. Wenn sich die Temperatur T in der Zeit dt um dT ändert, haben wir also die Leistung E*dT/dt. Hinweis: Genau genommen, könnte der Körper außer der Temperaturänderung noch andere Formen der Energieänderung haben, nämlich „Umwandlungs-Energieen“, z.B. beim Schmelzen, oder bei Änderungen der Kristallstruktur, oder beim Verdampfen. Solche Effekte lassen wir hier weg. 2. Der betrachtete „Streifen“ (z.B. Nr. 3) hat eine „Oberfläche“ Aa zum umgebenden Medium (etwa Luft oder auch Wasser bei Wasserkühlung). Diese Umgebung hat die Temperatur Tu. Also geht Wärme vom Körper (mit seiner Temperatur T3) an die Umgebung. Dieser Energieübergang pro Zeit, also die „Wärmeübergangsleistung“ wird angesetzt als alfa * Oberfläche * Temperaturdifferenz, hier also alfa*Aa*(T3-Tu). alfa ist die Wärmeübergangszahl [Watt/(Quadratmeter*Grad)]. 3. Jetzt der Wärmetransport „innerhalb“ des Körpers. Das geschieht durch die sog. „Wärmeleitung“. Man macht den Ansatz: Wärmeleistung (also wieder Energie pro Zeit) = Energie, die pro Zeiteinheit durch die innere Querschnittsfläche Ai fließt ist lamda * Ai * dT/dx. Dabei ist dT die Temperaturdifferenz zwischen zwei Punkten, die um die Strecke dx voneinander entfernt sind. lamda ist die Wärmeleitzahl [Watt/(Meter*Grad]. Wegen der oben eingeführten Diskretisierung in x-Richtung ist dx = a= Streifenbreite. Wir haben also (für z.B. den Streifen 3) folgende Energiebilanz (aus Platzgründen wird alf statt alfa und lam statt lamda geschrieben): Wärmeleitung 2 => 3 = Energieänderung/Zeit + Wärmeleitung 3 => 4 + Wärmeübergang lam * Ai*(T2 –T3)/a = E * dT3/dt + lam* Ai*(T3-T4) + alf * Aa * (T3-Tu) Hinweis: Die Wärmestrahlung der Blechoberfläche wird vernachlässigt. Sie würde bei hohen Temperaturen eine wichtige Rolle spielen. Man könnte sie problemlos mitberücksichtigen. Streifen 1 : Extern zugeführte Leistung = Energieänderung/dt + Wärmeleitung 1 => 2 + Wärmeübergang an Umgebung P = E1*dT1/dt + lam*Ai*(T1-T2)/a + alf* Aa*(T1-Tu) ==> dT1/dt = 1/E1*(P - lam*Ai/a*(T1-T2) –alf*Aa*(T1-Tu) ) oder mit den unten erklärten Abkürzungen E, ki, ka dT1/dt = 1/E*(P – ki*(T1-T2) – ka*(T1-Tu) ) Numerischer Lösungsalgorithmus nach dem Prinzip: neuer Wert von T1 = alter Wert von T1 + Änderung von T1 ergibt den Algorithmus T1 = T1+ (P – ki*(T1-T2) – ka * (T1-Tu) ) *dt/E (Zeile 8 der nachfolgenden Tephys-Datei) mit den Abkürzungen (s. Figur ) E= E=rho*a*b*h*c { E = Wärmekapazität eines Streifens [Joule/Grad], b= Streifenbreite, h= Streifenhöhe, a= Streifenlänge , c= spezifische Wärmekapazität des Stabmaterials } ki= lam*Ai/a { „Wärmeleitfaktor“ ; lam = „Wärmeleitzahl“ des Materials, Ai = „innerere“ Querschnittsfläche = Breite b * Höhe h , lam = Wärmeleitzahl} ==> ki = lam* b*h/a ka= alf*Aa {„Wärmeübergangsfaktor“ ; alf = „Wärmeübergangszahl“ (abhängig vom „Strömungszustand“ des umgebenden „Mediums“ (Gas oder Flüssigkeit), Aa = „äußere“ Fläche= Oberfläche des Streifens = 2 * a*(b+h) Im nachfolgenden Algorithmus wird durch die „Störgröße“ Z die Wärmeübergangszahl vergrößert. Das kann man z.B. durch Anblasen des Bleches mit einem Ventilator realisieren } ==> ka = alf * 2*a*(b+h) Prof. Dr. R. Kessler, Hochschule-Karlsruhe, D:\75810325.doc, Seite 3/8 Streifen 2 : Wärmeleitung 1--> 2 = E*dT2/dt + Wärmeleitung 2-->3 + Wärmeübergang an Umgebung ki*(T1-T2) = E*dT2/dt + ki*(T2-T3) + ka*(T2-Tu) --> dT2/dt = 1/E*( ki*(T1-T2)- ki*(T2-T3) –ka*(T2-Tu) ) (s. Zeile 9) Analog die anderen Streifen: dT3/dt = 1/E*( ki*(T2-T3) - ki*(T3-T4) – ka*(T3-Tu) ) (s. Zeile 10) dT4/dt = 1/E*( ki*(T3-T4) - ki*(T4-T5) – ka*(T4-Tu) ) (s. Zeile 11) dT5/dt = 1/E*( ki*(T4-T5) - ki*(T5-T6) – ka*(T5-Tu) ) (s. Zeile 12) dT6/dt = 1/E*( ki*(T5-T6) – ka*(T6-Tu) ) (s. Zeile 13) { beim 6.Streifen wird der Wärmeübergang durch die „Stirnfläche“ vernachlässigt} Zur Vereinfachung wird im Folgenden die Umgebungstemperatur Tu = 0 gesetzt. Der Regelkreis W0 W Y Regler Anstiegsbegrenzer Z Regelstrecke (Blechstreifen) X X X= Regelgröße ( = zu regelnde Temperatur), W= Führgröße, Y = Stellgröße (= Heizleistung P des Transistors), Z = Störgröße ( Z ändert den Wärmeübergangsfaktor alf ( s. Zeile 3 )) Numerische Simulation mit Tephys Der verwendete Simulations-Algorithmus könnte problemlos auch mit Matlab oder mit Simulink realisiert werden. Die Berechnung mit Hilfe der „analytischen Mathematik“ oder auch mit Hilfe der Laplace-Transformation dürfte hingegen hoffnungslos sein (zumindest ohne Rechnerhilfe). Tephys-Datei TAL63_1.txt bis TAL66_1.txt Bedeutung des Dateinamens: T=TempReg, AL=Aluminium, 6 = 6 Abschnitte, 3..6 : Regelgröße ist Temperatur T3...T6 1 a=L/6 { a= Streifenlänge, L= Stablänge. Der Stab ist in 6 „Streifen“ eingeteilt. Sie haben die Temperaturen T1, T2,...T6. Dem Streifen 1 wird die Wärmeleistung P zugeführt } 2 E=rho*a*b*h*c { E = Wärmekapazität eines Streifens [Joule/Grad], b= Streifenbreite, h= Streifenlänge , c= spezifische Wärmekapazität des Stabmaterials } 3 ka=2*alf*(b+h)*a+Za { ka= „Wärmeübergangsfaktor“ [Watt/Grad] für Wärmeübergang von Streifenoberfläche zur Umgebung. alf = Wärmeübergangszahl. Za = Störgröße, s.u. } 4 ki=lam*b*h/a { ki= „Wärmeleitfaktor“ [Watt/Grad] für Wärmeleitung innerhalb des Stabes, lam= Wärmeleitzahl } 5 W0=aW*ja(t-tW1)*ja(tW2-t) { W0 = Führgröße: Amplitude aW im Zeitbereich tW1...tW2} 6 W=W+begr((W0-W)/TW,vWma,-vWma)*dt { W = Führgröße, anstiegsbegrenzt, Geschwindigkeit +- vWma } 7 Za=aZ*ja(t-tZ1) { Za = Störgröße ab t = tZ1. Die Störgröße wirkt auf die Wärmeübergangszahl} 8 T1=T1+(P-ka*T1-ki*(T1-T2))*dt/E 9 T2=T2+(ki*(T1-2*T2+T3)-ka*T2)*dt/E { T1 = Temperatur des Streifens 1 } { T2 = Temperatur des Streifens 2 } Prof. Dr. R. Kessler, Hochschule-Karlsruhe, D:\75810325.doc, Seite 4/8 10 11 12 13 14 15 16 17 18 T3=T3+(ki*(T2-2*T3+T4)-ka*T3)*dt/E { T3 = Temperatur des Streifens 3 } T4=T4+(ki*(T3-2*T4+T5)-ka*T4)*dt/E { T4 = Temperatur des Streifens 4 } T5=T5+(ki*(T4-2*T5+T6)-ka*T5)*dt/E { T5 = Temperatur des Streifens 5 } T6=T6+(ki*(T5-T6)-ka*T6)*dt/E { T6 = Temperatur des Streifens 6 } Tx=T5 { Tx = Regelgröße , hier Tx = T5. Mit „Editor“ diese Zeile anpassen! } Tx'=(Tx-Txalt)/dt { Tx’ = dTx/dt = zeitliche Ableitung von Tx } Txalt=Tx { alter Wert von Tx } int=int+(W-Tx)*dt/Ti { Integral der Regeldifferenz } Preg=Ap*(kW*W-Tx-Td*Tx'+int) { Preg = Stellgröße des PID-Reglers. Im „P-Kanal“ Abschwächungsfaktor kW. Mit kW <1 (z.B. kW=0.8) kann erreicht werden, daß trotz „schnellen“ I-Anteils die Regelgröße Tx NICHT überschwingt.} 19 P=ja(reg)*ja(Preg)*Preg+nein(reg)*Pk { P = Heizleistung. Sie darf nur positiv sein (also nur heizen, nicht aber kühlen!). P wird dem Stab am „linken“ Ende zugeführt (beim Streifen 1) } 20 t=t+dt { zeitliche Schrittweite dt nach Genauigkeitswunsch wählen!! } Wärme-Leitung und-Übergang. Stab, 6 Teile.Heft 64, S.20, 14.4.93, Heft R5, S.34 , 27.10.93 Heft R5, 13.3.94 , Heft R27 S.22, 31.5.98 PID-RegelKreis für Regelung von Temperatur Tx Leistung P kann nur positiv sein (nur Heizung, keine Kühlung) mit begrenzter Sollwert-Anstiegsgeschwindigkeit vWma. a=L/6; E= rho*a*b*h*c; ka= 2*alf*(b+h)*a; Alu: rho=2700 kg/m^3; c= 940 Joule/(kg*Grad); Cu: 8930 390 Messing: 8400 380 Stahl: 7900 510 ki=lam*b*h/a lam= 204 Watt/(m*Grad) 384 113 50 Prof. Dr. R. Kessler, Hochschule-Karlsruhe, D:\75810325.doc, Seite 5/8 Demo der DimensionierungsStrategie für PIDRegler: 1. nur P-Regler: Ap so groß ,daß Führantwort „nur noch wenig“ gedämpft ist (hier Ap=6). Damit (in diesem Fall) die „Nichtlinearität“ des Reglers keinen Einfluß hat, ist Geschwindigkeit vWma der Führgröße klein. 2. Aus Führantwort die „Periode“ T0 messen: hier T0=53 sec. 3. Daraus folgen 2 Vorschläge für Td: Td=0.2*T0 oder Td=T0/6.28. 4.Td probieren bis Führantwort zwar schnell ist, aber etwa aperiodisch gedämpft. 5. Anstiegsgeschwindigkeit vWma der Führgröße nur so groß wählen, daß Stellgröße beim Führsprung NICHT zu groß wird. 4.Ti ca. T0 (oder kleiner) wählen und dann die Abschwächung kW so einstellen, daß die Führantwort ohne Überschwinger, aber dennoch schnell den Sollwert W erreicht. Prof. Dr. R. Kessler, Hochschule-Karlsruhe, D:\75810325.doc, Seite 6/8 Prof. Dr. R. Kessler, Hochschule-Karlsruhe, D:\75810325.doc, Seite 7/8 Prof. Dr. R. Kessler, Hochschule-Karlsruhe, D:\75810325.doc, Seite 8/8