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
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
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...)
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.