Dimmen der PWM bei timer0 ATmega 32

Gast #6166917
moin
vieleicht hat jemand einen hinweis,

folgendes szenario:
Atmega 162

5 PWM Kanäle :

alle über die hardware PWM :
init :

TCCR1A |= ((1<<WGM10)| (1<<COM1B1 )  |(1<<COM1A1));
TCCR1B |= ((1<<CS11)|(1<<CS10) );

TCCR3A |=  ((1<<WGM30)|(1<<COM3A1)| (1<<COM3B1 ));
TCCR3B |= ((1<<CS31) | (1<<CS30) ); //

TCCR0  |=  ((1<<WGM00) | (1<<CS01)  | (1<<COM01) | (1<<CS00));

bei 8 Mhz sind das 250Hz.

soweit funktioniert es.

Einstellung der Dimmfrequenz funktioniert sauber,
nur bei TCCR0 habe ich das problem, das während des Dimmen in OCR0 auf 
dem Kanal (und nur da)das Licht flackert. als würde er abschalten.
Ich habe ca.100 ms zwischen den Dimmsteps bei 50 Steps.

Interrupts kommen zum Zeitpunkt des Dimmens nicht.

Irgendjemand eine Idee ? Habe ich in 300 Seiten doch noch was übersehen?
Gast
Ausserdem, um Register sicher zu konfigurieren keine Veroderung 
verwenden, denn wenn schon ein Bit gesetzt ist, dann gibt's Unsinn:

> TCCR0  |=

Einfach eine normale Zuweisung und gut ist's.
Gast
kurze Rückmeldung. das war es!

ich habe trotzdem noch eine Frage. Jemand hat es in Bascom gemacht, dort 
funktionierte es auch ohne fast pwm. Ich habe kein Bascom und bin damit 
auch nicht vertraut.

Ich könnte mir nur erklären, das beim setzen von ORC0 der Bascom 
Compiler
automatisch ein „warte bis compare „ macht und das setzt.

wäre mal interessant, was da so im Hintergrund gemacht wird.

Vieleicht hat da ja jemand ein Assembler Listing zum setzen von ORC0.

so long
Gast
>> Keine Doppelpufferung des Timer0 Compareregisters ...?
> das wirds wohl sein. danke für den hinweis.ich versuchs mal
> mit phase pwm danke !

> kurze Rückmeldung. das war es!

Das wundert mich jetzt (allerdings ohne es genauer angeschaut zu haben): 
im Datenblatt des ATmega162 steht: The OCR0 Register is double buffered 
when using any of the Pulse Width Modulation (PWM) modes.
Gast
S. Landolt schrieb:
>>> Keine Doppelpufferung des Timer0 Compareregisters ...?
>> das wirds wohl sein. danke für den hinweis.ich versuchs mal
>> mit phase pwm danke !
>
>> kurze Rückmeldung. das war es!
>
> Das wundert mich jetzt (allerdings ohne es genauer angeschaut zu haben):
> im Datenblatt des ATmega162 steht: The OCR0 Register is double buffered
> when using any of the Pulse Width Modulation (PWM) modes.

Dachte ich auch...
aber :

.."except the double buffer feature of the output
compare unit is enabled in the fast PWM mode."

das steht in den anderen Modes nicht.
Gast
Der Satz lautet vollständig:
.... This feature is similar to the OC0 toggle in CTC mode, except the 
double buffer feature of the output compare unit is enabled in the fast 
PWM mode.

Und das interpretiere ich so, dass im fast-PWM-Modus eben doppelt 
gepuffert wird, im Gegensatz zum CTC-Modus.
Gast
S. Landolt schrieb:
> Der Satz lautet vollständig:
> .... This feature is similar to the OC0 toggle in CTC mode, except the
> double buffer feature of the output compare unit is enabled in the fast
> PWM mode.
>
> Und das interpretiere ich so, dass im fast-PWM-Modus eben doppelt
> gepuffert wird, im Gegensatz zum CTC-Modus.

ja. eben im „fast-PWM-Modus“
Gast
> ja. eben im „fast-PWM-Modus“

Ich denke, das steht da, weil dieser am ehesten mit dem CTC-Modus 
vergleichbar ist.
  Eigentlich sollten sich die Verhältnisse bei phase-correct-PWM mit 
einem simplen 20-Zeiler klären lassen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.