Forum: Mikrocontroller und Digitale Elektronik PWM Kanäle / Timer


von Axel L. (axelleibold)


Lesenswert?

Guten Tag zusammen,

ich hätte da mal eine Frage:

und zwar will ich einen Atmega 32 verwenden der so weit ich weiß 4 PWM 
Ausgänge hat. Ich will sozusagen wir verschiedene PWM Signale ausgeben.

so, wenn ich das richtig verstanden habe, dann braucht der 
Mikrocontroller die Timer ( Timer0 - 8 bit, Timer1 - 16bit , Timer2 - 8 
bit) um die PWM Signale zu erzeugen.

So. Außerdem will ich ein PWM Signal an einen Eingang des 
Mikrocontrollers anlegen, und dessen Pulsweite messen. Dazu brauch ich 
ja ebenfalls einen Timer( oder geht dies auch anders ). Sind die Timer 
die für die 4 PWM Signale verwendent werden ( Timer0, Timer1, Timer2 ) 
belegt oder kann ich die auch noch dafür benutzen?

Vielleicht hab ich mich nicht so deutlich ausgedrückt, dann bitte 
nachfragen

DAnke

von Joachim (Gast)


Lesenswert?

Nabend!

Richtig, wenn du die vier Hardware-PWM-Ausgänge benutzen willst brauchst 
du alle drei Timer. Wie die dann zu konfigurieren sind steht ja im 
Datenlatt.

Zu deinem einzulesenden PWM-Signal... hm... hab da ne Idee, weiß aber 
spontan nicht, wie leicht das um zu setzen wäre.
Du könntest doch über das PWM-Signal einen Interrupt auslösen (an PD2 
zum Beispiel) und dann könntest du doch z.B. über das Abfragen irgend 
eines Timer-Registers zu Zeit zwischen den zwei Interrupt-Auslösungen 
messen.

Mein Gedanke dabei war, daß die Timer-Register ja ständig hoch (und bei 
phasenkorrekter PWM auch runter) gezählt werden. In der ISR kannst du 
dann den Inahlt abfragen, ohne ihn dabei zu veränder und kannst doch 
dann über den im Timer eingestellten Vorteiler auf die Frequenz kommen 
(falls die von Interesse sein sollte...).

Hoffe mal damit mal nich all zu viel Protest aus zu lösen. Würde mich 
nicht als Profi bezeichnen... ;)

vg,
Joachim

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.