Forum: Mikrocontroller und Digitale Elektronik Frequenzmessung


von Georg (Gast)


Lesenswert?

Hallo,

um sicher zu gehen, dass ich auf dem richtigen/sinnvollsten Weg bin, 
hätte ich mein Vorhaben gerne kurz Diskutiert:

Ich habe eine Sinusspannung und möchte die Frequenz mit meinem PIC12 
erfassen. Ich dachte also, ich warte auf eine positive Flanke, starte 
einen Timer, warte auf die nächste positive Flanke und lese den 
Timervalue aus (gegebenenfalls mit Überläufen). Was haltet Ihr davon? 
Hat Jemand eine bessere/einfachere Lösung oder einen Grund, wieso das 
nicht funktionieren könnte?

Viele Grüße
Georg

von Willi (Gast)


Lesenswert?


von Georg (Gast)


Lesenswert?

Ah der macht es anders herum, feste Zeit und die Schritte zählen.
Ich habe aber vergessen zu erwähnen, dass es bei mir nicht um 150 MHz 
geht, sondern ich Frequenzen zwischen 533 Hz und 1600 Hz zu erwarten 
habe. Eine Periode dauert also mindestens 625 µs. Meine Taktfrequenz 
beträgt 1 MHz, ein Taktschritt damit nur 1 µs. Mein Timer würde demnach 
dann 625 Schritte machen, bis die nächste Flanke kommt. Das ist für mich 
genau genug. Soweit richtig, oder mache ich einen Denkfehler?

von Willi (Gast)


Lesenswert?

Georg schrieb:
> Ah der macht es anders herum, feste Zeit und die Schritte zählen.

Am besten nochmals lesen und die Umstände ignorieren, dass der PIC als 
der beste Prozessor der Welt und das reziproke Meßverfahren als völlig 
neue Erfindung dargestellt werden.

Mit einem AVR läßt sich natürlich alles einfacher gestalten :-)

von Karl H. (kbuchegg)


Lesenswert?

> Hat Jemand eine bessere/einfachere Lösung oder einen Grund, wieso
> das nicht funktionieren könnte?

Das passt schon so.

Es gibt eben 2 Möglichkeiten
* einmal lässt man einen Eingang eine gewisse Zeit offen
  und zählt wieviele Pulse in diesem Zeitraum reinkommen
* die andere Möglichkeit vertauscht einfach nur die Rollen
  die Eingangspulse steuern das Zeitfenster, in dem man Takte
  einer bekannten Frequenz zählt.

Das eine Verfahren ist für hohe Frequenzen besser, das andere für 
niedrige.

Das erste Verfahren hat dafür wieder den Vorteil, dass man Ergebnisse in 
einem definierten, immer gleichen Zeitraster bekommt.

Dafür kann es wieder sein, dass die Update Frequenz mit dem 2.ten 
Verfahren höher ist. Schliesslich muss man ja nicht 1 Sekunde lang Pulse 
zählen (die 1 Sekunde jetzt nicht als in Stein gemeisselt ansehen)

Nicht ausser Acht gelassen werden darf auch der Fall, dass überhaupt 
kein Eingangssignal vorliegt. Das erste Verfahren kommt problemlos damit 
zurecht und liefert auch das erwartete Ergebnis von 0, das zweite 
Verfahren (naiv implementiert) wartet hingegen bis zum St. 
Nimmerleinstag auf den Startpuls. Klar, lässt sich lösen. Man darf nur 
nicht darauf vergessen.

von Harald W. (wilhelms)


Lesenswert?

Karl Heinz Buchegger schrieb:

> Das erste Verfahren hat dafür wieder den Vorteil, dass man Ergebnisse in
> einem definierten, immer gleichen Zeitraster bekommt.

Ausserdem war die Schaltung in Vor-µC-Zeiten wesentlich einfacher.
:-)
Gruss
Harald

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.