PWM Capture und Generate

Gast #178564
Lesenswert?
• ▲
▼
Hallo zusammen,

ich benötige eure Hilfe. Ich versuche ein Board zu bauen, dass PWM
Signale auswerten kann und generieren kann. Nun habe ich mir durch
diverse Beiträge gelesen, allerdings findet man immer wieder andere
Ansätze.
Ich fass das mal zusammen. Ich will einen ATMega8 benutzen. Den
Standard PWM Kannal kann ich nicht nehmen denn ich will die Frequenz
des Signals verändern können. Also muss ich den 16bit Timer benutzen.
Richtig ???
Für das auswerten der Signale muss ich zwei Counter benutzen. Der eine
zählt die Zeit in der das Signal high ist, der andere wenn es Low ist.
Kann man sich da was aus den verbeleibenden Timern zusammenbauen oder
sollte man dies durch externe Counter(74HC590) realisieren.
Ich wollte dieses Projekt in C proggen. Ich habe allerdings noch nicht
so oft C benutzt. Kann man die Zählerstände und die Zeiten einfach
multiplizieren und z.B. an ein LCD senden.

Grüße Tom
Gast #178566
Lesenswert?
• ▲
▼
Hallo Alex,

ich hab mir den Modus 14 mal genauer angeschaut. Habe ich das richtig
verstanden, dass man den TOP value verändern kann und der COMPARE value
nur kleiner sein muss. Das ist ja schonmal nicht schlecht. Kann man dann
auch noch die Sache mit dem Vorteiler nutzten oder läuft der Prozessor
dann mit voller Taktfrequenz??

Grüße Tom
Moderator Persönliche Seite #178568
Lesenswert?
• ▲
▼
> Für das auswerten der Signale muss ich zwei Counter benutzen. Der
> eine zählt die Zeit in der das Signal high ist, der andere wenn es
> Low ist.

Einer genügt, das lässt sich bei geschickter Programmierung mit dem
input capture Interrupt erledigen.  Du musst die Flanke dabei
umschalten, da solltest du noch drauf achten, dass der Impuls nicht so
schmal war, dass die entgegengesetzte Flanke schon wieder vorbei ist.

> Kann man sich da was aus den verbeleibenden Timern zusammenbauen
> ...?

Das hängt ganz von deinem Controller ab.  Ein ATmega640 zum Beispiel
hat 2 8-bit- und 4 16-bit-Timer/Zähler. ;-)

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.