www.mikrocontroller.net

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


Autor: Christian Schreiber (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian Schreiber (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.