Forum: Mikrocontroller und Digitale Elektronik Frage zu Counter, Fast PWM, ATMega8


von Lars Busch (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

habe mich heute in PWM versucht und dafür den angehängten Code
geschrieben (Assembler). Erreichen will ich eine Fast PWM mit 8Bit
Auflösung über den Timer/Counter1. Getaktet hab ich die PWM ohne
Prescaler, habe bisher vorerst nur simuliert. Das Problem ist jetzt,
dass der Counter nicht Schritt für Schritt hochzählt, wie ich es
erwartet habe und dann beim TOP-Value einlöscht, sondern in 2er
Schritten zählt, in Form von Dual-Slope, sprich hoch und dann wieder
runter. Hat vielleicht jemand eine Idee wo der Fehler liegt?
Danke im Voraus

Gruß
Lars

von Rahul (Gast)


Lesenswert?

Phase-correct-PWM-Mode...

von Lars Busch (Gast)


Lesenswert?

Hallo,

habe ich das denn falsch verstanden, dass der Counter resettet wird
beim Erreichen des TOP-Values wenn ich die Fast PWM nutze?

Gruß
Lars

von Rahul D. (rahul)


Lesenswert?

Timer1 ist ein reiner 16Bit-Timer... also nix mit 8-Bit-Fast-PWM. Das
geht nur mit Timer0 und Timer2.
Dann solltest du dir die Register-Initialisierung noch mal angucken.
(Ich habe jetzt nicht die Zeit dazu, mich damit näher zu
beschäftigen...)

von Lars Busch (Gast)


Lesenswert?

Hallo, habe inzwischen das Problem gefunden, Timer1 kann auch als 8-Bit
genutzt werden, Fast-PWM geht hier mit 8, 9 oer 10 Bit, der Fehler
scheint jedoch in AVR-Studio zu liegen, wie ich unter Bugs gelesen
habe. Da ein gesetztes Bit ignoriert wird, handelt die Simulation wie
Phase-correct-PWM...
Danke für die Antworten!

Gruß
Lars

von Rahul (Gast)


Lesenswert?

Wo steht das mit den 8Bit für Timer1?

von TravelRec. (Gast)


Lesenswert?

Doch! Timer 1 kann 8-Bit PWM und 9Bit und 10 Bit, im Datenblatt ab Seite
97 (Tabelle 39) nachzulesen. Als Top-Wert kann auch das Input Capture
Register verwendet werden, damit sind dann x-beliebige Auflösungen
möglich. Also Lars, check nochmal alle Register-Werte und dann wirst
Du´s auch hinbekommen.

von Lars Busch (Gast)


Lesenswert?

Wie schon gesagt, scheint ein Bug in AVR Studio zu sein, habe bisher ja
nur simuliert, werde das gleich am Oscar mal prüfen.. (gibt irgendwo
hier sone Seite mit Bugs vom AVR Studio und da scheint die
PWM-Geschichte ganz ordentlich von betroffen zu sein, gleich am
Anfang)
Danke für eure Hilfe..

Gruß
Lars

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.