Forum: Mikrocontroller und Digitale Elektronik Netzfrequenz mit ESP


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von David E. (voxtronic)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

: Verschoben durch Moderator
von Horst (Gast)


Bewertung
0 lesenswert
nicht 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.

von Wühlhase (Gast)


Bewertung
0 lesenswert
nicht 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.

von Stefan ⛄ F. (stefanus)


Bewertung
4 lesenswert
nicht lesenswert
Ein Schaltplan und Fotos wären hilfreich, damit wir nicht über unsere 
individuellen Hirngespinste diskutieren müssen, sondern über deine 
Schaltung.

von David E. (voxtronic)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht 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?

: Bearbeitet durch User
von David E. (voxtronic)


Bewertung
0 lesenswert
nicht 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!?

von Gerald K. (geku)


Bewertung
1 lesenswert
nicht 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

: Bearbeitet durch User
von Stefan ⛄ F. (stefanus)


Bewertung
2 lesenswert
nicht 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.

: Bearbeitet durch User
von 51,5Hz (Gast)


Bewertung
1 lesenswert
nicht lesenswert
David E. schrieb:
> die Software war für mich jetzt nicht so das Problem

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

von David E. (voxtronic)


Bewertung
0 lesenswert
nicht 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.

: Bearbeitet durch User
von Gerald K. (geku)


Bewertung
0 lesenswert
nicht 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.

: Bearbeitet durch User
von David E. (voxtronic)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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 :)

: Bearbeitet durch User
von Gerald K. (geku)


Bewertung
1 lesenswert
nicht 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.

: Bearbeitet durch User
von Heinz R. (heijz)


Bewertung
1 lesenswert
nicht lesenswert
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

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Bewertung
2 lesenswert
nicht 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.

: Bearbeitet durch Moderator
von Gerald K. (geku)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So sieht die Realisierung mit Optokoppler aus.
17Vs = 12Veff

: Bearbeitet durch User
von A.T. (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von David E. (voxtronic)


Bewertung
0 lesenswert
nicht 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 :)

von Stefan ⛄ F. (stefanus)


Bewertung
1 lesenswert
nicht lesenswert
David E. 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?

ja

von David E. (voxtronic)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich wollte nur noch einmal kurz das Resultat meiner Bastelei hier zeigen 
und mich damit noch einmal für die Hilfe von euch bedanken!

https://50hz.ewelt.net

Danke!

von Stefan ⛄ F. (stefanus)


Bewertung
1 lesenswert
nicht lesenswert
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.
https://www.espressif.com/sites/default/files/documentation/esp8266_hardware_design_guidelines_en.pdf 
Kapitel 1.6

von David E. (voxtronic)


Bewertung
0 lesenswert
nicht 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

von Stefan ⛄ F. (stefanus)


Bewertung
1 lesenswert
nicht 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.

von Gerald K. (geku)


Bewertung
0 lesenswert
nicht lesenswert
David E. schrieb:
> Ich wollte nur noch einmal kurz das Resultat meiner Bastelei hier zeigen
> https://50hz.ewelt.net

Woher stammt die Referenzfrequenz für die Messung?
Stellt der ESP die Daten über einen WEB-Server dar?

von David E. (voxtronic)


Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.