Netzfrequenz mit ESP

OP #6550957
Lesenswert?

Ahoi,

ich habe da gerade was gebastelt und hätte gerne eure Meinung und 
Verbesserungsvorschläge dazu.
Die Idee war recht simpel, ich wollte mit möglichst kleinem Aufwand die 
Netzfrequenz messen.
Dazu habe ich mir erstmal den ESP ausgesucht da ich die Messwerte gerne 
via TCP/IP versenden will, bzw. eigentlich soll das Ding dann die Metrik 
an Prometheus liefern, aber das nur warum ich den ESP nutzen will.

Meine herangehensweise war folgende:

Ich nutze ein Steckernetzteil (Wandwarze) das ich noch hier liegen hatte 
das AC liefert.
Ich hole mir aus der Wechselspannung mittels Diode nur den positiven 
Teil.
Hier fängt es an wo ich Probleme hatte, da ich keine Erdung habe, 
jedenfalls solange die Schaltung nicht durch USB o.Ä. mit Erde verbunden 
ist, habe ich ja quasi keine 0V, weil ich aus Unwissenheit da nicht 
weitergekommen bin habe ich da einen Optokoppler drauf geworfen. Also 
ich nehme über die Diode den positiven Teil des Signals und speise ihn 
über einen Vorwiderstand in den Optokoppler. Auf der anderen Seite sitzt 
ein DC/DC-Converter hinter einem Brückengleichrichter und gibt mir 3.3V 
für den Mikrokontroller und den Optokoppler. Der "Ausgang" des 
Optokopplers ist noch gegen Ground gezogen und geht in einen Pin des 
Mikrokontrollers.

Soweit die elektrische Seite, die Software war für mich jetzt nicht so 
das Problem, bzw. da bin ich recht selbstsicher das es da alles passt,
vergleiche mit den Werten von netzfrequenzmessung.de und 
netzfrequenz.info oder dem Hardware-Frequenzzähler meines Oszi's zeigen 
auf jedenfall recht schlüssige Werte.

Ich habe im Anhang noch ein paar Messung eingefügt, einmal wie es vom 
Netzteil kommt, einmal hinter der Diode und einmal hinter dem 
Optokoppler, falls das hilft.

Ich freue mich auf Anregungen oder Kritik, ich komme halt eher aus der 
Digitaltechnik und mit Wechselspannungen zu arbeiten hat mir doch sehr 
gezeigt das ich vieles noch nicht verstehe

Grüße David
Angehängte Dateien:
Gast #6550977
Lesenswert?

Mit was für einer Taktquelle versorgst Du den ESP, so daß er genauer 
zählen kann als die Netzfrequenz ist?
Mit einem normalen Quarz dürfte Deine Messung immer auf 'so um die 50 
Herz' hinaus laufen.
Gast #6551225
Lesenswert?

Wenn du nur die steigende Flanke auswertest sollte das in Ordnung sein. 
Du hast dann zwar eine leichte Phasenverschiebung zwischen deinem 
Meßsignal und der tatsächlichen Netzfrequenz, aber der sollte nicht 
weiter stören wenn du nur die Netzfrequenz brauchst.
OP #6551434
Lesenswert?

Ja stimmt, sorry, ich hatte Probleme die richtigen Bauteile im CAD zu 
finden, bin da noch nicht so geübt drin, daher hatte ich es erstmal 
aufgegeben. Hab es jetzt nachgeholt. Danke für euer Interesse.

Bei der AC-Eingangsspannung war ich mir nicht ganz sicher was ich da 
jetzt eintragen soll, auf der Wandwarze steht 9VAC, aber messen tue ich 
etwas über 11VAC auch das Oszi zeigt fast 12V Rms an, daher hab ich da 
jetzt einfach mal 12VAC hingeschrieben.
Angehängte Dateien:
Gast #6551439
Lesenswert?

David E. schrieb:
> ich hatte Probleme die richtigen Bauteile im CAD zu finden

Papier und Stift geht immer.

Der analoge Eingang des ESP8266 Chips geht nur bis 1,1V. Viele Boards 
enthalten dort aber noch einen Spannungsteiler für 3,3V. Ansonsten sieht 
die Schaltung Ok aus.

Was genau wolltest du denn damit messsen? Frequenz, Phasenlage, 
Spannung?
OP #6551452
Lesenswert?

Die Pins vertragen die 3.3V die aus dem DC/DC-Converter kommen, schon 
wieder ein paar Angaben verssen, sorry :) Der ESP ist entweder ein 
NodeMCU oder ein ESP-01, je nachdem ob ich am Breadboard bastel oder auf 
der Lochrasterplatine.

Messen möchte ich nur die Frequenz. Spannung ist mir zu gefährlich. 
Phase würde vermutlich auch bedeuten das ich direkt an die Netzspannung 
muss, der Trafo in der Wandwarze verschiebt doch glaub ich die Phase 
bereits!?
#6551461
Lesenswert?

Ich würde die Diode D1 nicht seriell, sondern antiparallel zur 
Leuchtdiode des Optokopplers schalten.

Es gibt zwei Gründe :

- die Leuchtdiode des Optokopplers wird mit dem Leckstrom von D1 in 
Sperrichtung betrieben und das kann einen Streß für die Leuchtdiode 
bedeuten

- der Transformator wird mit einem Gleichstom belastet
Gast #6551471
Lesenswert?

David E. schrieb:
> Phase würde vermutlich auch bedeuten das ich direkt an die Netzspannung
> muss, der Trafo in der Wandwarze verschiebt doch glaub ich die Phase
> bereits!?

Ja, das war auch mein Gedanke dabei.

Wenn du nur die Frequenz messen willst, kannst du vielleicht auch einen 
digitalen Eingang verwenden. Ich habe das mit einem ESP noch nicht 
ausprobiert aber mit einem AVR geht das ganz sicher.
OP #6551558
Lesenswert?

Erstmal vielen Dank für euren Input.

Gerald K. schrieb:
> Ich würde die Diode D1 nicht seriell, sondern antiparallel zur
> Leuchtdiode des Optokopplers schalten.

Danke! Das klingt nach einer sinnvollen Sache.

Stefan ⛄ F. schrieb:
> Wenn du nur die Frequenz messen willst, kannst du vielleicht auch einen
> digitalen Eingang verwenden. Ich habe das mit einem ESP noch nicht
> ausprobiert aber mit einem AVR geht das ganz sicher.

Mache ich bereits und wie beschrieben funktioniert die Schaltung ja auch 
schon recht gut.

51,5Hz schrieb:
> (Aus-)schalten von Induktivitäten(Stromstoßschalter, alte
> Leuchtstoffröhre mit Drossel, etc) können so machen zusätzlichen
> Nulldurchgang erzeugen..

Ein bisschen versuche ich da durch Sanity-Checks schon entgegen zu 
wirken, es werden einfach alle Messungen verworfen die zu sehr aus dem 
Rahmen fallen, es kann natürlich dennoch zu falschen Messungen kommen, 
da werde ich noch ein bisschen verbessern. Ich dachte daran nicht nur 
den absoluten Wert zu betrachen sondern auch die größe der Änderungen. 
Falls da noch jemand bessere Ideen hat, eventuell sogar auch der 
elektrischen Seite, wär ich dankbar.
#6551578
Lesenswert?

Ich würde einen Mehrschichtkondensator (da polungsunabhängig) parallel 
zur Fotodiode des Optkopplers schalten um Störspitzen zu Dämpfen. So 
groß, dass bei kleinster Netzspannung mit Sicherheit Impulse am 
Fototransistor des Optkopplers gemessen werden können. Probieren geht 
über studieren. Warum am Eingang des Optokopplers und nicht am Ausgang? 
Damit die Filterung symetrisch ist. Der Kondensator wird maximal mit 2V 
belastet.
#6551602
Lesenswert?

David E. schrieb:
> Also so? Ich würde da gerne rum probieren, aber ich wüsste gerade
> nicht
> wie ich solche Störungen gezielt herbeiführen könnte. Mein Inventar gibt
> auch leider nicht sonderlich viel Auswahl her was
> Mehschichtkondensatoren angeht max bis 10uF :)

Nein, C1 direkt parallel zu den beiden Dioden. R1 und C1 bilden einen 
Tiefpass. Pi x Daumen 10uF * 1k ~ 10ms aber man muss 12V gegenüber 1,5v 
betrachten, als ist die Filterzeit kürzer. <=10uF sollten passen.

Dr Kondensator muss zwischen den beiden Uf's der Dioden über R1 
umgeladen werden. Damit werden kurz Störungen im Übergangsbereich von 
L/H und H/L weggefilter.
Moderator (Firma: Titel) Persönliche Seite #6551614
Lesenswert?

David E. schrieb:
> auf der Wandwarze steht 9VAC, aber messen tue ich etwas über 11VAC auch
> das Oszi zeigt fast 12V Rms an, daher hab ich da jetzt einfach mal 12VAC
> hingeschrieben.
Die hat die 9V dann, wenn du den spezifizierten Laststrom entnimmst.

Gerald K. schrieb:
> Ich würde die Diode D1 nicht seriell, sondern antiparallel zur
> Leuchtdiode des Optokopplers schalten.
Ich würde den Optokoppler und den ganzen Klimbim drumrum einfach 
weglassen und sowas machen wie im Anhang.
Vermutlich würde ich die Z-Dioden Variante nehmen und statt der Z-Diode 
eine Klemmung mit 2 Schottky-Dioden auf die Versorgung des µC machen.
Angehängte Dateien:
OP #6551935
Lesenswert?

Gerald K. schrieb:
> Nein, C1 direkt parallel zu den beiden Dioden. R1 und C1 bilden einen
> Tiefpass. Pi x Daumen 10uF * 1k ~ 10ms aber man muss 12V gegenüber 1,5v
> betrachten, als ist die Filterzeit kürzer. <=10uF sollten passen.
>
> Dr Kondensator muss zwischen den beiden Uf's der Dioden über R1
> umgeladen werden. Damit werden kurz Störungen im Übergangsbereich von
> L/H und H/L weggefilter.

Ah ok, vielen dank deine Erklärung fand ich sehr hilfreich, werde 
versuchen das in Gänze zu verstehen.

Heinz R. schrieb:
> Ich würde, auch mit dem ESP8266, einfach die Frequenz aus einer Seite
> wie z.B. der hier holen:
>
> https://www.netzfrequenzmessung.de/index.htm

Danke, aber es geht mir hierbei darum mehr über elektische Schaltungen 
zu lernen.
Ich brauche diese Messung ja auch nicht, es ist einfach eine Spielerei.
Trotzdem Danke!

Lothar M. schrieb:
> Die hat die 9V dann, wenn du den spezifizierten Laststrom entnimmst.

Mhm, ok dieser Laststrom müsste dann also auch auf dem Typenschild zu 
sehen sein und ich könnte ihn simulieren, also z.B. durch einen 
Widerstand?


Was die LTSpice-Simulationen angeht, ich hatte tatsächlich meine ersten 
Ideen damit versucht zu simulieren, ich war mir dann aber nicht mehr 
ganz sicher ob meine Simulation noch der Wahrheit entspricht sobalb die 
Schaltung keine Erde mehr durch z.B. die USB-Verbindung oder das Oszi 
hat. Es scheint da wohl auch nur einen Workaround zu geben indem man 
durch einen riesigen Widerstand gegen Erde/Ground geht!?
Ansonsten werde ich mir die Schaltungen mal ankucken und versuchen zu 
verstehen was dort passiert, danke für die Files!

Nochmal vielen Dank an alle, ich freue mich das ihr so geduldig mit mir 
umgeht :)
OP #6560988
Lesenswert?

Stefan ⛄ F. schrieb:
> Beim nächsten mal, platziere die Antenne nicht mitten auf der Platine,
> sondern lasse sie an einer Seite so weit wie möglich heraus schauen.

Macht Sinn. Ich hab mal versucht so ein Ding mit ner Blechbüchse 
abzuschirmen um einen WLAN-Ausfall zu simulieren ... Kaktus, hat nich 
geklappt, aber ich wette sobald ich es nicht will reicht schon die 
Groundplane des Boards :D
Gast #6560989
Lesenswert?

David E. schrieb:
> Kaktus, hat nich geklappt, aber ich wette sobald ich
> es nicht will reicht schon die Groundplane des Boards

So läuft das Leben. Bei mir hatte anderes Modul auf dem Steckbrett 
keinen Empfang, bis ich die Beinchen mit einem Zwischenstecker ein paar 
mm verlängerte.
OP #6563126
Lesenswert?

Gerald K. schrieb:
> Woher stammt die Referenzfrequenz für die Messung?

Es wird keine externe Referenzfrequenz benötigt, die Zeitmessung findet 
durch den ESP statt, dieser nutzt glaube ich ein RC-Schwingkreis für 
seinen Takt.

> Stellt der ESP die Daten über einen WEB-Server dar?

Der ESP sendet seine Messungen via MQTT an einen Broker. Eine Art Relay 
abonniert diese Meldungen und verteilt sie über einen WebSocket-Server 
an die JavaScript-Clients.
Beitrag #7548520 wurde von einem Moderator gelöscht.
#7548524
Lesenswert?

David E. schrieb:

auf der Wandwarze steht 9VAC, aber messen tue ich etwas über 11VAC auch das Oszi zeigt

höhere Leerlaufspannung.

Markus E. schrieb:

aber was ist das als Widerstandssymbol eingezeichnete Bauteil mit der Beschriftung uC 500 ?

Das ist offensichtlich dein Mikroconroller der ungefahr so viel Strom zieht wie ein 500 Ohm Widerstand.

Man muss, wenn man den uC aus der Brückengleichrichterspannung versorgt, nicht so einen Aufwand machen, ein 100k Widerstand von einer Wechselspannungsleitung zum Eingangspin reicht, es gibt schliesslich Eingangsschutzdioden.

#7551931
Lesenswert?

Der BL0942 mag ja einiges bieten, nur eines nicht: Spezifikationen für seine Frequenzmessung:

"The frequency measurement has a resolution of 2us/LSB". Resolution heißt Auflösung, nicht Genauigkeit. 2 µs von einer 50 Hz Periode sind gerade mal 100 ppm. Dazu kommt der Fehler der internen Zeitreferenz. Ohne Quarz gibt es selten was Besseres, als einige 100 ppm. Da kann man auch 1000 ppm erwarten. Also 50,0x Hz.

Um mit >www.netzfrequenzmessung.de< mitzuhalten, sollte man die Netzfrequenz aus dem Trafo erst mal filtern (100 Hz 12 dB/Oktave) und mit einem Komparator (Schmitt-Trigger) möglichst symmetrisch zum Nulldurchgang zeitlich erfassen. Hat man dann noch eine gut abgeglichene Quarz-Referenz (< 10 ppm) oder gar einen abgeglichenen TCXO, wird man keine Unterschiede sehen.

#7552046
Lesenswert?

Mehr Sensorik wie bei gridradar (Analyse der Phasenlage von verschiedenen Standorten um die Lastflüsse zu detektieren) wäre spannend. Leider hat gridradar zu wenig von diesen Dingern in Betrieb, die machen leider ein Geheimnis aus deren Sensorik und ein Geschäftsmodell aus den Daten.

Dann wüsste man nach irgendwelchen Events auch wer das Arschloch war.

#7552315
Lesenswert?

Ralf K. schrieb:

Um mit >www.netzfrequenzmessung.de< mitzuhalten, sollte man die Netzfrequenz aus dem Trafo erst mal filtern (100 Hz 12 dB/Oktave) und mit einem Komparator (Schmitt-Trigger) möglichst symmetrisch zum Nulldurchgang zeitlich erfassen.

Um die Netzfrequenz weitgehend unabhängig von der Exaktheit der Nulldurchgangserkennung zu bestimmen, ist ein Oszillator, der zum Netzverlauf synchron gehalten wird, die bessere Lösung, weil man dann über eine schwache Kopplung (Zeitkonstante des Phasenfilters) ein viel rauschärmeres Signal erzeugen kann. Das darf natürlich gerne auch in SW passieren.

Ralf K. schrieb:

Resolution heißt Auflösung, nicht Genauigkeit. 2 µs von einer 50 Hz Periode sind gerade mal 100 ppm.

Da die Updaterate ohne weiteres im Bereich mehrerer Sekunden liegen darf, wird wohl keiner auf die Idee kommen, die genaue Frequenz aus nur einer Periodendauermessung abzuleiten. Bei Messung über 10 Perioden, läge man schon bei 10ppm, bei 1s Updaterate (50 Perioden) bei 2ppm, eine ausreichend genaue Referenzfrequenz vorausgesetzt.

#7552329
Lesenswert?

Rainer W. schrieb:

Um die Netzfrequenz weitgehend unabhängig von der Exaktheit der Nulldurchgangserkennung zu bestimmen, ist ein Oszillator, der zum Netzverlauf synchron gehalten wird, die bessere Lösung, weil man dann über eine schwache Kopplung (Zeitkonstante des Phasenfilters) ein viel rauschärmeres Signal erzeugen kann.

Das ist doch alles Augenwischerei. Mit diesem "Verfahren" kannst Du einen Wert erhalten, wie er vor vielen Sekunden aktuell war und wahrscheinlich noch bei Stromausfall weiter gemessen wird.

Die Netzfrequenz ist nicht kurzzeitstabil und daher auch nicht aus einer Periode heraus zu ermitteln. Oder anders formuliert, wenn die Nulldurchgänge wackeln, wackelt auch die Frequenz. So ist das Leben.

#7552681
Lesenswert?

Mi N. schrieb:

Oder anders formuliert, wenn die Nulldurchgänge wackeln, wackelt auch die Frequenz. So ist das Leben.

Die Netzfrequenz kann nicht schneller wackeln, als das Trägheitsmoment des Generators im Kraftwerk erlaubt. Der macht wegen seiner Trägheit keine Drehzahlsprünge im 20ms-Takt. So sind schwere Maschinen nun einmal - hat etwas mit Physik zu tun ...

OP #7553052
Lesenswert?

Ahoi,

nachdem der Post jetzt wieder aus der Senke geholt wurde, wollte ich nur mal schreiben wie sich das Projekt für mich entwickelt hat. Für meine Zwecke war diese kleine Spielerei vollkommend ausreichend, nach längerem loggen der Werte konnte ich, Anomalien erkennen wie sie die genannten Seiten erkannt haben, auch den 15 Minuten getakteten Stromhandel (Import/Export) konnte ich selbst gemessen beobachten. Um mehr ging es nicht, es war eine Spielerei aus der ich lernen wollte. Das Projekt hat also für mich super funktioniert und ich habe, auch mit euerer Hilfe etwas gelernt. Ich freue mich das ihr weiter über das Thema diskutiert und lese mit.

Grüße David

#7553105
Lesenswert?

Mi N. schrieb:

Rainer W. schrieb:

Um die Netzfrequenz weitgehend unabhängig von der Exaktheit der Nulldurchgangserkennung zu bestimmen, ist ein Oszillator, der zum Netzverlauf synchron gehalten wird, die bessere Lösung, weil man dann über eine schwache Kopplung (Zeitkonstante des Phasenfilters) ein viel rauschärmeres Signal erzeugen kann.

Das ist doch alles Augenwischerei. Mit diesem "Verfahren" kannst Du einen Wert erhalten, wie er vor vielen Sekunden aktuell war und wahrscheinlich noch bei Stromausfall weiter gemessen wird.

Du kannst und solltest die "vielen Sekunden" passend zur Anwendung frei wählen. Man kann auch einen (z.B.) 10kHz Oszillator an die Netzfrequenz koppeln und ganz primitiv die 10kHz mit 1s Torzeit messen. Früher hat man das um einen 4046 herum gebaut und es funktioniert problemlos.

#7553228
Lesenswert?

Rainer W. schrieb:

Der macht wegen seiner Trägheit keine Drehzahlsprünge im 20ms-Takt.

Lass stecken, etwas Konstruktives kommt dabei nicht heraus.

Bauform B. schrieb:

Man kann auch einen (z.B.) 10kHz Oszillator an die Netzfrequenz koppeln und ganz primitiv die 10kHz mit 1s Torzeit messen. Früher hat man das um einen 4046 herum gebaut und es funktioniert problemlos.

Schon, heute mißt ein µC jede Periode und mittelt nach Vorgabe oder reicht die Einzelwerte an einen Rechner zur Auswertung weiter.

#7796063
Lesenswert?

Steven M. schrieb:

wär ein fertiges Gerät (zB ein shelly plus pm mini) nicht einfacher? kost um die 16€ hat einen richtigen power meter ic und spricht von haus aus mqtt (und es läuft tasmota drauf wenns sein muss)

diy wird ja auch nicht wirklich billiger. sags ja nur...

In dem Shelly ist ein BL0937 oder BL0942 drin Der misst nur 49.9 Hz oder 50.0Hz (der BL0942 kennt Verbrauch und Einspeisung, der ältere BL0937 zählt nur Verbrauch)

Die Shellys mit zwei PM Ausgängen haben einen ADE7953 verbaut Auch dort wird unter Tasmota nur 50Hz angezeigt.

Der Sonoff Pow R2 hat einen CSE7766 verbaut. Der gibt nur Spannung, Strom und Watt aus

Um die Netzfrequenz sinnreich zu bestimmen braucht man schon 49.999 Hz Auflösung

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren