Forum: Mikrocontroller und Digitale Elektronik Pulsauswertung mit AVR-Board (ATmega32)


von Tappsy (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich bin gerade dabei ein Pulsprogramm zu schreiben. Ich nutze das 
AVR-Funk-Evaluations-Board von Pollin mit einem ATmega32. Zur 
Programmierung verwende ich den CodeVisionAVR und schreibe mein Programm 
in C.

Das Prinzip ist eigentlich einfach erklärt:
Ich möchte den Puls berechnen, indem ich für 10 externe Interrupts die 
Zeit stoppe und über diese 10Schläge und der Zeit dann die Schläge/min 
ausrechne.

Ich verwende hierzu den INT1, der die Schläge zählt.
Der Timer1 soll die Zeit messen. Die Überläufe werden im internen 
Interrupt aufsummiert.

Ich habe die Frequenzen so niedrig wie möglich gewählt, da auch der 
interne Quarz des ATmega32 mit 8MHz mehr als ausreichend ist.

Mit dem Timer2 wollte ich mit einem PWM ein Rechteck simulieren und die 
Reaktion am INT1 und der Pulsanzeige testen (leider simuliert die 
niedrigste Frequenz natürlich keinen natürlichen Pulsschlag ;))

Meine Frage nun: kann das ganze so laufen, wie ich mir das vorgestellt 
habe?
Den Timer1 einfach beim 1.Impuls auf null setzen und die overflows und 
seinen wert später auslesen? oder was hapert an er berechnung noch?

außerdem gibt es sicher eine schönere variante mit dem timer2 ein puls 
zu simulieren...auch wenn dieses signal später durch einen "echten" puls 
ersetzt werden soll.

danke schonmal, ich hoffe es ist verständlich:)

von Tappsy (Gast)


Lesenswert?

hm falls ich meine frage zu umfangreich gestellt habe, hier einmal die 
kurzfassung:

1. wie kann ich mit dem timer2 ein pwm erzeugen, dass einen menschlichen 
puls simuliert?

2. wie lässt sich die pulsberechnung am einfachsten durchführen? lässt 
sich das register TCNT1 einfach so auslesen?


mfg

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.