[quote data-userid="20693" data-postid="152160"]Was war denn die Anomalie? Ich könnte das testen, aber ich wüsste gerne was das Problem vorher gewesen ist, damit ich weiß worauf ich achten soll.
In C++ ist der Teil mit > 255 eh mit unit8 erledigt, da es dann ja überläuft...
[/quote]
Oben hatte ich vergessen, den Fix auf github zu verlinken. Der Bug bestand darin, bei hohen Werten des niedrigen Bytes eine ungültige Prüfsumme zu erzeugen. Das produziert bei manchen Leistungsanforderungen (> ~250,500,750) Sprünge in der Erzeugung, da die Regelung die ausgefallene Einspeisung "kompensiert". Worauf hin ggf. wieder in einen fehlerhaften Bereich geregelt wird. Leider fand der Bug im Rahmen eines Bugfix Einzug in den Code........
Prüfe mal deinen Code mit Werten von 1-900, immer +1 und lange genug, damit dein Monitoring da auch mitkommt. Sollte das uint8 den Effekt erschlagen, so wirst du eine gerade Linie bekommen, so wie meine oben gezeigte.
Sollten "fiese Spikes" bei Werten unter 20 auftauchen, adaptiere mal meinen Code.
Danke für die Mithilfe!
Wie kommt denn hier das Überschießen nur beim Hochregeln zustande?
Das ist kein Überschießen, sondern ein schnelles Abregeln beim Einsetzen der Last. Unter 50V wird per Leistungskurve spannungsgeführt ab-geregelt, aber durch die Takt-Pause steigt diese natürlich zwischenzeitlich an.
Ich habe keine Sprünge, aber ein paar kleine Lücken.
Also der Soyo reagiert nicht auf jeden +1 Schritt, sonern lässt zwischendurch 2-3 aus. (Wobei das schwer zu sagen ist, ob da die Messung einfach zu ungenau ist. Die schwankt ein paar W hin und her.)
Ich mache mal später so ein Diagramm, damit man das besser sehen kann.
bisher lief das Scipt ganz wunderbar. In Vorbereitung für den 2. eSmart habe ich den rs485 Adapter tauschen müssen. Nach dem Update und den üblichen Anpassungen startet nun das Script nicht mehr. Nachdem ich alle Änderungen rückgängig gemacht habe tut sich nun gar nichts mehr. Hast du eine Idee?
Danke und viele Grüße
Fabian
Traceback (most recent call last):
File " Link entfernt ", line 187, in <module>
print("%s, voltage" % (strftime("%H:%M:%S")),d['bat_volt'],'V, PV power',d['chg_power'],'W, load power',d['load_power'],'W\n')
KeyError: 'bat_volt'
vzlogger@raspberrypi:/home/pi$
Hast du irgendwo die strategie der regelung beschrieben?
Ich gehe davon aus dass verbrauch besser ist als einspeisung. Weil verbrauch zahle ich 38ct, einspeisung bekomme ich 8ct. Also verliere ich bei jedem kwh einspeisung 30ct. Deshalb mache ich beim soyo leistung hinauffahren langsam während das hinunterfahren sofort geschieht.
Die shelly leisungsabfrage ist alle 10s, die msg zum soyo alle 1s. Denke schnellere regelung bringt wenig?
[quote data-userid="23513" data-postid="158108"]Hast du irgendwo die strategie der regelung beschrieben?[/quote]Eine Übersicht des Themas gibt's hier: Übersicht
Eine Beschreibung gibt's hier: Beschreibung und Anleitung
Du meinst den Eigenverbrauch aus der Batterie im Vergleich zum Volleinspeisen?
Ein Akku ist wenig wirtschaftlich und trägt einen Produktions-CO2-Rucksack mit sich. Auch das ist ein Grund für mich, das zu verbessern / lindern.
Je schneller die Regelung ist, desto besser. Beim Victron kämpfen sie mühsam um Sekundenbruchteile.
Eine VDE Norm verlangt, das nicht mehr als 400 W / s ausgeregelt wird, selbst ein "sofortiges Abregeln" durch die Steuerung wird durch den Wechselrichter verzögert.
In Verbindung mit 10 Sekunden ist ein langsames "anrampen" doppelt unproduktiv, da Lasten i.d.R mehrmals pro Minute getaktet werden.
Zuerst verhindert es, die Last zu bedienen und dann wird der hohe Pegel viel zu lange gehalten, wo die Last längst weg ist.
Mein Monitoring mit dem Volkszähler hat eine Sekunde Interval, jede Sekunde schickt der Stromzähler ein Datenpaket, das gibt den Takt vor.
Ich versuche getaktete Last mit einem Rampenmodus besser ab zu decken.
Gutes Monitoring ist enorm wichtig für solche Überlegungen.
Ich habe bei zu schneller regelung oszillation. Sowas wie bei dir im waschmaschinen bild. Dauernd spikes. Nur mit langsamer regelung und leicht gefilterten shelly verbrauchswerten werde ich die spikes los. Der zusatzverbrauch in den 10s ist nicht relevant.
Bei mir hat akkuladung priorität. Einspeisung nur wenn akku voll oder PV leistung zu gross. Einspeisen macht bei 8ct keinen sinn wenn sich mit akku der verbrauch zu 38ct minimieren lässt. Mit 3000 zyklen hält der akku 10 jahre, bis dann bin ich dement und inkontinent, also kein problem.
TY für das ausführlich erklärte projekt. Wertvoll !
[quote data-userid="6567" data-postid="158258"]Absolute Priorität hat die Einspeisung ins Netz. Es wird zuerst soviel Strom eingespeist wie die PV liefern kann oder zur Nullung des Verbrauchs nötig ist. Wenn dann noch Leistung übrig ist, dann wird auch der Akku geladen.[/quote]Der erste Satz alleine kehrt die Aussage um. Hab es geändert und klarer formuliert.
[quote data-userid="23513" data-postid="158300"]Ich habe bei zu schneller regelung oszillation. Sowas wie bei dir im waschmaschinen bild. Dauernd spikes.[/quote]Dann ist die Regelung nicht gut angepasst. Um die Schwingungen zu eliminieren solltest du sowas wie Sägezahn-Erkennung einbauen. Bei der Waschmaschine entsteht die Oszillation durch den anlaufenden und stoppenden Motor, nicht die Regelung.
[quote data-userid="23513" data-postid="158300"]Bei mir hat akkuladung priorität. Einspeisung nur wenn akku voll oder PV leistung zu gross. [/quote]Sollte man zuerst den Akku aufladen?
[quote data-userid="23513" data-postid="158300"]TY für das ausführlich erklärte projekt. Wertvoll ![/quote]Ich freue mich, wenn es jemandem hilft!
Ich habe bei einem meiner zwei Soyos ein ähnliches Verhalten.
Der eine soyo speisst immer ein,wie er soll. Der zweit hat ab und an Aussetzer mit der Meldung DC Power Low ( 52 v , Schwelle ich bei 50 v) und speisst nichts ein. Erst wenn ich kurz die Netzspannung nehme,arbeitet dieser wieder sauber weiter. Die Ursache könnte ich noch nicht ausloten.