NEWS
ESP-Home: HLW8012 Power Sensor
-
Ich möchte natürlich keine Dauerleistung im kW Bereich messen, dazu habe ich viel zu wenig Vertrauen in die dünnen Leiterbähnchen. Mich wundert nur, dass der Sonoff es kann.
Bitte entschuldige die grausame Paint Zeichnung, aber ich hoffe es wird klar, was ich mache.
Hier die Schaltung, die nicht geht (sprich sobald an beiden HLW eine Leistung ermittelt wird stören sich die Messungen gegenseitig derart, dass man damit nichts mehr anfangen kann). Selbst wenn ich die Verbindung von CF zu GPIO5 (D1) trenne wird bei GPIO14 (D5) nur Müll ermittelt sobald am unteren HLW eine Leistung anliegt.
Wenn ich den zweiten HLW über eine separates USB Steckernetzteil mit Spannung versorge (und noch nicht einmal die Massen zusammenlege um ein gemeinsames Potential zu haben!) dann klappen beide Messungen unabhängig voneinander! Auf D1 wird mir 40 W und auf D5 1000W angezeigt. Ich hätte eigentlich erwartet, dass der ESP mit dem für ihn in der Luft hängenden Pegel auf D1 (GPIO5) nichts anfangen kann, es geht aber komischerweise.
Jetzt möchte ich aber nicht für jeden HLW ein eigenes Steckernetzteil verwenden, dann könnte ich mir von den Kosten gleich eine Tuya oder Meros Steckdose mit Leistungsmessung kaufen.
-
@wolfgangfb
Danke und nun habe ich das gesehen wie ich es vermutet habe. Schön zeichnen kann sich jemand anders drum kümmern2 Punkte: 1) Ich versuche nochmal ob man dieses Datenblatt nicht doch irgendwo in einer lesbaren Version bekommt. Der Text dürfte auch interessant sein. Bisher stolper ich nur über Frequenz CFU und mir ist noch nicht klar was das sein soll. Die Gleichung Frequenz CF und Frequenz CF1 ist logisch durch ihre Pins.
- Irgendwo bin ich auf Kommentare gestoßen, wo diese Entwicklung dringend empfohlen wurde sein zu lassen. Im Datenblatt soll etwas von Galvanischer Trennung über Optocoupler erwähnt sein. In bestimmeten Fällen hat man sonst Netzspannung an den Niederspannungs Pins liegen.
Das Risiko und die Gefahr ist eine Sache, Potentialverschiebung und Referenzspannung eine Andere. Hier kommt genau Deine Schilderung zum tragen, wenn 2 HLW angeschlossen sind. Nur leider wieder dieses Datenblatt auf Chinesisch .....grrrr und man kann es nicht ordentlich nachlesen.
Edit: Und die Aufgabenstellung/Effeckte sind nicht neu: https://github.com/xoseperez/hlw8012/issues/16
- Irgendwo bin ich auf Kommentare gestoßen, wo diese Entwicklung dringend empfohlen wurde sein zu lassen. Im Datenblatt soll etwas von Galvanischer Trennung über Optocoupler erwähnt sein. In bestimmeten Fällen hat man sonst Netzspannung an den Niederspannungs Pins liegen.
-
Wirklich fündig bin ich nicht geworden und ich kann es auch teils verstehen, da hier am Netz schon jeder genau wissen sollte was er macht bzw. solche Bastellei schwer zu vertreten ist. Dennoch hätte ich es gerne genauer gewusst, auch wenn ich persönlich für sowas lieber Shelly 1PM, 2.5 oder Pro2PM einsetze.
Am informativsten ist noch diese Projektbeschreibung mit Schaltplan:
Was ich hier sehe: Verbindung Neutralleiter mit AGND oder anders ausgedrückt keine galvanische Trennung zwischen 230V und Kleinspannung
ist mir nicht geläufig und zu dünnes Eis. -
@dieter_p was mich am meisten an diesen HLW8012 stört, es sind totale Schätzeisen. Hablwegs valide Werte spucken die eigentlich nur aus wenn man damit eine (fixe) ohmsche Last betreibt auf welche der Sensor vorher fein säuberlich kalibriert ist.
Ein CSE7766 ist schon eine ganz andere Liga und spuckt selbst ohne Kalibrierung augenscheinlich valide Werte aus.
Und wer was ordentliches für kleines Geld braucht, dem kann ich die pzem004t (v3!) empfehlen. Laut Messungen von @Johannes-Bauerstatter war der (~10€) pzem004t v3 mit einem Fluke 1735 (>2000€) gleich auf.
@wolfgangfb said in ESP-Home: HLW8012 Power Sensor:
Oder kann man dem ESP Modul fest die Spannung vorgeben so dass zur Leistungsberechnung keine Pin benötigt wird?
Wahrscheinlich kannst du dir da mit esphome tatsächlich was zusammen schustern, aber warum?
Du wirst nie eine genaue Leistung bekommen können wenn du nur die Stromstärke misst. Es ist erforderlich die tatsächliche Spannung (zum gleichen Zeitpunkt) zu wissen, die eben oft nicht 230V ist, sondern sehr gerne auch ein gutes Stück drüber oder drunter.
Das ist übrigens auch ein Grund warum der HLW8012 so bescheiden ist. Dieser kann nicht zur gleichen Zeit Stromstärke und Spannung messen, sondern nur abwechseln, was die Leistungsmessung teils extrem verfälschen kannSollte dir die Leistung egal sein und du tatsächlich nur die Stromstärke messen willst, ist das leichteste wahrscheinlich einfach eine CT clamp zu nehmen.
-
@opensourcenomad said in ESP-Home: HLW8012 Power Sensor:
Ein CSE7766 ist schon eine ganz andere Liga und spuckt selbst ohne Kalibrierung augenscheinlich valide Werte aus.
Wenigsten kann man das Datenblatt schon einmal lesen und hat eine Chance es zu verstehen
Diesmal sogar mit Beispielapplikationsschaltungen. Mmmh, VSS = Chip-Ground gar nicht angeschlossen auch eine Erkenntnis.
-
Erstmal danke für die Infos. Mir geht es nicht darum, auf das Milliwatt genau zu messen, wie viel Strom fließt. Ich kann durchaus mit Schätzeisen leben. Das ganze dient eher dazu zu erfassen, welche Geräte eingeschaltet sind und welche nicht. Dazu genügt die Genauigkeit. Da das ganze fest verdrahtet ist kann ich auch dafür sorgen, dass da keine Phase auf den ESP kommt. Ich fasse das eh nur an, wenn der Strom aus ist.
Bei allen anderen Chips habe ich einfach kein Breakout Board gefunden und beim pzem liegt man deutlich über 10€ da kann ich auch gleich einen Sonoff R3 Dual für 15€ nehmen, da bin ich dann bei 7.5€ pro Kanal.
Mit dem HLW und einem 4-fach USB Steckernetzteil bei Ali für 1,50€ und einem D1 Mini und 4 HLW komme ich fast auf 10€ für 4 Kanäle. -
Das bekannte Breaktout-Board so so. Die Kommentare im ChinaShop deuten auf das was @OpenSourceNomad sagt -> Schätzeisen von gröbster Sorte und dabei kann man sich nicht sicher sein ob dort ein Strom fließt/ Gerät an oder aus ist.
Der Shop hat noch ein Mini-Wiki und hier gibt es die Hinweise:
https://www.electrodragon.com/w/HLW8012
Die letzten beiden Punkte wären mein Ansatz für die Schaltung um dort etwas im Labor am Trenntrafo lesen zu können. Betreiben würde ich es nicht auf dieser Informationslage und Eindruck zur Qualität.
-
@wolfgangfb said in ESP-Home: HLW8012 Power Sensor:
Mit dem HLW und einem 4-fach USB Steckernetzteil bei Ali für 1,50€
Ich bin tatsächlich auch ein Pfennigfuchser, aber einige Produkte importiere ich willentlich nicht selber aus China sondern erwerbe diese von lokalen Händlern. Ganz oben auf dieser Liste stehen bei mir Netzteile. Warum? Weil diese €1,50 Artikel potentiell tödlich sein könnten. Meistens fehlt diesen Geräten so ziemlich jede Schutzvorkehrung die einem vor einer AC Verbindung am (DC) USB Ausgang schützen sollte. Im besten Fall raucht nur das angeschlossene Gerät ab
, in schlechteren Fällen bekommt der geneigte user einen ordentlichen Stromschlag
Auch zu bedenken ist, wenn solche Geräte erst mal im Hause verstreut sind, steigt die Gefahr das andere Leute (welche vielleicht nicht wissen das es sich um minderwertigsten Schrott handelt), Gefahren ausgesetzt werden.
Hier gibt es ein nettes Video wo ein augenscheinlich originales Samsung USB Netzteil mit einem billigst Nachbau verglichen wird (inklusive Autopsie!)
-
@wolfgangfb said in ESP-Home: HLW8012 Power Sensor:
Mir geht es nicht darum, auf das Milliwatt genau zu messen, wie viel Strom fließt. Ich kann durchaus mit Schätzeisen leben.
Dann sollte doch jede x-beliebige ct coil ausreichen um die Stromstärke zu messen. Vorteil: deine DC Seite ist sauber von der AC Seite getrennt
Lebensgefahr sollte hier als nicht mehr bestehen
Gibt z.B. so 99 Cent Teilchen hier:
Laut Spezifikation können diese bis zu 5A ab und kommen schon mit op-amp daher. Kombiniert z.B. mit einem ads-1115 und du solltest zumindest wissen ob dein Gerät an oder aus ist
Preislich kommst du damit wahrscheinlich sogar noch günstiger weg als mit deinem gewünschten/geplanter Frankensteinaufbau
-
Hallo
Ich habe mir jetzt genau so ein Coil Teil besorgt (sieht genauso aus wie Dein Bild) und einen ADS1115. Ich komme aber damit bisher überhaupt nicht zurecht.
Das Coil Teil hat die Anschlüsse GND GND OUT und VCC. die beiden GND habe ich mit dem ESP und dem ADS1115 GND verbunden. VCC mit 3.3 V des ESp und Out mit A0= des ADS1115.
Beim ADS-1115 habe ich den I2C Bus angeschlossen und eben an A0 den Ausgang des Coil.Ich habe zuerst die Basisconfiguration des yaml genommen.
ads1115: - address: 0x48 sensor: - platform: ads1115 multiplexer: 'A0_GND' gain: 6.144 name: "ADS1115 Channel A0-GND"
Der ADS1115 wird erkannt und liefert einfach zufällige Werte. Dann habe ich mit dem Gain experimentiert. Scheinbar kann man da nur vielfache von 1.024 eingeben. Wenn ich 1.024 eingebe erhalte ich Ausgang immer Werte um die 1.024 V
[21:58:24][D][ads1115:164]: 'ADS1115 Channel A0-GND': Got Voltage=1.023969V [21:58:24][D][sensor:124]: 'ADS1115 Channel A0-GND': Sending state 1.02397 V with 3 decimals of accuracy [21:58:29][D][ads1115:164]: 'ADS1115 Channel A0-GND': Got Voltage=1.023969V [21:58:29][D][sensor:124]: 'ADS1115 Channel A0-GND': Sending state 1.02397 V with 3 decimals of accuracy [21:58:34][D][ads1115:164]: 'ADS1115 Channel A0-GND': Got Voltage=1.023969V [``` Aber egal welcher Strom durch die Spule fließe, an dem Wert ändert sich nichts. Was hat es genau mit dem Gain auf sich und welchen Fehler könnte ich sonst gemacht haben?
-
@wolfgangfb am besten einfach mal das multimeter auspacken und gucken was der Sensor an
out
auswirft. Diese (blauen) pots muss man manchmal übertrieben weit drehen das was in der Messung passiertWas hat es genau mit dem Gain auf sich
Sollte alles in der Doku stehen: https://esphome.io/components/sensor/ads1115.html
Aber bevor du weiter am ads1115 doktorst würde ich sicherstellen das dieses board auch was "valides" zum messen auswirft
-
Hallo
Das mit dem ADS1115 hae ich jetzt hinbekommen. Auf Gain 2.048 gestellt, parallel zum A0 ein Multimeter angeschlossen und wenn ich eine 1.5V Batterie anschließe sehe ich auf dem Multimeter und in ESP ziemlich genau 1.5V, soweit so gut.
Nur aus dem Coil Teil bekomme ich keine Werte. Die beeiden äußeren Pins habe ich mit +5 und GND verbunden, dass innere GND auch mit GND und Out mit A0, aber egal welchen Strom ich da durchschicke, es kommt immer 0V an (sowohl bei einer 40W Glühbirne als auch einem 1000W Heißluftfön. An dem Poti habe ich in beiden Richtungen solange gedreht, bis ich ein Knacken gehört habe, das ganze mit 2 verschiedenen Cols probiert. Nach meinem elektrotechnischen Verständnis ist es bei einem, einphasigen Verbraucher egal, ob ich Phase oder den Nullleiter ducht die Prüfspule schicke. -
@wolfgangfb said in ESP-Home: HLW8012 Power Sensor:
Nach meinem elektrotechnischen Verständnis ist es bei einem, einphasigen Verbraucher egal, ob ich Phase oder den Nullleiter ducht die Prüfspule schicke.
Würde ich auch so annehmen. Vielleicht trotzdem mal mit der "heißen" Phase testen wenn irgendwie möglich?
@wolfgangfb said in ESP-Home: HLW8012 Power Sensor:
egal welchen Strom ich da durchschicke, es kommt immer 0V an (sowohl bei einer 40W Glühbirne als auch einem 1000W Heißluftfön. An dem Poti habe ich in beiden Richtungen solange gedreht, bis ich ein Knacken gehört habe, das ganze mit 2 verschiedenen Cols probiert
Hmpf, da hast du ja schon alles erdenkliche durchprobiert, inklusive hardwaretausch um ein montagsgerät auszuschließen.
Hast du zufällig ein Datenblatt zu dem board ausfindig machen können?
Eventuell stellt man mit dem Poti einen "bestimmten" Messbereich ein? Aber irgendwelche "Zuckungen" an A0 hätte ich mit deinen Tests trotzdem erwartet.
Aktuell habe ich leider keine weitere Idee für dich, eventuell ein bissl Internetzrecherche, vielleicht gibt es Leidensgenossen mit dem gleichen board die bereits den Schlüssel zum Erfolg gefunden haben?
-
So, ich habe jetzt die Seite
https://electropeak.com/learn/interfacing-zmct103c-5a-ac-current-transformer-module-with-arduino/
gefunden. Dabei ist mir aufgefallen, dass das Modul ja eine AC Spannung und keine DC Spannung (wie ich erwartet/geglaubt habe) ausgibt. Ds wäre ja immerhin eine Erklärung dafür, dass ich immer 0V DC messe.
Also beim ESP den Code erweitert:
i2c: sda: D2 scl: D1 scan: True id: bus_a ads1115: - address: 0x48 sensor: - platform: ads1115 multiplexer: 'A0_GND' gain: 2.048 name: "ADS1115 Channel A0-GND" update_interval: 10s id: ads_sensor - platform: ct_clamp sensor: ads_sensor name: "Measured Current" update_interval: 10s
Aber selbst da messe ich nichts.
Hast Du denn die Kombination zmct103c ADS115 selbst im Einsatz? Wenn ja, wie hast Du das konkret verkabelt und wie sieht bei Dir die Software aus?
-
@wolfgangfb said in ESP-Home: HLW8012 Power Sensor:
Dabei ist mir aufgefallen, dass das Modul ja eine AC Spannung und keine DC Spannung (wie ich erwartet/geglaubt habe) ausgibt.
Ich glaube diese Zeile hier auf der Verlinken Seite ist schlicht falsch:
The module outputs an analog AC voltage corresponding to AC current of the wire passing through the module hole.
Hast du getestet ob du irgendwelche Werte bekommst wenn du das Modul nur mittels Multimeter ausließt? Also kein esp und keinen ads1115 im ersten Schritt um sicher zu sein das dieser zmct103c auch was sinnvolles ausspuckt?
@wolfgangfb said in ESP-Home: HLW8012 Power Sensor:
Hast Du denn die Kombination zmct103c ADS115 selbst im Einsatz?
Habe ich nicht, aber ads1115 habe ich einige auf weiter Flur. Mir ist außerdem gerade noch folgende
Note
in den esphome docs zum ads1115 aufgefallen:Note
As per (datasheet, Adafruit) Section 7.3 Note 2: “No more than VDD + 0.3V must be applied to the analog inputs of the device.” This means if you power the device with 3.3V, take care not to supply the 4 AIN pins with more than 3.6V.
Das könnte natürlich mit reinspielen wenn das Modul mit 5V bestromt wird und ebenfalls (maximal) 5V am Output ausgibt
-
Ich glaube die "funktion" des pots herausgefunden zu haben, auf dieser Seite hier steht:
Onboard sampling resistor, to drop the voltage to lower levels
Sprich es kann gut sein wenn der poti auf die "falsche" Seite gedreht ist du eventuell immer 0V (oder einen sehr niedrigen Wert erhältst) und eventuell nicht einen "ordentlichen" Ausschlag wie eigentlich gewünscht. Diese Funktion kommt dir aber (wenn es mal funktioniert) auch sehr gelegen damit du die maximale erlaubte Eingangspannung am ads1115 nicht überstrapazierst
Am besten noch mal mit multi meter testen um eventuelle weitere Probleme mit ads1115/esp sicher ausschließen zu können.
EDIT: Hier gibt es sogar ein (sehr kurzes) Datenblatt
-
So, ich bin jetzt einen Schritt weiter. Ich habe den zmct103c Ausgang direkt auf ein Oszi gegeben und auf dem Oszi sehe ich, dass da eine Wechselspannung anliegt. Laut Datenblatt soll das ganze bis 5A gehen, aber mit einem Heißluftfön mit 1000W (ca. 4.5A) kommt da ein mehr oder weniger verzerrtes Rechtecksignal heraus (sprich völlig übersteuert).
Was aber noch nicht klappt ist mit dem ADS1115 und dem ESP den Effektivwert mit der ct_clamp Platform zu bestimmen. Die liefert nach wie vor konstant 0V.