Hallo Experten, jetzt hab ich mir extra einige Wochen Zeit gelassen, bevor ich zu viel Frage, was man durch lesen auch heraus hätte bekommen können. Ich hab hier testweise einen "Drehzahlmesser" mit nem ATMEGA8 @ 4Mhz aufgebaut. Ich habe dazu eine Infrarotlichtschranke (CNY70) als Impuslgeber genommen und löse damit INT0 aus, der einen Zähler hochzählt. Zum Testen habe ich einen Papst Lüfter genommen, dessen Flügelrad ich in der Mitte zur Hälfe mit silberfolie beklebt habe. Das gibt dann eben einen Impuls pro Umdrehung. Der 16bit Timer fragt jede volle Sekunde den Zählerstand ab und gibt den auf dem Display aus (Umdrehungen pro Sekunde) So weit so gut. Leider ist die Anzeige mit einem Ergeniss pro Sekunde sehr träge. Der Lüfter dreht mit etwa 47 U/sec was etwa 2800 U/min entspricht. Wenn ich jetzt die Zähldauer von einer Sekunde auf eine vietel Sekunde reduziere, wird die Anzeige natürlich schneller, aber eben auch sehr ungenau. Der Zählerstand variiert dann von 10 bis 13. Wenn ich das dann mit 240 multiplizieren würde (um auf U/min zu kommen) kämen ich immer auf die diskreten Werte 2400, 2640, 2880 und 3120 ... das ist erst recht Käse. Also würde ich gerne die Periodendauer als Grundlage der Drehzahlermittlung nehmen. Natürlich wäre es einfach den Timer bei null los laufen zu lassen, um dann bei jedem Impuls den Zählerstand abzufragen und den Timmer wieder auf Null zurück zu setzen. Damit hätten wir dann die Periodendauer in Sekundenbruchteilen. Bei knapp 3000 U/min liegt die also in der Grössenordnung von 0,33 ms Die Ausgabe auf ein LCD ist also für jede Periode nicht möglich, weil Display länger braucht. Drehzahl ist bekanntlich in der Einheit 1/s, was eine Division notwendig macht. Hab ich noch nie gemacht. Hat jemand ne Idee wie ich das hinbekommen soll? VG Ralf
Erstmal: Falsches Forum, Seh keinen Code zum Sammeln in deinem Post ;) Messung der Periodendauer sollte genau genug gehen, einfach Timer1 kontinuierlich durchlaufen lassen (z.B. mit 1MHz), und mit dem Input Capture mode den Wert auslesen, wenn die Lichtschranke anspricht. Für genaue Messungen sollte der AVR aber aufjeden Fall mit Quarz laufen. Dann (nachdem das LCD eh nicht schnell genug ist), mehrere Werte sammeln und den Mittelwert ausgeben. /Ernst
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.