ich melde mich bei euch mit einem Thema, das mich schon länger beschäftigt und ich noch keine Erklärung oder Lösung gefunden habe.
Ich lese das S0-Signal von einen Eltako Drehstromzähler (Datenblatt angehängt; 1000 Impulse/kWh) mit einem Wemos D1 mini aus. Dessen Spannung (3,3V bzw. Messung mit 10k Pullup und Ground) entspricht zwar nicht den Spezifikationen im Datenblatt (min. 5V), es funktioniert aber trotzdem zuverlässig. Habe die Messung auch mit 5V und mit 12V gegengeprüft. Oszilloskop habe ich leider keines zur Verfügung.
Ebenfalls habe ich es mit einem ESP32 getestet, da ich schon dachte, dass die Zeitmessung zwischen den Impulsen beim ESP8266 zu ungenau ist.
Das Problem ist jedenfalls, dass die Impulse, wenn die Wärmepumpe läuft sehr ungenau sind und stark schwanken (um fast 1000 Watt, also ca. 35% vom korrekten Wert!!!).
Beim Test vom Zusatzheizstab ist die Grundleistung recht konstant und korrekt (siehe Anhang), es gibt zwar einige kurze Spitzen (keine Ahnung was da im Test alles abläuft), aber der Wert findet immer wieder auf die korrekte Leistung vom Heizstab zurück.
Die Leistung wird mittels dem ESP-Home Pulse-Meter anhand der Zeitdifferenz der Impulse berechnet.
Die Impulse kommen im Wärmepumpenbetrieb theoretisch etwa alle 1,25 Sekunden (aber eben mit deutlicher +/- Abweichung).
Ich habe das Signal auch testweise an den Pin D4 angehängt, um die Signale mittels der internen LED sichtbar zu machen. Auch rein optisch scheint es tatsächlich so, also ob die Impulse nicht regelmäßig kommen - also manchmal gefühlt etwas schneller und manchmal langsamer.
Der Mittelwert des stark schwankenden, errechneten Leistungswerts (über zB 10 Werte) scheint recht plausibel und stimmt mit der Wirkleistung an meinem Smartmeter gut überein.
Der Stromzähler hat am Display auch eine Anzeige für die aktuelle Leistung - interessant ist auch wiederum, dass diese recht konstant ist. Am Display wird auch ein "Blink-Signal" für die verbrauchte Energie ausgegeben, allerdings nur 100 Impulse/kWh, vielleicht ist die Anzeigeauflösung einfach nur geringer.
Da dies ein Wirkenergie-Zähler ist: Kann es hier vielleicht Probleme mit der Abtastrate des Zählers in Verbindung mit der Phasenverschiebung des Kompressor-Motors geben oder gibt es eine andere Erklärung dafür? Bitte um euren Input.
Meiner Meinung nach scheint die Auswertung ja zu funktionieren, sonst würde beim Test vom Heizstab ja auch wirres Zeug rauskommen..
Außerdem befindet sich der Zähler im Verteilerkasten mit vielen anderen Stromkreisen, falls da ein Störsignal eingestreut werden würde, kann käme es doch sicher mehreren Fehlersignalen - auch in der Phase wo die Wärmepumpe nicht läuft, da ist aber ebenfall alles sauber.
Ändere das. Wenn du Elektronik entwickeln willst, brauchst du das Werkzeug eines Elektronikentwicklers.
Meiner Meinung nach scheint die Auswertung ja zu funktionieren
Besser wäre es in der Tat, das Gebastel würde überhaupt nicht funktionieren. Denn genau das tut es (wenn man sich mal ehrlich ins Auge schaut) eigentlich auch. Beschaff dir ein Oszilloskop und miss die Signalqualität und Signalform. Und dann bilde dir eine neue Meinung.
Ebenfalls habe ich es mit einem ESP32 getestet, da ich schon dachte,
dass die Zeitmessung zwischen den Impulsen beim ESP8266 zu ungenau ist.
Du hast nicht den Teil deiner Schaltung ausgetauscht, der Probleme macht.
da gibts nicht viel Schaltplan:
S0- --> GND
S0+ --> D4 (mit internen Pullup)
Das ist kein Schaltplan.
Und lustigerweise siehst du dann mit dem Schaltplan, den du irgendwann sowieso zeichnen musst, was für einen Käse du da verschaltet hast. Zeichne mal die internen Bauteile der oben verlinkten SO-Schnitte mit deinem wie oben beschrieben verschalteten µC zusammen auf ein Blatt Papier und sinniere einige Minuten darüber nach.
Ein Tipp zur Erhöhung der Störfestigkeit: nimm wenigstens einen wirksamen Pullup mit 1k Ohm, damit da auch ein Strom durch die Stromschnittstelle fließt. Diese internen Pullups mit 30-50k sind viel zu hochohmig für eine Verbindung zu externen Sensoren/Tastern/Gebern...
EDIT: kann natürlich sein, dass es dann mit dem richtigen 1k Pullup gar nicht mehr funktioniert. Aber das liegt dann eben an der ungeeigneten Verschaltung des Gebers.
Denkt nicht sonst noch jemand, dass der Zähler einfach Murks sein
könnte?
Was ist wahrscheinlicher, ein vermurkster Stromzähler eines namhaften Herstellers oder Störungen, weil man mit 3.3V und einem hochohmigen Eingang in einem Schrank herumwurstelt, der eine Wärmepumpe mit ein paar kW Leistung versorgt?
Auch wenn YouTube-Videos Dir anderes vermitteln wollen, ohne Grundlagenwissen und passendes Werkzeug (insbesondere Messtechnik) wird das nichts.
Habe die Messung auch mit 5V und mit 12V
gegengeprüft.
Im Eingangspost habe ich geschrieben, dass ich es auch mit 12V durch den S0 probiert habe, diese habe ich anschließend mit einem Spannungsteiler auf einen Eingangspin gelegt (in diesem Fall natürlich mit Pulldown).
Es hat genauso funktioniert.. bzw. genauso schlecht funktioniert.
Ein Tipp zur Erhöhung der Störfestigkeit: nimm wenigstens einen
wirksamen Pullup mit 1k Ohm, damit da auch ein Strom durch die
Stromschnittstelle fließt.
soeben probiert, keine Verbesserung
Hat dann vielleicht irgendjemand mal eine Erklärung warum der Heizstabtest so gute Werte geliefert hat? Der Motor der Wärmepumpe ist ja die einzige Störquelle im Schaltschrank, in dem sich die ganze Hausverteilung befindet.
Ich stelle den Hersteller natürlich nicht in Frage, aber kann es vielleicht sein, dass das S0-Schnittstelle nicht für die Leistungsberechnung vorgesehen ist bzw. die zeitliche Auflösung der Signale nicht genau genug ist, sondern die Schnittstelle nur für die Auslesung der Zählerstand-Vermehrung vorgesehen ist?
An S0+ legst du eine Spannung an mit Strombegrenzung, also Widerstand in Reihe. 12 V und 1k Ohm können passen.
S0- muss den Stromkreis schließen.
Aber die Pulse sind dann Strompulse.
Also hänge zwischen S0- und Masse einfach einen Optokoppler. Dafür ist das gedacht. Du kannst auch über einem Widerstand den Strom messen.
An S0+ legst du eine Spannung an mit Strombegrenzung, also Widerstand in
Reihe. 12 V und 1k Ohm können passen.
S0- muss den Stromkreis schließen.
Aber die Pulse sind dann Strompulse.
Also hänge zwischen S0- und Masse einfach einen Optokoppler. Dafür ist
das gedacht. Du kannst auch über einem Widerstand den Strom messen.
Vielen Dank für deinen produktiven Beitrag! Habe es soeben getestet mit 12V, 1 kOhm Strombegrenzung (ca. 9mA) und 330 Ohm Mess-Shunt (~3V Spannungsabfall).
Leider das selbe Phänomen.
Jetzt hab ich die Spezifikationen von S0 wohl eingehalten oder?
Wie misst du die Spannung mit dem ESP? Wie ist das verkabelt, sind das kurze Kabel, ist die Masse schön angeschlossen, sind die Spannungen am ESP stabil? Verwendest du den ADC dort so dass er wenig gestört wird? Fotos?
Dann kauf ich mir eben ein Oszi, wenn du an der Genauigkeit der Messung
zweifelst.
An der Genauigkeit? Du hast bisher gar nichts gemessen, sondern nur den Output Deiner Software gezeigt. Das ist so, als sollten wir anhand eines Fotos Deiner Toilettenschüssel beurteilen, wie gut Dein Mittagessen war.
Aber nochmal: bei der Messung vom Heizstab passt es ja..
Findest Du? Ich sehe da auch Ausfransungen von ~1kW, sie sind bloss seltener. Beim Heizstab kann man sich aber sicher sein, dass das nicht am tatsächlich schwankenden Verbrauch liegt.
Dann kauf ich mir eben ein Oszi, wenn du an der Genauigkeit der Messung
zweifelst.
Du selbst solltest zweifeln, solange du dir nicht das Gegenteil bewiesen hast.
Also: gute Idee, denn mit dem Oszi kannst du ja mal einfach den Zeitablauf deines Programmes kontrollieren. Gib einfach immer nach einer konstanten Zeit einen L-H-L Puls an einem Portpin aus und sieh dir an, wie konstant der wirklich ist. Oder ob da Ausreisser dabei sind. Das ist eine der wichtigsten Messungen, wenn es um Echtzeit geht.
Mit einem Picoscope für 140€ bist du da schon in einer alltagstauglichen Liga.
Der Anhang im Beitrag Beitrag "Re: Unsauberes S0-Signal von Drehstromzähler an Wärmepumpe (ESP8266)" hat mich auf den Gedanken gebracht, daß garnicht die S0-Schnittstelle ein Problem hat sondern das Problem die Wärmepumpe selbst ist und diese mit 2 überlagerten Schwingungen aufwartet, die sowohl von der Mechanik (Festkörper- und Fluidmechanik) als auch von der Steuerung der Wärmepumpe herrühren können:
Schwingung 1 mit einer Periodendauer von etwa 5 Sekunden
Schwingung 2 mit einer Periodendauer von etwa 70 Sekunden
oder
Schwingung 2 mit einer Periodendauer von auch etwa 5 Sekunden, aber so von Schwingung 1 abweichend, daß eine Schwebung mit einer Periodendauer von etwa 70 Sekunden entsteht
Möglich ist auch, daß die Schwingung 2 durch die Software und deren Durchlaufzeiten bei einem ungünstigen Verhältnis zu der Pulsfolge auf der S0-Schnittstelle entstehen kann. Da die Software bisher ein Geheimnis des TO ist, läßt sich diese Frage leider nicht beantworten.
Probier mal die Länge des S0 High Signals für jeden Impuls mit zu schreiben.
Wenn der konstant ist, ist es unwahrscheinlich dass es eine Störung von aussen ist.
Bei 3kW sollten die Impulse ca jede Sekunde+-30% kommen. - das sollte zu schaffen sein. Poste aber trotzdem deinen Code, kann sein, dass du da grob Mist baust.
Sieh dir die lausigen Signale an. Dann wunderst du dich eher, dass es
teilweise funktioniert.
Signalgüte!
Aber ich frag mich wie man die "peaks" überhaupt einlesen kann.
Für 1 kWh werden 1000 Peaks/h generiert. macht 3,6 sec für einen Signalwechsel. Hat die WP 4kWh ---> dann hat man ca. 0,9 sec. für einen Signalwechsel. Um den Signalwechsel sicher einlesen zu können müßte 4-fach "schneller" eingelesen werden. Also müßte 900ms/4= 225ms zyklisch eingelesen werden.
Der Stromzähler hat am Display auch eine Anzeige für die aktuelle
Leistung - interessant ist auch wiederum, dass diese recht konstant ist.
Stromzähler und dann haste auch noch Leistung?
Die Grundlagen der Elektrotechnik sind dir schon bekannt, oder?
IxU = P, kennste die Gleichung?
Nur wenn U=const ist, kannste auch I~P folgern!
Wie misst du die Spannung mit dem ESP? Wie ist das verkabelt, sind das
kurze Kabel, ist die Masse schön angeschlossen, sind die Spannungen am
ESP stabil? Verwendest du den ADC dort so dass er wenig gestört wird?
Fotos?
Ich habe die Spannung nicht direkt gemessen, da die ADC-Abfrage in ESP Home auch nur in einem eingestellten Zeitraster funktioniert, sondern ich habe die die 3V des Messwiderstand genutzt, um einen GPIO Pin auf high zu ziehen - dafür sollten 3V reichen, um dies zuverlässig zu erreichen. Der Zustand high wird am GPIO sofort registriert, anstatt mit dem ADC auf das nächste Abfrageintervall zu treffen - bei den 30ms könnte es schon passieren, dass mal ein Signal übersehen wird.
Der Testaufbau ist natürlich provisorisch..
der rechte Widerstand ist der 1k zur Strombegrenzung und der linke ist der 330Ohm zum messen
Findest Du? Ich sehe da auch Ausfransungen von ~1kW, sie sind bloss
seltener. Beim Heizstab kann man sich aber sicher sein, dass das nicht
am tatsächlich schwankenden Verbrauch liegt.
Ja, finde ich schon.. das kann kein Zufalls sein, dass so viele Messpunkte genau die ~1900W treffen.. hier nochmal eine detaillierte Grafik: jeder Punkt ist ein gesendeter Impuls (bzw. jede Werteänderung, die das ESPhome Pulsemeter registriert), die meisten sind sehr wiederholgenau. Bei den Ausreißern schaltet die Wärmepumpe wohl einen 2. Heizstab dazu - warum auch immer
Die Lücken (mit den Pfeilen markiert) kommen daher, dass sich der errechnete Leistungswert nicht geändert hat und daher kein Eintrag in die Datenbank gemacht wird.
Um wieviele Millisekunden weichen denn die Impulse vom erwarteten
Zeitpunkt ab?
Im Bild sind sind die Impulsabstände, die der ESP gemessen hat, in dem ich das Signal invertiert habe (also die Zeit zwischen den Impulsen als "an") und mit der DutyTime im ESPHome ausgegeben. Man müsste hier zwar noch die Impulslänge draufrechen, dass es genau passt, aber als grober Anhaltspunkt reicht es erstmal..
https://esphome.io/components/sensor/duty_time.html?highlight=duty
Der Impulsabstand reicht von 1,2 bis knapp 1,8 Sekunden - realistisch wäre wohl etwa 1,3s im Schnitt
Interessant ist auch, dass der Impulsabstand auch im Leerlauf stark schwankt (50-80 Sekunden), wobei das in der Leistungsberechnung nur einen Unterschied von einigen 10 Watt bedeutet, das kann ich verkraften.. vielleicht pulst hier aber auch die Pumpenleistung der Heizkreispumpe.
Ich würde das Signal weiterhin mal mit einem sicher funktionierenden Messgerät kontrollieren. Und wenn ich dann feststelle, dass auch dmait irgendwas zappelt, dann kann ich die Vermutungen mal zur Gewissheit machen.
Ich würde das Signal weiterhin mal mit einem sicher funktionierenden
Messgerät kontrollieren. Und wenn ich dann feststelle, dass auch dmait
irgendwas zappelt, dann kann ich die Vermutungen mal zur Gewissheit
machen.
Oszi ist bestellt..
der Vollständigkeit halber noch die Impulslänge des S0-Signals im Anhang
auf den
Gedanken gebracht, daß garnicht die S0-Schnittstelle ein Problem hat
sondern das Problem die Wärmepumpe selbst ist und diese mit 2
überlagerten Schwingungen aufwartet
Interessant ist die errechnete Leistung des automatischen Abtauvorgangs (Vaillant Flexotherm - mittels Heizstab): am Anfang schwankt die Leistung auch noch recht stark, später ist sie recht konstant. Nun ist es so, dass am Anfang der drehzahlgeregelte Lüfter noch langsam mitläuft (weil sie versucht mit einer Lufttemperatur >4°C mitzuhelfen) und gegen Ende nur mehr der Heizstab aktiv ist - es scheint also dass der drehzahlgeregelte Lüfter eine Rolle spielt, was eigentlich auch zu den Erwartungen passen würde
Möglich ist auch, daß die Schwingung 2 durch die Software und deren
Durchlaufzeiten bei einem ungünstigen Verhältnis zu der Pulsfolge auf
der S0-Schnittstelle entstehen kann. Da die Software bisher ein
Geheimnis des TO ist, läßt sich diese Frage leider nicht beantworten.
Bei den Ausreißern schaltet die Wärmepumpe wohl einen 2.
Heizstab dazu - warum auch immer
Sagmal, warum sollte die WP einen 2. Heizstab zuschalten?
Eine WP kann nur auf den zweiten Wärmeerzeuger umschalten. D.h. die WP stellt den Betrieb ein und der zweite Wärmeerzeuger wird eingeschaltet.
(Der Grund sollte allgemein bekannt sein!)
Da wird nix zugeschaltet! Der Wechsel der Wärmeerzeugung von WP auf ZWE ist in den Steuerungen von Wärmepumpen (gefühlt seit 100 jahren) seit mind. 30 Jahre Standard. Was der ZWE (zweiter Wärme-Erzeuger) dann ist, ist der Anlagenkonfiguration überlassen. Von "Gibt`s nicht" über Gas/Öl Heizung zu Holz/Pellet Heizung oder andere ZWE sie BHK oder Solarthermie .....!
Naja, aber ich glaube nicht, dass die "Fehlmessung" durch die Steckbrücken verursacht werden.
Da fehlt`s eher am Wissen was der SO Ausgang vom Zähler ist!
Wenn der TO die Leistung der WP (ermittelt aus den Betriebsdaten ---> Datenblatt) zum gemessenen Wert vergleichen würde. Könnte man ja sehen wie gut die Leistung der WP erfaßt wird.
Aber ich denk nicht dass der TO überhaupt weis wie die Leistung der WP aus den Betriebspunkten und den Datenblatt sich ermitteln läßt.
Da kann man nur den lieben Mann im Himmel anflehen um "laß Hirn vom Himmel kommen lassen..."
Sagmal, warum sollte die WP einen 2. Heizstab zuschalten?
ich weiß tatsächlich nicht was die Wärmepumpe beim Heizstabtest-Programm macht, ich weiß nur, dass sie eine kaskadierte Heizpatrone hat um verschiedene Leistungsstufen anfahren zu können, also zB 1kW, 2kW und 3kW
Ich habe zwar auf 2kW begrenzt, aber ich weiß nicht ob diese Begrenzung im Testprogramm greift..
Wenn der TO die Leistung der WP (ermittelt aus den Betriebsdaten --->
Datenblatt) zum gemessenen Wert vergleichen würde. Könnte man ja sehen
wie gut die Leistung der WP erfaßt wird.
Der Durchschittswert der gemessenen (errechneten) Leistung stimmt ganz gut mit dem Datenblatt überein, auch mit der Messung meines Smartmeters.
Was mich stört sind die starken Schwankungen..
Stromzähler und dann haste auch noch Leistung?
Die Grundlagen der Elektrotechnik sind dir schon bekannt, oder?
IxU = P, kennste die Gleichung?
Nur wenn U=const ist, kannste auch I~P folgern!
Passt es besser wenn ich Energiezähler schreibe?
Dieser misst auch die Spannung und Wirkleistung - lässt sich beides am Display anzeigen (wie gesagt, hier ist der Wert sehr stabil):
Und was ist davon zu halten, dass es überhaupt keinen Unterschied macht, ob ich das S0 Signal mit 3,3V abfange oder mit 12V (habe es jetzt nochmal mit anderen Widerständen probiert, sodass 15mA durch die S0-Schnittstelle fließen).
Komme dabei auch auf die selbe Schwankungsbreite des errechneten Leistungswerts..
bei 12V sollten sich die von dir vermuteten Störungen doch zumindest reduzieren, oder?
Im Datenblatt des Zählers steht Impulslänge 30ms, nicht min. 30ms (aber ist vielleicht doch so gemeint). 50ms beim Filter ist da etwas kontraproduktiv ...
Überhaupt: Stromschnittstelle mit Optokoppler sollte keinen Filter benötigen (falls Pull-up niederohmig genug). Das ist doch der Sinn davon.
ich weiß tatsächlich nicht was die Wärmepumpe beim Heizstabtest-Programm
macht, ich weiß nur, dass sie eine kaskadierte Heizpatrone hat um
verschiedene Leistungsstufen anfahren zu können, also zB 1kW, 2kW und
3kW
Ich habe zwar auf 2kW begrenzt, aber ich weiß nicht ob diese Begrenzung
im Testprogramm greift..
Ein Heizstabtest-Programm?
Aber wozu hast du überhaupt ein Heizstabtest-Programm bei deiner WP?
Ich hab noch nie davon gehört!
Im Datenblatt des Zählers steht Impulslänge 30ms, nicht min. 30ms (aber
ist vielleicht doch so gemeint). 50ms beim Filter ist da etwas
kontraproduktiv ...
Überhaupt: Stromschnittstelle mit Optokoppler sollte keinen Filter
benötigen (falls Pull-up niederohmig genug). Das ist doch der Sinn
davon.
Der Filter bezieht sich auf steigende Flanken - also die 50ms müssen vergehen, dass ein erneutes Signal registriert wird - zumindest im "EDGE"-Mode. Ich glaube da muss ein Wert angegeben bzw. ist der Default-Wert 13µs - ich probiere es aber gerne nochmal mit anderen Werten aus
Du hast doch (abgesehen vom Aufbau) mindestens 2 Unbekannte in deinem Aufbau:
wie verhält sich die WP?
wie verhält sich der Energiezähler?
Nimm 1 Unbekannte raus und teste den ganzen Abufbau einfach mal mit einem Heizlüfter. Dann hast du mit Sicherheit immer die selbe Energieaufnahme, so lange das Ding läuft und heizt.
Wenn dann konstante Werte kommen, dann kannst du ja mal unabhängig davon nebenher die WP laufen lassen.
Du hast doch (abgesehen vom Aufbau) mindestens 2 Unbekannte in deinem
Aufbau:
wie verhält sich die WP?
wie verhält sich der Energiezähler?
Nimm 1 Unbekannte raus und teste den ganzen Abufbau einfach mal mit
einem Heizlüfter. Dann hast du mit Sicherheit immer die selbe
Energieaufnahme, so lange das Ding läuft und heizt.
Wenn dann konstante Werte kommen, dann kannst du ja mal unabhängig davon
nebenher die WP laufen lassen.
Ich dachte das war klar, dass ich zu diesem Zweck den Heizstabtest gemacht habe.. kommt ja aufs selbe raus ob Heizlüfter oder der interne Heizstab
Hier nochmal mit einem Föhn getestet. Total saubere Kurve. Den einen Peak am Anfang kann ich jetzt nicht zuordnen, aber das ist nicht das Hauptproblem.
Ab dem roten Strich wird die Wärmepumpe wieder aktiv (Vorlaufzeit und ab ca. 10:49:50 wieder mit Kompressor und Lüfter)
Das zeigt eindeutig das Deine Messmethode funktioniert.
Die Schwankungen sind real vorhanden und kommen aus der Steuerung der
WP.
Vielen Dank! Ich habe gehofft, dass das mal jemand sagt!
Meinst du dass die Schwankungen tatsächlich so groß sind? Das ist ja fast 1kW!
https://www.mikrocontroller.net/attachment/619909/Unbenannt.jpg
Meine Vermutung ist, dass die Erfassung von Strom und Spannung im zeitlichen Verlauf (also der Wirkleistung bzw. Wirk-Energie) nicht ganz richtig bzw. die Abtastrate im Zähler nicht schnell genug ist, sobald der cos-Phi nicht gegen 1 ist (wie beim Heizstab/Föhn der Fall).
Im Durchschnitt passt der Wert aber trotzdem ganz gut. Dann bleibe ich eben dabei, dass der Messwert über 15s gemittelt wird.
Auf deine Beiträge kann ich gut verzichten. Warum folgst du denn diesem Thread überhaupt wenn von dir kein einziger konkreter, produktiver Verbesserungsvorschlag kommt? Das ist kein Nörgelforum - dachte ich zumindest
Aber nochmal: bei der Messung vom Heizstab passt es ja..
Damit ist die Problemursache aber nicht gefunden. Heisst: Du musst schauen, ab wo das Signal nicht mehr so aussieht wie es soll. Eine LED in Reihe zum Arbeitswiderstand könnte hilfreich sein, um grobe Fehler zu erkennen.
Für eine genauere betrachtung des Signals ist das Oszilloskop gedacht. Nur wenn das so aussieht, wie es das Programm erwartet, kann das Programm funktionieren.Erst danach macht es Sinn, die weitere Verarbeitung in der Software zu debuggen.
Aber nochmal: bei der Messung vom Heizstab passt es ja..
Damit ist die Problemursache aber nicht gefunden. Heisst: Du musst
schauen, ab wo das Signal nicht mehr so aussieht wie es soll. Eine LED
in Reihe zum Arbeitswiderstand könnte hilfreich sein, um grobe Fehler zu
erkennen.
Für eine genauere betrachtung des Signals ist das Oszilloskop gedacht.
Nur wenn das so aussieht, wie es das Programm erwartet, kann das
Programm funktionieren.Erst danach macht es Sinn, die weitere
Verarbeitung in der Software zu debuggen.
Ich habe das Signal auch testweise an den Pin D4 angehängt, um die
Signale mittels der internen LED sichtbar zu machen. Auch rein optisch
scheint es tatsächlich so, also ob die Impulse nicht regelmäßig kommen -
also manchmal gefühlt etwas schneller und manchmal langsamer.
internal_filter (Optional, Time): If a pulse shorter than this time is detected, it is discarded. Defaults to 13us.
Das sollte Richtung 25ms
1
internal_filter_mode (Optional, string): Determines how the internal filter is applied. One of EDGE or PULSE. Defaults to EDGE. - In EDGE mode, subsequent rising edges are compared and if they fall into an interval lesser than the internal filter value, the last one is discarded. This is useful if your input signal bounces, but is otherwise clean. - In PULSE mode, the rising edge is discarded if any further interrupts are detected before the internal_filter time has passed. In other words, a high pulse must be at least internal_filter long to be counted. This is useful if you have a noisy input signal that may have bounces before and/or after the main pulse.
Das Problem kommt aus meiner Sicht nicht von einer Unsauberen Signalübertragung. Trotzdem gehört die Hardware an solch einer schnittstelle ordentlich mit Tiefpass und geeignetem Störabstand aufgebaut. Der Zähler ist sicherlich auch nicht die Problemursache, trotzdem in Zukunft einfach RS485-Zähler verbauen.
Viel Warscheinlicher halte ich ein Abtastproblem. Die Pulse-Counter funktion von ESP-Home zählt vielleicht NICHT die Zeit zwischen den Impulsen. (habe ich nicht nachrecherchiert) Sie zählt viel eher pulse pro fester (recht kurz gewählter) Zeiteinheit, und da fällt halt mal ein puls mehr und mal einer weniger ins fenster. Also klassisches Aliasing durch die Abtastfenster.
Interessant ist, dass diese möglichkeit hier noch niemand in betracht gezogen hat.
Ob das stimmt, kannst du einfach herausfinden: Einfach die Gesamtpulszahl über einen signifikanten Zeitraum aufrechen und mit dem Zählerstand auf dem Zähler vergleichen. Sollte keine abweichung feststellbar sein, stimmt alles mit der Impulsübertragung.
Das aliasing ist bei 3-Phasigen zählern noch deutlich ausgeprägter, bei meinen Zählern werden die kWh/1000 Zählimpulse aus den 3 Phasenzählwerken nur über eine art Scheduler auf die Schnittstelle gegeben, somit bekommt man bei Symmetrischer belastung aller Phasen häufig Puls-triplets mit Schwebung. Richtig aus den daten Gelesen hat das
Mario P. im Beitrag #7571395:
Schwingung 1 mit einer Periodendauer von etwa 5 Sekunden
Schwingung 2 mit einer Periodendauer von etwa 70 Sekunden
Hier gibt es 3 überlagerte Pulsfrequenzen der Zählwerke im Zähler, ggf noch eine Taksynchronisation im Zähler, und die Abtastzeit beim Auswerten.
Verhindern lässt sich das aufgrund der Triplets nur mittels auslesen über eine andere Schnittstelle oder Tiefpassfilterung. Pulslängen und Pulspausen, die innerhalb der spec liegen, darf man nicht rausfiltern, denn dann laufen die zählerregister im Eltako und ESP auseinander.
In dem Hier gezeigten Graphen macht mir zudem noch die anzeige der Datenpunkte sorgen. Ist die Verbindung zum ESP gut? Wieso kommen die Datenpunkte so unregelmäßig, hast du ggf. eine zu überschreitende Abweichung eingestellt? Wie lautet dein vollständiger Konfigarationscode?
Kannst du den Testaufbau nicht evtl. doch auf eine halbwegs vernünftige Lochrasterplatine oder sowas bringen? Diesen Plastik-Steckbrettern mit so einer Freiluftverdrahtung und billigen dupont Kabel würde ich nicht mal n µ soweit trauen wie ich sie werfen könnte. Weiß nicht wieviel Zeit man schon vergeudet hat irgendwelche Fehler bei ähnlichen Aufbauten zu suchen und am Ende lags dann wirklich an den Dingern und z.B. auf ner Lochraster lief es dann ohne Probleme. Nur so als Tipp.
Die Punkte sollten bei gleicher Leistung aber regelmäßig kommen.
ja das stimmt, da hab ich Mist gebaut! Habe etwas probiert mit einem Heartbeat-Filter, dass die Werte alle Sekunden aktualisiert werden. Die Grafik kannst du also vergessen. Hier nochmal mit den Raw-Werten, da passt es ganz gut - also sehr gleichmäßig bis auf die Lücken, wo wie schon erwähnt kein Wert in der Datenbank abgelegt wird, wenn er sich nicht geändert hat.
Ich habe die Doku mehrmals lesen müssen um sie zu verstehen, ich denke aber inzwischen habe ich sie intus..
Wie schon erwähnt bezieht sich die Filterzeit abhängig vom eingestellten filter mode entweder auf den Abstand der aufsteigenden Flanken (EDGE) oder auf die tatsächliche Impulslänge (PULSE). Ich habe den Edge-Mode eingestellt und der Mindestabstand der Impulse ist auf jeden Fall größer als 50ms - ist also der Zeitabstand bis wieder eine neue steigende Flanke registriert wird und das ist soweit auch plausibel mit den Werten.
Wenn zB ein einzelner Impuls übersehen werden sollte, müsste die errechnete Leistung doch sofort auf die Hälfte sinken, das ist nicht der Fall. Umgekehrt: sollte ein mögliches Störsignal dazwischen als Impuls erkannt werden zusätzlich zu den regulär gesendeten, müsste ein Leistungswert doch auch sofort auf mindestens den doppelten Wert steigen. Also wenn innerhalb des regulären Impulsabstands von zB. 2 Sekunden (~Leistung 1800W) ein Störimpuls nach zB. 1 Sekunde vom ESP registriert wird, müsste die Leistung direkt auf ~3600W steigen, was aber beides nicht erreicht wird.
Sollte das Problem also doch an meiner Auswertung liegen, dass ist es so, dass das Signal manchmal ganz leicht verzögert ankommt und manchmal etwas zu früh. Verzögerung kann ja schon mal sein, aber wieso zu früh?? Gut, wenn das vorige Signal später ankommt, ist der Abstand zum nächsten Signal automatisch kleiner, aber es kommen manchmal auch 2 oder mehrere kürzere Signalabstände an..
Viel Warscheinlicher halte ich ein Abtastproblem. Die Pulse-Counter
funktion von ESP-Home zählt vielleicht NICHT die Zeit zwischen den
Impulsen. (habe ich nicht nachrecherchiert) Sie zählt viel eher pulse
pro fester (recht kurz gewählter) Zeiteinheit, und da fällt halt mal ein
puls mehr und mal einer weniger ins fenster.
Das Thema hatte ich schon auf dem Schirm. Angefangen habe ich mit dem ESPHome Pulse COUNTER, da ist es tatsächlich so, dass die Anzahl der Impulse pro Zeiteinheit gemessen werden. Für kurze Impuls-Intervalle funktioniert eigentlich sogar besser also für lange Impulsabstände (also wenig Leistung). Wenn hier zum Beispiel alle 10 Sekunden geprüft wird und der Impuls im Leerlauf nur alle Minuten kommt, dann zeigt der Pulse Counter zwischendurch immer wieder Leistung 0 an, also für meine Anwendung eher unbrauchbar.
https://esphome.io/components/sensor/pulse_counter
Deshalb habe ich dann auf das ESPHome PulseMeter gewechselt. Der Unterschied liegt eben darin dass die Leistung direkt bei jeden Impuls aus dem Zeitabstand zum letzten berechnet wird, so wie gewünscht.
https://esphome.io/components/sensor/pulse_meter
Ob das stimmt, kannst du einfach herausfinden: Einfach die
Gesamtpulszahl über einen signifikanten Zeitraum aufrechen und mit dem
Zählerstand auf dem Zähler vergleichen. Sollte keine abweichung
feststellbar sein, stimmt alles mit der Impulsübertragung.
Das aliasing ist bei 3-Phasigen zählern noch deutlich ausgeprägter, bei
meinen Zählern werden die kWh/1000 Zählimpulse aus den 3
Phasenzählwerken nur über eine art Scheduler auf die Schnittstelle
gegeben, somit bekommt man bei Symmetrischer belastung aller Phasen
häufig Puls-triplets mit Schwebung. Richtig aus den daten Gelesen hat
das
..wo wir wieder beim Thema Zähler wären.. Danke auch für die Bestätigung
In dem Hier gezeigten Graphen macht mir zudem noch die anzeige der
Datenpunkte sorgen. Ist die Verbindung zum ESP gut? Wieso kommen die
Datenpunkte so unregelmäßig, hast du ggf. eine zu überschreitende
Abweichung eingestellt? Wie lautet dein vollständiger
Konfigarationscode?
Wenn zB ein einzelner Impuls übersehen werden sollte, müsste die
errechnete Leistung doch sofort auf die Hälfte sinken, das ist nicht der
Fall. Umgekehrt: sollte ein mögliches Störsignal dazwischen als Impuls
erkannt werden zusätzlich zu den regulär gesendeten, müsste ein
Leistungswert doch auch sofort auf mindestens den doppelten Wert
steigen. Also wenn innerhalb des regulären Impulsabstands von zB. 2
Sekunden (~Leistung 1800W) ein Störimpuls nach zB. 1 Sekunde vom ESP
registriert wird, müsste die Leistung direkt auf ~3600W steigen, was
aber beides nicht erreicht wird.
Das hätte jetzt schon so viel Zeit und Mühe erspart.
Ich meine WENN man es kann, kann man schon eine vorhandene S0 Schnittstelle nutzen. Aber als Laie greift man einfach zur Fertiglösung und ist glücklich. Anstatt sich im Forum zu kloppen und sich zum Affen zu machen.
Das hätte jetzt schon so viel Zeit und Mühe erspart.
Das stimmt wohl! Aber da ich den Zähler schon seit bestimmt 5 Jahren im Schrank habe wollte ich den gleich nutzen. Ich glaube damals gab es den Shelly noch nicht..
Das hätte jetzt schon so viel Zeit und Mühe erspart.
Das stimmt wohl! Aber da ich den Zähler schon seit bestimmt 5 Jahren im
Schrank habe wollte ich den gleich nutzen. Ich glaube damals gab es den
Shelly noch nicht..
Etwas merkwürdige Antwort: Arbeitest du seit 5 Jahren daran die S0 auszulesen?
Du willst doch jetzt erst an die Daten ran. Und die Shelly Lösung ist sowieso Zählerunabhängig.
Hier würde ICH den "Pro 3EM" empfehlen, wenn man 3 Phasig z.B. das ganze Haus erfassen will oder eben 3 phasige Verbraucher so wie du. Einfacher geht es wirklich nicht und du bist unabhängig von irgendwelchen Zählern.
Es gibt noch den "Pro EM" der ist 1 phasig mit 2 Messpunkten und eher für einzelne Sicherungen/Räume/Geräte an gleicher Phase gedacht.
Du willst doch jetzt erst an die Daten ran. Und die Shelly Lösung ist
sowieso Zählerunabhängig.
Ja, vielleicht wird es jetzt eh darauf hinauslaufen. Es ist allerdings schon ein Unterschied ob 4€ für einen D1 mini (da ich den Zähler ja bereits hatte) oder 120+€ für den Shelly Pro 3EM, was den vorhandenen Zähler auch noch hinfällig machen würde..
Ich dachte mir, einen Versuch ist es auf jeden Fall wert.. und grundsätzlich funktioniert es ja auch gut, bis auf den Kompressorbetrieb der Wärmepumpe - was eigentlich das wesentliche wäre ;-)
Des Stromverbrauch bei Leistung vom ganzen Haus brauche ich nicht nochmal auslesen, die Daten habe ich bereits vom Smartmeter in ausführlichster Form.
Ich meine WENN man es kann, kann man schon eine vorhandene S0
Schnittstelle nutzen.
Wieso meint ihr denn dass die S0 Schnittstelle so eine Raketenwissenschaft sein soll, dass ich ständig nur gedisst werde?
Da ist doch nur ein Optokoppler drin, der die angelegte Spannung durchlässt..
Ja, vielleicht wird es jetzt eh darauf hinauslaufen. Es ist allerdings
schon ein Unterschied ob 4€ für einen D1 mini (da ich den Zähler ja
bereits hatte) oder 120+€ für den Shelly Pro 3EM, was den vorhandenen
Zähler auch noch hinfällig machen würde..
Aber nur wenn deine Zeit nichts wert ist oder die Implementierung in deinem D1 sowieso nur Zeitvertreib. Quasi der Weg das Ziel ist.
Will man einfach eine Lösung für das Problem haben sind die 120 hier ein Schnapper.
Wieso meint ihr denn dass die S0 Schnittstelle so eine
Raketenwissenschaft sein soll, dass ich ständig nur gedisst werde?
Da ist doch nur ein Optokoppler drin, der die angelegte Spannung
durchlässt..
Interessante Einschätzung von jemandem der es eben gerade NICHT schafft diese Schnittstelle korrekt zu nutzen.
Natürlich ist in der Theorie alles immer supi dupi einfach. Wie es dann in der Praxis aussieht erlebst du ja gerade.
Und wenn man dann noch ohne Messequipment und ohne Erfahrung da steht wird es noch schlimmer.
Ich habe sogar Unterlagen von einem Zählerhersteller gefunden, der genau
so eine Auswerte-Beschaltung vorgibt wie ich sie realisiert habe..
Ja dann gibt es ja kein Problem mehr, oder etwa doch?
Inwiefern nutze ich sie nicht korrekt (was sagst du zu den durchaus sehr erfolgreichen Messergebnissen des Föhns?) und was kann ich tun um das Ergebnis zu verbessern?
Das "Messequipment" ist wie schon erwähnt am Weg..
Ja dann gibt es ja kein Problem mehr, oder etwa doch?
Naja - die Tatsache dass die Messwerte im Wärmepumpenbetrieb schwanken.. aber das kann ich zur Not schon weiterhin mit der Mittelwertbildung über zB 15 Sekunden glattbügeln..
Inwiefern nutze ich sie nicht korrekt (was sagst du zu den durchaus sehr
erfolgreichen Messergebnissen des Föhns?) und was kann ich tun um das
Ergebnis zu verbessern?
Weiß ich nicht. Ich lese aber dass es nicht funktioniert. Oder täusche ich mich da?
Das "Messequipment" ist wie schon erwähnt am Weg..
Jaa und dann? Kannst du überhaupt mit einem Oszi umgehen? Erfahrung brauchts halts auch noch.
Alles in allem ein steiniger und langer weg, wenn man eigentlich nur eine Lösung für ein Problem haben will.
Konnte ich früher auch nicht. Kann man aber lernen. Man sollte sich dazu natürlich erst mal bekannte Signale gründlich anschauen. Sonst kann es passieren, dass man auf die Messung schaut wie das berühmte Schwein ins Uhrwerk: es sieht faszinierend aus, aber allein mit dieser Faszination kann man nichts anfangen.
Naja - die Tatsache dass die Messwerte im Wärmepumpenbetrieb schwanken..
aber das kann ich zur Not schon weiterhin mit der Mittelwertbildung über
zB 15 Sekunden glattbügeln..
Wenn die Messpunkte im Wärmepumpenbetrieb schwanken, würde ich vllt. mich mal mit der Betriebsweise der WP ausseinandersetzen.
Den wenn deine Messwerte so schwanken, sollte man auch sicher stellen können dass die WP vllt. nicht doch solche "Lastschwankungen" produziert. Wobei ich dann schon mich fragen würde, ob die Heizung schon immer so "nicht ganz in Ordnung" war.
Wenn er bisher in der Richtung nichts lernen wollte, warum dann jetzt?
Was soll das jetzt wieder heißen? Ich warte seit Anfang an sehnsüchtig auf Wissens-Input, welcher mich weiter bringt, aber es kommt nichts.. nur was ich nicht alles falsch mache und nicht kann...
Was muss ich zur S0-Schnittstelle noch wissen, was ich bisher übersehen habe?
Der Optokoppler in der Schnittstelle benötigt also eine Mindestspannung von 5V - das habe ich akzeptiert und gelernt, da ich es ja auch mit 12V probiert habe..
das anscheinend auch ein gewisser Strom fließen muss, um zuverlässig zu detektieren, habe ich auch gelernt, da ich den Tipp mit der Konstantstromquelle (mittels Vorwiderstand) ausprobiert habe.
Nichts destotrotz komme ich mit 3,3V genau auf das selbe unsaubere Messergebnis.
Also: was muss ich dazu noch wissen, dass ich deiner Meinung alles richtig mache? Gerne auch einen Link.
Wenn die Messpunkte im Wärmepumpenbetrieb schwanken, würde ich vllt.
mich mal mit der Betriebsweise der WP ausseinandersetzen.
Den wenn deine Messwerte so schwanken, sollte man auch sicher stellen
können dass die WP vllt. nicht doch solche "Lastschwankungen"
produziert. Wobei ich dann schon mich fragen würde, ob die Heizung schon
immer so "nicht ganz in Ordnung" war.
dazu kann ich noch sagen, dass Lastschwankungen tatsächlich nicht real sind. Eine Messung mit der Strommesszange zeigt recht konstante Werte und die Werte des Smartmeters sind auch recht konstant, wenn sonst nicht viel läuft (zB in der Nacht).
Manchmal übersteigen die Messwerte dieses S0-Zählers auch den Leistungswert vom Smartmeter (der alle 5 Sek abgefragt wird), dafür kann es für mich keine vernünftige Erklärung geben - ihr könnt mich gerne vom Gegenteil überzeugen.
Wenn zB ein einzelner Impuls übersehen werden sollte, müsste die
errechnete Leistung doch sofort auf die Hälfte sinken, das ist nicht der
Fall. Umgekehrt: sollte ein mögliches Störsignal dazwischen als Impuls
erkannt werden zusätzlich zu den regulär gesendeten, müsste ein
Leistungswert doch auch sofort auf mindestens den doppelten Wert
steigen. Also wenn innerhalb des regulären Impulsabstands von zB. 2
Sekunden (~Leistung 1800W) ein Störimpuls nach zB. 1 Sekunde vom ESP
registriert wird, müsste die Leistung direkt auf ~3600W steigen, was
aber beides nicht erreicht wird.
Stell dir die Frage in die Richtung:
Du hast eine WP und einen Zähler.
Der Zähler liefert alle ~1sec einen Leistungswert (kodiert als Zeitabstand)
Der Heizstab der WP kann seine Leistung (in Stufen) frei einstellen.
Wenn die WP die Leistung mehrfach für exakt 1 sec um 750W erhöht, muss sie wissen, wann die Messperiode deines Zählers beginnt und endet, da die Energiemenge sonst im vorhergehenden oder nachfolgenden "Messkübel" landet.
die WP weiß aber nichts von deinem Zähler.
Da ich eher schlechte SW glaube als an metaphysische Gedankenübertragung von Elektrogeräten stimme ich hier erneut für schlechte SW.
Poste den Code und irgendwer wird den Fehler finden.
Der Zähler liefert alle ~1sec einen Leistungswert (kodiert als
Zeitabstand)
Genau diese Codierung ist ja bereits ein mögliches Problem. Wie du korrekt ausführst. Wie genau kann man damit überhaupt messen, vor allem bezüglich schneller Lastwechsel? 1 Sekunde Periode kann eine Ewigkeit sein.
Das ist allein schon ein Grund vielleicht etwas besseres als S0 zu verwenden.
Da ich eher schlechte SW glaube
Auch diese Frage dürfte ein Oszi gut klären können.
So, Oszi ist eingetroffen.
Die Impulse sind recht sauber - zwar mit ganz leichten Überschwingern, die sollten aber deutlich außerhalb der Schaltschwelle des ESP liegen.
Das Puls-Intervall ist jedoch wie erwartet sehr unregelmäßig.
Ob das stimmt, kannst du einfach herausfinden: Einfach die
Gesamtpulszahl über einen signifikanten Zeitraum aufrechen und mit dem
Zählerstand auf dem Zähler vergleichen. Sollte keine abweichung
feststellbar sein, stimmt alles mit der Impulsübertragung.
Nachdem die Anzeige am Zähler (nur auf 10Wh) genau mit den vom ESP gezählten Impulsen (1Wh) gut übereinstimmt, schließe ich weiterhin aus, dass es an der Auslesung scheitert.
Auch die Pulslänge ist sehr gleichmäßig bei 30ms, da hat die vom uController ausgelesene Zeit nicht genau gepasst..
Nachdem ich also weiterhin bei der Theorie der ungenauen Messung oder Ausgabe des Zählers bleibe, habe ich mir mal die Ströme der einzelnen Phasen mit einer aktiven Strommesszange (eigentlich für ein Multimeter, geht aber am Oszi genauso) angesehen, ob hier nicht tatsächlich Ungleichmäßigkeiten vorliegen.
Auch hier wie erwartet: der Strom ist sehr konstant, was mir aber aufgefallen ist, ist dass der Strom hinter dem Zähler auf der Phase 3 nicht ganz sinusförmig verläuft. An dieser Phase hängt neben den 3-phasigen Verbrauchern (Kompressor, ...) die Peripherie (Steuerung der Wärmepumpe und die Drehzahl geregelten Heizwasserpumpen).
In Summe verzerrt das den Sinus schon etwas, das sollte sich aber im Heizstabbetrieb vermutlich genauso auswirken.. aber vielleicht gleicht das der gute cosPhi des Heizstabs dann besser aus..
Besonders deutlich wird das bei der Messung der Leitung die zur Peripherie geht.. siehe Anhang
Was ich jetzt noch probieren werde, ist die Steuerung und die Pumpen vom Zähler zu lösen und schauen ob es dadurch besser wird. Wenn nicht, dann nehme ich das einfach so hin oder überlege mir ob ich auf einen anderen Zähler umsteige..
Ich sage ja nicht, dass es massive Lücken oder Zeitabweichungen sind, aber da reichen die paar Zehntel-Sekunden schon aus um einen größeren Unterschied in der errechneten Leistung zu machen.
zB:
Impulsabstand 1,63s --> errechnete Leistung ~2200W
Impulsabstand 1,2s --> errechnete Leistung ~ 3000W
und genau in diesem Bereich schwanken die Werte.. und genau diese Zeitschwankung ist auch am Oszi sichtbar. Leider sind die Cursor-Messpunkte nicht im Screenshot enthalten..
Meine Vermutung war also: durch den nicht sauber sinusförmigen Stromverlauf auf L3 misst der Energiezähler abhängig von seiner Abtastrate (die ich nicht kenne) vielleicht mal an einem Punkt, wo Strom x Spannung niediger ist, und mal an einem Punkt wo Strom x Spannung hoch ist.
Inzwischen habe ich die Steuerung und Pumpen aber an einen anderen Stromkreis gehängt, der nicht über den Zähler läuft und ich komme auf das selbe Phänomen. Vielleich reicht alleine schon die Phasenverschiebung des Kompressor-Motors aus um verschiedene Messergebnisse zu erhalten, aus dem vorher genannten Vermutung..
Das aliasing ist bei 3-Phasigen zählern noch deutlich ausgeprägter, bei
meinen Zählern werden die kWh/1000 Zählimpulse aus den 3
Phasenzählwerken nur über eine art Scheduler auf die Schnittstelle
gegeben, somit bekommt man bei Symmetrischer belastung aller Phasen
häufig Puls-triplets mit Schwebung. Richtig aus den daten Gelesen hat
das
Mario P. im Beitrag #7571395:
Schwingung 1 mit einer Periodendauer von etwa 5 Sekunden
Schwingung 2 mit einer Periodendauer von etwa 70 Sekunden
Hier gibt es 3 überlagerte Pulsfrequenzen der Zählwerke im Zähler, ggf
noch eine Taksynchronisation im Zähler, und die Abtastzeit beim
Auswerten.
Aber den entscheidenden Beitrag hast du ja bereits hier geschrieben..
Okay, habe das nicht nachgerechnet, war nur mein Optischer eindruck, dass es nur ein paar prozent abweichung sind. Dann hilft dir nur mitteln einiger werten, denn den Gleichlauf deines Zählwerks mit dem im Zähler hast du schon bewiesen. Dann beim nächsten mal einen Zähler mit Modbus, damit bekommt man jede sekunde schöne werte, und auch die Werte von Spannung, Strom, Phasenwinkel jeder einzelnen phase.
und genau in diesem Bereich schwanken die Werte.. und genau diese
Zeitschwankung ist auch am Oszi sichtbar.
Also der Eltako-Zähler zeigt am Display eine recht konstante Momentanleistung, und über S0 werden gleichzeitig total flatternde Momentanleistungen vermeldet? Das ist aber nicht schön von Eltako!
Ja, so kann man es auch sagen. Das ist aber, selbst wenn es pro forma dem Pflichtenheft nicht widersprechen sollte, nicht schön von Eltako. Immerhin kann man bei vielen anderen Zählern sehr wohl aus dem Abstand der S0-Impulse die Momentanleistung ablesen!
Möglicherweise ist die Anzeige auf dem Display stabiler, weil einerseits die Leistung (in kW) wird nur auf 2 Kommastellen (auf 10W genau) angezeigt wird - das alleine macht aber nicht den Unterschied, da es bei mir ja um mehrere 100W Schwankt - und andererseits wird für die Auswertung am Display vielleicht nur jeder 10. Impuls hergenommen. Es gibt dort nämlich auch einen Balken der kurz aufblinkt, jedoch blinkt dieser nur mit 100 Imp/kWh, anstatt wie beim S0 mit 1000
Wenn ich den gemessenen S0-Wert hernehme und über die 10 letzten Werte mittle, ist die Leistung auch deutlich stabiler..
Ich würde das andersrum sehen. Dem Eltako fällt auf das die Leistung stark unterschiedlich ist. In der Anzeige dann gemittelt damit die Kunden nicht nervös werden. Ein Oszillogramm über einen längeren Zeitraum (wenige Sekunden) würde das zeigen.
wird für die
Auswertung am Display vielleicht nur jeder 10. Impuls hergenommen.
eher ein Mittelwert der letzten paar Tausend Messsungen.
Immerhin kann man bei vielen anderen Zählern sehr wohl aus dem Abstand
der S0-Impulse die Momentanleistung ablesen!
Bei einem einphasigen Zähler ist das vmtl. so.
Wenn dein dreiphasiger Zähler schön die Leistung vom Heizstab auf L1 rausblinkt, aber immer dann einen Impuls zwischenschiebt, wenn auf L2 oder L3 mal wieder eine Wattstunde voll geworden ist, ergibt das genau das von dir gezeigte Bild, und du kannst aus dem Impuls-Abstand rein garnix rauslesen.
Einfacher Test: Leite zwei der Phasen an deinem Zähler vorbei, und schau dir den Graphen an.
Einfache Lösung: Nutze "pulse_counter" statt "pulse_meter". Das zählt die Anzahl der Impulse in (default) 60s, damit mittelt sich das alles raus. Wenn die Minute zu kurz ist (weil dann kein Puls in das Messfenster fällt) stell das update_interval höher.
Wenn dein dreiphasiger Zähler schön die Leistung vom Heizstab auf L1
rausblinkt, aber immer dann einen Impuls zwischenschiebt, wenn auf L2
oder L3 mal wieder eine Wattstunde voll geworden ist, ergibt das genau
das von dir gezeigte Bild, und du kannst aus dem Impuls-Abstand rein
garnix rauslesen.
Gutes Argument, sofern tatsächlich die Phasen einzeln aufsummiert werden - kann gut sein
Einfacher Test: Leite zwei der Phasen an deinem Zähler vorbei, und schau
dir den Graphen an.
werde ich bei Gelegenheit vielleicht noch testen, ist auch eine gute Idee, daran hätte ich nicht gedacht. So kann man vielleicht evaluieren, ob wie von mir vermutet die Phasenverschiebung das Problem ist oder tatsächlich die 3 einzeln gezählten Phasen.
Einfache Lösung: Nutze "pulse_counter" statt "pulse_meter". Das zählt
die Anzahl der Impulse in (default) 60s, damit mittelt sich das alles
raus. Wenn die Minute zu kurz ist (weil dann kein Puls in das
Messfenster fällt) stell das update_interval höher.
Da muss ich dir leider widersprechen, den habe ich bereits getestet. Du hast schon recht, dass der Counter die Leistung gut mittelt, was mich allerdings stört ist die schlechte Reaktionszeit. Mit einem Mittelwert von 15 Sekunden bin ich beim PulseMeter schon gut bedient - so sind die Werte schon recht brauchbar stabil. Wenn ich jedoch beim Counter die Abfrage alle 15 Sekunden einstelle und im Leerlauf (nur Heizungspunpen etc ~80W) die Impulsabstände länger als 1 Minute sind, dann zeigt der Counter zwischendurch immer wieder Leistung 0 an, was für mich schon ein markanter Schönheitsfehler ist. Vorteil beim PulseMeter ist für mich also hauptsächlich, dass die Reaktionszeit besonders bei einem Leistungsanstieg deutlich erhöht ist. Wenn die Leistung wieder runterfällt und es wieder länger bis zum nächsten Impuls dauert, passt es auch wieder nicht ganz, aber das akzeptiere ich..
kurz zusammengefasst: PuleCounter ist bei kurzen Intervallen (hoher Leistung) sicher von Vorteil, bei längeren Intervallen (geringere Leistung), die annähernd gleich lang oder länger sind als das Abfrageintervall aber deutlich im Nachteil
Ja, so kann man es auch sagen. Das ist aber, selbst wenn es pro forma
dem Pflichtenheft nicht widersprechen sollte, nicht schön von Eltako.
Immerhin kann man bei vielen anderen Zählern sehr wohl aus dem Abstand
der S0-Impulse die Momentanleistung ablesen!
Guter Beitrag!! hhinz ist schon wieder am nörgeln ;-)
Das Zählermodell ist übrigens explizit als nicht-geeicht ausgewiesen, vielleicht machen sie beim geeichten einen Unterschied. Es gibt noch einen von außen baugleichen Zähler in blau, der geeicht ist.
Ich würde das andersrum sehen. Dem Eltako fällt auf das die Leistung
stark unterschiedlich ist. In der Anzeige dann gemittelt damit die
Kunden nicht nervös werden. Ein Oszillogramm über einen längeren
Zeitraum (wenige Sekunden) würde das zeigen.
Na selbstverständlich habe ich mir die Mühe gemacht, bei der Betrachtung des Stromverlaufs-Kurve auch die Timerange ein wenig zu vergrößern - die Leistung schwankt definitiv kaum sichtbar bzw. nicht mal ansatzweise in dem Ausmaß wie es die Intervall-Unterschiede zeigen. Bei meiner Messung kann ich natürlich nur eine Aussage über die Scheinleistung treffen, der Zähler sollte aber angeblich ein Wirkleistungszähler sein, die bekanntermaßen aber normalerweise geringer ist als die Scheinleistung. Außerdem habe ich das Argument schon gebracht, dass die angeblich gemessenen Schwankungen, bei wenig Nebenverbrauchern wie in der Nacht teilweise höher sind als von meinem Smartmeter alle 5 Sekunden (hoffentlich zuverlässig) erfasst werden, was schon gar nicht sein kann..
eher ein Mittelwert der letzten paar Tausend Messsungen.
ja mag sein.. ich habe aber auch von den Impulsen gesprochen..
Wenn die Samplerate vom Zähler tatsächlich so hoch ist, würde ich mir aber dann aber doch etwas mehr Genauigkeit erhoffen
Man kann einen durchschnittlichen Wert berechnen, das ist jedoch nicht
zwingend die Momentanleistung.
Da hast du selbstverständlich recht - natürlich gibt der Zähler keine Auskunft ob zB. in den 1,2 Sekunden für 1Wh durchgehend gleichmäßig 3kW gezogen wurden oder ob zB für 0,6s 5kW und für 0,6s 1kW. Aber ich wüsste nicht wofür man die Daten so genau braucht...
Tja, einen Tod muss man sterben. Entweder du kaufst einen anderen Zähler, z.B. einen mit Modbus/RS485 oder einen der auf S0 die Summe über die Phasen "schöner" ausgibt als dein Eltako, oder du lebst mit den falschen Peaks, oder du lebst mit einer langsamen Reaktionszeit auf Lastsprünge.
Für was brauchst du die schnelle Info über Lastwechsel?
Wäre es eine Option einfach pulse_counter und pulse_meter gleichzeitig einzusetzen (also zwei Eingänge parallel schalten)?
Aus dem Einen kriegst du schnell mit wenn sich die Wärmepumpe ein- oder ausschaltet, aus dem Anderen die schön glatte Leistungskurve?
Für was brauchst du die schnelle Info über Lastwechsel?
Die Wärmepumpe hat einen Sperrkontakt ("PV Eingang") und den Kompressor zu sperren. Ich hätte für den Sommer vor, dass den Kühlbetrieb abhängig vom PV Strom steuere bzw. unterbreche, wenn ich den Strom dafür beziehen muss. Wenn der Kontakt geschlossen wird, wird der Kompressor laut Vaillant Servicetechniker sofort abgeschaltet ohne irgendeine Mindestlaufzeit etc. Ich möchte jetzt eben aber schon verhindern, dass der Kompressor immer wieder nur für wenige Minuten oder Sekunden einschaltet und sofort wieder aus, dafür nehme ich dann doch gerne auch etwas Stromzukauf auf mich.
Wenn ich also den Sperrkontakt schalte, möchte ich möglichst genau wissen, ob sich die WP nicht vielleicht gerade erst eingeschaltet hat und das nicht erst nach 1 Minute erfahren.
Für diesen Zweck habe ich jetzt einen template binary sensor eingerichtet, der sofort auf den ungemittelten Wert reagiert, also quasi nach spätestens +/- 1,5 Sekunden (also bis zum nächsten S0-Impuls) auf "Wärmepumpe läuft" schaltet. Die 1,5 Sekunden sind halt weiterhin Tot-Zeit, also wenn ich Pech habe und die WP gerade dann anläuft und innerhalb dieser 1,5s gleich wieder ausgeschaltet wird, wäre das halt blöd..
ich werde es mal testen, sonst kann ich eventuell schon auf den Leistungsanstieg der Pumpen ("Heizbetrieb Vorlaufzeit") reagieren..