mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Mega32 Frequenz messen


Autor: Rolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich möchte mit einem Mega32 die Frequenz von 2 Signalen ermitteln.
Die Frequenz liegt bei beiden Signalen zwischen 1Hz und 500 Hz.
Bisher nutze ich 2 Interrupteingänge die ich einfach inkrementiere und
mit nem Timer den Wert nach einer Sekunde abfrage.
Ich würde allerdings die anliegende Signalfrequenz schon am besten nach
250ms ermittelt haben (klar bei 1 Hz oder 2 Hz geht das noch nicht, aber
ab 4 Hz und höher müßte es ja möglich sein).
Gedacht hab ich mir einfach mit je einem Timer den Zeitabstand zwischen
2 fallenden Flanken zu messen. Mein Problem besteht nun darin aus der
gemessenen Zeit (in ms) die Frequenz zu bestimmen.
Daß das mit 1/t geht ist mir schon klar, wie jedoch realisiere ich eine
1/t Rechnung mit dem Mikrocontroller?? Habe seither nur mit Integer
Variablen gearbeitet, für solch eine Rechnung wäre aber Float
notwendig? Ist dies mit nem Mega32 möglich, oder hat jemand sonst ne
Lösung parat wie ich aus der gemessenen Zeit auf die Frequenz komme???

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
warum sollte das mit integer-Rechnung nicht gehen??

Autor: Rolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Crazy Horse,

Asche über mein Haupt....
da hast allerdings recht !!! Irgendwie stand ich grad mächtig aufm
Schlauch als ich meinen "langen Roman" verfasst habe ;-)
Muß ja einfach nicht 1/t rechnen, sondern 1000000/t dann hauts hin
;-)

Trotzdem Danke für den kleinen Denkanstoß

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Rolf,
damit Du das Rad nicht neu erfinden mußt ein link:
http://www.mino-elektronik.de/progs/avr/fm.c

Je nach Auflösung und Genauigkeit, kannst Du auch mit int (besser
jedoch long) rechnen. Wenn die Auflösung nicht sehr hoch sein muß,
reicht es auch die Periodendauer mit einem Timer zu messen, der z.B.
mit 10kHz freilaufend für mehrere Meßkanäle einsetzbar ist.

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.