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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren