• 26.04.2024, 17:42
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Logikproblem (Temperaturregelung)

Montag, 12. Januar 2009, 12:59


Servus Leute,

ich sitze hier gerade vor einem logikproblem, dass mir irgendwie ums verrecken nicht in den Kopf will...



folgende Situation:

Regelwert einer Heizung zwischen 0 und 255 ($heizung)

Der einstellbare Temperaturbereich der gewünschten Temperatur liegt zwischen 20 und 60°C ($eingestellte_Temperatur)



Nun zum Problem:

$heizung soll bis ca. $aktuelle_temperatur == ($eingestellte_Temperatur - 5) mit 255 laufen und dann xx zurückschalten, bis $eingestellte_Temperatur erreicht ist

wenn $aktuelle temperatur < ($eingestellte_temperatur - 2) dann soll $heizung wieder solange heizen, bis $aktuelle_temperatur == $eingestellte_temperatur



Jetzt stellt sich für mich die frage, wie ich das "xx zurückschalten bis temp erreicht" bewerkstellige? Also um wie viel soll $heizung zurückgeschalten werden um trotzdem die Temperatur zu erreichen ohne darüber zu kommen.

Ich will hald nicht dauerhaft auf Vollgas heizen, bis die temp erreicht ist und dann abschalten da sonst die gewünschte Temperatur überschritten werden würde, sondern es soll quasi langsam zurückgeschalten werden bis die temp erreicht ist und dann gehalten werden.

Ich hoffe es ist einigermaßen verständlich ;D



ps. wens Interessiert: Das ganze wird eine Temperaturregelung für eine Sitzheizung. Die gewünschte Temperatur soll per Taster eingestellt werden und wird auf einer 7-Segment Anzeige (oder LCD - dann aber mit noch anderen Infos - ma guggn) ausgegeben.

Soweit funktioniert die "analoge" Regelung der Heizung schon auf einem Testaufbau (es hängen hald an der PWM noch LEDs und keine Heizmatten). Einzig die Automatik macht noch Zicken.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »KillerX« (12. Januar 2009, 13:02)

Da steht nix :-P

Montag, 12. Januar 2009, 13:03

sry doppelpost...

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »KillerX« (12. Januar 2009, 13:05)

Da steht nix :-P

Montag, 12. Januar 2009, 23:37

Deine Frage ist IMHO die zentrale Frage bei einer jeden Regelung - wie erreiche ich schnell und genau den Sollwert, ohne dass meine Regelstrecke ins Oszillieren gerät? Solange diese Frage nicht gelöst ist, hast Due *keine* Regelung, sondern bestenfalls eine Steuerung.

Und daher verstehe ich Deinen Satz "Soweit funktioniert die "analoge" Regelung der Heizung schon auf einem Testaufbau " nicht ganz. Wenn Du tatsächlich eine funktionierende analoge Regelstrecke am Laufen hast, dann kannst Du deren Regelverhalten ja einfach ausmessen und die analogen Spannungswerte mittels Dreisatz auf digitale Regelwerte umrechnen. Aber vermutlich meinst Du, dass die Steuerung schon funktioniert, aber eine Regelung eben noch nicht.

So, genug Korinthenkackerei.

Der lange Lösungswert ist, eine echte Regelung aufzubauen, das ist aber nicht ganz trivial. Erste Grundlagen gibt's z.B. hier. Ich würde bei einer Heizungsregelung einen PI-Regler nehmen.

Aber für eine Heizungsregelung ist das IMHO Overkill, wenn Du nicht öfter weitere Regelungen zu bauen beabsichtigst. Probier's halt aus! Du musst eben schon *vor* erreichen der Solltemperatur die Heizleistung etwas zurücknehmen, sonst gibt's tatsächlich Überschwinger - der Sitz wird erst mal zu warm, kühlt dann wieder ab, wird dann wieder zu warm usw.
Wenn Du aber bei einer großen Abweichung von der Solltemperatur (eiskalter Sitz) erst mal volle Pulle heizt, bei z.B. 10 Grad unter Soll auf halbe Leistung 'runterschaltest, bei 5 Grad unter Soll auf viertel Leistung und bei Solltemperatur auf reine Temperaturerhaltung mit vielleicht 5 oder 10% Leistung, dann dürfte da nix schwingen. Die groben Schaltstufen merkt kein Mensch, weil eine Heizung ein ziemlich träges System ist. Trotzdem kannst Du es natürlich auch mit mehr Schaltstufen probieren. Die genauen Werte sowohl für die Temeraturstufen, an denen Du die Heizleistung drosselst als auch die Leistungsstufen musst Du austesten; wie schnell die Heizmatte reagiert, wieviel Wärmeenergie sie speichert, da gibt's soweit ich weiß keine Normwerte...

Dienstag, 13. Januar 2009, 09:36

Ersetze das "analoge Regelung" durch "analoge Steuerung" - hast schon recht ;)

Taster drücken -> LED wird heller oder hald dunkler (ganz simpel per PWM gelöst)



Die Idee mit den Schaltstufen hatte ich auch schon - habs aber bisher noch nicht ausprobiert, da es etwas umständlich währe den aktuellen Testaufbau ins Auto zu verfrachten ;)

Wenn ich mal Zeit finde um mir endlich ne neue Platine zu ätzen und das bestellte Display endlich da ist, ich den Code zum auslesen des Touchscreens fertig hab und der funktioniert gehts mal ins Auto zum testen. (nicht wundern über die Reihenfolge wie ichs angehe ;D )
Da steht nix :-P

Dienstag, 13. Januar 2009, 11:01

Also ich würd auch sagen, einfach ausprobieren.

Was du suchst ist ein integrierendes Regelverhalten, habe noch nicht gesehn wie man das is Software macht aber den Namen hat das ja nicht ohne Grund... ^^
Ich schreibe in Foren/Messengern/etc schneller als ich denken oder überhaupt tippen kann, Fehler und Edits in Massen bitte einfach ignorieren :sleeping:

Ähnliche Themen