NEWS
S0 Schnittstelle (ESP8266) für Stromzähler Berechnung
-
@jumper
Wenn es kein Prellen ist, was die hohe Impulszahl bewirkt (würde sehr stark schwanken), dann versuche es mal mit 100000 Impulsen/kWh und kleiner DebounceTime (3 ms).Verifiziere die erhaltenen Werte, insbesondere die Leistung.
-
0,02kWh zu wenig/langsam bzw. ich habe jetzt ein unterschied von 0,02 zwischen iobroker objekt und den Zähler unten
-
@jumper sagte: 0,2 zu wenig/langsam
Was?
Laut S0-Spezifikation
Der Impuls ist wie folgt definiert:
30 ms ≤ tEIN ≤ 120 ms
30 ms ≤ tAUSkann eine S0-Schnittstelle keine 100000 Impulse/kWh liefern, denn der Mindest-Pulsabstand ist > 60 (150) ms, also maximal 24000 Impulse/h. Bei 2000 Impulsen/kWh beträgt die Maximal-Leistung 12 kW.
-
@jumper
Es scheint doch ein Prellen zu sein, denn Time schwankt viel stärker als die Impuls-Differenz.
Wie ist die S0-Schnittstelle mit dem ESP verbunden? -
von Eltako S0+ zum ESP D5 (S0 Ground nicht angeschlossen)
-
@jumper sagte: von Eltako S0+ zum ESP D5
Und S0- ?
-
S0- hatte ich am anfang an GND(ESP32) damit hat es nicht funktioniert, wurden keine daten geliefert, erst wo nur S0+ an D5 angeschlossen war, also S0- ist grade niergendswo angeschlossen.
Ich habe eben die Werte nochmal verglichen, Iobroker/esp ist jetzt langsamer als der Zähler unten.
-
@jumper sagte: also S0- ist grade niergendswo angeschlossen.
Kein Wunder, dass er prellt. So kommen die Impulse über eine "Antenne".
Vorschlag:- S0+ an VCC (+3,3 V)
- S0- an D5
- Widerstand 4,7 kOhm zwischen D5 und GND
Ohne Widerstand geht es nicht, denn S0 ist "Open-Kollektor".
-
So habe es verändert, auf dem ersten blick scheint es zu passen.
Muss ich iwas im Script ändern? -
@jumper sagte: Muss ich iwas im Script ändern?
Wieder die Konstanten für 2000 Impulse/kWh verwenden.
-
soll ich den teil fürs debug löschen?
- ich hatte den Debounce Timer auf 3ms, 30ms, 60ms gehabt, jedes mal als ich den wert größer gemacht habe hat der esp langsamer gezählt, mittlerweile bin ich bei 100er schritten und es ist immer noch ein tick zu schnell
-
@jumper sagte: soll ich den teil fürs debug löschen?
Erst, wenn die Werte stimmen.
40 Impulse in einer Minute = 2400 pro Stunde entspricht 1,2 kW durchschnittliche Leistung. Kann das stimmen?
@jumper sagte in S0 Schnittstelle (ESP8266) für Stromzähler Berechnung:
Debounce Timer auf 3ms, 30ms, 60ms gehabt
Bei einer minimalen Impulsbreite von 30 ms würde ich ihn auf 20 ms einstellen.
-
1,2 kW Durchschnittliche Leistung kommt ungefähr hin halt +/-
beim 20ms zählt der esp immer noch ein tick schneller als der Zählerstand unten,
ich habe es für ne kurze zeit mit 2000ms ausprobiert und da hats fast hingehauen, gabs nur noch 0,01 unterschied zu dem Stromzähler unten.Jetzt beim 20ms wird der unterschied mit jeder Sekunde größer und größer
-
@jumper sagte: 2000ms ausprobiert und da hats fast hingehauen
Dann funktioniert es nur bei kleinen Leistungen; bei großen Leistungen werden Impulse "verschluckt".
-
@jumper sagte: wird der unterschied mit jeder Sekunde größer und größer
Der ESP liefert die Zahl der Impulse - nicht die der Flanken?
-
bin mir nicht sicher, ich habe jetzt die Debounce Time auf 2800ms und auf dem ersten blick scheint es zu passen bzw. was ich im objekte ablesen kann lese ich auch unten am Zähler selber ab, manchmal muss ich cä 10 sekunden warten bis die 2 werte wieder übereinstimmen... ich lasse den script übers Nacht mal laufen und vergleiche es morgen früh nochmal.
-
Moin, wie kann ich es überprüfen ob der ESP die Zahl der Impulse liefert oder die der Flanken,
ich hatte den script jetzt übers Nacht am laufen gehabt und innerhalb die ersten 1-2std. scheinte es zu passen aber anscheinend so bald sich der durchschnittliche vebrauch verändert hat stimmen die werte wieder nicht überein, da war wieder der Script schneller als der Zähler unten... Hättest du ne idee wie ich das richtig zum laufen kriegen könnte bzw. es verbessere?
LG. Jumper
Dankeschön für deine Unterstützung!
-
-
Die Goldene Frage für mich wäre, wo liegt der Fehler?
- am Script, am Zähler oder am Software einstellungen usw.
-
@jumper sagte: zustand mit "Debounce Time(mSec):3000"
3000 ms ist mit Sicherheit zu hoch.
@jumper sagte in S0 Schnittstelle (ESP8266) für Stromzähler Berechnung:
wo liegt der Fehler?
Der ESP liefert falsche Werte.
@jumper sagte in S0 Schnittstelle (ESP8266) für Stromzähler Berechnung:
am Zähler
Dazu müsste man sich die S0-Impulse am ESP-Eingang mit einem Oszillographen ansehen, ob sie ein sauberes Rechteck mit Low <0,8 V und High > 2,4 V sind.