Forum: Mikrocontroller und Digitale Elektronik Umrechnung Abstand/Anzahl Impulse zu Drehzahl


von Jan W. (gaffel-k)


Lesenswert?

Hallo zusammen,

irgendwie stehe ich voll aufm schlauch, und mathe ist schon was länger 
her  :-)

und zwar messe ich in einem Projekt die Anzahl der Timer-Interrupts 
zwischen zwei Impulsen an einem Eingang (genauer gesagt, die Anzahl der 
Interrupts zwischen zwei Kurbelwellenumdrehungen eines Motors).
Soweit klappt das auch wunderbar, nur scheitere ich gerade bei der 
Umrechnung von der Anzahl der Impulse in die Drehzahl, hier mal ein paar 
Zahlen, Abstand zwischen zwei Impulsen wird ja kürzer, weil die 
Umdrehungen mehr werden pro minute:

Impulse - Drehzahl
  56        1000
  33        1500
  27        2000
  13        4000
usw.

Weiß einer wie ich das im Programm so berechne, dass bei einer gegeben 
Anzahl von impulsen, die Drehzahl ausgegeben wird? Rechne hier seit 
Stunden rum...

Vielen dank schon mal

Jan

von chris (Gast)


Lesenswert?

wie groß ist denn deine messzeit oder misst du die impulslänge von 
fallender/steigender zu fallender/steigender?

weil wenn du die impulse misst sind eigentlich die impulse zur drehzahl 
proportional.

von Jan W. (gaffel-k)


Lesenswert?

Ich messe von fallender zu fallender Flanke. Das Verh. von Impuls zu 
Drehzahl ist schon proportional, aber mit steigender Drehzahl werden es 
ja weniger impulse (bei 1000 sind es 56, bei 2000 27, usw). Es wird jede 
millisekunde ein Timerinterrupt ausgelöst, und diese werden zwischen 
zwei fallenden Flanken gemessen.

Ich bekomme es irgendwie nicht hin, von einer gegebenen Anzahl an 
Impulsen die Drehzahl zu errechnen.

Jan

von xfr (Gast)


Lesenswert?

n      = Anzahl Timerinterrupts
tt     = Zeit zwischen zwei Timerinterrupts
tu     = Dauer einer Umdrehung
1 / tu = Drehzahl

n      = tu / tt
tu     = n * tt
1 / tu = 1 / (n * tt)

So rechnest Du die Drehzahl aus.

In Deinem Fall sind tt anscheinend ca. 18 us. Also gilt:
Drehzahl = 1 / (n * 0,000018)

Oder schöner:
Drehzahl = 56000 / n

Wie groß tt wirklich ist, weißt Du natürlich genauer.

Das ganze geht übrigens einfacher, wenn man die Capture-Funktion des 
Timers benutzt anstatt Interrupts zu zählen.

von chris (Gast)


Lesenswert?

verdammt zu langsam.

mmh ok man bin i dumm also das sind ja denn 56ms

d.h.
          1/56ms = ca. 17,85Hz

da du aber drehzal hast also bezogen auf eine minute muss der wert noch

              ca. 17,85Hz * 60s = 1071 U pro min.

von xfr (Gast)


Lesenswert?

Ich gesehe gerade, ich habe den Faktor 60 vergessen. Es sind ja 
Umdrehungen pro Minute und nicht Sekunde. Also kommt der 
Timer-Interrupts jede Millisekunde und nicht alle 18 us.

Aber das Prinzip bleibt das gleiche.

von chris (Gast)


Lesenswert?

jo

von Jan W. (gaffel-k)


Lesenswert?

ach ja! verdammt! ich habe auch den faktor 60 vergessen  :-) peinlich...

jetzt bekomme ich es auch hin, vielen vielen dank euch  beiden.

Jan

von Klaus (Gast)


Lesenswert?

hey leute
hab ein problem, wie kann man die drehzahl berechnen

von Notdürftiger (Gast)


Lesenswert?

Klaus schrieb:
> hab ein problem

Ich hab mehrere Probleme.

von Harald W. (wilhelms)


Lesenswert?

Jan W. schrieb:

> irgendwie stehe ich voll aufm schlauch, und mathe ist schon was länger
> her  :-)

Hmm, bezeichnet man Dreisatz auch schon als Mathematik?
Früher nannte man sowas "bürgerliches Rechnen".

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.