Pulsdauermessung Hilfe!

OP (Firma: HTBLuVA - Salzburg) #2000910
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
Angehängte Dateien:

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.