Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19001046 - NEU - LBS zur Heizstabregelung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ChrisChros
    antwortet
    ChrisAllgaeu vielen Dank für die Arbeit.

    Einen Kommentar schreiben:


  • ChrisAllgaeu
    antwortet
    So, wie zuvor geschrieben waren jetzt genug Sonnentage um die leicht veränderte Hysterese Funktion zu testen. Jetzt arbeitet diese einwandfrei. Der Baustein wurde im Downloadportal aktualisiert. Viel Spaß damit

    Einen Kommentar schreiben:


  • ChrisChros
    antwortet
    Danke für deine tolle Arbeit. Werde das dann mal testen.
    Aktuell habe ich deinen LBS dahingehend etwas abgeändert, dass ich nun in 5% schritten die Leistung steigern und in 10% Schritten reduzieren kann. Das ganze ist nicht wirklich schön von mir umgesetzt, da fehlen mir einfach die Kenntnisse, aber es scheint zu funktionieren.
    Aber mit dieser Änderung hamonisiert die Regelung viel besser mit der PV-Anlage und dem Akku.

    Einen Kommentar schreiben:


  • ChrisAllgaeu
    antwortet
    ChrisChros
    Danke für Dein Feedback. Ich habe mich gerade mal hingesetzt und nach langer Zeit den Baustein wieder durchgeflöht. Du hattest vollkommen Recht, da war noch ein kleiner Bug bzgl. der Hysterese bei der Solltemperatur drin. Ich habe das mal bei meiner aktiven Version im Haus abgeändert und warte nun auf ein paar Sonnentage zum Austesten. Wenn alles passt, dann lade ich eine neue Version im Downloadbereich hoch. Ist aber absolut unkritisch und eine ganz kleine Änderung, deswegen ist mir der Fehler auch gar nicht aufgefallen, da sich in der Praxis bei meinem Haus eine kleine Hysterese ja fast schon alleine aus der Trägheit und dem leichten Übersteuern beim Aufheizen von selbst ergibt.

    Zu Deiner zweiten Frage: ich habe den Loglevel bei der Variablendeklaration im LBS Quellcode schon voreingestellt. Aus reiner Sparsamkeit habe ich daraus keinen eigenen Eingang für den LBS geschnitzt, da ja sowieso EDOMI immer erst wieder neu gestartet werden muss. Da stelle ich mir den LogLevel immer schon im Quellcode passend ein (es ist die Variable v#5 mit einer Voreinstellung von 7). Ist nicht ganz schön, aber sehr bequem, da ich mit dem Loglevel eh nur bei der LBS Entwicklung herumspiele.

    P.S. habe auch noch einen weiteren (kleinen) Bug bzgl. des Zurücksetzen des kumulierenden Zählers gefunden und ebenfalls korrigiert.

    Einen Kommentar schreiben:


  • ChrisChros
    antwortet
    ChrisAllgaeu
    könntest du bitte noch einen Eingang für das LogLevel integrieren, bzw wo kann ich das im Quellcode ändern?

    Gruß Chris

    Einen Kommentar schreiben:


  • ChrisChros
    antwortet
    OK, mir ist nur gestern aufgefallen das trotz gesetzter 75 °C an E3 die Regelung bei 74 °C ausgeschaltet wurde. Ich werde das heute noch mal beobachten.

    Es scheint tatsächlich so zu sein dass die Abschalttemperatur des Reglers der eingegebene Wert an E3 -1°C ist. Ich habe jetzt 76 °C an E3 anstehen und die Regelung wurde beendet sobald an E2 > 75 °C angestanden haben.
    So verstehe ich auch die Zeil im Quelltext des LBS, das ist ein harter Vergleich und keine Hysterese. Wenn die Temp. an E2 kleiner als der Wert an E3 -1 ist, ist der Regler aktiv. Solbald E2 > E3-1 wird der Regler abgeschaltet.

    Eventuell könnte sowas in der Richtung eine richtige Hysterese abbilden, bin aber auch nicht wirklich firm in php.
    Code:
    $hysteresis = 1.0;
    
    $min_limit = $target_temperature-$hysteresis;
    $max_limit = $target_temperature+$hysteresis;
    
    if ($current_temperature<=$min_limit) {
    return true;
    }
    
    if ($current_temperature>=$max_limit) {
    return false;
    }​
    
    if ( ( ($current_temperature<=$min_limit)===false ) && ( ($current_temperature>=$max_limit)===false ) ) {
    return true;
    }​
    Zuletzt geändert von ChrisChros; 01.03.2023, 13:07.

    Einen Kommentar schreiben:


  • ChrisAllgaeu
    antwortet
    nennt sich Hysterese damit wird verhindert, dass ein permanentes Ein/Ausschalten der Regelung geschieht, wenn die Ladetemperatur im Speicher "gerade so" erreicht wird. Deswegen ein Grad Celsius als Hysterese eingebaut.... Nach Aufheizen des Wassers auf die Zieltemperatur springt die Regelung erst wieder an, wenn das Wasser zumindest wieder um ein Grad sich abgekühlt hat.

    Einen Kommentar schreiben:


  • ChrisChros
    antwortet
    Warum ist bei dem Temperaturvergleich vom Wasserspeicher ein "-1" berücksichtigt?
    Code:
    if ($E[2]['value'] < ($E[3]['value']-1))

    Einen Kommentar schreiben:


  • ChrisChros
    antwortet
    Das ist schon klar, allerdings ist verhält es sich aktuell so, wenn die Einspeiseleistung < der Batterieleistung ist versucht der Regler in der Batterie alles verfügbare in den Akku zu schieben.
    image.png
    Dadurch schwingt sich das Ganze dann auf. Durch das doppelte abziehen der Batterieleistung und der im Heizstabregler min. 5% kann ich das Verhalten umgehen. Natürlich speise ich dann mehr ein als nötig aber so bekomme ich es einfach besser geregelt.
    In dem oberen Bild waren es 15 Sekundenintervalle, aber auch eine erhöhung brachte nicht wirklich Besserung.

    Einen Kommentar schreiben:


  • ChrisAllgaeu
    antwortet
    bei der Einspeiseleistung (am Hausanschlusszähler gemessen) ist bereits schon die Batterieladeleistung ganz natürlich abgezogen... liegt in der Natur der Sache. Wenn Du die Ladeleisung explizit nochmals per Berechnung abziehst, dann hast Du diese Leistung 2x abgezogen. Kann man machen, ist aber m.E. nicht sehr sinnvoll, schafft nur einen kleineren Regelhub

    Einen Kommentar schreiben:


  • ChrisChros
    antwortet
    Das mit dem langsamen Regler habe ich bei mir schon umgesetzt, bin aktuell auch bei 20 Sekunden.
    Ich habe mir nun damit beholfen, das ich nicht die reine Einspeiseleistung betrachte sondern auch die aktuelle Ladeleistung der Batterie berücksichtige. Die verfügbare Leistung an E4 berechne ich mir indem ich von der Einspeiseleistung die Batterieladeleistung abziehe. Zusammen mit den im Regler berücksichtigen min. 5% scheint das nun soweit recht gut zu funktionieren.

    Einen Kommentar schreiben:


  • ChrisAllgaeu
    antwortet
    Ja, ich habe auch einen Speicher im Haus, das ist aber überhaupt kein Problem. Das ergänzt sich sogar prima hier bei mir. Wie ich bereits in diesem Thread mehrfach geschrieben habe, habe ich die Regelungsantwort mit meinem LBS extrem langsam und träge ausgelegt (+/- 10% Leistungsschritt alle 20 Sekunden). Der Batterie - Laderegler ist wesentlich schneller (reagiert ca alle 2 Sekunden). Damit tun die beiden sich nicht weh, und der Batterie-Laderegler hat damit immer Priorität. Der von Dir beschriebene Effekt (Schwingen) tritt dann auf, wenn beide Reglerantworten sehr nahe beieinander liegen, da kann sich gut was aufschaukeln. Habe ich aber, glaube ich schon mehrfach erwähnt.
    liebe Grüße
    Christian

    Einen Kommentar schreiben:


  • ChrisChros
    antwortet
    ChrisAllgaeu
    hast du bei dir an der PV noch einen Batteriespeicher mit angeschlossen?

    Eventuell sollte die Batterieladeleistung noch in deinem LBS berücksichtig werden. Wenn die Einspeiseleistung > Batterieladeleistung dann die Heizstableistung darauf ausregeln.
    Sobald bei mir die Einspeiseleistung < der aktuellen Batterieladeleistung ist wird die Steuerung der Batterie ausgesetzt und nimmt alle freie Leistung auf, dadurch regelt der Heizstab natürlich wieder zurück und das System fängt zu schwingen an.

    Einen Kommentar schreiben:


  • ChrisAllgaeu
    antwortet
    ich schau mir das am Wochenende mal an ob mir was auffällt. Danke für den Hinweis.

    Einen Kommentar schreiben:


  • ChrisChros
    antwortet
    Hallo ChrisAllgaeu
    habe eben versucht den Tageszähler zurückzusetzen indem ich an E6 eine "1" angelegt habe, leider funktioniert das bei mir nicht. Habe es versucht während der Regler aktiv war und auch später noch einmal nachdem er nicht mehr getriggert war. In beiden Fällen wir die kumulierte Heizleistung nicht auf "0" gesetzt.

    Einen Kommentar schreiben:

Lädt...
X