Forum: Mikrocontroller und Digitale Elektronik Pulsdauermessung Hilfe!


von Lukas Z. (Firma: HTBLuVA - Salzburg) (lzopf)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich mache heuer ein Projekt und müsste eine Pulsdauermessung machen.

System:   ATmega 32 @16 MHz
Frequenz: 300Hz - 1300Hz

Die Frequenz und in weiterer Folge die Pulsdauer verändert sich ständig.
Mein Problem ich sollte die Pulsdauer bestimmen und diese in eine 
Proportionale analoge Spannung umwandeln.

D.h. 300Hz = 0V
    1300Hz = 5V

Die Pulsdauermessung habe ich derzeit über die ICP Funktion realisiert. 
D.h. der Timer beginnt bei steigender Flanke zu zählen und bei fallender 
Stopt er wieder.

Ich nehme den 16 Bit Timer des ATmegas her also mit 65535. Mein Problem 
ist, dass ich egal welche Frequenz anlege der Wert der Timervariablen 
immer 65535 ist.

Ich bräuchte aber z.B. bei 300Hz --> Timerwert= 50 000
                       bei 1300Hz --> Timerwert = 3000

Dann könnte ich diese Werte weiterverarbeiten zu einer proportionalen 
Spannung.  PWM.

Aber wie gesagt es liegt immer 65500 an. Ist der Timer zu langsam oder 
zu schnell? Bzw. bin ich komplett am falschen weg?

Bin über jede Antwort froh.

MFG

Lukas Zopf

von Knut (Gast)


Lesenswert?

Da fehlt eine 1 in Zeile25!
Das sollte es sein!



Gruß Knut

von Knut (Gast)


Lesenswert?

Oh sorry, hab deinen Code übersehen!
Bitte Kommentar löschen!

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.