Stromnetz-Frequenz-Messung mit ESP8266

Begonnen von JoWiemann, 16 Juni 2021, 15:23:51

Vorheriges Thema - Nächstes Thema

herrmannj

#240
schau, schau.

Der (verbleibende) spike nach oben hat 50.489Hz
2021-08-08_20:45:09 freq_int frequency: 49.983
2021-08-08_20:45:09 freq_ext frequency: 49.983
2021-08-08_20:45:10 freq_int frequency: 50.489
2021-08-08_20:45:10 freq_ext frequency: 49.984


50.505 wäre genau ein Impuls (=50/ 0,99) zu früh. Das passt so exakt - ich bin mal gespannt was bei der ESP Fraktion rauskommt. a) müsste man die Theorie, dass das ein HW Problem ist, jetzt bestätigen und b) wäre die Frage was man dann damit macht. Mal schauen was Papa Romeo für Ideen hat, der is ja 'n Fuchs:) Vielleich ein kleiner Kondensator Sekundär am oc. Primär würde am T würde bestimmt auch gehen. Naja, erstmal muss das validiert werden ...

edit: oder halt in der SW glatt-bügeln. Wenn diff abs(alt-neu) > 0.4Hz einmal ignorieren ..

Papa Romeo

#241
Hallo Jörg,

auf was gehst du mit den Impulsen des Nulldurchgangsdetektor ... GPIO des Pi ?
Wie groß ist dein Pullup am Optokoppler-Ausgang ?
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Nobbynews

Zitat von: Papa Romeo am 08 August 2021, 21:39:29
auf was gehst du mit den Impulsen des Nulldurchgangsdetektor ... GPIO des Pi ?
Wie groß ist dein Pullup am Optokoppler-Ausgang ?
Bei mir gehen die Impulse über einen 10k Pullup auf einen GPIO.

herrmannj

Yupp, dito. ,10k. ich vermute das Oberwellen oder Störimpulse auf den 50hz liegen. Wenn knapp nach dem normalen Nulldurchgang ein Impuls liegt, löst der nochmals aus. Soweit die Theorie. Dann müsstet ihr ähnliche Effekte sehen ...

Papa Romeo

Zitat von: Nobbynews am 08 August 2021, 21:46:39
Bei mir gehen die Impulse über einen 10k Pullup auf einen GPIO.

Zitat von: herrmannj am 08 August 2021, 21:54:56
Yupp, dito. ,10k. ich vermute das Oberwellen oder Störimpulse auf den 50hz liegen. Wenn knapp nach dem normalen Nulldurchgang ein Impuls liegt, löst der nochmals aus. Soweit die Theorie. Dann müsstet ihr ähnliche Effekte sehen ...

ok ... ich hatte ja weiter oben auch die Probleme mit der gigantischen Frequenzabweichung. Der Fehler lag dann darin, dass die erste Stufe des 74HC390 nicht durch 5 sondern nur durch 4 teilte und der Grund dafür war das Ausgangssignal des Optokopplers.

Ich hab mir das mit dem Oszi dann angeschaut und in den Signalen ist dann zu erkennen, dass mit einem 10 kOhm Pullup die Anstiegszeit des Impulses rund 300 us beträgt und mit einem 2.2 kOhm Pullup die Zeit auf ca. 70 us reduziert wird. Diese lange Anstiegszeit führte zu Fehl-Triggern.

Kann jetzt natürlich sein, dass dies darauf beruht, dass ich als Opto-Koppler statt dem 817 den SFH 625 eingesetzt habe (justme1968 du hast den Gleichen) und hab mich deshalb in diesem Bezug auch erst einmal zurückgehalten.

Aber da ihr jetzt mit der kleine Platine "ähnliche" Probleme habt und testen hier ja nichts kostet ... lötet zum 10 kOhm Pullup einfach mal nen 2k2 parallel und schaut wie´s dann aussieht.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

herrmannj

warum nicht, Versuch macht klug. So richtig dran glauben tue ich da noch nicht, mit 10k hat der rise 80uS/ fall 10uS, mit 1k gehts runter auf 30uS für rise aber auf 13uS hoch mit fall. Ich triggere ja eh auf falling egde.

So oder so, schaun mer mal. 1k ist drin, warten wir das mal ab - wäre ja toll wenn das schon alles ist. Thx!

Papa Romeo

...tja der 74HC390 sollte lt. Datenblatt auch auf die fallende Flanke triggern ... aber die Steigende macht die Probleme ...
wobei wir wieder beim Thema "Theorie und Praxis" wären ... das dazu ...

LG
Papa Romeo

...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

herrmannj

#247
ja, das stimmt wohl.

Hat aber auch mit dem 1k in der Zwischenzeit einen spike produziert, und wieder nach "oben".

In der Nähe des Nulldurchgangs der Netz-Sinuswelle ist die eff Spannung des Sinus ja gering. Da reicht mMn ein kleiner Impuls, damit der Transistor nochmal kurz durchschaltet. Dadurch ist die Zählung dann einen Impuls zu "früh" fertig. Ich bin mir recht sicher dass ihr das auch sehen werdet. Ist halt nur sehr sporadisch. Heute habe ich das so zwischen 1x pro 1h bis 1x in 4h gesehen und das betrifft nur jeweils einen einzelnen Messwert.


Nobbynews

#248
Guten Morgen,

gestern Abend habe ich ja noch die Änderungen von Jörg in das Script eingebaut.
Seit über 9 Stunden konnte ich damit keine Ausreißer, bei mir also Abweichungen > 0.035Hz, feststellen. Den Pullup habe ich noch nicht geändert.
Das Publishen zu broker.hivemq.com trage ich heute Nachmittag ein.

Norbert

Edit:
Jetzt hat es mich doch wieder erwischt. Bis jetzt 3 Ausreißer, jeweils ein einzelner Wert.
Davon 1x nach oben und 2x nach unten.
Da habe ich im Eifer die Unterschiedliche Skaleneinteilung übersehen.
Alle 3 Ausreißer sind > 50 Hz.

Gisbert

Zitat von: herrmannj am 08 August 2021, 21:07:10
klar gerne:
define freq_ext Netzfrequenz

Hallo Jörg,

danke dir, es funktioniert. Es wird jede Sekunde ein Wert abgerufen. Das ist mir zuviel. Es gibt das Attribut interval, aber anscheinend ohne Auswirkung auf die Abfragefrequenz. Das gleiche gilt auch für das Attribut disable, auch ohne Auswirkung.
Alternativ, wie würde die (gesamte) Definition mit dem JsonMod-Modul für eine minütliche Abfrage lauten?

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Papa Romeo

Zitat von: herrmannj am 09 August 2021, 00:20:05
In der Nähe des Nulldurchgangs der Netz-Sinuswelle ist die eff Spannung des Sinus ja gering. Da reicht mMn ein kleiner Impuls, damit der Transistor nochmal kurz durchschaltet.

... eher nicht, da die Spannung ja, auf Grund des Sinus weiter fällt oder weiter steigt ... und wenn nicht, hat das Netz wirklich ein Problem ...
... hätte eigentlich was anderes zu tun, aber egal ... ich hab mir die Impulse nochmals angeschaut.

Hab auch den SFH620 gegen ein 817 getauscht und siehe da, die Anstiegs- und Abfallzeiten entsprechen jetzt in etwa denen von Jörg.

In den Impulsen ist ganz schön Bewegung drin. Kommt daher dass mit den 220 kOhm Vorwiderständen über dem 22 kOhm Widerstand,
die ja auch die, sagen wir mal Betriebsspannung, für das Ganze darstellt, nur etwa 3.95 Volt abfallen. Daraus ergibt sich dann eine
Impulsbreite von (bei mir) 1.08 bis 1.32 ms, also Schwankungen von fast einer viertel Millisekunde und auf dem Oszi bei Darstellung
mehrere Impuls auch deutlich zu erkennen

Ich hab die Werte jetzt mal auf 2 x 47 kOhm und 2 x 22 kOhm abgeändert ... Ergebniss:

2 x 47 kOhm
Spannung über dem 22 kOhm Widerstand --> 15,62 Volt
Impulsbreite --> 1.24 - 1.26 ms also eine Schwankung von 0.02 ms
Bei Darstellung mehrer Impulse noch ganz leicht zu erkennen

2 x 22 kOhm
Spannung über dem 22 kOhm Widerstand --> 26.23 Volt
Impulsbreite --> 1.39 - 1.40 ms also eine Schwankung von 0.01 ms
Bei Darstellung mehrer Impulse so gut wie nicht mehr zu erkennen

Ob das jetzt Auswirkung auf euer Messverfahren hat, kann ich nicht sagen, müsst ihr testen.

Meinen ersten Testaufbau hatte ich ja damals mit einem 12 Volt Steckernetzteil und entferntem Elko gemacht, also ohne Vorwiderstände und hatte sauber stabile Impulse am Ausgang. Die Spannung am 22 kOhm Widerstand betrug damals soviel ich noch weiß auch über 15 Volt.

Ich würde testweise mal 47 kOhm Widerstände einbauen.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Nobbynews

#251
Zitat von: herrmannj am 08 August 2021, 21:04:24
broker.hivemq.com gibts einen open broker. Da könntest ihr, ohne Anmeldung, einfach rein publishen. Topic Vorschlag: fhem/test/grid/frq/[fhem-user-name] ..
Habe ich eingerichtet unter dem Topic fhem/test/grid/frq/nobbynews
Die Ausreißer werden bei mir im Script rausgefiltert.

Norbert

Christoph Morrison

Platine war im überfüllten Urlaubspostkasten. Vielen Dank!

Nobbynews

#253
Zitat von: Papa Romeo am 08 August 2021, 22:09:25
lötet zum 10 kOhm Pullup einfach mal nen 2k2 parallel und schaut wie´s dann aussieht.
Ich habe vorgestern auch mal einen 2K2 parallel zum 10K Pull Up geklemmt. Einen großen Unterschied kann ich jetz nicht feststellen.
Insgesamt habe ich beim Pi Zero jetzt unter 10 Ausreißer bzw. Fehlmessungen pro Tag, die im Script entsprechend rausgefiltert werden.
Und bei 86400 Messungen am Tag, kann ich damit gut leben.

Norbert

Papa Romeo

Zitat von: Nobbynews am 11 August 2021, 06:33:17
Ich habe vorgestern auch mal einen 2K2 parallel zum 10K Pull Up geklemmt. Einen großen Unterschied kann ich jetz nicht feststellen.
Insgesamt habe ich beim Pi Zero jetzt unter 10 Ausreißer bzw. Fehlmessungen pro Tag, die im Script entsprechend rausgefiltert werden.
Und bei 86400 Messungen am Tag, kann ich damit gut leben.

... dann würd ich doch mal sagen, dass das nicht von der Hardware kommt ...

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary