www.mikrocontroller.net

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


Autor: Lars Busch (Gast)
Datum:
Angehängte Dateien:

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

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Phase-correct-PWM-Mode...

Autor: Lars Busch (Gast)
Datum:

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

Autor: Rahul Der trollige (rahul)
Datum:

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

Autor: Lars Busch (Gast)
Datum:

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

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo steht das mit den 8Bit für Timer1?

Autor: TravelRec. (Gast)
Datum:

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

Autor: Lars Busch (Gast)
Datum:

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

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.