Forum: Mikrocontroller und Digitale Elektronik Frequenzzähler - niedrige Frequenzen möglich?


von Basti (Gast)


Angehängte Dateien:

Lesenswert?

Hallo an alle,

ich habe den Frequenzzähler aus dem Forum nachgebaut, um damit eine 
Drehzahl zu messen. Der Code läuft auf einem Atmega32 mit 16Mhz 
Crystall.

Hier der Link:
http://www.mikrocontroller.net/attachment/highlight/20833

Der Nachbau war ergolgreich.

Ich habe die Ausgabe auf dem LCD durch Ausgabe per UART an den PC 
ersetzt.
Das funktioniert auch so.

Mein eigentliches Problem ist folgendes: Wie messe ich langsame 
Frequenzen?
Mein eigentliches Ziel ist es, die Windgeschwindigkeit zu messen, nur 
scheinbar läuft der Timer recht schnell über und wenn ich irgendetwas 
langsam drehendes zwischen die Lichtschranke halte, dann messe ich Mist.

Die Drehzahl meines kleinen Proxxon misst er tadellos (7000 U/min).


Ist es möglich den Vorhanden Code so zu ändern, dass ich damit sinnvoll 
Windgeschwindigkeiten messen kann (0-20m/s)?

Meine erste Überlegung wäre das anpassen des Prescalers, aber dadurch 
hole ich mir ja eine Rechenoperation mehr ins Boot, oder?

Desweiteren soll der Controller auch noch was anderes machen. Also 
müsste ich mir ja quasi die ganze Berechnung in den Timerinterrupt 
schieben und nur bei Bedarf einen Wert abholen?
Sehe ich das richtig?

Vielen Dank für eure Antworten
Anbei der Code

Gruß
Basti

von Ert (Gast)


Lesenswert?

Ohne jetzt deinen Code angeschaut zu haben.

Wie viele Inkremente kommen den pro Sek minimal? Bzw wann soll eine NULL 
stehen?

Wenn du diesen Wert hast, die Timer-Überläufe zählen und entsprechend 
auswerten...

Oder besser bau dir ein Getriebe was dir aus 0-20m/sek = 0-7000U/min 
macht :-)

von Thomas E. (thomase)


Lesenswert?

Basti schrieb:
> Meine erste Überlegung wäre das anpassen des Prescalers, aber dadurch
> hole ich mir ja eine Rechenoperation mehr ins Boot, oder?
Ja. Du musst die errechnete Frequenz durch den Prescaler-Wert teilen. 
Was ist daran schlimm?

mfg.

von Bernd das Brot (Gast)


Lesenswert?

nein, der Prescaler ändert nur den Takt des Zählers. Du musst dann 
natürlich die Berechnung noch anpassen, aber mehr Rechenzeit benötigt 
das ganze nicht.

von m.n. (Gast)


Lesenswert?

Die Überläufe müssen separat bewertet werden. Sieh Dir die 
ISR(TIMER1_CAPT_vect) an.
Beitrag "einfache Drehzahlmessung mit ATmega88"

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.