Forum: Mikrocontroller und Digitale Elektronik Timer am ext. Interrupt / I2C Frequenzzähler


von Christian Schreiber (Gast)


Lesenswert?

Guten Morgen,

ich bastel an einer Lüftersteuerung, die 2 Lüfter per PWM regelt.
Verwendung findet ein mega16(3 Timer).
Den 16bit Timer verwende ich fürs PWM.
Jetzt möchte ich aber auch die Drehzahl der beiden Lüfter überwachen.
Dazu zählen beide 8 bit Timer die Takte der Signalleitungen der
Lüfter.(also jeder eine)

Doch ich brauche auch noch einen Interrupt jede Sekunde, da ja für die
Drehzahl die Werte der beiden Flankencounter auslesen und durch 2
teilen muss. Dummerweise habe ich keinen Timer mehr frei.
Ich will beide Lüfter getrennt regeln, weshalb der 16bit Timer fürs PWM
reserviert war.

Meine bisherigen Überlegungen sind:
1) Den Sekundeninterrupt extern realisieren. Z.B. einen ne555 an einen
ext. Interrupt hängen. Dabei lege ich mich dann aber mit der
Herstellung der Platine auf eine Frequenz fest, oder sehe ich das
falsch? (wenn jemand einen Link zu passenden Seiten hat, immer her
damit :)

2) das Zählen der Flanken des Lüftersignals extern realisieren und dann
den Controller diesen Wert auslesen lassen. Bevorzugen würde ich hierbei
eine I2C Lösung, da ich dies sowieso nutze, also auch schon Treiber
dafür im Projekt habe.


vielleicht übersehe ich auch die einfachste Lösung.
Um Tipps und Anregungen bitte ich.

Gruß
Christian

von Bernhard S. (bernhard)


Lesenswert?

Hallo Christian,

und wenn Du die INT0 und INT1 als Mess-Eingänge nutzt und somit per
Interrupt zwei getrennte Register hochzählst.

Einen 8-Bit Timer als Sekundentakt. Bleibt sogar noch einer übrig ;)

Bernhard

von Christian Schreiber (Gast)


Lesenswert?

Hmm,
das klingt nach der übersehenen, einfachen Lösung ;)

Bekomme ich damit vielleicht Probleme, da mein Programm ständigt von
Interrupts unterbrochen wird?
Oder muss ich mir um das Problem bei Programmierung mit GCC keine
Sorgen machen?

Die I2C Lösung interessiert mich dennoch. Zwar nicht für dies Projekt,
aber um es einfach zu Wissen und im Hinterkopf zu behalten. Gibts nen
IC der zählt und per I2C auslesbar ist?

Vielen Dank erstmal
Christian

von Bernhard S. (bernhard)


Lesenswert?

>Bekomme ich damit vielleicht Probleme, da mein Programm ständigt von
>Interrupts unterbrochen wird?

nein, da es sich um sehr langsame Vorgänge handelt. Eigentlich ist
der µC sogar etwas gelangweilt ;)


>Gibts nen IC der zählt und per I2C auslesbar ist?

Glaub ich nicht, da es sich um einen Sonder-Anwendungsfall handelt.

Einfach einen µC verwenden und die Software selber schreiben.

Assembler-BSP:
http://www.mikrocontroller.net/forum/read-4-246060.html

Bernhard

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.