BPM Counter mit AVR ?

Gast #61017
Lesenswert?

@Kay
Für einen einfachen BPM-Counter ist es besser ein Analog-Filter mit
Schmitt-Trigger auf zu bauen, und das Signal einem Interrupt-Pin
zuzuführen.
Nur wenn Du eine aufwendige Analyse des Signals vorhast, ist es
sinnvoll das Signal zu digitalisieren.

MfG
formtapez
Gast #61018
Lesenswert?

Hi,

ich weiss jetzt nicht, wie man die Spannung auf den Analogeingang
wandelt, aber wenn die einmal darauf liegt, würde ich das so machen
(Pseudo-Code)


Timer setzen, alle 20 Millisekunden (50*pro sekunde, wert evtl
anpassen)

counterlow = 0
counterhigh = 0

Do
  endlosschleife, der Timer wird angesprungen
Loop

Timerroutine:
  speichere Analogwert in Variable aktuell

  wenn aktuell größer als maximalwert
         > ersetze maximalwert durch aktuell

  wenn aktuell größer als 85% maximalwert
         > increase counterhigh
  sonst
         > increase counterlow

  bpm = counterhigh / (counterlow + counterhigh)  50  60

  wenn (counterhigh + counterlow) > 600
         > counterhigh = counterhigh / 600
         > counterlow = counterlow / 600

Return


Dann sollte eigentlich in der Variablen BPM der Wert stehen. Ich bitte
um Berichtung meiner Denkfehler ;-)

Gruß
sebezahn
#694960
Lesenswert?

Ok, ist schon einiges alt aber das Thema interessiert mich auch!

Hat jemand ne Theorie dazu oder sowas schonmal als Analogschaltung 
gebastelt? Meine Diskostrahler brauchen eine kompetente ansteuerung, die 
die da drin ist rupft den motor innerhalb weniger betriebsstunden 
auseinander...

mfg PoWl

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren