www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frequenzmessung


Autor: Ferhat Incal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Ferhat Incal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

für die 2 PWMs reicht der Timer 1 (16bit, hat 2 Compare-Register), Timer 
0 (8bit) ist dann noch frei.

MfG
Andreas

Autor: Markus B (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die beiden Timer reichen doch, einer für die PWMs und einer als Counter.

MfG
Andreas

Autor: Ferhat Incal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

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.