Einen PID Regler zu programmieren ist kein Problem, da gibt es Code Snippets oder ChatGPT für wenn man es nicht selber kann.
Das Problem ist, dass keine PID Regelung, egal wie optimal parametriert, mit meiner Espressomaschine (z.B. - jedes takende Gerät) klarkommt. Das Problem ist (auch) die 'Totzeit' bzw. nachträgliche Istwert-Information. Das Diagramm zeigt die Kaffeemaschine im 1-Sekunden Zyklus vom Zähler:
Auf einen (oder auch 2) Vollgaszyklus folgt ein Ausschalt(Viertelgas)schaltzyklus. Da nur auf die bereits erhaltene Information reagiert werden kann, passiert folgendes:
- Der Regler sieht die 1400W und fährt die WR-Leistung (für den folgenden Zyklus!) hoch. Im folgenden Zyklus ist die Leistungsaufnahme der Kaffeemaschine aber wieder runter -> der Regler fährt die WR-Leistung (für den folgenden Zyklus!) wieder runter. Im folgenden Zyklus ist die Leistungsaufnahme aber wieder hoch -> das Spielchen geht von vorne los.
Ein 'normaler' Regler sorgt also immer für hohe WR-Leistung bei gerade niedrigem Verbrauch des taktenden Gerätes und für niedrige WR-Leistung bei hoher Leistungsaufnahme des taktenden Gerätes (wenn das ganze System schnell genug ist).
Wenn der Regler entsprechend langsam parametriert wird, macht der WR im Schnitt die Hälfte (oder eben einen Teil) der Leistungsaufnahme.
Mit einem selbst programmierten Regler und der Kenntnis meiner Kaffeemaschine kann ich aber z.B. folgende Startegie fahren:
-
Wenn der Akku voll ist, fährte der WR so schnell wie möglich auf maximale Aufnahme der Kaffeemaschine hoch und bleibt auf der hohen Leistung, bis die Kaffeemaschine wieder ganz aus ist (bsw. 3 Sekunden auf 0), und fährt dann maximal schnell wieder runter.
-
Wenn der Akku nicht mehr so voll ist, fährte der WR auf die mittlere Leistungsaufnahme der Kaffeemaschine und bleibt auf der Leistung, bis die Kaffeemaschine wieder ganz aus ist.
-
Wenn der Akku gegen leer geht, ignoriert der Regler die Kaffeemaschine und deckt einfach nur kontinuierlich die Grundlast ab.
Dabei kann man dann natürlich auch noch aktuelle PV-Leistung und Uhrzeit und für den (restlichen) Tag prognostizierte Einstrahlung und was weiss ich noch alles berücksichtigen, je nachdem wie weit man das treiben will.
Eine solche 'intelligente' Regelstrategie geht mit (nur) der Trucki-Stick Regelung nicht.
Grenzen hat eine Regelung bezüglich der Sprungantwort des WR. Wenn ich von 50W auf 1000W stelle, braucht der WR ja auch ein bischen Zeit, bis er wirklich 1000W ausgibt.
Wenn ich aber die Sprungantwort des WR kenne, kann ich mit meiner eigenen Regelung die Momentanleistung des WR in der Regelung nachbilden und benutzen statt der Shelly- oder Zählerinformation (aus der momentanen Summe am Übergabepunkt). Damit kann ich Schwingen stark reduzieren.
Wenn man bei dem Trucki Regler das Abtast-Intervall auf 250ms stellt, den Average aber auf 20, hat man eine Reaktionszeit (oder eine Tiefpass-Zeitkonstante) in der Größenordnung 20*250ms = 5 Sekunden.
Diese Zeitkonstante muss in einem passenden Verhältnis zur Sprungantwort des WR stehen und auch die PID Parameter müssen entsprechend abgestimmt sein. Man hat ja praktisch mehrere hintereinander geschaltete Regler. Mit meiner eigenen Regelung und der nachgebildeten Momentaneistung des WR kann ich die beiden Regler praktisch zu einem machen.
Grüsse!