PWM flackert stark

OP #1376426
Lesenswert?
• ▲
▼
Hallo zusammen,

Ich beschäftige mich gerade das erste mal mit PWM und möchte via PWM 
eine LED dimmen, habe aber keine Timer mehr frei! Also dachte ich, ich 
versuch es über einen Umweg: ein Timer erzeugt einen 10ms Takt und zählt 
mit einer Periode von ca 73us immer von 136 auf 255. Diesen Timer 
verwende ich auch für die PWM. Ich habe zum Test in der main ein paar 
Zeilen geschrieben die die LED dimmen sollen
1
  if((TCNT0 >= 119) && (TCNT0 < 139))
2
        {
3
          PORT1  |= (1<<OUT8);  //aktiviere Ausgang vorübergehend
4
        }
5
        else
6
        {
7
          PORT1  &= ~(1<<OUT8);  //lösche Ausgang
8
        }

(139-119)*73us ergibt hier eine High Phase von ca 1,5ms (PWM Periode 
10ms).

Die LED dimmt zwar schon aber flackert stark und lässt sich nicht weit 
runter dimmen, sie ist irgendwann ganz aus. Je höher man dimmt (je 
heller...) desto weniger flackert es auch.

Woran könnte das liegen? Wo ist der Denkfehler?
Gast #1376433
Lesenswert?
• ▲
▼
>
1
>   if((TCNT0 >= 119) && (TCNT0 < 139))
2
>         {
3
>           PORT1  |= (1<<OUT8);  //aktiviere Ausgang vorübergehend
4
>         }
5
>         else
6
>         {
7
>           PORT1  &= ~(1<<OUT8);  //lösche Ausgang
8
>         }
9
>

Wie oft pro Sekunde wird denn dieses IF-Konstrukt abgearbeitet?
Moderator (Firma: Titel) Persönliche Seite #1376434
Lesenswert?
• ▲
▼
> also du hast 100Hz Frequenz, das kann man durchaus noch flackern sehen.
Es geht offenbar um STARKES Flackern...
100Hz kannst du z.B. als Interferenz zu einer Leuchtstofflampe sehen. 
Aber STARK ist anders  :-o

> ein Timer erzeugt einen 10ms Takt und zählt
> mit einer Periode von ca 73us immer von 136 auf 255.
und
1
if((TCNT0 >= 119) && (TCNT0 < 139))
Hmmm...
Wie stellst du denn den PWM-Wert ein?
Zeig doch mal das ganze Programm...

> Wo ist der Denkfehler?
Der haupsächliche Denkfehler ist, dass dein Problem in den geposteten 
Zeilen liegt.

Antwort schreiben

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.

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.