Temperaturregler mit Tuecken

Moin!

Ich bin gerade dabei, einen Temperaturregler aufzubauen, und erwarte dabei so einige Problemchen. Konkret gesagt: Ich kann nur heizen, nicht kühlen. Dabei ist die Heizung so dimensioniert, und das ganze so isoliert, daß ich wohl um den Faktor 100 schneller aufheizen kann, als es sich wieder abkühlt. Lässt sich beides nicht ändern.

Glücklicherweise kommt die Regelung in einen Mikrocontroller, die Heizung wird mit PWM gesteuert, der Möglichkeiten gibts also viele. Nur wie geh ichs an? Temperaturregler hab ich schon öfters gebaut, allerdings immer mit Peltier, da kam ich bislang mit einem PI-Regler gut hin. Doch hier, aufgrund der unterschiedlichen Reaktion auf Heizen bzw nicht Heizen, dürfte das wohl nicht reichen. PID möchte ich ungern machen, da erwarte ich doch ein etwas "zappeliges" Verhalten. Und

2-Punkt scheidet sowieso aus, das gibt zuviel Hub.

Nachgedacht habe ich bereits über:

- mit viel Leistung aufheizen, danach im Regelbetrieb die maximale Heizleistung begrenzen

- Unterschiedliche Gewichtungen für zu warm / zu kalt, bevor es in den PI-Regler geht

- evtl. doch PID?

- dann aber evtl mit Schwelle für den D-Teil, unterhalb der Schwelle nur PI

- oder D-Teil nur bei "zu kalt" zulassen, um zu schnelles Aufheizen abzufangen

- Vielleicht was ganz anderes?

Wollte einfach mal Eure Meinung hören, bevor ich mich verrenne... Wird doch ziemlich langweilig, wenn ich für jeden Testlauf - und sei es nur ein leicht veränderter Regelungsparameter - ne Viertelstunde warten muss, bis sich das System wieder abgekühlt hat :-)

Gruß, Michael.

Reply to
Michael Eggert
Loading thread data ...

[...]

Ich meine ein PI reicht. Grosse Probleme wirst du in der Regelung erwarten, wenn die Regelung aufgrund der Trägheit sehr langsam reagiert. Dies ist der Fall, wenn du einen sehr grossen Energiespeicher beheizen musst.

Wenn du in dem Controller regelst, kannnst du eine Zweibereichsregelung vorsehen. Du legst ein Intervall (zb. 50 °C - 20 °C Regelbereich, Regelbreeich also 30 °). Bis zu T=30 ° heizt du auf 100 % und dann wird ganz sachte geregelt. Und das kann man mit PWM.

Robert

Reply to
R.Freitag

[...]

Keine Angst vorm PID! Der Trick bei einem praktischen PID-Regler ist ein vorgeschalteter (zweipoliger) Tiefpass. Damit wird die bei hohen Verstärkungen immer mehr anwachsende Verstärkung des D-Anteils kompensiert. Das heißt, man kann den D-Antei ungestraft höher drehen und in der Folge den die Geschwindigkeit bestimmenden P-Teil. Mit so einem Regler statten wir unsere Laser aus, die eine recht starke mechanische Piezo-Resonanz zeigen. Die Bandbreite der Regelung liegt nach einigem tunen immerhin bei etwa der Hälfte der Resonanzfrequenz. Das ist natürlich ein ganz anderer Geschwindigkeitsbereich, aber auch die Temperatur-Regelungen laufen bestens mit PID.

Das sollte Ergebnis der Regelung sein.

So würde ich es auch angehen. Je nach dem, ob geheizt, oder gekühlt werden muss, sollten die Regler-Parameter unterschiedlich sein. Um Unstetigkeiten beim umschalten zu vermeiden, sollte man im Bereich der Null einen sanften Übergang der Parameter-Sätze einbauen.

Mir ist allerdings nicht recht klar, ob sich der Auwand lohnt. Bei einer Störung nach oben kann das System eben nicht schneller reagieren, als die Abkühlung zulässt. Bestenfalls wird ein Kälteschock schneller ausgeregelt.

PID hat bei uns immernoch zu den schnellsten Ergebnissen geführt, wenn man auf eine aufwendige Vermessung der Regelstrecke mit Bode-Plot, Kompensation der Pole und ähnlichem verzichten will.

Der D-Anteil wird wie gesagt durch einen Filter entschärft.

Das würde für sich allein genommen ein Aufschwingen begünstigen. Beim Abkühlen ist der P-Anteil dann erst recht zu stark.

Warum sollte man das System für den nächsten Test grundsätzlich abkühlen lassen? Wenn die Regelung ihren Job tut, dann sollte sie in der Lage sein, aus jeder Start-position schnellstmöglich den Regel-Wert erreichen. Zur interaktiven Einstellung der Parameter empfiehlt es sich, den Regelpunkt periodisch hoch und runter springen zu lassen. Je besser das System dieser Vorgabe folgt, um so besser die Einstellung.

Tschüss, ------

--
Kai-Martin Knaak
kmkn@tem-messtechnik.de
gpg-key: http://pgp.mit.edu:11371/pks/lookup?search=kai-martin&op=index&exact=on
Reply to
kai-martin knaak

Hi!

Habs grad mal ausprobiert. Schön ist das nicht, da Aufheiz- und Abkühlgeschwindigkeit doch stark von der zu regelnden Temperatur(-differenz zur Umgebung) abhängen. Habs allerdings noch nicht so isoliert wie geplant.

Naja, ist ein Alublock 4x4x2cm, beheizt von 4 Zementwiderständen (symmetrische Anordnung). Den Temperaturfühler will ich schon so dicht wie möglich an einen der Widerstände bringen, doch zeitliche Verzögerung wirds immer geben. Heize ich einen Zementwiderstand (nackt, Temperaturfühler aufgeklebt) mit ca 1 Grad pro Sekunde, so schwingt die Temperatur nach Abschalten der Heizung noch etwa 10 Grad über.

Das meinte ich mit "erst Aufheizen mit voller Leistung, dann regeln mit begrenzter Leistung".

Dank und Gruß, Michael.

Reply to
Michael Eggert

"Michael Eggert" schrieb im Newsbeitrag news: snipped-for-privacy@4ax.com...

Tach ;)

Da Du sowieso nur heizen kannst, ist das nicht weiter schlimm.

Wieso sollte PID bei einem trägen System 'zappelig' sein? Das wird der nur, wenn Du den Sollwert viel veränderst.

D-Anteil?

Der D-Anteil wird doch immer geringer, oder?

Ich gebe zu, dass mein Studium noch nicht sooo lange her ist, ich allerdings schon wieder einiges vergessen habe (obwohl ich in meiner Diplomarbeit mehrere Regleroptimierungen simuliert habe). Vielleicht blamiere ich mich jetzt also! Aber ich würde eine klassische PID-Regelung machen. Als erstes nimmst Du eine Sprungantwort auf, dann kannst Du Dir aussuchen, wonach Du die Parameter bestimmst (Ziegler-Nichols oder Kuhn oder T-Summe oder wasweißichwas), und dann testest Du die Regelung mit diesen Parametern.

Ich weiß (noch) nicht, was ein Mikrocontroller alles kann, das versuche ich mir gerade beizubringen. Aber wenn Du ein System hast, welches relativ gleichmäßige Bedingungen aufweist (und wenn ein Mikrocontroller das schafft), dann kannst Du es ja mal mit prädiktiver Regelung versuchen.

Gruß Tom

Reply to
Tom

Hi!

Hm, ein bissl hab ich ja schon analog gefiltert vorm A/D-Wandler, da kann ich natürlich noch was in Software dahintersetzen. Der Controller ist allemal schnell genug.

Problematisch ist nur die Einstellerei. Bei PI kein Problem "nach Gefühl", erst nur P bis er schwingt, P halbieren, I aufdrehen bis es gut aussieht -> passt. Wenns dann noch schwingt oder zu träge ist, kanns nur noch der I sein, der nicht stimmt. Oder irgendwo begrenzt was. Gibts was ähnlich triviales für PID? Da wüsst ich nämlich nicht, an welchem "Schräubchen" ich drehen muss, wenns so oder so aussieht.

Klingt gut! Gleicht Ihr das nach Gefühl ab, oder über Sprungantwort etc berechnet?

Ja, sollte, in der Theorie. In der Praxis... ...habe ich eine begrenzte Heizleistung. In der Aufwärmphase könnte der Integrator auf einen höheren Wert vollaufen (große Soll-Ist-Differenz über lange Zeit), als die Heizung wirklich heizen kann. Dann ist der Integrator am Ende voller, als er wäre, wenn ich heizen könnte, wie er vorgibt (weils länger dauert als er "denkt", also wofür er eingestellt ist). Das führt zu Überschwingen, weil der lange aufgelaufene I-Teil erstmal wieder abgebaut werden muss. Der Integrator funktioniert eben nur in einem linearen System gut, und linear ists nicht mit begrenzter Heizleistung. ...möchte ich von Anfang an mit voller Leistung heizen, und nicht erst warten, bis der Integrator losläuft. Der P-Teil ist nicht groß genug dafür, da der Controller nur mit einem kleinen Ausschnitt der Temperatur (analog) gefüttert wird.

Darum hab ichs bislang eigentlich immer so gemacht, daß ich erstmal mit voller Leistung in den linearen Bereich gefahren bin, und dann erst mit dem PI-Regler weitergemacht hab.

Oh, ich fürchtete schon, jetzt kommt das große "No-No!", weils Aufgabe des PI(D) wär, von selbst entsprechend darauf zu reagieren. Gut zu wissen, daß das so machbar ist.

Hm ich weiß nicht, ob ich Dich jetzt richtig verstanden hab. "Je nach dem, ob geheizt, oder gekühlt werden muss" klingt nach Anpassung zwischen Regler und Stellglied (geht für Temperaturregler nur mit Peltier). Das hab ich auch mal ausprobiert (eben bei Peltier), hat aber nicht so gut funktioniert. Anpassung zwischen Sensor (Soll-Ist-Differenz) und Regler ging besser.

Hm, ganz nach Anwendung könnten sich gar noch brutalere Eingriffe in die Regelung lohnen: Aufgrund der begrenzten Auflösung gebe ich nicht Ist- und Soll-Wert auf den D/A-Wandler, sondern bilde bereits analog die Differenz zwischen beiden. Der Controller "sieht" also nur die Differenz zwischen Ist und Soll. Stelle ich nun von außen einen niedrigeren Soll-Wert ein, wirkt das für den Controller wie eine Störung nach oben (eine echte Störung kann natürlich auch vorkommen, aber nicht in dem Ausmaß). Nun war der Controller aber gerade am Heizen, um die Temperatur zu halten, und so muss er erstmal seinen I-Teil abbauen - und das dauert seine Zeit, solange ich den Regler so langsam auslege, daß er trotz des ungleichen Verhaltens der Strecke nicht schwingt. Hier könnt man nun zum Beispiel eingreifen, in dem man im Fall "zu warm" die Heizung erstmal komplett abschaltet, damit das Abkühlen eben nicht unnötig länger dauert. Evtl mit Schwelle leicht über dem Bereich, in dem es im normalen Regelbetrieb (ohne Störung) schwankt. Wohlgemerkt, ich meine hiermit nicht unterschiedliche Verstärkungen für "zu warm / zu kalt" vor dem Regler, oder für "heizen / kühlen" hinterm Regler, sondern die Information "zu warm / zu kalt" von vor dem Regler soll direkt am Regler vorbei auf das Stellglied wirken.

Uppsa, ich hätt jetzt grad das Gegenteil vermutet (PID nur nach Analyse). Wie gesagt, bin für experimentelle Einstelltips sehr dankbar.

Hm, in welcher Größenordnung für einen Kompromiss zwischen "zu nervös" und "zu langsam"?

Naja weiß nicht, Abkühlen kann doch kaum schnell genug gehen.

Ja, aus jeder Startposition _unterhalb_ des Sollwerts :-) Und die muss ich erstmal erreichen. Sie sollte - um ein optimales "Hochfahren" der Regelung zu erreichen - so weit vom Sollwert weg sein, daß sich eine einigermaßen konstante Anstiegsgeschwindigkeit ergibt. Und sie sollte immer gleich sein, um die Auswirkungen geänderter Regelungsparameter gut beurteilen zu können (schwingt er jetzt aufgrund der Parameter mehr über, oder hatte er bloß mehr "Anlauf"?).

"Springen" ist gut in dem Fall :-) Nee ernsthaft, ich will so auf 60°C regeln, 0.1 Grad genau (nicht absolut, aber konstant und reproduzierbar), und ich erwarte durch die gute Isolation eine Abkühlung im Bereich Grad pro Minute. Da kann das ganze schon ein wenig dauern, umso wichtiger, daß man nicht blind verschiedensten Ideen hinterherläuft, ohne zu wissen, obs auf diese oder jene Art und Weise überhaupt machbar ist.

Dank und Gruß, Michael.

Reply to
Michael Eggert

Michael Eggert schrieb:

t

Hallo,

das =DCberschwingen d=FCrfte von einer Totzeit kommen, da h=E4tte ich den= =20 W=E4rmetransport im Zement vom Widerstand zu dessen Geh=E4use in Verdacht= =2E

Bye

Reply to
Uwe Hercksen

Michael Eggert schrieb:

ja, es gibt auch da solche Faustformeln. Die Faktoren habe ich aber gerade nicht im Kopf oder griffbereit.

Wir haben in einem ähnlichen Fall daher den Integrator nur in einem relativ kleinen Fenster um den Sollwert betrieben. Das hilft gerade bei größeren Sprüngen, bei denen es bis zum Erreichen dieses engeren Fensters lange dauert.

Um erstmal möglichst schnell in die richtige Region zu kommen, könnte man einen Prädiktionsregler einsetzen (so haben wir's zumindest getan). Erst bei Erreichen des Zielfensters wird "sanft" auf den PID-Regler umgeschaltet. Dann hat aber der Prädiktionsregler schon einen guten Teil der Heizleistung schon wieder abgeschaltet (wenn er richtig dimensioniert ist).

Ja, es ist definitiv machbar. Hat auch bei unserem Fall geholfen.

Alles eine Frage der Nomenklatur. Wenn Du die Heizung abschaltest, kühlst Du ja eigentlich schon. Nur eben sehr schwach und außerdem abhängig vom Istwert...

Damit bist Du genau wieder bei der Unterscheidung "im Zielfenster" oder "außerhalb", die Du zur Umschaltung zwischen Prädiktionsregler und PID-Regler nutzen kannst. Das funktioniert dann übrigens in beide Richtungen, und auch unabhängig davon, ob sich der Sollwert oder der Istwert nun gerade geändert hat.

PID nach Analyse klingt zwar verlockend, geht aber in der Praxis meistens in die Hose... Reale Systeme sind zu nichtideal für die Modelle der Theoretiker :-)

--
Dipl.-Ing. Tilmann Reh
Autometer GmbH Siegen - Elektronik nach Maß.
http://www.autometer.de

==================================================================
In a world without walls and fences, who needs Windows and Gates ?
(Sun Microsystems)
Reply to
Tilmann Reh

Hi!

Das ist schon klar, woher auch sonst. Bloß was soll ich sonst nehmen, die Zement-Dinger sind schön eckig, kann ich prima mit Sekundenkleber in eine Nut bappen. Die komischen Metalldinger von Conrad (421111) haben innen sicher auch Zement, müssen ja isoliert sein. Und normale runde Drahtwiderstände könnt ich zwar in eine Bohrung stecken, die haben selbst auch weniger "drumherum", aber keinen konstanten Durchmesser -> mehr Kleber.

Gruß, Michael.

Reply to
Michael Eggert

Hi!

Auch mit "drehen bis schwingt und dann die Hälfte" und so? Dann werd ich nochmal googlen. Meist findet man unter "PID parameter einstellen" leider nur Firmen, die PID Regelungen verkaufen, wo man alle Parameter einstellen kann :-)

Yepp, so hab ichs mal bei einer analogen Regelung gemacht: Reed-relais schließt Integrator-Ko kurz (über Widerstand, damit Entladestrom nicht die Kontakte verklebt), solange Abweichung groß zu ist. Schwelle so einstellen, daß der P-Teil es sicher schafft, die Abweichung darunter zu kriegen.

Prädiktionsregler... da wird sich google drüber freuen :-) Klingt nach "vorhersagen", also wohl irgendwas mit Abweichung und Steigung und evtl noch Krümmung und dann raten, wo es wohl hinläuft. Ähnlich wie der PID das auch tun will :-)

Ich dachte daran, erstmal mit voller Leistung zu heizen, solange meine Abweichung groß ist (so groß, daß der A/D-Wandler begrenzt. Wie gesagt, ich bilde die Abweichung analog). Sobald ich aus der Begrenzung komme, schalte ich die Heizung ab und schaue mir die Ableitung an. Im Umkehrpunkt wollte ich dann auf PID schalten.

Fein!

Na jein, ich kann nicht hinter dem Regler stärker "nicht heizen" als ich heizen kann. Ich kann höchstens die Heizleistung schneller zurücknehmen, dann greif ich aber effektiv _vor_ dem Regler ein. Oder ich definiere eine bestimmte Heizleistung als die des Gleichgewichtszustands, und nehme, wenn der Regler "mehr als soviel" sagt, eben nur ein bisschen mehr, und bei "weniger als soviel" eben viel weniger. Da (Leistung für Gleichgewichtszustand) haben wir dann aber die Istwertabhängigkeit.

So könnte man es nennen. Wobei das Zielfenster deutlich unterhalb des Sollwerts anfängt (um Überschwingen durch die hohe Heizleistung beim Start abzufangen), aber nur knapp über dem Sollwert wieder aufhört. Deutlich unsymmetrisch also.

Ich sehe, ich sollte mir das Ding mal anschauen.

Nö, eigentlich eher nach "bääh...", mir ist schrauben lieber :-)

Das ist beruhigend, dann bin ich also nicht akut vom Aussterben bedroht :-)

Gruß, Michael.

Reply to
Michael Eggert

Hi!

Naja, es ja auch noch Rauschen in der Messung, da reagiert der D dann ziemlich hektisch drauf und versaut Dir evtl die Regelung. Hat er bei mir jedenfalls mal in nem analogen System gemacht. Lag aber vielleicht auch daran, daß ich - wenn ich mich recht erinnere - nur ein RC Tiefpass davor hatte. Also 1Pol. Irgendwie logisch, daß ich da nur zuviel oder zuwenig oder beides gleichzeitig filtere, oder? :-)

In der Theorie ja. Sobald Begrenzungen ins Spiel kommen (siehe anderes posting von mir in diesen thread), reicht das aber nicht alleine.

Der P-Teil wird mit abnehmender Abweichung geringer. Der D-Teil wird nur geringer, wenn das System selbst ruhiger wird, unabhängig von der Abweichung. Du meintest vielleicht, der D-Teil wirkt dem P entgegen und die Summe wird geringer? Der D-Teil wirkt beim schnellen Aufheizen natürlich stärker entgegen als beim langsamen Abkühlen, bewirkt also ähnliches wie eine Gewichtung. Darum schrieb ich schon bewusst "PI mit Gewichtung oder PID".

Och, bei mir ists auch noch nicht so lange her. Glücklicherweise hab ich schon immer viel gebastelt, denn im Studium war nicht viel mit Praxisbezug. Das einzige, woran ich mich erinnere, war, daß man einen Differentiator nicht wie einen Integrator mit vertauschten Elementen aufbaut (denn dann schwingt er), sondern mit zwei OP, einen als Integrator in der Rückkopplung des anderen (so also D als Umkehrfunktion des I bilden).

Wobei das so einfach auch nicht ist...

Das hatte ich ja befürchtet und wollts eigentlich vermeiden. Und es ist beruhigend, hier im thread zu lesen, daß das auch nicht immer klappt :-)

Ich wollte damit auch nur sagen, daß ich quasi alle Freiheiten hab, wilde Algorithmen zu implementieren. Solche Sachen wie "aufheizen bis über Schwelle, dann warten bis Umkehrpunkt, dann Regelung starten" lassen sich mit einem Controller natürlich viel einfacher realisieren (und wieder verwerfen :-)) als in analoger Technik.

Ach übrigens, ist ein ATMega8 mit 16MHz. Von der Rechenleistung völlig oversized, aber der regelt mehrere Sachen, da brauch ich die 3 PWM-Ausgänge. Und 16MHz, damit die Drosseln in der PWM-Endstufe nicht so dick werden. Der Heizung wärs ja egal, aber ich wollt keinen Sender bauen, und meine Peltiers (gleiche Kiste, andere Baustelle) mögen lieber DC als Pulse.

Hm, die Einschläge mit diesem Begriff kommen immer näher, jetzt schau ich aber wirklich mal nach :-))

Gruß, Michael.

Reply to
Michael Eggert

Hi..

So, hab mal nach "Prädiktive Regelung" geschaut....

*HUST* Hilfe, das staubt ja! Ich glaub, ich bin zu alt für sowas :-)

Gruß, Michael.

Reply to
Michael Eggert
*schnippschnapp*

Falls da mehr Interesse besteht, müsste ich meine Diplomarbeit mal wieder rauskramen!

Tom

Reply to
Tom

Hi!

[Prädiktive Regelung]

Wenns ein wenig Praxisbezug hat und einem nicht nur die Matrizen um die Ohren fliegen, gerne! Auf was für einem System hast das implementiert?

Gruß, Michael.

Reply to
Michael Eggert

Naja, einzwei Matrizen wirst Du schon erstellen müssen. Ich habe das ganze mit LabView realisiert, hat eigentlich ziemlich viel Spass gemacht. Ich krame mal rum! ;)

Tom

Reply to
Tom

Hi!

Das soll ja nicht das Problem sein. Ich hab bloß auf google nur graue Theorie gefunden, weit von jeder Implementierung entfernt.

Prima, hab ich auch.. Könnte also zumindest schonmal simulieren.

Ich bin mir nur noch nicht recht im klaren darüber, ob das der richtige Ansatz ist. Schließlich trifft doch der Regler eine Vorhersage über den zu erwartenden Ist-Wert aufgrund des bekannten jetzigen Ist-Werts, des Soll-Werts und der Stellgröße, sowie des Verhaltens der Strecke. Und das Verhalten der Strecke, also quasi das "Streckenmodell im Regler" wird dynamisch angepasst? Wie gesagt, das Verhalten ist abhängig von der absoluten Temperatur, der Controller kennt aber nur die Differenz zwischen Ist- und (per OP subtrahierten) Soll-Wert.

Feini!

Gruß, Michael.

Reply to
Michael Eggert

Michael Eggert schrieb:

Du könntest es mal mit der absoluten Minimal-Variante des prädiktiven Reglers versuchen. Einfach die letzten N Abweichungen merken (FIFO) und dann die Gerade durch die älteste und die jüngste Differenz (X-Achse = Zeit) verlängern und damit quasi die Vorhersage für einen bestimmten Zeitpunkt M Takteinheiten voraus machen. Das Verfahren ist gut genug, um die Heizung rechtzeitig abzuschalten, lange bevor der Istwert erreicht wird, denn nur so verhinderst Du das Überschwingen aufgrund der Totzeiten im System.

Den Prädiktionsfaktor M kannst Du dann für Heizen und Abkühlen auch wieder verschieden machen.

Dieses Verfahren eignet sich aber nur zum ersten Anregeln, für die spätere Temperaturregelung ist es nicht genau und ruhig genug. Dafür ist es mit minimalem Aufwand implementierbar, ich habe das mal mit einem 89C2051 gemacht, und auch der hat noch reichlich Zeit für andere Sachen gehabt...

--
Dipl.-Ing. Tilmann Reh
Autometer GmbH Siegen - Elektronik nach Maß.
http://www.autometer.de

==================================================================
In a world without walls and fences, who needs Windows and Gates ?
(Sun Microsystems)
Reply to
Tilmann Reh

Hi!

Sowas ähnliches hab ich vorhin mal ausprobiert: Sobald ich beim Aufheizen mit der Differenz in den für den A/D-Wandler sichtbaren Bereich komme (dann bin ich noch 5 Grad von der Solltemperatur entfernt), bilde ich _einmal_ die Ableitung und rate den Abschalt-Zeitpunkt (unter der Voraussetzung, daß die Steigung der Temperatur konstant bleiben wird, ich also von "weit genug unten" angefangen habe zu heizen).

Funktioniert noch nicht optimal, aber ich hab auch grad nur den Widerstand ohne weiteren Wärmespeicher und ohne Isolation. Scheint jedenfalls schon mal ein brauchbarer Ansatz zu sein.

Beim Abkühlen brauch ichs wahrscheinlich gar nicht, denn wieder aufheizen kann ich so schnell, daß mich ein Überschwinger zu niedrigen Temperaturen nicht weiter stören würde.

Wie schauts denn mit PID bei Totzeit aus? Wo liegen da die Grenzen?

Absolut.

Gruß, Michael.

Reply to
Michael Eggert

Michael Eggert schrieb:

Ebent. :-)

Totzeit ist immer problematisch. Je länger die Zeit, desto langsamer und vorsichtiger muß der Regler reagieren. Das bedeutet recht kleine P- und I- Anteile; den D-Anteil kannst Du Dir bei prädiktiver Anregelung vermutlich schenken. Dementsprechend wird es aber auch recht lange dauern, bis der PI-Regler anschließend stabil Istwert auf Sollwert gebracht hat. Dem Reglerwechsel beim Erreichen des Zielfensters gebührt daher besondere Aufmerksamkeit, sonst läuft die Temperatur wieder aus dem Fenster heraus, bevor der PI-Regler "gegriffen" hat.

Gehe außerdem davon aus, daß Du recht schnell die Heizung an- und ausschalten mußt (also PWM), um eine einigermaßen fein stellbare Heizleistung zu haben. Das kann der Controller aber mit links.

--
Dipl.-Ing. Tilmann Reh
Autometer GmbH Siegen - Elektronik nach Maß.
http://www.autometer.de

==================================================================
In a world without walls and fences, who needs Windows and Gates ?
(Sun Microsystems)
Reply to
Tilmann Reh

Schau mal unter Luenberg Beobachter oder Zustandsregelung mit Beobachter. Klingt saukompliziert, ist aber ganz simpel.

Du rechnest in deinem Controller die Strecke mit , Daumen mal Pi reicht, =

einfach z.B. I (Addier mal sch=F6n) oder PI + Totzeit (Ringpuffer). =

Dann bekommst du einen Streckenausgang yb vor der Totzeit und yb' nach der Totzeit. Regeln (z.B. klassisch mit PID oder noch einfacher Zwipunkt) =

tust du yb, nicht das Temperatursignal y vom F=FChler ! D.h. du hast virtuell eine Strecke ohne Totzeit, das ist dann machbar. Dann berechnest du noch k(y-yb') als Korrektur der Abweichung Modell - Real und ziehst das vom Eingang deines Modells (1 oder 0 bei Zweipunktregler) ab.

Das geht ziemlich gut und ist magisch stabil. W=E4hle k nicht zu gro=DF! Mit PID wir dich die Totzeit immer erschlagen.

Vielleicht ist die Erkl=E4rung etwas d=FCrftig, aber sonst m=FCsste ich wirklich weit ausholen. Aber ich hab das alles schon auf einem 80552 vor

10 Jahren realisiert , inzwischen 80186. An sich sind das 100 Zeilen Pascal Code..

Gr=FC=DFe

Markus Greim

Ich hoff das liest mein alter Regelungstechnik-Professor nicht...;-)

Reply to
greim

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.