Zeitmessung von Flanken gesteuert mit dem Timer

Gast #1627107
Lesenswert?

Hallo Leute,
ich bin erst seit kurzem in der Welt der Mikrocontroller unterwegs.
Deshalb bitte icht böse sein wenn ich dumme Fagen stelle. Eingearbeitet 
habe ich mich bereits mit
den Tutorials auf dieser Seite. Nun aber zu meiner Aufgabe:

Ich habe einen Pegel zwischen 0V und 10V bei dem ich die Zeiten messen 
möchte.
Dabei ist Pegel LOW eine Aufladezeit und der Pegel HIGH eine Entladezeit 
die variiert.
Ich habe schon gelesen das ich mit dem externen PIN T1 steigende sowie 
fallende Flanken
erkennen kann.
Mein Programm hab ich mir vorerst auf einem Blatt Papier so vorgetellt:

PINT1 erkennt fallende Flanke -> Zähler beginnt zu laufen
PINT1 erkennt steigende Flanke -> Zählwert abspeichern, Zähler 
rücksetzen und wieder starten
PINT1 erkennt fallende Flanke -> Zählwert abspeichern, Zähler rücksetzen 
und wieder starten
Anschließend soll das Verhältnis gebildet werden.

Da ich den ATmega mit 8MHz betreiben will und die Zeiten im Bereich von 
10ms-50ms liegen wollte
ich den 8-bit Timer verwenden. Zudem wollte ich vorerst auf Interrupts 
verzichten.
Programmieren werde ich mit dem AVR Studio in C.

Also grundlegend weiß ich was ich machen möchte, nur kann es so 
funktionieren? Hat sowas schonmal jemand gemacht?
#1627286
Lesenswert?

onkelm schrieb:

> Zudem wollte ich vorerst auf Interrupts
> verzichten.

Keine so gute Entscheidung, auch wenn es im Prinzip nach deiner 
Strategie machbar ist.

> Also grundlegend weiß ich was ich machen möchte, nur kann es so
> funktionieren?

Probiers aus.

> Hat sowas schonmal jemand gemacht?

<Lächel>
Du bist der Erste.


Im Ernst. Natürlich hat das schon wer gemacht. Die eine Hälfte deiner 
Applikation ist im Grunde dieselbe Technik, die man bei einem 
Frequenzzähler benutzt.
Ein Tip: Du kannst dir eine Menge Arbeit sparen, wenn du die Input 
Capture Funktionalität vom Timer 1 benutzt.

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