Plug&Play Nulleinspeise-Regler bauen, der mit Überschussstrom heizt?

Hey Leute,
ich wollte mal fragen, ob jemand von euch Verwendung für den folgenden Nulleinspeise-Regler hätte, oder vielleicht sogar Lust hätte, etwas Entwicklungsarbeit mit hineinzustecken. Also Folgendes:
Bei einem Balkonkraftwerk ist es ja so, dass man eingespeisten Strom herschenkt. Eine Einspeisevergütung bekommt man nicht, bzw. die Inanspruchnahme einer solchen wäre wegen der Kosten für den Zweirichtungszähler ein Minusgeschäft. Dieses Verschenken ist ärgerlich, deswegen die Idee: Den überschüssigen Strom lieber im eigenen Haushalt für die Wärmeerzeugung nutzen, als ihn zu verschenken. Wärmebedarf hat man das ganze Jahr über. Im Winter und in der Übergangszeit kann man jede überschüssige Kilowattstunde Strom prima zum Heizen von Wohnräumen verwenden und spart so anderweitige Heizenergie, z.B. Gas, Öl oder Holz. Aber auch im Sommer hat man immer noch Wärmebedarf, nämlich zur Warmwasserbereitung. Egal ob mit einer Heizpatrone im Brauchwasserspeicher oder einem Untertischboiler - auch im Sommer kann man überschüssigen Strom in vielen Fällen verwerten und dadurch andere Energieträger einsparen.
Ziel daher: Einen Regler bauen, der idealerweise wattgenau die Heizleistung einstellt und immer genau auf Nulleinspeisung regelt, so dass man immer genau den PV-Ertrag nutzt, aber keinen Strom aus dem Netz zieht. Und das möglichst plu&play, für jeden einfach anwendbar, kompatibel mit allen nur denkbaren Wechselrichtern, kompatibel mit fast allen Heizgeräten mit Schuko-Stecker und vor allem: kostengünstig. Und das soll so aussehen:

  • Der Regler hat einen Lesekopf am Stromzähler und liest über dessen IR-Schnittstelle die Momentanleistung aus. Ferrariszähler hat man in Verbindung mit Balkonkraftwerken allenfalls vorübergehend, deswegen ist paraktisch immer ein digitaler Zähler vorhanden, und der hat üblicherweise eine IR-Schnittstelle.
  • Der Regler hat einen Stecker, mit dem er in die Steckdose gesteckt wird.
  • Der Regler hat am Ausgang eine Schuko-Kupplung, an die man das Heizgerät seiner Wahl ansteckt. Der Regler funktioniert wie ein Dimmer und gibt immer genau so viel Leistung hinten raus, wie gerade übrig ist. Ist keine Leistung übrig, schaltet er das Heizgerät aus.
    Ich habe das hier mal bildlich dargestellt (Balkonkraftwerk nicht gezeigt - es hängt einfach irgendwo im Hausnetz):

Wichtig ist, dass das alles plug&play ohne feste Installation funktionieren soll und ohne Programmierkentnisse anzustöpseln sein soll. Eine Kommunikation mit dem Wechselrichter ist nicht nötig - der Stromzähler reicht als Informationsquelle.

Und natürlich soll das Ganze billig sein, auf jeden Fall unter 100 Euro, zumindest die Lösung mit Phasenanschnittsteuerung. Im einfachsten Fall nimmt man ein Modellbau-Servo, das das Rädchen eines Dimmers dreht, eine IR-Photodiode als Lesekopf und einen Mikrocontroller. Viel mehr braucht man gar nicht. Die Phasenanschnitt-Lösung ist evtl. nicht ganz TAB-konform (bei Heizgeräten darf man das möglicherweise nur bis 200 W), aber ich habe auch eine Idee, wie man es mit strikt sinusförmiger Stromaufnahme auch halbwegs billig hinbekommen kann.

Daher nun die Frage in die Runde: Würde von euch jemand so etwas haben wollen, wenn es das als fertige Lösung oder zumindest als Bausatz gäbe? Ich habe noch nicht angefangen, es zu bauen, und für mich alleine lohnt es sich vom Aufwand her eigentlich auch nicht. Aber wenn mehr Leute Interesse haben, würde ich mich mal ans Werk machen. Bzw. wenn jemand mitmachen würde, wäre es umso einfacher.

Bin gespannt auf euer Feedback!

Hi,

hatte ich schonmal. Aber es gibt Diskussionen, ob bei Phasenanschnitt die neuen Zähler nicht trotzdem Bezug zählen.

Genauso bei einer (legalen) Wellenpaketsteuerung.

Was wäre denn deine Idee eines Sinus?

Auch die neuen Zähler haben meines Wissens eine Integrationszeit von mindestens 10 ms (also eine Halbwelle), d.h. den Phasenanschnitt sollten sie nicht "bemerken". Wenn man im Winter z.B. einen 500W Halogen-Baustrahler als Raumheizung verwendet, dann ist es vollkommen legal (der ist primär eine Lichtquelle und kein Heizgerät, entsprechend darf man den per Phasenanschnitt dimmen). Bei einem IR-Heizgerät, wie dem in meiner obigen Schemazeichnung, darf man's über 200 W eigentlich nicht. Und bei der Brauchwasser-Heizpatrone auch nicht.

Bei der Wellenpaketsteuerung gibt es Beschränkungen, wie oft man schalten darf. Damit wird man so langsam, dass es der Zähler "merkt". Das geht tatsächlich nicht.

Rein sinusförmige Stromaufnahme geht auf zweierlei Arten: Entweder hochfrequente PWM mit einem IGBT, wobei es bei einer Eigenentwicklung ein Alptraum wird, das durch den EMV-Test zu bekommen. Ich würde mit ein paar Versuchen wahrscheinlich schon eine Schaltung hinbekommen, die mit rein Ohm'schen Lasten funktioniert, aber die wäre dann wahrscheinlich ein Störsender erster Klasse. Und wenn dann irgendjemand auf die Idee kommt, da induktive Lasten oder gar ein Schaltnetzteil als Last dranzustecken, gehen IGBTs bei hohen Einschaltströmen schnell über den Jordan. Daher habe ich nicht wirklich Bock, selbst einen Sinusdimmer zu entwickeln.

Die sinusförmige Alternative ist total simpel: Stelltrafo. Sind in der benötigten Leistungsklasse durchaus erschwinglich, vergleiche hier oder hier.

Um nochmal kurz auf die Lösung mit dem Phasenanschnitt zurückzukommen:

Die würde im einfachsten Fall so aussehen, dass man einen Steckdosen-Dimmer wie diesen oder auch diesen nimmt, und vorne ein Modellbau-Servo dranhängt, das den Drehknopf betätigt. Das Servo hängt man an einen Mikrocontroller, und diesen wiederum verbindet man mit der IR-Photodiode am Stromzähler. Das ist auch schon alles, der Rest ist Programmierarbeit. Vorteil ist vor allem, dass man nirgendwo an 230V herumspielen muss. Man nimmt den fertigen Dimmer und baut nur 5V-Elektronik/Mechatronik darum herum.

Die Variante mit Stelltrafo sieht fast genauso aus. Man müsste nur mal schauen, ob ein (großes) Modellbau-Servo genug Kraft hat, um das Stellrad zu drehen. Falls nicht, braucht man einen Antrieb mit mehr Drehmoment, z.B. Getriebemotor.

@energie_alex

Ich habe Ähnliches bereits umgesetzt.

https://www.akkudoktor.net/forum/postid/104836/

Plug & Play ist das allerdings noch nicht. Aber es funktioniert.

Die aktuellere Version findet sich unter

Photovoltaik-Forum

Grüße

John

1 „Gefällt mir“

@john

Interessant!

Ich hätte nicht gedacht, dass digitale Stromzähler derart lange Integrationszeichten haben könnten, dass man mit einer Wellenpaketsteuerung mit 2 Hz arbeiten kann - also über 500 ms. Fragt sich natürlich, ob das für alle Stromzähler gilt, oder ob du ein besonders träges Exemplar hast.

Mir wäre eben an einer plug&play-Lösung gelegen, die sich ohne Programmierkenntnisse umsetzen lässt, und bei der man auch nicht an Verkabelung rummachen muss, durch die 230V AC fließen. Eben so, dass praktisch jeder, der ein Balkonkraftwerk anstöpseln kann, auch den Nulleinspeise-Regler zum Laufen bekommt. Also für die breite Masse der Anwender nutzbar. Das größte Hindernis könnte dann evtl. sein, den Freischaltcode vom Stromnetzbetreiber in den Stromzähler "reinzublinken", so dass der die nötigen Daten ausspuckt. Das ist mancheinem Durchschnittsanwender vielleicht schon zu kompliziert.

@energie_alex

  • Ich kenne einen weiteren Anwender, der das ebenfalls mit Wellenpaketsteuerung umgesetzt hat. Möglicherweise sind die langsam Zähler gar nicht so selten.
  • Der Freischaltcode ist die geringste Hürde. Die digitalen Zähler weisen völlig unterschiedliche Protokolle und Übertragungsraten auf.
John

die App ist bekannt?

1 „Gefällt mir“

@e-t0m

Nein, die App kannte ich noch nicht. Vielen Dank für den Hinweis!

Für den Durchschnittsanwender ist die Installation und Nutzung einer Handy-App im Regelfall noch eine lösbare Aufgabe, somit wäre das schon mal "massentauglich". Ich habe allerdings mal gehört, dass sich die Stromzähler-PIN mitunter sogar mit einer Taschenlampe manuell "reinblinken" lassen soll. Mit der App ist es aber eleganter.

Falls das wirklich so ist, wäre das eine ziemliche Spaßbremse. Ich hätte nämlich gerne eine Lösung, die möglichst überall plug&play funktioniert, und wo man nicht in Abhängigkeit vom Zählertyp lange rumfrickeln muss, bis es endlich mal läuft.

Allerdings habe ich inzwischen gelesen, dass es da wohl einen SML Standard gibt ("smart message language"), den das BSI (Bundesamt für Sicherheit in der Informationstechnik) (mit-)definiert hat. Und dass es innerhalb eines SML-Datenblob's wohl sogenannte OBIS-Daten gibt, die einigermaßen universell sein sollten.

Dem Vernehmen nach blubbert aus dem Stromzähler alle paar Sekunden von selbst eine binäre Message heraus. Man muss den Stromzähler scheinbar nicht aktiv danach "fragen", sondern er macht das (zumindest nach Eingabe der PIN) scheinbar von selbst. Das wäre insofern schon mal gut, dass dann eine reine IR-Photodiode am Zähler reicht, man also unidirektional auslesen kann.

Mein Wissen basiert bislang allerdings vorwiegend auf dem, was ich in den Weiten des www so gefunden habe:

Gegebenenfalls müsste ich mir selbst mal einen Test-Zähler besorgen, an dem ich das ausprobieren kann. Letztlich geht es ja nur darum, sich aus dem Datenstrom die (vorzeichenbehaftete) Momentanleistung rauszupicken, der Rest interessiert für diese Anwendung nicht.

@energie_alex

Ich habe meine Zähler-Erfassung mit Tasmota umgesetzt.

Das Thema ist nicht wirklich genormt und die Umsetzung kann wirklich zu einer große Hürde werden.

Aber auch der Rest hat es in sich.

Gegebenenfalls müsste ich mir selbst mal einen Test-Zähler besorgen, an dem ich das ausprobieren kann.
Wenn du eine Balkon-PV hast, solltest duch auch über einen digitalen Zähler verfügen.
Letztlich geht es ja nur darum, sich aus dem Datenstrom die (vorzeichenbehaftete) Momentanleistung rauszupicken, der Rest interessiert für diese Anwendung nicht.
Der saldierende Bezugs- und Einspeise-Zähler ist sehr hilfreich, wenn man die Funktionalität der Null-Einspeisung überprüfen will.

Ausserdem helfen die Zählwerte Stunden- Tages- ... -Verbräuche zu ermitteln.

Man kann tatsächlich jeden Wert des digitalen Zählers gut nutzen.

John

der volkszaehler.org sollte nicht unerwähnt bleiben

Danke für diesen - und die anderen - Links!

Auf der Volkszähler-Seite gibt es eine lange Liste mit gängigen Stromzählertypen. Oh je - also wenn man die alle unterstützen möchte, wird das eine sehr aufwändige Angelegenheit. Zu Entwicklungszwecken müsste man sich dann von allen dieser Stromzählertypen ein Test-Exemplar besorgen.

Allerdings wird man wahrscheinlich kein Skript brauchen, dass alle erdenklichen SML-Botschaften der verschiedenen Stromzähler parsen kann. Denn letztlich geht es ja nur um einen Wert - die Momentanleistung. Was ich bislang gelesen habe deutet sehr darauf hin, dass es immer eine feste Binär-Sequenz gibt, die dem gesuchten Wert vorausgeht, und die innerhalb der SML-Botschaft auch einmalig ist. Beispielsweise die/eine OBIS-Kennzahl, die für die Gesamtleistung steht (scheinbar oft die 1-0:16.7.0). Diese binäre Sequenz wird zwar bei verschiedenen Stromzählern mitunter verschieden sein, aber über alle Zählertypen hinweg gibt es vielleicht nur ein paar wenige Varianten. Wenn man diese Sequenzen mal herausgefunden hat, kann man gezielt nach diesen suchen und alle anderen Daten ignorieren. Dann wäre das "Herauspicken" der gesuchten Momentanleistung vielleicht schon zu schaffen.

Smart Life App kompatible Dimmer könnten doch funktionieren? Wenn man die IDs der Geräte rauskriegt und dann in Node-Red steuern kann evtl. ?

Ich lese mit meinem script (siehe signatur) einfach die logs vom volkszähler mit und spare mir diese Arbeit.

Da sich der volkszähler sehr gut fürs Monitoring eignet, füttere ich ihn auch noch mit meinen anderen Daten (vom MPPT-Laderegler, Verbräuche).

... doppelt nützlich also.

@e-t0m

Vielen Dank für den Hinweis auf Deine Signatur! Das ist ja ein nettes Projekt, das du da umgesetzt hast! Mein Vorhaben ist da im direkten Vergleich wesentlich einfacher. Aber dann kann ich dich ja gleich mal als Berater für die kniffligen Fragen engagieren :slight_smile:

Wegen der Stromzähler: Dein Aufbau wurde vermutlich bislang nur mit einem einzigen Stromzähler (jenem, denn du halt im Haus hast) getestet. Universelle Kompatibilität mit allen gängigen Stromzählern ist somit wahrscheinlich noch nicht experimentell bestätigt. Und ich vermute, dass es da durchaus Stolpersteine gibt. Wenn ich nämlich in der obigen Liste mal auf den EMH eHZ-H klicke, dann scheint bei dem die Gesamtleistung die OBIS-Kennung 1-0:15.7.0 zu haben. Der Volkszähler-Log würde diese wahrscheinlich unverändert weiterleiten, so dass dein Programm dann nicht finden würde, was es sucht.

Meine Hoffnung ist nun, dass es insgesamt nur eine handvoll verschiedener OBIS-Kennungen für die Gesamtleistung gibt, und jeder Stromzähler eine davon verwendet. Wenn man die erst mal alle herausgefunden hat, sollte man sich den passenden Wert immer herauspicken können.

Soooo, nach einiger Zeit mal wieder ein Update: Ich habe inzwischen mit einigen Leuten über meinen Ansatz gesprochen, auch auf der Solarmesse im Juni, und dabei sehr aufmunterndes Feedback bekommen, so dass ich mich jetzt daran mache, einen ersten Prototypen zu bauen. Ich habe mir quasi selbst ein kleines Projekt-Budget bewilligt und ein paar Sachen gekauft.
Eine davon ist ein digitaler Stromzähler: Ein EMH ED300L mit D0-Schnittstelle. Habe den gebraucht in der Bucht ergattert. Der Zähler ist jetzt mein Testobjekt, um die gewünschte Information (Momentanleistung, vorzeichenrichtig, in Summe über alle 3 Phasen) aus den Daten der IR-Schnittstelle herauszupopeln.
So sieht das Ding aus:

Die Handykamera (die nahes IR noch sieht) zeigte, dass da regelmäßig (etwa Sekundentakt) etwas blinkt. Der Zähler sendet also offenbar von sich aus Daten, ohne dass es einer Aufforderung bedarf. So weit schon mal gut.
Ich habe da einfach mal einen Phototransistor (mit etwas Umgebungslicht-Abschirmung) davorgehalten, 6V pull-up Spannung über einen Widerstand angelegt und mit dem Oszi geschaut, was da so rauskommt. Ergebnis:

Die Flanken sehen etwas "weichgespült" aus, offenbar habe ich eine gewisse Kapazität dranhängen, die immer umgeladen werden muss. Es reicht aber, um die Daten anzuschauen. Die kürzesten Pulse dauern etwa über 100 us, sieht also sehr nach 9600 Baud aus. Es kommen Datenblöcke von je 10 Bit, die offenbar so angeordnet sind:

low D0(LSB) D1 D2 D3 D4 D5 D6 D7(MSB) high

Das ist eine Folgerung daraus, dass der Daten-Blob, der da rauskommt, immer mit der Zeichsequenz

0x1b 0x1b 0x1b 0x1b 0x01 0x01 0x01 0x01

beginnen sollte, und wie man am obigen Oszi-Screenshot leicht abzählen kann, muss die Bit-Order demnach LSB-first sein (1+2+8+16=27=0x1b).
Nun stellte sich die Frage, ob der Stromzähler überhaupt die Momentanleistung ausspuckt. Nachdem ich keine PIN zu dem Zähler bekommen habe, war ich mir da nicht so sicher. Klarer Fall - das muss reverse engineered werden. Ich habe mein USB-Oszi an den Phototransistor drangehängt und die Daten aufgezeichnet. Ein Daten-Blob dauert etwa 350 ms. Um den komplett aufzuzeichnen, musste ich mein USB-Oszi auf 20 kSamples/s Abtastrate herunterdrehen, mehr gibt die geringe Speichertiefe nicht her. Ein 9600 Baud-Signal mit 20 Kilosamples pro Sekunde abtasten - hui, das ist schon grenzwertig knapp am Nyquist-Limit...

Ich habe mehrere Daten-Blobs aufgenommen und dabei unterschiedlich viel Leistung durch den Zähler gejagt. Auch in Einspeiserichtung. Das geht übrigens ganz einfach, indem man am Zähler L3_in und L3_out vertauscht und dann Leistung verbraucht. Die wird dann mit negativem Vorzeichen gemessen. Stimmt zumindest bis auf etwa 2 Watt genau, weil der Zähler dann seinen Eigenverbrauch mitmisst. Und wenn ich den Fall "keine Last" und den Fall "etwa 750W Einspeisung" übereinanderplotte und schaue, wo sich etwas ändert, dann werde ich da recht schnell fündig:

Schau einer an, die Leistung wird wohl über 4 aufeinanderfolgende Byte übermittelt. Bei 0W steht da 0 0 0 0, bei ca. 750W Einspeisung steht dort (dezimal) 255 255 227 67. Siehe da, das ist wohl eine 32-bit signed integer, die mit dem obersten Byte zuerst übertragen wird (nannte man so etwas in der Informatik nicht big-endian?). Wenn man das als signed int interpretiert und ich das Einerkomplement richtig bilde, dann müsste das dezimal die Zahl -7328 sein. Der Zähler gibt die Leistung wohl mit 0,1 W Auflösung aus, d.h. da steht -732,8 Watt. -> Juhu, konsistent!

Sorry, dass ich Euch jetzt mit so langen Ausführungen und etwas Informatik genervt habe! Auf jeden Fall habe ich rein mittels Oszilloskop verifizieren können, dass der Zähler wirklich die gewünschte Information ausspuckt. Somit habe ich jetzt schon mal einen geeigneten Stromzähler für ein lokales Testsystem auf dem Tisch liegen.

Fortsetzung folgt...

3 „Gefällt mir“

@energie_alex

Hallo Alex,

bin mir nicht sicher ob ich Dich richtig verstanden habe, aber das Alles gibts doch schon.

Stichwort: Hitchi IR Leskopf mit einem Node MCU.

So sieht die Ausgabe aus:

Läuft bei mir seit Monaten. Damit mache ich annähernde Nulleinspeisung mit Soysource Invertern.

Mit den Daten lässt sich bestimmt auch eine "Heipatrone" im Pufferspeicher steuern.

Gruss Thomas

@1dz

Vollkommen richtig, es gibt diverse Leseköpfe für Stromzähler zu kaufen, sei es im Rahmen von Open-Source-Projekten wie Volkszähler, oder kommerzielle Produkte wie der Tibber Pulse. Der von dir genannte Hitchi-Lesekopf dürfte geeignete Hardware sein, die sich z.B. auch mit der Volkszähler-Software versteht.

In meinem Fall war die Ausgangssituation die, dass ich nicht wusste, in welchem Zustand sich der gebrauchte Zähler befand, den ich mir besorgt hatte. Und auf die Frage, mit welchem OBIS-Code der EMH ED300L die Momentanleistung ausgibt, konnte ich im Internet auch keine übereinstimmende Antwort finden. Ich habe beim Kauf des Zählers keinen PIN-Code mitgeliefert bekommen. Das 2-zeilige Display zeigt in der 2. Zeile nie nützliche Information an, egal, wie oft man den Zähler mit der Taschenlampe anblinkt. Aber es kommt auch keine Aufforderung zur PIN-Eingabe. In Verbindung mit dieser Internetseite von Volkszähler:

https://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/emh-ed300l

auf der es heißt, Zitat:

"Allerdings muss der Zähler erst freigeschaltet werden. Die dazu nötige PIN kann beim Messtellenbetreiber (meist der Netzbetreiber) angefragt werden."

...deutete das darauf hin, dass der Zähler die oft "geschützen" Daten wie eben die Momentanleistung eventuell gar nicht ausgeben würde. Ich wusste also nicht, ob die Momentanleistung überhaupt ausgegeben wird, und falls ja, auch nicht mit welchem OBIS-Code. Da kann das Herumprobieren mit Lesekopf + Software zu einem langwierigen und frustrierenden trial&error-Spiel werden. Ich wollte aber schnell ein Ergebnis, v.a. weil ich ein Rückgaberecht für den Zähler hatte und ihn ggf. zurückgeschickt hätte, wenn er die Momentanleistung nicht ausgegeben hätte.

Nur deswegen habe ich den Datenstrom reverse engineered. Das ging ohne Hardwareeinsatz, weil ich Oszis und Phototransistor sowieso habe, und es ging schnell. Ergebnisse:

  1. Ja, die Momentanleistung kommt raus :slight_smile:

  2. Den o.g. 4 Byte mit der Momentanleistung geht die folgende Sequenz von Zeichen voraus (Hex-Notation, also 0x..):

07 01 00 0f 07 00 ff 01 01 62 1b 52 ff 55

Die beiden ff's seht Ihr übrigens mit bloßem Auge in meinem obigen Plot, das sind die langen Plateaus. Damit weiß ich jetzt auch den OBIS-code: 15.7.0

@energie_alex Alles klar Alex. Weiter so. Bin gespannt auf Deine entgültige Lösung. Ich suche auch noch sowas um die überschüssige Energie in meinen Heizungspufferspeicher reinzukriegen.