Forum: Mikrocontroller und Digitale Elektronik atmega Drehzahlmessung


von blogger b. (blogger)


Lesenswert?

Hallo,
Ich würde gerne die Drehzahl eines Propellers mittels 
Lichtschranke(IS471F) und atmega644 messen. Die Drehzahl des Motors ist 
max. 5000 U/min also so ca. 85Hz.
Propeller mit 2 Flügel => 170Hz.

Daher will ich nun Frequenzen zwischen 0 - 170Hz messen.
Und die Auflösung sollte min. 10U/min => 0.15Hz betragen.

Sollte man das ganze per Software Periodendauermessung mittels Interrupt 
mit Flankentriggerung und Timer als Zeitbasis realisieren oder gibt es 
da noch andere Möglichkeiten?

von Christian K. (at90s2313)


Lesenswert?

blogger b. schrieb:
> Ich würde gerne die Drehzahl eines Propellers mittels
> Lichtschranke(IS471F) und atmega644 messen. Die Drehzahl des Motors ist
> max. 5000 U/min also so ca. 85Hz.
> Propeller mit 2 Flügel => 170Hz.
>
> Daher will ich nun Frequenzen zwischen 0 - 170Hz messen.
> Und die Auflösung sollte min. 10U/min => 0.15Hz betragen.

Schau mal hier in die Codesammlung:

Beitrag "einfache Drehzahlmessung mit ATmega88"
Beitrag "4-Kanal Drehzahlmessung mit ATmega88"

Vielleicht paßt das ja.

Christian.

von PrzemyslawB (Gast)


Lesenswert?

Eine optische Methode wird hiere geschrieben: 
http://www.pitlab.pl/forum/viewtopic.php?f=12&t=329

von Matthias L. (Gast)


Lesenswert?

>zwischen 0 - 170Hz messen.
>Auflösung sollte min. 10U/min => 0.15Hz betragen.

Ohne jetzt die komplette Fehlerfortpflanzung zu bemühen. Mal eine 
Überschlagsrechnung:

Du willst also zwischen 170,00 und 170,15Hz unterscheiden.

  1          1
------  -  ------   = 5,18µs.
170,00     170,15

Du musst also bei der Messung der Periodendauer eine Genauigkeit von 5µs 
erreichen.

>Periodendauermessung mittels Interrupt mit Flankentriggerung

Da ich nicht davon ausgehe, dass das System prellt, würde ich es mit 
ICP-Interrupt und geeignetem Timertakt lösen.

von blogger b. (blogger)


Lesenswert?

Stimmt mein Vorgang?

Ich setze den Zähltakt mittels Vorteiler auf < 5,18µs (also >192.836kHz)
TCCR1B CS10,CS11,CS12

bei 20Mhz FCPU/64 = 312.5kHz > 192.836kHz

Auflösung 1/FCPU/64 = 3.2µs


Overflow in 2^16 * 1/FCPU/64 = 209ms

=>minimal messbare Freqenz bei 1/209ms = 4.76

Beim ICP setze ich die Flankentriggerung auf fallend Reg ICES
Beim ICP interrupt lese ich die Periodendauer aus dem ICR und Setze TCNT 
zurück

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.