NEWS
ESPHome als Stommesser - CT Clamp Current Sensor
-
Hallo
Ich habe ein ZMCT103C an den Analog Pin A0 des ESP8266 angeschlossen.
Im ESPHome habe ich folgendes yaml erzeugt und compiliert:
- platform: ct_clamp sensor: adc_sensor name: "Measured Current" update_interval: 10s filters: - calibrate_linear: # Measured value of 0 maps to 0A - 0 -> 0 # Known load: 4.0A # Value shown in logs: 0.1333A - 0.1333 -> 4.0 # Example source sensor - platform: adc pin: A0 name: "Raw Voltage" update_interval: 10s id: adc_sensor
Herauskommen tut aber mehr oder weniger nur Müll. Auch wenn die "Raw Voltage" 0 ist kommt ein Strom heraus. Angeschlossen habe ich einen Heißluftfön, der entweder 850W oder 1400W zieht. Das müssten also ca. 3,7A bzw. 6,1A sein. Egal wie ich kalibriere, ich komme einfach nicht hin.
Wo mache ich den Fehler?[22:04:09][D][adc:058]: 'Raw Voltage': Got voltage=0.00V [22:04:09][D][sensor:099]: 'Raw Voltage': Sending state 0.00000 V with 2 decimals of accuracy [22:04:09][D][ct_clamp:051]: 'Measured Current' - Raw Value: 0.09A [22:04:09][D][sensor:099]: 'Measured Current': Sending state 2.62676 A with 2 decimals of accuracy [22:04:19][D][adc:058]: 'Raw Voltage': Got voltage=0.00V [22:04:19][D][sensor:099]: 'Raw Voltage': Sending state 0.00000 V with 2 decimals of accuracy [22:04:19][D][ct_clamp:051]: 'Measured Current' - Raw Value: 0.09A [22:04:19][D][sensor:099]: 'Measured Current': Sending state 2.62104 A with 2 decimals of accuracy [22:04:29][D][adc:058]: 'Raw Voltage': Got voltage=0.00V [22:04:29][D][sensor:099]: 'Raw Voltage': Sending state 0.00000 V with 2 decimals of accuracy [22:04:29][D][ct_clamp:051]: 'Measured Current' - Raw Value: 0.09A [22:04:29][D][sensor:099]: 'Measured Current': Sending state 2.61860 A with 2 decimals of accuracy [22:04:39][D][adc:058]: 'Raw Voltage': Got voltage=0.18V [22:04:39][D][sensor:099]: 'Raw Voltage': Sending state 0.18262 V with 2 decimals of accuracy [22:04:39][D][ct_clamp:051]: 'Measured Current' - Raw Value: 0.09A [22:04:39][D][sensor:099]: 'Measured Current': Sending state 2.61982 A with 2 decimals of accuracy [22:04:49][D][adc:058]: 'Raw Voltage': Got voltage=0.00V [22:04:49][D][sensor:099]: 'Raw Voltage': Sending state 0.00000 V with 2 decimals of accuracy [22:04:49][D][ct_clamp:051]: 'Measured Current' - Raw Value: 0.09A [22:04:49][D][sensor:099]: 'Measured Current': Sending state 2.81760 A with 2 decimals of accuracy [22:04:59][D][adc:058]: 'Raw Voltage': Got voltage=0.00V [22:04:59][D][sensor:099]: 'Raw Voltage': Sending state 0.00000 V with 2 decimals of accuracy [22:04:59][D][ct_clamp:051]: 'Measured Current' - Raw Value: 0.09A [22:04:59][D][sensor:099]: 'Measured Current': Sending state 2.81892 A with 2 decimals of accuracy [22:05:09][D][adc:058]: 'Raw Voltage': Got voltage=0.00V [22:05:09][D][sensor:099]: 'Raw Voltage': Sending state 0.00098 V with 2 decimals of accuracy [22:05:09][D][ct_clamp:051]: 'Measured Current' - Raw Value: 0.06A [22:05:09][D][sensor:099]: 'Measured Current': Sending state 1.65439 A with 2 decimals of accuracy [22:05:19][D][adc:058]: 'Raw Voltage': Got voltage=0.00V [22:05:19][D][sensor:099]: 'Raw Voltage': Sending state 0.00195 V with 2 decimals of accuracy [22:05:19][D][ct_clamp:051]: 'Measured Current' - Raw Value: 0.03A [22:05:19][D][sensor:099]: 'Measured Current': Sending state 0.99917 A with 2 decimals of accuracy [22:05:29][D][adc:058]: 'Raw Voltage': Got voltage=0.00V [22:05:29][D][sensor:099]: 'Raw Voltage': Sending state 0.00000 V with 2 decimals of accuracy [22:05:29][D][ct_clamp:051]: 'Measured Current' - Raw Value: 0.02A [22:05:29][D][sensor:099]: 'Measured Current': Sending state 0.61363 A with 2 decimals of accuracy [22:05:39][D][adc:058]: 'Raw Voltage': Got voltage=0.01V [22:05:39][D][sensor:099]: 'Raw Voltage': Sending state 0.00781 V with 2 decimals of accuracy [22:05:39][D][ct_clamp:051]: 'Measured Current' - Raw Value: 0.01A [22:05:39][D][sensor:099]: 'Measured Current': Sending state 0.37602 A with 2 decimals of accuracy [22:05:49][D][adc:058]: 'Raw Voltage': Got voltage=0.00V [22:05:49][D][sensor:099]: 'Raw Voltage': Sending state 0.00195 V with 2 decimals of accuracy [22:05:49][D][ct_clamp:051]: 'Measured Current' - Raw Value: 0.01A [22:05:49][D][sensor:099]: 'Measured Current': Sending state 0.23710 A with 2 decimals of accuracy [22:05:59][D][adc:058]: 'Raw Voltage': Got voltage=0.00V [22:05:59][D][sensor:099]: 'Raw Voltage': Sending state 0.00098 V with 2 decimals of accuracy [22:05:59][D][ct_clamp:051]: 'Measured Current' - Raw Value: 0.01A [22:05:59][D][sensor:099]: 'Measured Current': Sending state 0.16814 A with 2 decimals of accuracy [22:06:09][D][adc:058]: 'Raw Voltage': Got voltage=0.00V [22:06:09][D][sensor:099]: 'Raw Voltage': Sending state 0.00000 V with 2 decimals of accuracy [22:06:09][D][ct_clamp:051]: 'Measured Current' - Raw Value: 0.00A [22:06:09][D][sensor:099]: 'Measured Current': Sending state 0.13640 A with 2 decimals of accuracy [22:06:19][D][adc:058]: 'Raw Voltage': Got voltage=0.00V [22:06:19][D][sensor:099]: 'Raw Voltage': Sending state 0.00195 V with 2 decimals of accuracy [22:06:19][D][ct_clamp:051]: 'Measured Current' - Raw Value: 0.00A [22:06:19][D][sensor:099]: 'Measured Current': Sending state 0.12319 A with 2 decimals of accuracy
-
@wolfgangfb said in ESPHome als Stommesser - CT Clamp Current Sensor:
ZMCT103C
Guten Morgen @WolfgangFB
Das ist leider nicht das was du dir Vorgestellt hast.
Die Bezeichnung des Sensors ist leider etwas verwirrend.
Lese dir das hier mal genau durch.
https://components101.com/sensors/zmct103c-precision-current-sensor-pinout-features-datasheet-alternativeDieser Sensor besteht aus einer Spule mit nachgeschaltetem Verstärker.
Der Draht in dem du den Strom messen möchtest wird durch die Spule geführt und bei einem Wechselndem Strom wird hier eine Spannung Induziert die wiederum (da die sehr klein ist) wird von einem Verstärker verstärkt.
Daraus folgert das aus dem Ausgang des Modules eine Spannung heraus kommt die Proporzional zum Strom im Drahtes entspricht.
In kurzen Worten Wechselstrom rein Wechselspannung raus.
Das kann man natürlich mit einem Passenden Programm in einen Effektivwert umrechnen.
Der ESP32, Ardoino oder Raspi usw. müssen dann diese Umrechnung auch durchführen können.
hört sich einfach an ist aber sehr verzwickt und benötigt einiges an Rechenpower da der Strom nicht immer Sinusförmig ist und auch nicht immer in Phase mit der Spannung ist.
Benutze besser ein Anderes Modul für deine Anforderungen dann musst du dich nicht mit den Berechnungen rumschlagen.
z.B
https://www.amazon.de/PZEM-004T-Stromspannung-Energie-Multimeter-Stromwandler/dp/B074QGT6LLSchönnen Sonntag noch aus dem Sauerland gewünscht.
F.B. -
@berges01
Hallo
Dass die Anzeige der "Raw Voltage" Blödsinn ist, ist mir hinterher auch aufgefallen (weil Wechselspannung). aber prinzipiell habe ich das schon so verstanden, dass der "CT Clamp Current Sensor" das kann.
Da steht doch:
"The Current Transformer Clamp (ct_clamp) sensor allows you to hook up a CT Clamp to an analog voltage sensor (like the ADC sensor) and convert the readings to measured single phase AC current."Also ganz klar "AC current"
Und unter:
sample_duration (Optional, Time): The time duration to sample the current clamp with. Higher values can increase accuracy. Defaults to 200ms which would be 10 whole cycles on a 50Hz system.Das verstehe ich so, dass der "CT Clamp Current Sensor" die Spannung, die über "adc_sensor" reinkommt (Wechselspannung) über 10 Perioden mittelt, daraus den Effektivwert (oder Mittelwert, spielt hier keine Rolle) bestimmt und daraus dann den Strom ermittelt.
Also genau das, was ich mir vorgestellt habe: Wechselspannung (aus ZMCT) rein, Wechselstrom auf die Anzeige.
-
@wolfgangfb
Guten MorgenJa das kann man so lesen.
Wenn ich mir das Ersatzschaltbild ansehe so ist meine Aussage eher richtig.
Auch eine Wechselspannung kann Proportional sein.
Da wird nicht von TrueRMS oder so etwas gesprochen.
Daraus folgerte mein Vermutung.
Auch die Menge der Bausteine deutet eher darauf hin.
Hast du ein Scope oder Zugriff auf eines ?
Damit hättes du die Gewissheit.
Deine Ausdrücke Deuten aber auch auf Wechselspannung hin.
Versuche mal mit einem Multimeter (Hoffentlich hast du eins) den Ausgang zu messen ob da etwas heraus kommt das ungefähr dem Strom entspricht.
Einfach Haarföhn laufen lassen und mit der Spannung AC Einstellung den Ausgang messen.Das hier habe ich auch noch auf die Schnelle gefunden :
https://www.pollin.de/p/strom-wandlermodul-daypower-tf-a-op-810575?utm_source=google&utm_medium=fshopping&gclid=CjwKCAjw9uKIBhA8EiwAYPUS3MOXnwwsSq23Dd3zwbCzMsV7zigaCbVgfbgY-0QCixWyQKYIgRQipRoCpFIQAvD_BwE
Auch das Untermauert meine Aussage.Ich hoffe aber noch das du keinen Griff in´s besagte Häuschen getätigt hast.
Grüße
Frank -
@berges01
So, ich bin noch mehr irritiert als ich es schon war. Ich habe keine Ahnung, was das ZMCT Modul da rausgibt.
Am Oszi sehe ich ohne Last folgendes:Unter 850 W folgendes
und unter 1400 W
(was nahezu identisch aussieht, zumindest ist keine doppelt so hohe Amplitude zu sehen, ein Sinus sieht für mich auch geringfügig unterschiedlich aus :-). Dass da ESPHome nichts vernünftiges rausspuckt überrascht mich nicht wirklich.
Kann man beim Anschluss des ZMCT irgend etwas gravierendes falsch machen?
-
@wolfgangfb Wie sieht denn Deine Schaltung aus?
Ist Dein primärseitiger Verbraucher ohmsch (Glühbirne, Heizdraht)?
Wie hast Du den Stromtransformator sekundärseitig abgeschlossen? Die Datenblätter schreiben ja 5mA vor. Man sieht da z.B. 33Ohm oder 100 Ohm.
Abgesehen davon ist der AD-Wandler des ESP8266 eher schlecht.
Ein Shelly PM oder ein Blitzwolf messender Zigbee Zwischenstecker wären die schnelleren und besseren Lösungen.
Aber so lernt man halt mehr dazu, -
@wolfgangfb
Hallo Wolfgang
Genau so etwas hatte ich erwartet.
Eine vermischte Wechselspannung und um es spannend zu machen wahrscheinlich noch mit einem Gleichspannungsanteil.
Wenn ich mir den Schaltplan mal ansehe ist das auch zu erwarten, und genau so etwas zeigt auch dein Ausdruck der Messwerte.
(Schaltplan aus dem PDF von Pollin)
Ich habe keine Ahnung wer sich so etwas ausdenkt denn das kann man nun wirklich nicht gebrauchen.
Auch eine Auswertung ist da fraglich.
Ob man nun das Dach benutzen kann um den Wert zu ermitteln halte ich für vermessen (In jeglicher Hinsicht ist das vermessen).
Eine Gleichrichterschaltung sieht etwas anders aus und wenn das auch noch TrueRMS sein soll ist der Aufwand beträchtlich.
Es gibt auf dem Markt einige fertige IC´s die das bewerkstelligen aber die kosten.
(https://www.analog.com/media/en/technical-documentation/data-sheets/AD636.pdf)
Vergiss das Teil das ist Müll !!
Was die Bürde betrifft gilt das für eine Nackte Strommessspule da man die Sättigung und die Permehabilität des Magnetfeldes ausgleichen möchte hier haben wir es aber mit einer Spule mit nachgeschaltetem "Verstärker" (Ich bezeichne das mal als Zumutung).
Schade eigentlich, währe eine schöne kleine und preiswerte Lösung gewesen.
Ich habe mir das aus meinem Vorschlag bestellt und möchte unsere Waschmaschine nebst Trockner damit überwachen und Alexa soll dann durchs Haus brüllen der Trockner ist so was von fertig
Ich benutze einen ESP32 dafür und übertrage das auf einen MQTT damit ich damit im ioBroker was anfangen kann.
Da ich dafür fertige Grundsoftware habe ist das schnell gemacht (Lochrasterplatte, Netzteil, ESP32, einige Kleinigkeiten und Klemmen aufgelötet und alles in ein Kiste).
Ich denke mal das wahr auch dein Plan, dann bist du leider auf das Teil reingefallen (ich auch beinahe bis ich das bei Pollin gelesen habe).
Grüße aus dem Sauerland!
Frank -
@berges01 Wenn das der Schaltpplan ist, dann sind die scope plots bei 5V Versorgung nicht verwunderlich.
Bei 5A produziert der Wandler 5mA. An 100 Ohm sind das 500mV.
Dann kommt ein Verstärker mit 10-facher Verstärkung.
Der ist bei 5V Versorgung ab 2.5A schon in der Sättigung und macht aus einem Sinus ein Rechteck.
Macht mal R1 kleiner (~1* R1 oder 2*R1, also 10kOhm oder 20 kOhm, je nach Meßbereich), dann sieht es an Pin1 des Verstärkers schon eher nach Sinus aus.
Und das sollte dann auch am Ausgang so bleiben, wenn man R9 = R6 (also ca. 10kOhm).
Gleichgerichtet ist dann noch immer nichts.
Aber man könnte dann mit einem ESP32 (besserer AD-Wandler, mehr Rechenleistung) den Eingang sampeln und Ieff rechnen (Gleichanteil Uss/2 natürlich wegrechnen). -
Hallo
Ob das wirklich der Schaltplan des Modules ist, dazu kann ich nur auf das PDF bei Pollin verweisen.
Aber auch Andere Dokuquellen zeigen so etwas.
Da auf der Leiterplatte nur Vogelfutter drauf ist muss man schon etwas mehr Erfahrung im Löten haben um die Widerstände zu tauschen.
Ich halte das für Blödzinn das macht keinen Sinn den das könnte man direkt in eine ADC geben den es als Blockplatine bekommt.
Je weniger Bauteile je weniger Messfehler.
z.B ADS1115 (16Bit 860sps)
Da benötigt man dann keinen Verstärker 860sps sollten reichen aber die Gleichrichtung bleibt noch Aussen vor.
Der EPS32 hat aber dafür genügend Power.Ich tendiere aber eher zu dieser Lösung :
https://www.amazon.de/PZEM-004T-Stromspannung-Energie-Multimeter-Stromwandler/dp/B074QGT6LL
Genau diese werde ich benutze ich um AC Strom und Leistung zu messen.Gruss Frank
-
@berges01
Ich wollte einfach eine günstige Alternative zum Shelly 1PM haben und fand es noch vorteilhaft, dass das ganze dann auch noch galvanisch getrennt wäre.
Die "Schaltung" ist bisher nichts weiter als das Modul an die 5V anzuschließen und den Ausgang aufs Oszi.
Der Verbraucher ist ein Heißluftfön. Aber auch mit geringeren Lasten kommt nichts vernünftiges raus.
Schade. -
Nachtrag: Was ist denn von einem ACS712 als Alternative zu halten? Oder ist das im Endeffekt das gleiche?
-
@wolfgangfb said in ESPHome als Stommesser - CT Clamp Current Sensor:
ACS712
Guten Morgen
Wenn du diesen hier meinst :
https://cdn.shopify.com/s/files/1/1509/1638/files/ACS712_Stromsensor_mit_5A_Datenblatt.pdf?8665189332480513401Ja das ist genau das gleiche.
Hier ist es keine Spule die den Strom misst sondern ein Hall-Sensor.
Die Schaltung ist auch für Gleichspannung und kann Ströme in beiden Richtungen messen.
Aber nicht für Wechselspannung !
Auch hier kommt nur eine Wechselspannung heraus wenn man das machen würde.
(Kurvenform und Genauigkeit mal nicht betrachtet)
Dieser Sensor ist eigentlich eine Prima Sache für Gleichspannung da er eine Galvanische Trennung bereitstellt.
Nachteil ist, er reagiert auf externe Magnetfelder da er in dieser Montage nicht Magnetisch abgeschirmt ist.
Lasse dich bei der Auswahl nicht von +5A -5A täuschen das ist keine AC Messung sondern z.B dafür geeignet Laden und Entladen einer Accuzelle zu überwachen.
Suche Speziell nach AC-Messung, trueRMS oder AC/DC Messwandler dann bist du schon mal Begrifflich auf der Richtigen Seite.
Schau mal hier:
https://www.pb-messtechnik-shop.de/Stromzangen/Stromwandler-fuer-den-Festeinbau/AC-Stromwandler/LEM-Stromwandler
https://www.amazon.de/AC-Stromwandler-Gegeninduktivität-SZT15-CH-10V-AC-Strommessung-überwachung/dp/B08TBX8QGJ
http://www.current-sensors.de/DE_DigitalCurrentSensors.htm
https://www.phoenixcontact.com/online/portal/de?urile=wcm%3Apath%3A/dede/web/main/products/list_pages/Current_transducers_up_to_12_A_AC_sinusoidal_P-14-08-02-01/a3f3e91e-0b05-4a95-b9ad-76cd9b0e488c
Das sind Geräte die kannst du direkt an einen Analogeingang anschließen.
Die können AC Strom messen und wandeln diesen in eine Gleichspannung von 0-10V um.
Das ist aber nur eins von vielen Möglichkeiten.
Schönen Tag noch gewünscht F.B. -
@berges01
Ich konnte nicht widerstehen und habe die 3€ investiert und mir einen ACS712 besorgtUnd zur Überraschung funktioniert das ganze. Im Leerlauf kommt eine halbwegs gerade Linie heraus.
Bei ca. 850W durch den Heißluftfön
und bei 1433W
ESPHome zeigt 0.00A bei Leerlauf, 0,15 bei 850W und 0,22 bei 1433W (was in etwa hinkommt).
Ich werde das ganze noch mit mit einem ESP32 testen (der hat wohl bessere AD Wandler).
Etwas überrascht bin ich aber doch, dass es damit zumindest halbwegs klappt, beim ZMCT aber nur Müll rauskommt. wenn die Schaltung im Prinzip die gleiche ist. -
@wolfgangfb sagte in ESPHome als Stommesser - CT Clamp Current Sensor:
Etwas überrascht bin ich aber doch, dass es damit zumindest halbwegs klappt, beim ZMCT aber nur Müll rauskommt. wenn die Schaltung im Prinzip die gleiche ist.
Warum? Habe ich doch oben erklärt: Wenn die refrenzierte Schaktung des ZMTC passt, dann ist die Verstärkung viel zu hoch und bei Deinen Strömen die Sättigung schnell erreicht (und das Signal generell auch etwas verrauschter). Mit kleineren Lasten wie Glühlampen wird man beim ZMTC auch mehr vom Sinus sehen. Oder mit höherer Versorgungsspannung. Das Verstärker-IC soll ja bis 30V können.
Aber schön, daß Du eine Lösung für Dich gefunden hast.