Frequenzmessung

Gast #995
Wie kann ich die Frequenz einer PWM (%50) duty cyle) Signal messen.Die 
Messung muss 100 mal pro sekunde erneut erfolgen.

Mehr ueber die ANwendung:

Die Ausgangspannung eines wechselrichters wird durch v/f converter durch 
einen optokoppler zur Mc seite transferriert.
DIe Mc muss die frequenz wieder ins Spannung Umwandeln (aber nur rein 
digital) eine f/v converter ist aus EMI gruenden nicht zulaessig.

Eine Loesung waere je 1 ms ein Interrupt aufrufen und den counterinhalt 
lesen und der abgelesene Zahl normieren.

Nur wie kann ich z.B 30 Khz Pulse zaehlen. Wieder durch einen Interrupt 
oder kann man das bei AVR (wie be PWM) automatisch einstellen?


Mfg.

Ferhat.

e9326570@stud4.tuwien.ac.at
Gast #996
Hallo,

man kann bei den Timern des AVRs als Taktquelle statt dem Oszillatortakt 
einen externen Takt einstellen (siehe Datenblatt). Dann kannst du 
einfach die Zeit bis zum Timer-Überlauf messen oder warten bis eine 
bestimmte Zeit um ist und dann den Zählerstand auslesen. Wenn die 
Frequenz dafür zu hoch ist, vorher extern runterteilen, z.B. mit 
74HC4040.

MfG
Andreas
Gast #997
Danke fuer den Hinweiss.

Ich verwende insgesamt 2 PWM quellen (das heisst 2 Timer) fuer die 
Steuerung der Halbbruecke. Habe ich eigentlich noch ein Timer3 zur 
Verfuegung bei 8515 oder 8535?

Ich habe mich sehr an die Timerknappheit des 8051 gewohnt.Bei AVR hat 
man wahrscheinlich die Luxus


Mfg.
Gast #999
Ne, leider nicht. Der 8515 hat glaube ich nur einen 8 Bit und einen 16 
Bit Timer. Über dieses Problem stoße ich auch immer wieder.
Aber Du kannst auch die externen Interrupteingänge verwenden. Davon gibt 
es zwei.
Schreib einfach eine kleine Interruptfunktion für jeden Eingang in der 
Du einen Zähler hochzählst. Über einen Timer erzeugst Du einen 
regelmäßigen Interrupt bei dem Du den Zählerstand abfragst und 
umrechnest.

Gruß
Markus
Gast #1001
Gerade Datenblatt angeschaut.

8515 enthaelt

1 8 bit Timer

1 16 bit Timer mit DUAL 8 oder 9 oder 10 bit PWM. DIe Bezeichnung DUAL 
gibt die Hoffnung dass es dann wirklich ueber compare registern 
realisierbar sind.
Nur bei 8535 ist das selbe Ausdruck DUAL PWM vorhanden nur Atmel gib vor 
dass der 3 PWM hat. Ich bin bischen verwirrt weil es gibt bei 8535 zwei 
zusaetzliche 8 bit Timer aber ohne PWM fuktion (Also keine capture 
compare registern)

Also ich probiere es mal.Wenn es nicht geht sollte man die brutale 
methode verwenden. Wie gesagt in der Interruptroutine zaehlen.


Ferhat.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 24 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.