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...
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...
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.
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...
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.
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
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...
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.