Guten Abend, die 16 bit PWM ist mir nicht klar. Im DB heißt es: "The PWM resolution for fast PWM can be fixed to 8-, 9-, or 10-bit, or defined by either ICR1 or OCR1A. The minimum resolution allowed is 2-bit (ICR1 or OCR1A set to 0x0003), and the maximum resolution is 16-bit (ICR1 or OCR1A set to MAX)" Ich denke in OCR1A wird der Wert für die Breite des Impulses eingetragen. Wenn ich ihn auf MAX (0xFFFF) setze, kann ich ja die PWM nicht mehr steuern. Kann mir jemand auf die Sprünge helfen? Vielen Dank Joachim
Hi >Ich denke in OCR1A wird der Wert für die Breite des Impulses >eingetragen. Im Mode 9, 11 und 15 ist OCR1A das Top-Register und bestimmt Auflösung und Frequenz der PWM. Als Compareregister steht nur OCR1B zur Verfügung.
Hi Mist, zu früh auf Absenden gedrückt. Im Mode 8, 10 und 14 ist ICR1 das Top-Register. Da ist PWM mit OCR1A und OCR1B möglich. MfG Spess
Hallo, vielen Dank für Deine Antwort. Heißt das, daß ich dann die Werte für die Impulsdauer in OCR1B eintragen muß? An welchem Ausgang liegt dann die PWM? Gruß Joachim
Hi >Heißt das, daß ich dann die Werte für die Impulsdauer in OCR1B eintragen >muß? An welchem Ausgang liegt dann die PWM? 'Ausgang' für OCR1B ist immer OC1B. mfG Spess
Hallo Spess, Deine zweite Antwort habe ich erst nach dem Absenden gelesen. Ich kann also entweder in ICR1 0xFFFF eintragen und den Compare-Wert in OCR1A (H und L) und OCR1B (H und L) oder MAX in OCR1A und habe dann nur noch OCR1B als Compare-Register zur Verfügung. Richtig? Vielen Dank für Deine Mühe. Joachim
Joachim schrieb: > Hallo Spess, > > Deine zweite Antwort habe ich erst nach dem Absenden gelesen. > Ich kann also entweder in ICR1 0xFFFF eintragen und den Compare-Wert in > OCR1A (H und L) und OCR1B (H und L) oder MAX in OCR1A und habe dann nur > noch OCR1B als Compare-Register zur Verfügung. > > Richtig? Richtig.
HI
>Richtig?
Ja. Die $FFFF im Topregister aber nur, wenn du die vollen 16 Bit nutzen
willst. Bei kleineren Werte dürfen natürlich die Compareregister nicht
größer sein (Wenn du noch PWM haben willst).
MfG Spess
@Karl-Heinz Vielen Dank. @Spess Herzlichen Dank für Deine Antworten. Ich verstehe nur nicht, wie Ihr das aus dem DB rausgelesen habt. Schöne Grüße Joachim
Joachim schrieb: > Ich verstehe nur nicht, wie Ihr das aus dem DB rausgelesen habt. Logik. Wenn OCR1A die Rolle des Top-Registers übernimmt, dann bedeutet das, das der Compare Match, den OCR1A auslösen kann, immer nur am Ende einer PWM Periode erfolgen kann. Nicht wirklich das, was man von einer PWM erwarten würde, wenn die einzig mögliche Einstellung der PWM 100% ist.
K.-H. schrieb: >Wenn OCR1A die Rolle des Top-Registers übernimmt, dann bedeutet das, das >der Compare Match, den OCR1A auslösen kann, immer nur am Ende einer PWM >Periode erfolgen kann. >Nicht wirklich das, was man von einer PWM erwarten würde, wenn die >einzig mögliche Einstellung der PWM 100% ist. Genau das war ja meine Überlegung. Daß OCR1B hier den Compare auslösen kann, habe ich nicht aus dem DB herausgelesen. Ich habe mir OCR1A und B als getrennte Einheiten vorgestellt.
Joachim schrieb: > K.-H. schrieb: > >>Wenn OCR1A die Rolle des Top-Registers übernimmt, dann bedeutet das, das >>der Compare Match, den OCR1A auslösen kann, immer nur am Ende einer PWM >>Periode erfolgen kann. >>Nicht wirklich das, was man von einer PWM erwarten würde, wenn die >>einzig mögliche Einstellung der PWM 100% ist. > > Genau das war ja meine Überlegung. > Daß OCR1B hier den Compare auslösen kann, habe ich nicht aus dem DB > herausgelesen. Die OCR1x Register hängen ja grundsätzlich mit nichts zusammen. Wenn der Wert im Zählregister mit dem OCR Register übereinstimmt, dann ist das ein Compare Match. Und der bewirkt etwas. Zb einen Pin abschalten, der beim Zählerstand 0 eingeschaltet wurde. Nur weil der Timermodus auf PWM ist, bedeutet das ja nicht, dass alle Register ihre grundsätzliche Funktion verlieren. In diesem Modus kriegt der Compare Match vom OCR1A eine spezielle Bedeutung, in dem er den Timer auf 0 zurück setzt. Aber das beeinflusst ja Compare Matches vom OCR1B nicht. > Ich habe mir OCR1A und B als getrennte Einheiten > vorgestellt. Sind sie ja auch. Sind sie ja auch.
Vielen Dank Karl-Heinz, so langsam wird mir das klarer. Eine letzte Frage hätte ich noch. Kann ich ein Word-Tabelle mit 256 Werten so auslesen: ldi ZL,LOW(Tab16*2) ldi ZH,HIGH(Tab16*2) up: lpm r16,Z+ lpm r17,Z+ out OCR1AH, r17 out OCR1AL, r16 wait10ms, 1 inc count cpi count, 255 brne up __________________________________________________ Tab16: Das sind die 16-Bit-Werte für die PWM.
Hi
>Kann ich ein Word-Tabelle mit 256 Werten so auslesen:
Jain. Damit nur 255 Werte. Entweder
1 | inc count |
2 | cpi count, 0 |
3 | brne up |
4 | |
5 | |
6 | oder |
7 | |
8 | clr count |
9 | ... |
10 | |
11 | dec count |
12 | brne up |
Ich bevorzuge letztere Variante, da der Vergleich entfällt. MfG Spess
>Ich bevorzuge letztere Variante, da der Vergleich entfällt.
Hast Recht. Herzlichen Dank, jetzt steht der Exponential-Dimmung
nichts mehr im Wege.
Schöne Grüße
Joachim
Hallo, ihr scheint ja total Ahnung von dem Attiny24 zu haben. Ich bin an einer ähnlichen Funktion dran. Ich möchte ein 40kHz PWM Signal ausgeben. Leider komme ich nicht so wirklich voran, da ich nicht weiss, wie man im Fast PWM-Mode die Frequenz einstellen kann. Vielleicht könnt ihr mir ja weiter helfen. Manuel
Manuel schrieb: > Hallo, > ihr scheint ja total Ahnung von dem Attiny24 zu haben. > Ich bin an einer ähnlichen Funktion dran. > Ich möchte ein 40kHz PWM Signal ausgeben. > Leider komme ich nicht so wirklich voran, da ich nicht weiss, wie man im > Fast PWM-Mode die Frequenz einstellen kann. > Vielleicht könnt ihr mir ja weiter helfen. > Manuel Du hast einen recht alten Beitrag ausgegraben, aber dein Problem ist nur mit Rechnen zu lösen. Du hast einen Timer, der muss laufen damit auch die PWM funktioniert. Er läuft mit der Frequenz T_freq. Dann spielt für die PWM_freq noch der Top-Wert, also bis wohin gezählt werden kann, eine Rolle. Auch der ist, je nach PWM-Mode, einstellbar (eben um definierte Frequenzen zu erzeugen). Als Gleichung kann man also sagen für eine Fast-PWM
So, oder so ähnlich, steht das auch im Datenblatt, bei der "normalen" PWM kommt dann noch ein Faktor 2 hinzu, steht aber auch im Datenblatt.
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.