Überschuss einer PV Anlage verwerten.

  • Ich kann nicht ganz folgen.

    Kann mit dem Log nichts anfangen.

    Ich weiß nicht was genau da ankommt. Was liefert curr denn? ein positives oder negatives Value wenn die Sonne scheint?

    Und versuche bitte vor die sachen, die du printest jeweils zu schreiben welche Variable das ist. Und falls sie öfter an verschiedenen Stellen gedruckt wird, dann auch das kurz mit dazu benennen sonst weiß man garnicht wozu die einzelnen Zahlen nun gehören.

  • Kleines Update, habe den Sensor neu befestigt seitdem ist Ruhe.

    Zur Erklärung , der curr ist für die Weiterverarbeitung positiv gedreht worden Zeile 32.

    Original kommt, wenn Überschuss vorhanden, ist eine negativer Wert.

    Ab Zeile 89 habe ich "Websend- Filter" eingebaut.

    Der Erste "schlägt" zu wenn das Dimmlevel <0 ist. Dimmlevel =0

    Der zweite soll alle Dimmlevel>100 als Dimmlevel 100 ausgeben.

    -Andernfalls den Dimmlevel, ganzzahlig so wie er berechnet wurde, ausgeben.

    Im aller ersten Fall wurde der curr nicht negiert und hatte zur Folge das der aller erste Fall eintrat.

    ph1 = pheiz in der ersten Entscheidung.

  • Heute war wieder Sonne:-)

    Das letzte laufähige Script hochgeladen und das Verhalten beobachtet.

    Im großen ganzen lief es.

    Es gab aber aus dem Script heraus noch gelegentlich "Störfeuer" wenn der vorhandene Überschuss kleiner wurde.

    Auch wenn das Script ,wegen großen Überschuss, auf "Vollgas" lief wurde gelegentlich untersteuert obwohl genügend Dampf zur Verfügung stand. Wasserkocher o.Ä. konnten nicht Schuld sein. Die PV Anlage schaufelte 3KW ins Netz

    Der Sensor konnte es zweifelsfrei auch nicht mehr sein.

    Nun war ich über die letzten Tage selbst nicht ganz untätig und herausgekommen ist tatsächlich eine funktionierende Hirnerweichung:

    Dieses Script läuft auf einem Sonoff Basic im Zählerkasten.

    Wünsche einen guten Rutsch und ein frohes neues Jahr!

    Nochmals Dank an alle Beteiligten!

  • Hab das nun endlich mal zusammengebaut und heute mal getestet:

    https://snapshot.raintank.io/dashboard/snap…F?orgId=2&kiosk

    (Graph wird nicht dargestellt ?!)

    Das Scrpt:

    als Verbraucher hatte ich einen E-Heizer mit 1500W angehängt. Die S20 Steckdose mit Heizlüfter war abgeklemmt.

    Läuft also noch nicht so wirklich rund. Was könnte man noch machen?

  • opferwurst

    Woah, ich bin gerade so überhaupt nicht mehr im Thema.

    Hab ich das richtig im Kopf, dass die Leistung des Heizers je nach PV Leistungsüberschuss angepasst werden sollte?

    Dem Graph zu entnehmen passiert das sogar, allerdings stottert er dann wieder zurück, weil der untere Schwellwert passiert wird.

    Ohne den Code nun vor Augen zu haben (vielleicht kannst du ihn noch einmal posten), lässt sich über die Änderung der Schwellwerte evtl. etwas erreichen?

  • In meinem Script hatte ich folgende Änderungen gemacht:

    -Ausführung des dimmer-Befehls alle 20sec war natürlich zu lang -> auf jede Sekunde geändert

    -die Werte für die Verzögerung «vz» von 1 – 20 getestet

    -pheizstab mit kleineren und grösseren Werten als physischer Wert von 1500W

    Auch habe ich das Script von gnubbel mal getestet. Auch hier habe ich mit dem von ihm angebenen Werten «20» in der dimmerberechnung getestet:

    ;mit pheiz -"20" kann man ein wenig spielen wenn es trotz der Ladegerätanpassung (pheizstab) zu Überschwingern kommt

    dimmlevel=(pheiz-20)*100/pheizstab

    So sah das aus:



    Da beide Scripte bei mir massiv schwingen habe ich folgendes sehr einfaches Script getestet:

    (Achtung nur relevante Teile des Scripts)



    Ist die Einspeisung höher als der Schwellwert wird der dimmer gestartet und jede Sekunde um den Wert 0.5 aufaddiert, ist/wird sie kleiner wird entsprechend subtrahiert.

    Meiner Meinung nach ist so es egal, wieviel Leistung der gesteuerter Verbraucher hat. Die ganze pheiz Ermittlung und Umrechnung auf dimmer entfällt.

    Mir ist klar, dass dies immer hoch und runterregelt, aber das Ergebnis sieht deutlich besser aus:



    Durch den kleinen Auf/Abrechnungswert regelt der dimmer sehr träge. Fällt der Überschuss rapide z.B. durch einen zusätzlichen Verbraucher, braucht der dimmer halt mit 0.5 Schritten halt 200sec um von 100 auf 0 zu kommen.

    Hingegen höhere Werte als 0.5 bewirkten wieder ein grossen Überschwingen, dafür reagiert der dimmer dann schneller bei Veränderungen.

    Hier besteht ganz klar Optimierungsbedarf…

    Einmal editiert, zuletzt von opferwurst (18. Februar 2021 um 09:40)

  • Ich habe die Steuerung samt 1500W E-Heizer mal an eine ShellyPlugS gesteckt und die Verbrauchswerte heute mal mitgeloggt.

    Wie oben beschrieben, sind schnelle Lastwechsel nicht so schön, z.B. über die Mittagszeit das Intervallheizen des Herdes, oder das Abschalten des E-Heizers um 14.05 Uhr, oder bei Beginn und Ende der Wärmepumpentakte.

    Dafür wird ziemlich gut um den Schwellwert von -50W geregelt und der Überschuss wird schön dynamisch vom E-Heizer verbraucht.

  • Vielleicht kannst du einen großen Unterschied einfach abfangen indem du den vorherigen gemessenen Wert zwischen speicherst, dann mit dem neuen aktuellen Wert vergleichst. Sollte der Unterschied sehr groß und negativ sein, schaltest du sofort runter.

  • Habe es nun so gemacht:

    Ich berechne den Wert um den der Dimmlevel an/absteigen soll aus der Differenz der aktueller Einspeisung (oder Bezug) zum Schwellwert und teile diesen durch in meinem Fall 150:

    ofs=(pcurr-sw)/150

    Somit ergeben sich bei grossen Differenzen grössere Sprungwerte des dimmlevels:

    ofs=1000W-50/150 = 6.3 d.h. der dimmlevel wird pro Sekunde um 6.3 erhöht/abgesenkt

    und bei kleineren Differenzen eben kleinere Sprungwerte:

    ofs=100W-50/150 = 0.63 d.h. der dimmlevel wird pro Sekunde um 0.63 erhöht/abgesenkt


    Da sich dabei ja die Vorzeichen ändern , da mal Einspeisung und mal Bezug, werden negative Werte positiv gemacht:


    if ofs<0{

    ofs=-ofs

    }

    aktueller Scriptauszug :


    Vergleich gestern (links) und heute (rechts). Die Ausreisser sind klar kleiner geworden:


    Und noch das schnellere und flachere Einschwingen:



    Ich denke, damit kann ich erstmal gut leben 😊

    Einmal editiert, zuletzt von opferwurst (19. Februar 2021 um 12:19)

  • Da ich selbst immer froh bin, wenn jemand seine Erkenntnisse teilt, hier also eine Zusammenfassung meiner PV-Überschusssteuerung "OW-1"

    Funktionsübersicht:

    Aufbau:


    der OW-1 im Testaufbau mit einem Ölradiator:

    3 Tage Test:


    Mir ist bewusst, dass Phasenanschnittsteuerungen ab gewissen Wattzahlen nicht gern gesehen werden im Stromnetz. (...das waren Guerrila-PVs auch ;))

    Der verbaute Netzfilter ist ein kleiner Beitrag die entstehenden Oberschwingungen abzudämpfen, inweiweit kann ich nicht beurteilen.

    Mir ging es vorrangig um die Möglichkeiten so etwas mal umzusetzen mit einem kleinen Budget (unter 100 EU).

    Mit kleinen Verbrauchern unter 200W ist dies meines Wissens auch erlaubt.

    Vielleicht findet sich noch jemand, der dies genauer beurteilen kann als ich und noch Verbesserungen parat hat, um auch höhere Lasten zu schalten.


    Hier noch bei Interesse meine Teileliste:

    230V Komponenten

    Thyristorsteller 1 x Phasenanschnitt 230V 0 - 10V DC / 25 A

    Kühlkörper für SSR Relais, flache Bauform 125x70mm

    Sicherungshalter für Schmelzsicherungseinsätze für Sicherungseinsätze 10,3 x 38mm

    Keramik-Sicherungseinsatz gR oder aR Größe 1: 10,3 x 38mm / 16 A / gR

    Netzfilter corcom EMI Filter 10VT1 / 250V AC / 10A

    Hutschienen-Netzteil 12VDC 1,25 A 15 Watt Mean Well HDR-15-12 DIN-Rail

    div. Reihenklemmen

    Verlängerungskabel (miitg getrennt als Zu -und Verbraucherleitung)

    Gehäuse mit Montageplatte und Hutschiene


    Stromversorgung und Aufnahme für Wemos

    Lochrasterplatine

    LD1117V33 Spannungsregler - Linear, Typ78 TO-220 Positiv Fest 3.3V 800mA

    Kondensator 10nF und 100uF

    WemosD1 miniPro (oder ....)

    Leuchtdiode + 100R (visuelle Kontrolle Dimmer)


    Wandler Dimmer (PWM) zu 0-10V

    PWM To Voltage Converter Module 0%-100% to 0-10V

    das Script für den "Sender NodeMCU" an einem Easymeter q3B:

    Mein Dank noch einmal an sunburstc für die geduldige Unterstützung!

    Viele Grüsse OW

  • Moin Zusammen,

    während ich gerade eine Olekranon - Fraktur auskuriere habe ich mir das Script von OW nochmal zu Gemüte geführt.

    Nach dem copy/paste funktionierte es leider nicht. Dimmer unknown command..., pcurr wurde nicht gefüttert und das Webdisplay war auch nicht in Ordnung.

    Genug gemeckert ;-)) habe das korrigiert und funktioniert besser als mein eigenes Script.

    Danke OW.

    Nur das lange verweilen im Netzbezug hatte mich noch gestört und habe dafür einfach die Variablen getauscht.

    Nun geht die Regelung, wenn erforderlich, steilflankig auf Nullbezug und arbeitet sich auf den neuen Wert heran.

    Nochmals vielen Dank an OW!!

    Anbei meine Interpretation:

  • Hallo Gnubbbel

    Erstmal gute Besserung!

    Schön, das ich Dir weiterhelfen konnte. :)

    Ich möchte noch folgende Erfahrungen teilen:

    Ich habe von März bis heute 2135kWh erzeugt und davon lediglich 201 kWh eingespeist. Bin damit sehr zufrieden. In der Übergangszeit/Winter läuft damit der E-Heizkörper, im Sommer ein Pooltauchsieder.


    Folgende Probleme hatte/habe ich:

    1. Wenn der "Empfänger-Tasmota" nicht erreichbar ist (ich habe die Heizer an einer Shelly Funksteckdose, welche über Nacht per Zeit Schaltung die Heizer abschaltet), dann ist die Weboberfläche fehlerhaft und unheimlich langsam bzw. nicht erreichbar:

    Das Script funktioniert aber weiterhin (Daten werden ausgelesen). Wenn ich den Websend Befehl im "Sende-Tasmota" deaktiviere ist alles wieder ok. Ist das bei Dir auch so?


    2. Der LD117V33 Spannungsregler hat vor zwei Wochen den Geist aufgegeben. Ich habe diesen gegen einen TSR 1-2433 getauscht. (dieser hat die Kondensatoren gleich mit eingebaut)

    Und noch ein Frage:

    Ich habe günstig einen HLG-600H-48B erworben. Kann ich mit diesem auch eine 12V Batterie laden, mit entsprechenden DC-DC Konverter?

    Alternativ. Kannst Du einen Lifepo4 Akku mit 2.5kW empfehlen, welchen ich dann mit dem 48B laden könnte?

    Viele Grüsse OW

    3 Mal editiert, zuletzt von opferwurst (9. Oktober 2021 um 21:56)

  • Moin,

    danke für die Genesungswünsche.

    Ja wenn die Ziel-URL nicht erreichbar ist stockt es auch bei mir. Aber das kommt so gut wie gar nicht vor.

    Das HLG ist ein gutes Netzteil. Musst dir mal die Spezifikationen runterladen. Ich meine du kannst per PWM nur den Strom regeln. Die Spannung ist bei diesem Teil fest eingestellt - meine ich. Nicht vergessen eine ideale Diode in den Ausgang zu schalten, damit der LED Treiber den Akku nicht sieht.

    Als Batterie habe ich von Aliexpress Lithium Eisenphosphat Akkus gekauft. Über Polen ist es zwar ein wenig teurer aber die Qualität war gut und kein Stress mit dem Zoll. Als BMS habe ich ein Ant BMS verbaut.

    Beste Grüße Arne

    Habe gerade selber nachgeschaut, das Ding kann nur fix 48volt. Für 13 s zuviel und für 14 s ist ein bisschen zu wenig.

    Einmal editiert, zuletzt von gnubbbel (11. Oktober 2021 um 16:31)

  • Hallo zusammen,

    ich bin durch Zufall auf „Überschuss einer PV Anlage verwerten“ gestoßen. Großartige Idee und gleich ausprobiert. Als absoluter Laie ohne elementare Grundkenntnisse stößt man dabei auf unvorstellbare Hürden. Mit viel Unterstützung und Lesen ist es nun zumindest teilweise gelungen.

    Vorhanden ist ein Easymeter Q3DA (Obis! kein SML) Hichi IR Lesekopf mit ESP, ein Shelly1. Lesekopf funktioniert seit vielen Wochen fehlerfrei, und logt bei Bedarf die Daten in eine Exceltabelle zur Auswertung. Das ursprüngliche Script zum lesen des IR Code ist von Github, und läuft bestens. (Ergänzt mit einem Printbefehl zum testen.)

    Problem, es gelingt nicht den Wert von „P_in“ auszuwerten oder mit Print auszugeben. Die Var „P_in“ wird nicht gefunden und in der Konsole sind an Stelle des Wertes immer nur ???..... Wir haben schon sehr viel ausprobiert aber leider nicht dokumentiert.


    Mit  


    then print %upsec5%

    =>WebSend %ur1% Power1 ON

    ist es möglich den Shelly testweise zu steuern, so weit gut. Der ESP sendet und der shelly empfängt. Wir haben aber keinen Ansatz das Problem „P_in“ zu lösen und brauchen Hilfe. Was muss verändert werden damit der Wert von „P_in“ gefunden wird? Ist der Unterstrich evtl. das Problem? Oder ist Obis das Problem….

    Hat jemand eine Idee? Für Eure Hilfe im Voraus vielen Dank