PV Überschuss verwerten mit Tasmota32

  • Es ist mit einfachen Mitteln möglich, einen Leistungssteller mit Wellenpaketsteuerung umzusetzen.

    Hierzu benötigt man

    • ESP32 mit Tasmota32
    • Ein Solid State Relais mit Null-Spannungsschaltung
    • Kenntnisse im Umgang mit den PWM Befehlen

    Ich verwende dieses Verfahren um die Überschussleistung meines Balkonkraftwerkes an

    einen Heizstab für Brauchwasser weiterzuleiten.

    Damit lässt sich die PV Energie fast zu 100 % nutzen.


    John

    2 Mal editiert, zuletzt von John66 (22. Mai 2023 um 22:33)

  • Hallo opferwurst,

    die Erfassung der elektrischen Leistung erfolgt über einen HICHI-Lesekopf und Tasmota-Scripting.

    Im gleichen Script kann man auch gleich den 3-Punkt-Regler implementieren, den man für den Leistungssteller benötigt.

    Alternativ ist das auch über ein beliebiges SmartHome-System möglich (z.B. NodeRed)

    Der Leistungssteller arbeitet mit einer PWM-Frequenz von 2 Hz.

    Die PWM-Frequenz muss ein ganzzahliges Vielfaches der Netzfrequenz sein.

    Deren Periode muss kleiner sein als die Integrationszeit des

    digitalen Zählers, damit die Lastschwankungen aufintegriert werden.

    Die Kommunikation zum Leistungststeller kann entweder via MQTT oder HTTP-API erfolgen.

    Code
    SetOption15 0      stellt auf basis PWM um
    pwmFrequency 2     pwm frequenz auf 2 Hz
    pwm xy             pulsweite xy = 0..1023

    Es können pro PWM-Periode 25 Vollwellen geschaltet werden.

    Beispiel: will man 5 Vollwellen (=20%) innerhalb von 500 ms schalten gibt man in Tasmota folgenden Befehl ein

    Code
    pwm 205

    John

  • Hallo John

    Besten Dank für die Infos. Gehe ich recht in der Annahme, dass Du die Leistung per Wellenpaketsteuerung begrenzt?! Ich hatte dies auch mal mit einem Chiemtronic Leistungssteller (Wellenpaketsteuerung) vor, allerdings sollte man dann folgendes beachten:

    Bei Schwingungspaket werden immer volle Sinusschwingungen an die Last gelegt und somit auch der volle Nennstrom gezogen!

    Lies mal hier die Kommentare durch, dort hat auch jemand mit Wellenpaket geregelt und dann festgestellt, dass er trotzdem aus dem Netz zieht:

    Zitat

    Ich habe bei mir einen Test am Laufen mit einem Halbleiterrelais mit Schaltpunkt im Nulldurchgang das von einem PWM-Signal angesteuert wird.

    Für mein Verständnis verhält sich ein Halbleiterrelais genau gleich wie ein Thyristorsteller mit Halbwellensteuerung (Wellenpaketsteuerung).

    Zur Kontrolle erfasse ich die Ströme von der PV-Anlage und vom EW und zeichne diese in einem Trenddiagramm auf.

    Wichtig bei der Messung ist, dass die Abtastzeit der Trendaufzeichnung genügend performant ist, ich erfasse alle 100ms einen Messwert.

    In der Trenddarstellung ist eindeutig zu sehen, dass bei jedem Schaltpunkt der fehlende Strom vom EW bezogen wird.

    Ich bin daher auf eine Phasenanschnittsteuerung gewechselt.

    Und kannst Du die 3-Punktregelung mal genauer vorstellen?

    Gruss ow

  • Bei Schwingungspaket werden immer volle Sinusschwingungen an die Last gelegt und somit auch der volle Nennstrom gezogen!

    Lies mal hier die Kommentare durch, dort hat auch jemand mit Wellenpaket geregelt und dann festgestellt, dass er trotzdem aus dem Netz zieht:

    Das ist mir klar, daher auch folgende Aussage meinerseits.

    Zitat

    Deren Periode muss kleiner sein als die Integrationszeit des

    digitalen Zählers, damit die Lastschwankungen aufintegriert werden.

    Wenn sich der Bezugszähler kaum noch ändert, ist dies ein hinreichender Nachweis für das Funktionieren des Konzeptes.

    Sollte der saldierende Zähler besonders schnell sein (<100 ms) , stößt das Konzept jedoch an seine Grenzen.

    Soweit ich gelesen haben ist Phasenanschnitt nur bis 200 W erlaubt. Es erzeugt gerade bei großen Leistungen massig Oberwellen, die zu Störungen führen können. Das wollte ich nicht haben.

    Zum 3-Punkt-Regler findet man viele Infos im Netz.

    John

  • Moin John

    Ja das Thema Phasenanschnitt... Zum einen konnte ich das in meinen TABs nicht finden, zum anderen waren auch mal Balkonkraftwerke verboten... ;)

    Aber Deine Wellenpaketsteuerung würde ich gern einmal an meinem Zähler testen. Welches SSR nutz Du hierfür? (Bezugsquelle). Kann ja wahrscheinlich jedes China-SSR mit Nulldurchgang sein, z.B. das 25 DA

    Würdest Du mir neben der allgemeinen WIKI-Erklärung eines 3p-Regler auch die Umsetzung in Deinem Script offenbaren?

    Gruss ow

    Einmal editiert, zuletzt von opferwurst (24. Mai 2023 um 12:30)

  • Hallo John

    Dank für den Link.

    Ich definiere PWM direkt im Script, da ich mehrere PWM-Channels des ESP32 nutze.

    pwmN(-pin freq) = defines a pwm channel N (1..N) with pin Nr and frequency (pin 0 being -64, N=5 with esp8266 and N=8 with esp32)

    pwmN(val) = outputs a pwm signal on channel N (1..N) with val (0-1023)

    Momentan steuere ich meine Überschussverbraucher (Akku und Heizer) mit einer 2-Punkt Regelung welche halt immer etwas schwingt. Für mich aber in einem kleinen und vertretbaren Bereich. Daher hier meine letzte Anfrage, wie Du das mit der 3Punkt-Regelung umgesetzt hast.

    Gruss ow

  • Zitat

    mit einer 2-Punkt Regelung welche halt immer etwas schwingt.

    Ich verwendet im Script einen gleitenden Mittelwert zur Istwertbildung aus dem aktuellen Strom-Verbrauch.

    Hat sich sehr bewährt. Vielleicht hilft es etwas.

    Einmal editiert, zuletzt von John66 (24. Mai 2023 um 22:36)

  • Hallo John

    habe bezüglich Deiner Aussage "Sollte der saldierende Zähler besonders schnell sein (<100 ms) , stößt das Konzept jedoch an seine Grenzen." noch kurz gesucht und für zwei Hersteller folgendes gefunden:

    Moderne digitale Energiezähler (konkret neuste Generation von z.B. Landis&Gyr) haben ein Samplinginterval von 100 ms.

    EasyMeter Drehstromzähler der Reihen Q3A, Q3M oder T3M ermittelt die Energie in 1 Sek (1000 ms) Intervallen. Die Energiemesswerte der Einzelphasen werden dabei miteinander verrechnet (saldierender Zähler), das Gesamtergebnis dann je nach Vorzeichen auf die zugehörigen Energieregister inkrementiert.

    Die interne Abtastrate der ADCs liegt bei 500kHz um auch nicht-sinusförmige Messgrößen bis über 150kHz sicher und richtig erfassen zu können.

    Ich habe übrigens einen von Easymeter. Was meinst Du, sind die schneller als 100ms....?


    Hier auch mal eine Grafik von heute Vormittag meiner derzeitigen Überschussverwertung mit Ladestrom vom Akku, Dimmlevel (wird in pwm umgerechnet) und Hauptstromzähler. Wie sieht das bei Dir aus, hast Du weniger "Zacken"?

    Gruss ow

  • Zitat

    EasyMeter Drehstromzähler der Reihen Q3A, Q3M oder T3M ermittelt die Energie in 1 Sek (1000 ms) Intervallen

    Es geht bei den von mir erwähnten 100ms um die Integrationszeit über die Energie, Schwankungen innerhalb dieser Zeitspanne werden vom Zähler aufintegriert.

    Wenn dein EasyMeter dieses in 1000 ms macht, sollte eine PWM-Frequenz von 2Hz kein Problem sein.

    Bei einer PWM-Frequenz von 10Hz passen ja nur noch 5 Vollwellen der Netzfrequenz in die PWM-Periode rein, also kann man nur noch 5 Leistungsstufen realisieren (Mit Halbwellen immerhin 10). Die nächste mögliche PWM-Frequenz wären 25Hz, hier passen nur noch 2 Vollwellen rein.

    Je größer die PWM-Freuquenz wird, umso weniger Stellmöglichkeiten hat man.

    Zitat

    Wie sieht das bei Dir aus, hast Du weniger "Zacken"?

    Mir sind die Zacken nicht wirklich wichtig, sondern eher der Verlauf des Bezugs-Zählers.

    Der sollte bei Überschuss kaum noch steigen. (Hier ab 12:00 Uhr)

    Mein Regler versucht den Verbrauch zwischen 5 und 40 Watt zu halten, daher steigt der Verbrauch auch bei Überschuss leicht an.

    John

    Einmal editiert, zuletzt von John66 (27. Mai 2023 um 00:31)

  • Kann es sein, dass auch Deine Steuerung nicht TAB-konform ist?! Laut dieser Info darf man bei Verbrauchern mit 1000W nur 100mal pro Minute schalten (bei 1700W sogar nur 10x/min). Bei Deinen 2 Hz wäre ich mit 120 Schaltvorgängen schon bei 1000W darüber?! Macht es jetzt noch spannender für mich 😎 Ich werde die Tage mal eine Testschaltung zusammenbasteln und bin auf Zählerwerte gespannt...

    Gruss ow

  • Hallo zusammen !

    Ich lese hier sehr interessiert mit, und habe nun auch eine Testschaltung zusammen gestrickt und teste diese nun.

    Aufbau:

    - Wemos D1 ESP32 mit Tasmota als 2Hz PWM Genarator, gesteuert per MQTT von Fhem.
    - Angeschlossen ein 600 W Heizstab in einem Bad-Handtuchheizkörper.
    - Smarter Stromzähler Easymeter Q3AA1274 mit Lesekopf per ESP und Tasmota per MQTT an Fhem angebunden.
    - Als SSR Relais ein SSR-25 DA.

    Funktioniert soweit sehr gut.

    Nun ist mir beim optimieren folgendes aufgefallen:
    Bei Ansteuerung von z.B 80% PWM zieht der Heizstab per Leistungs-Plug gemessen konstant 441 W. Wenn ich dann die Phase meines Stromzählers beobachte an der die Schaltung angeschlossen ist, und den Hausverbrauch dieser Phase abrechne (der zu dem Testzeitraum konstat ist) ergibt sich eine kontinuierliches fallen und steigen der gemessenen Leistung.
    Und zwar beginnt der Wert bei 349 W und steigt dann innerhalb einer Minute und zwölf Sekunden auf 529 W an. Dann beginnt der Wert wieder zu fallen bis er bei ca 349 angekommen ist um dann wieder anzusteigen.
    Das wiederholt sich also ca alle 2:24 Minuten.

    Ich verstehe dieses Verhalten nicht, zumal mir das meine ganze Null Einspeise Mimik durcheinander bringt. Der Zwischenstecker zeigt während des ganzen Spiels konstant 441 W.

    Liegt das an dem SSR, weil es nicht im Nulldurchgang schaltet ? Oder muß ich exakt die PWM Werte aus der Tabelle verwenden (ich hab das mit den Vollwellen, Periode PWM Frequenz nicht ganz geblickt) ?

    Was läuft da falsch ?

    Gruß Skusi

  • Hallo Skusi,

    Zitat

    Liegt das an dem SSR, weil es nicht im Nulldurchgang schaltet ?

    Das von mir vorgeschlagene SSR hat die Zero-Cross-Detection eingebaut.

    D.h. die Spannung wird ausschließlich beim Nulldurchgang geschaltet.

    Es werde als nur Halb- bzw Vollwellen durchgelassen und nur dann ist es auch eine Wellenpaketsteuerung.

    Sehr schön veranschaulicht hier https://de.wikipedia.org/wiki/Schwingungspaketsteuerung.

    Zitat

    Oder muß ich exakt die PWM Werte aus der Tabelle verwenden (ich hab das mit den Vollwellen, Periode PWM Frequenz nicht ganz geblickt) ?

    Es ist wichtig das Konzept zu verstehen, sonst wird es mit der Fehleranalyse schwierig.

    Wenn du mit einer PWM-Frequenz von 2 Hz arbeitest, hast du eine PWM-Periode von 500 ms. Die Periode der Netzfrequenz (20ms) passt hier 25x rein.

    Mit dem pwm-Befehl bestimmt man die Länge des Pulses innerhalb der PWM-Periode.

    Allgemein : pwm xx
    mit xx in [0..1023]

    pwm 1023 ==> PWM-Pulsdauer = PWM-Periode, alle 25 Wellen werden durchgelassen

    pwm 0==> PWM-Pulsdauer=0 ms, keine einzige Welle wird durchgelassen

    pwm 41 => Pulsdauer= 20 ms = 1 Welle wird durchgelassen

    Mann muss die xx so wählen, dass man Vielfache der 20 ms trifft, wie in der Tabelle dargestellt.

    Also ja es ist essenziell die richtigen Werte zu wählen.


    John

  • Hallo John,

    vielen Dank für die Erklärungen. soweit habe ich das auch verstanden.

    Aber wenn das SSR nur im Nulldurchgang schaltet, warum ist es dann so wichtig die Pulslänge genau auf Wellendauer abzustimmen. Schaltet das Relais nicht sowieso erst beim nächsten Nulldurchgang nach dem Puls Anfang bzw Ende ?

    Woran genau kann ich erkennen ob mein Relais im Nulldurchgang schaltet. Ist es nicht so das das alle SSR´s machen ? In den Datenblättern habe ich keine Angabe dazu gefunden. In einem anderen Forum war aber die Rede von meinem Relais im Zusammenhang mit Zero Crossing

    Da ich ein anderes Relais verwende als das was Du beschrieben hast:

    bin ich mir da nicht sicher.

    Kann das Verhalten mit dem Steigen und Fallen der Leistung denn damit zutun haben ?

    Gruß Skusi

  • Zitat

    Woran genau kann ich erkennen ob mein Relais im Nulldurchgang schaltet.

    Es wäre schon gut, wenn der Hersteller das bestätigen würde.

    Mit einem Oszilloskop könnte man das sicher klären.

    Zitat

    Aber wenn das SSR nur im Nulldurchgang schaltet, warum ist es dann so wichtig die Pulslänge genau auf Wellendauer abzustimmen. Schaltet das Relais nicht sowieso erst beim nächsten Nulldurchgang nach dem Puls Anfang bzw Ende ?

    Die Frage ist am Ende in welcher Größenordnung diese Ungenauigkeiten auftreten. Wenn diese zu groß werden, nimmt der Puls ggf noch die nächste Halbwelle mit.

    Zitat

    Kann das Verhalten mit dem Steigen und Fallen der Leistung denn damit zutun haben ?

    Wie auch du selbst, vermute ich , daß dein SSR mit zero-cross-detection arbeitet. Frag den Hersteller oder besorge ein anderes, bei dem der Hersteller diese Eigenschaft bestätigt. Ein ordentlicher Kühlkörper wäre sicher auch nicht schlecht.

    Vorher solltest du es mit einer PWM-Frequenz von 5 Hz (Periode 200 ms) versuchen.
    Möglicherweise ist dein Hauszähler zu schnell.