Wie Netzfrequenz messen mit Microcontroller?

Es geht um ein Windrad mit Drehstrom. Ein programmierbarer Mikrokontroller mißt Spannung und Strom, und errechnet Leistung und schaltet Widerstände über Relais. Wir haben digitale und analoge Eingänge zur Verfügung.

Wie kann ich die Frequenz und damit die Drehzahl überwachen?

w.

Reply to
Helmut Wabnig
Loading thread data ...

Helmut Wabnig schrieb:

Tut er das, oder soll er das?

Wie sind die denn zur Spannungs- und Strommessung beschaltet? Willst Du vielleicht Spannung, Strom und Frequenz messen?

Die naheliegende Antwort hat Izur ja schon gegeben, passend dazu gibt es ja den Thread "Wie Netzspannung mit Microcontroller auswerten" mit den entsprechenden Schaltungen.

Reply to
Edzard Egberts

Helmut Wabnig schrieb:

Hallo,

kommt darauf an wie genau die Frequenz gemessen werden soll und was der Mikrokontroller dafür bietet. Mit einem 16 Bit Zähler mit 10 MHz könnte man die 20 ms Periodendauer auf +- 0,1 µs Auflösung messen, das wären +- 0,3 mHz.

Bye

Reply to
Uwe Hercksen

Am 07.08.2013 13:19, schrieb Helmut Wabnig:

Spannung vom Windrad über eine geeignete Schaltung auf einen Microcontroller geben. Wenn man es robust haben will mit einem kleinen Trafo. Da kann man dann auch gleich die Spannung messen. Geht aber wie an anderer Stelle beschrieben auch mit einem einfachen Widerstand.

Es gibt grundsätzlich zwei Varianten, die Frequenz zu messen:

  1. Man zählt die Signalflanken über eine feste Zeit, z.B. 1 Sekunde.

D.h. man erzeugt mit einem Timer des Prozessors Interrupts in einem festen Abstand, z.B. 1 Sekunde. Das Signal vom Generator gibt man auf einen Zählereingang des Prozessors. Man kann dann jede Sekunde den Zähler auslesen und hat direkt die Frequenz. Wenn man eine Auflösung besser als 1 Hz möchte, z.B. 0,1 Hz, muss man entsprechend länger zählen. Bei 0,1 Hz also 10 Sekunden lang.

  1. Man ermittelt die Periodendauer

Dazu programmiert man einen Counter des Mikrocontrollers so, dass er mit dem Prozessortakt hochgezählt wird. Mit dem Signal vom Generator löst man einen Capture aus, d.h. mit der Flanke des Signals wird der Inhalt des Zählers in ein Capture Register kopiert. Gleichzeitig löst man mit derselben Signalflanke einen Int aus. In der Int-Routine liest man das Capture Register aus. Der Inhalt, bzw. die Differenz zwischen zwei Ereignissen, entspricht dann der Periodendauer des Signals aus der man leicht die Frequenz berechnen kann.

Vorteil der 2. Methode ist, dass man bei niedrigen Frequenzen eine höhere Auflösung bei kurzer Messzeit erhält, also bei 50 Hz erhällt man so alle 20ms einen Messwert mit einer deutlich besseren Auflösung als mit der Methode 1. Man kann das Compare Register auch z.B. nach jeder

  1. oder 50. Flanke auslesen. Die Auflösung wird dann entsprechend besser.

Eine Compare/Capture Einheit gibt bei vielen modernen Prozessoren, z.B. PIC oder Atmega, aber auch bei einigen alten 8031 Derivaten (80535/80537).

Für eine Regelung sollte man noch beachten, dass eine solche Frequenzmessung immer mit einer Verzögerungszeit verbunden ist. Das kann sehr leicht zu ekligen Regelschwingungen führen.

Gruß

Stefan

Reply to
Stefan

Wenn der µC bereits die Spannung mißt, dann brauchst du doch nur in den Samples nach den Nulldurchgängen suchen. Wo ist das Problem?

Reply to
Heiko Nocon

Heiko Nocon schrieb:

Hallo,

kommt darauf an ob der Abstand der Samples klein genug ist um in der maximal möglichen Messzeit die Frequenz genügend genau bestimmen zu können.

Bye

Reply to
Uwe Hercksen

Am 07.08.2013 17:17, schrieb Uwe Hercksen:

Ich würde nicht das ADU-Signal auswerten. Ist viel zu aufwendig. Gib das Signal einfach auf einen Komparatoreingang und löse mit der steigenden Flanke einen Capture aus. Damit bekommt man eine Auflösung im Bereich des Prozessortaktes.

Beispiel:

Prozessor mit mit 20 MHz. Macht in 20ms 400000 Takte.

n = 1/f * 20MHz

n: Anzahl Takte f: gesuchte Frequenz

=> f = 20 MHz / n

bei n = 400000 macht das 50Hz bei n = 400001 macht das 49,999875000312499218751953120117 Hz

Gruß

Stefan

Reply to
Stefan

Uwe Hercksen wrote on Wed, 13-08-07 13:50:

Es gibt auch Archäologen die beim Ausmessen unregelmäßig geformter Steine den Nonius des Meßschiebers auf 1/20 mm ablesen. Aber ein Phasentrigger eines gestörten Pseudosinus auf 0.002 Grad genau ist noch sportlicher, Respekt.

Reply to
Axel Berger

Stefan wrote on Wed, 13-08-07 18:47:

Auflösung ja. Genauigkeit und Reproduzierbarkeit?

Reply to
Axel Berger

Am 07.08.2013 13:19, schrieb Helmut Wabnig:

Moin Helmut!

Ergänzend zu den Beiträgen die Pulszeit (oder Zeit zwischen Nulldurchgängen) zu messen:

Es kann eklige Störungen geben, die Deinen Komperator auch mal zwischendurch triggern. In der Software solltest Du einen Erwartungsbereich vorsehen und Werte außerhalb dieses verwerfen oder mit weniger Glaubwürdigkeit merkieren. Schnelle Änderungen sind ja nicht zu erwarten, der Erwartungsbereich kann also ein Mittelwert +/- ein paar Prozent sein. Nur beim Einschalten müssen plausible Werte für den Mittelwert angenommen werden.

Ciao Dschen

--
Dschen Reinecke 

=== der mit dem Namen aus China === 

http://WWW.DSCHEN.DE mailto:usenet@dschen.de
Reply to
Dschen Reinecke

Am 07.08.2013 19:26, schrieb Axel Berger:

formatting link

Hanno

Reply to
Hanno Foest

Dann gibt es noch das Dozen (Dutzend) mit 12 Einzelposten. In Australien das Decimal Dozen mit 10. Und bei uns das Baker's Dozen mit 13.

formatting link

Ein EU-Besucher hat da mal fast die Krise gekriegt.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Stefan schrieb:

Hallo,

na ja, wenn der Quarz für den Prozessortakt 50 ppm hat sollte man nicht mehr als 4 1/2 Stellen ernst nehmen.

Bye

Reply to
Uwe Hercksen

oder an der Flanke eines Filter in Spannung wandeln, oder PLL...

ct

Reply to
Carsten Thumulla

Oder die Längenangabe von "ca. 8,34567654 cm". :)

Ähnlich bringt mich auch immer eine Angabe von "ca. 2367 Personen" zum Schmunzeln. Leider beides schon mehrfach erlebt.

Viele Grüße, Torsten

Reply to
Torsten Schneider

snipped-for-privacy@mabi.de (Torsten Schneider) schrieb:

geformter

Und abgespeichert werden die Daten dann auf einer 8,89-cm-Diskette.

Reply to
Martin Gerdes

Am 08.08.2013 15:00, schrieb Martin Gerdes:

Ich kenne nur welche mit 200mm, 130mm, 90mm und 80mm.

Gruß Dieter

Reply to
Dieter Wiedmann

Ich kenne auch rechteckige (deutlich nicht quadratisch :-); u.a. von Schneider verwendet. Meinst Du die mit obigen "80mm" ???

Ein paar weitere Disketten-Formate sind in der C'T 6/1985 auf der Seite 120 links oben abgebildet :-)

Gruss, Holger

Reply to
Holger Petersen

Am 08.08.2013 10:07, schrieb Uwe Hercksen:

Ist schon klar. Mir ging es nur darum, darzulegen, dass man bei sowas besser die Periodendauer misst und daraus die Frequenz berechnet, als dass man die Anzahl der Perioden pro Sekunde misst. Und dazu eignet sich die Capture Funktion, die viele Prozessoren haben ganz hervorragend.

Gruß

Stefan

Reply to
Stefan

Dieter Wiedmann schrieb:

Es kann ja nicht jeder auf der Höhe der Zeit sein. Kennst Du wenigstens einen 43,18-cm-Bildschirm?

Reply to
Martin Gerdes

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.