Moin,
ich hab seit Ewigkeiten einen kleinen 230V, 200W Heizstrahler in meiner
Küchenkammer stehen, da es dort sonst gerne mal schimmelt. Er besitzt
einen NTC mit 10k Ohm bei 25 Grad, der mit 2m Kabel angeschlossen ist,
dadurch soll man eine Raumtemperatur am Gerät einstellen können und er
heizt immer dieser nach.
Nun ist er über den Sommer kaputt gegangen, bzw. die Ansteuerung. Der
Strahler besitzt ein 12V Relais. Der Heizstrahler funktioniert noch, nur
die Steuerung hat den Geist aufgegeben.
Nun habe ich begonnen, mit einem Atmega32 eine neue Ansteuerung zu
basteln.
Die Temperaturmessung habe ich schon implementiert und funktioniert
soweit auch. Nun geht es aber an die Heizregelung und da brauche ich
eure Hilfe! Ich komme absolut nicht aus dem E-Tech-Bereich und hab nur
ganz kleine Grundkenntnisse was Regelkreis angeht. Wie muss ich
vorgehen?
- Meine Führungsgröße ist fest definiert und beträgt 15°C.
- Ich kann nur 100% oder 0% heizen und würde gerne unter 1x die Minuten
schalten. (Relaisklackern)
- Hinter dem Relais hängt ein Trafo auf der 230V Seite, vermutlich
Potentialtrennung, ich denke eine PWM oder ähnliches fällt raus.
- Es dauert ca. 12 Min bis eine Änderung der Temperatur größer 0,5°C
über den NTC erkennbar ist. Wenn ich es richtig verstanden hab, ist das
eine Totzeit.
Wie muss ich weiterverfahren, wie ist der Regelkreis aufgebaut, wie
stelle ich das Stellglied da?
Viele Grüße und vielen Dank
Martin
Mach es doch erstmal so dumm wie möglich und werd dann komplexer.
Wenn unter 15 -> AN für min. 1 Minute
Wenn min 1 Minute an und über (z. B.) 16 -> AUS
Jetzt kommt es natürlich auch drauf an, wo du misst. Aber so gerne ich
mich auch mit komplexen Regelungssystemen befasse: Keep it simple and
small
Moin,
klar kann ich es mit einer An- und einer Ausschalttemperatur machen.
Aber es reizt mich schon, einen richtigen Regelkreis zu entwerfen und
dann zu implementieren. Was wären denn jetzt die nächsten Schritte die
ich machen müsste?
Viele Grüße
Martin
Martin schrieb:> Moin,> klar kann ich es mit einer An- und einer Ausschalttemperatur machen.> Aber es reizt mich schon, einen richtigen Regelkreis zu entwerfen und> dann zu implementieren. Was wären denn jetzt die nächsten Schritte die> ich machen müsste?>>> Viele Grüße> Martin
Einen Leistungsteil entwerfen, welcher dir Schaltzustände zwischen 1 und
99% Leistung erschließt. Dann kannst du feiner regeln. Denn dazu
müsstest du deine Zeitscheibe und/oder die Leistungsabgabe verkleinern
können.
Lass es. Ein so träges System ist am Besten wie von Mirko beschrieben zu
betreiben.
Martin schrieb:> Aber es reizt mich schon, einen richtigen Regelkreis zu entwerfen und> dann zu implementieren.
Aber doch nicht an so einem schnarchlangsamen System. Wenn du da "mal
kurz" einen neuen Rechenweg oder die Reaktion auf Störgrößen
"ausprobieren" willst, dann wartest du ja gleich mal 1 Stunde, bis was
wahrnehmbares passiert.
Martin schrieb:> - Es dauert ca. 12 Min bis eine Änderung der Temperatur größer 0,5°C> über den NTC erkennbar ist.
Also 0,042°C pro Minute...
> Wenn ich es richtig verstanden hab, ist das eine Totzeit.
Nein, es ist ein schaaaarchlaaaangsaaaammmmmmmeeee Zeitkonstante.
> - Ich kann nur 100% oder 0% heizen und würde gerne unter 1x die Minuten> schalten. (Relaisklackern)
Dann nimm einen Zweipunktregler und stell die Hysterese auf mindestens
0,042°C ein.
> - Meine Führungsgröße ist fest definiert und beträgt 15°C.
Hast du diesen Wert festgelegt?
Auf exakt 15,000°C?
Oder könnten das auch 14..16°C sein?
Dann nimm einen Zweipunktregler und schalte bei 14,5°C ein und bei
15,5°C aus. Dann schaltet den Relais etwa alle halbe Stunde (Stichwort:
Zeitkonstante: 12 Minuten für 0,5°C --> 24 Minuten für 1°C).
Über einen Optokoppler + Solid-State-Relais wäre eine
Wellenpaketsteuerung möglich. Wenn du dazu dem ATMega32 noch
ein Thermoprofil (Wärmekapazität, Wärme-Ableitung bei verschiedenen
Außentemperaturen (was Innen- und Außensensor erfordert), und-und-und
übergibst, wird es kaum besser, aber du vielleicht glücklicher?
Aber wozu???
Es hat doch vorher mit altmodischer Primitiv-Technik auch den
Zweck erfüllt...
Das kann man mit zeitgemäßen Mitteln nachbilden. Fertig!
Na gut, wenn du es zum Spaß machen willst: ich würde es so machen, dass
ich mir ein SSR besorge und dann Wellenpaketsteuerung in
Delta-Modulation bzw. nach dem Bresenham-Algorithmus ansteuern, damit
man den Heizer stetig regeln kann.
Dazu würd ich dann die Daten aufnehmen, wann es wie warm war und wie die
Stellgröße dabei aussah und es wahrscheinlich mit einem PT2, PT3 oder
PTn modellieren, sobald mal eine gute Menge an Daten gesammelt ist.
Dann kann man spielen, was das Herz begehrt. Am Ende sind zeitoptimale
Regler für nicht schwingungsfähige Strecken aber immer bloß Bang-Bang,
also an-aus.
Dann würd ich bei großen Abweichungen eben per reinem an-aus regeln und
in der Nähe des Sollwerts auf einen stetigen PI-Regler umschalten.
Dann später eine Vorsteuerung entwerfen...
Du siehst, man kann auch aus den kleinsten Aufgaben riesige Komplexität
schaffen und wenn es Hobby und zum Lernen sein soll, ist es ja egal.
Aber vertu damit nicht zu viel Lebenszeit, besonders bei so schönem
Wetter ;)