Forum: Mikrocontroller und Digitale Elektronik Messen von Frequenzen


von Chriss (Gast)


Lesenswert?

Wie würdet ihr das Messen von Frequenzen mit einem Atmega16 realisieren?

Takten will ich das Vieh mit einem Quarz der nahe an der grenze des fmax 
wertes liegt...

Also ich persönlich würde ca. 100ms lang messen und in dieser Zeit die 
eintreffenden "highs" zählen. um fehler zu vermeiden würde ich ein high 
erst bei 2-3 taktzyklen als ein high werten.

Die 100 ms würde ich mit einem timer bestimmen der nach dieser zeit 
einen interrupt auslöst und in deren interrupt-routine ich dann die 
messdaten verarbeiten kann.

Ist das eine effizente messmethode? hat jemand von euch bessere ideen?
Würdet ihr das zu messende signal an nen externen interrupt pin hängen 
oder eher pollen?

schöne Grüße

Danke für eure comments

von Rahul, der Trollige (Gast)


Lesenswert?

InputCapture...

von Sonic (Gast)


Lesenswert?

>InputCapture...

Dito.

von Rahul, der Trollige (Gast)


Lesenswert?

Wobei es natürlich auch anders geht...

von Chriss (Gast)


Lesenswert?

sehr informativ bis jetzt

von Rahul, der Trollige (Gast)


Lesenswert?

>sehr informativ bis jetzt
Kleiner Tipp:
Im Datenblatt zu AVR der ATMega-Reihe steht InputCapture beschrieben...

von Sonic (Gast)


Lesenswert?

Stimmt. Entweder die Periodendauer aumessen oder die Anzahl Impulse 
innerhalb einer Torzeit zählen. Letzteres garantiert eine 
gleichbleibende Messzeit, die Periodendauermessung variiert mit der 
Frequenz.

von johnny.m (Gast)


Lesenswert?

Wie man misst, hängt davon ab, wie das Verhältnis der zu messenden 
Frequenzen zur Taktfrequenz des Messgerätes ist. Bei niedrigen 
Frequenzen ist das Messen mit fester Torzeit (Periodenzähler) unsinnig, 
da i.d.R. nicht ausreichend Flanken innerhalb der gewählten Torzeit 
ankommen. In so einem Fall ist eine Periodendauermessung (mit Input 
Capture) unumgänglich, wenn man eine vernünftige Auflösung erreichen 
will. Bei hohen Frequenzen dagegen ist die Perioden- oder Flankenzählung 
die einzig sinnvolle Variante.

von Sepp (Gast)


Lesenswert?

Takten des Zählers mit dem zu messenden Signal über eine bestimmte 
Torzeit.

mfg, Sepp

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Auch bei hohen Frequenzen ist die Periodenmessung sinnvoll, solange die 
Taktfrequenz über der zu messenden liegt. Man misst dann natürlich nicht 
nur eine Periode, sondern soviele wie in der vorgegebenen Zeit möglich.

Anschließend muß der Mikrocontroller eine Division durchführen um die 
Frequenz anzuzeigen. Das war mit einfachen TTL-Zählern nicht möglich, 
deshalb ist traditionell die direkte Zählung bekannter.

von Peter D. (peda)


Lesenswert?

Ja, die Messung über n Perioden liefert hohe Auflösung über einen weiten 
Frequenzbereich. Und ne Divsion ist ja für nen MC ein Klacks.

Erst, wenn die Eingangsfrequenz die Referenzfrequenz überschreitet, 
liefert die Impulszählung eine höhere Auflösung, aber noch lange nicht 
auch eine höhere Genauigkeit.


Peter

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Hier eine ausführliche Beschreibung eines reziproken Frequnezzählers mit 
dem AVR 2313 und einem HD44780-Display
http://www.tfs.net/~petek/atmel/freq/freq.htm

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Frewuqnez Frequwee Freunez Frequnez Frequnezn Freuqnez ich muss das noch 
üben

von Fritz (Gast)


Lesenswert?


von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Ja man trifft immer dieselben. Aber der Link mit dem 2313-Programm war 
neu.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.