Attiny85 PWM Problem (LED Dimmen)

OP #1899025
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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

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.