Forum: Mikrocontroller und Digitale Elektronik Temperaturregelung für Heizfolie


von AVRli (Gast)


Lesenswert?

Hi Forum,

ich brauche mal einen Denkanstoß wie ich folgendes am einfachsten in C 
realisieren kann.

Die Heizfolie wird mit PWM angesteuert und dieser Heizwert soll immer 
nur so hoch sein, wie er für die aktuelle Temperatur benötigt wird.

Zum Anfang wird die IST Temperatur viel kleiner als die SOLL Temperatur 
sein. Hier möchte ich dann mit der vollen Leistung heizen. (PWM 255)

Um so mehr sich die IST- der SOLL Temperatur nähert soll der PWM Wert 
kleiner werden da nicht soviel Heizleistung benötigt wird.

Ist die IST- in der Nähe der SOLL Temperatur dann soll diese konstant 
gehalten werden.

Zwei Sachen habe ich durch probieren herausgefunden.
1. Bei PWM 255 "schwingt" es doch gewaltig, also immer zuviel Power.
2. Der Punkt der die Temperatur ungefär konstant hält liegt bei PWM 98

Nun wäre es gut wenn das adaptiv funktionieren würde.

Wie könnte da ein Lösungsansatz aussehen?

Vielen Dank für jede Hilfe.
Gruß AVRli...

von Wolfgang (Gast)


Lesenswert?

AVRli schrieb:
> Wie könnte da ein Lösungsansatz aussehen?

PID-Reger heißt dein Suchbegriff.

von AVRli (Gast)


Lesenswert?

Danke Dir, ich lese mich mal ein! :-D

von AVRli (Gast)


Lesenswert?

Ich habe den PID Regler soweit nach dem ATMEL APPNOTE AVR221 integriert 
und bekomme uch ein Ergebnis was zu der Temperaturdifferenz passt.

Nun rufe ich die pid_controller Funktion alle Sekunde auf und gebe mir 
das Ergebnis auf dem UART aus.

Es scheint als wäre es immer nur die Differenz zwischen den Temperaturen 
die zurück kommen. Kann ich das irgendwie überprüfen?

Kann ich den Wert dann direkt zum PWM addieren oder ist noch was zu 
beachten sußer das ich den Bereich 0-255 nicht verlasse?

PWMout=PWMout+PIDres;

Temperaturen in Grad * 10.

IST   SOLL   PIDres    PWMout
---   ---    ---       126
238   250    13        139
238   250    12        151
248   250    2         153
250   250    0         153
252   250    -2        151
258   250    -6        145


Gruß AVRli...

von Stefan F. (Gast)


Lesenswert?

6 Stunden ist ein bisschen wenig, um sich mit einem PID Regler zu 
beschäftigen. Schau Dir dessen verhalten erstmal genauer an und 
experimentiere damit intensiver.

von AVRli (Gast)


Lesenswert?

Habe übersehen das nur für P ein Wert von 1.00 festgelegt war, I und D 
waren beide 0.00, da konnte natürlich kein Einfluss von I und D sichtbar 
werden.

Gut Reaktion ist nun wie erwartet.
(Vorher war auch richtig, war ja nur der P Anteil!)

Nun muß ich meine Stellgröße "nur noch" mit dem PWM Wert verheiraten.



Gruß AVRli...

von Joe F. (easylife)


Lesenswert?

Da Heizelemente ja sehr träge sind, kann man es sich eigentlich sehr 
einfach machen: 100% an, bis Temperatur 0.5 Grad über Soll. Dann aus bis 
0.5 Grad unter Soll. Die 'PWM' ergibt sich dann ganz von selbst. Die 
Hysterese kann natürlich auch kleiner gewählt werden wenn nötig.

von Georg (Gast)


Lesenswert?

Joe F. schrieb:
> kann man es sich eigentlich sehr
> einfach machen:

Wegen der verzögerten Reaktion, die die meisten Heizungen nun mal 
aufweisen, hat das nicht nur zur Folge, dass die Temperatur ständig um 
+- 0,5 Grad um den Sollwert schwankt, sondern eher um mehr als +- 1 
Grad. Einfach ist das schon, aber als Regelung eher ein jämmerliches 
Ergebnis.

Georg

von AVRli (Gast)


Lesenswert?

Die Methode nach "Joe F" war der erste Versuch, das kann ich aber 
getrost vergessen! Genau weil es da schwingt wie verrückt brauche ich 
die PID Regelung. Ich bin zufrieden das "Wolfgang" mir das richtige 
Stichwort genannt hat.

Ich muß Georg einfach recht geben, die Temperatur wird über den Sollwert 
einfach viel weiter erhöht, beim abkühlen fällt sie weiter als ich es 
möchte. +/- 0.1 Grad darf sie schwanken und was soll ich schreiben mit 
dem PID Regler geht das ganz ausgezeichnet.

Ich habe mir die Werte für Kp, Ki und Kd einstellbar gemacht und habe 
nun mit der Heizung ein bisschen experimentiert. Geniale Lösung!


Danke an Alle, ich bin happy, hoffe ich habe nichts übersehen. :-D
Gruß AVRli...

von Wolfgang (Gast)


Lesenswert?

Joe F. schrieb:
> Da Heizelemente ja sehr träge sind, kann man es sich eigentlich sehr
> einfach machen: 100% an, bis Temperatur 0.5 Grad über Soll. Dann aus bis
> 0.5 Grad unter Soll.

So erbärmlich sieht dann auch das Regelverhalten vieler Zwei-Punkt 
Temperaturregler aus.

von Joe F. (easylife)


Lesenswert?

Klar, wenn die Anforderung +/-0.1° heisst, muss man den Aufwand treiben.
Für den beheizbaren Aussenspiegel, oder damit das Wasserrohr nicht 
einfriert reichen die einfachen Lösungen.

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.