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
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 :-)
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.