mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega32 PWM LED Dimmer


Autor: Tilo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich Versuche gerade ein Power LED (weis) zu dimmen aber je dunkler ich 
sie dimmen will (kleinerer pwm  wert = dunkler) desto mehr flackert es.
Der Atmega32 (Timer1) wird an 4Mhz betrieben (PWM Pre. = 1).

Wie kann ich dieses Problem eliminieren?

Autor: Philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Quellcode zeigen!

Autor: Tilo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include "pwm.h"

void Init_PORT(void)
{

 PORTD = 0x00;
 DDRD = (1<<PD5);

}


void Init_PWM(void)
{

 //Timer1, Fast PWM,

 TCCR1A = (1<<COM1A1) | (1<<WGM11);
 TCCR1B = (1<<WGM12) | (1<<WGM13) | (1<<CS10);


}



void Set_PWM(unsigned int value)
{

 OCR1A = value;
 ICR1 = 0xFFFF;

}




int main(void)
{

 Init_PORT();
 Init_PWM();


 while(1)
 {


   Set_PWM(x);


 }

 return 0;

}

Autor: Marco -. (marcov)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum setzt du IRC1? Das ist zumindest für eine normale PWM bei fester 
Frequenz nicht nötig.
Dass Du Set_PWM() in einer Endlosschleife stehen hast ist auch nicht gut 
wenn vor dem Setzen des Registers nicht darauf gewartet wird dass der 
Timer auf 0 steht.

Spring einmal vor der Endlosschleife in die Set_PWM() Funktion und 
danach nur noch wenn sich der Wert auch ändert. Das gibt sonst ein 
Durcheinander.

Grüße

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tilo schrieb:
> Ich Versuche gerade ein Power LED (weis) zu dimmen aber je dunkler ich
> sie dimmen will (kleinerer pwm  wert = dunkler) desto mehr flackert es.
> Der Atmega32 (Timer1) wird an 4Mhz betrieben (PWM Pre. = 1).
>
> Wie kann ich dieses Problem eliminieren?

Indem du keine volle 16 Bit PWM benutzt.
Bei 4Mhz kommst du damit auf eine PWM-Frequenz von ~61Hz.
Und wenn die Led Dunkel ist, sieht man das bereits.

Bruachst du wirklich eine LED mit 65536 verschiedenen Helligkeitswerten?

Autor: Tilo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein soviele Werte sieht/unterscheidet man denk ich auch garnicht. Also 
reicht ein 8Bit PWM. Habt ihr mir ein Beispiel für einen solche 
Dimmerlampe mit LED.

Eiei ist das HEIß.

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.