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???
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ß
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.