Attiny85 PWM Problem (LED Dimmen)

OP #1899025
Hallo, ich habe folgendes Problem ich möchte gerne eine Led mit fast PWM 
dimmen, dies gelingt mir leider schon seit TAGEN nicht, ich habe schon 
überall nach lösungen gesucht, aber keine gefunden die sich auf den 
attiny85 übertragen lässt. Wäre um hilfe sehr dankbar. Lg Snackez und 
vielen Dank im Vorraus.

Hier der Quelltext von meinen Versuchen:
1
#include <avr/io.h>
2

3
 
4
int main (void)
5
{
6

7
  DDRB  = 1<<DDB0;
8
  PORTB = (1<<PB0); 
9
  TCCR0A=(1<<COM0A1) | (1<<WGM00) | (1<<WGM01);
10
  TCCR0B=(1<<WGM02) | (1<<CS00) | (0<<CS01) | (1<<CS02);
11
  OCR0A=128;
12

13
  while(1)
14
{
15

16
}
17
  return 1;
18
}
#1899357
Ich habe an der Stelle zufällig letzte Woche auch gekämpft.
Mit TOP legt man den oberen Zählerwert fest, wenn dieser erreicht wird, 
wird der Zähler anschliessend zurückgesetzt.
Damit kann man eine höhere Frequenz für die PWM erreichen, mit der 
Einbusse an Auflösung.
Nur leider mit dem Ausgang PB0 (OC0A) funktioniert das ganze nicht, da 
OCRA0 sich hier nach dem setzen sich sofort wieder zurückstellt.
Wird stattdessen PB1 (OC0B) verwendet, kann man hier dem OCRA0 den 
oberen Wert festlegen und mit OCR0B die Pulsweite.

Gruß Gerd
Gast #1899367
Wenn OCRA Top ist, dann ist das die Obergrenze für den Zähler. Der zählt 
nicht mehr bis 255, sondern eben nur bis Top, in Deinem Beispiel 128. Da 
der Umschaltpunkt der PWM dann immer identisch mit der Obergrenze des 
Zählers ist, kann sie für PWM0A nicht mehr funktionieren. Man kann die 
Sache allerdings für PWM0B nutzen um schnellere PWMs mit kleinerer 
Auflösung zu erzeugen. Der Modus ist also nicht sinnfrei.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.