mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATTiny 85 3xPWM für RGB LED Kopfschmerzen


Autor: Thomas Böhner (tebee)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moinmoin,

ich möchte den ATTiny85 zum ansteuern von drei RGB LEDs nutzen, weil 
dieser so schön klein ist und das meiner Meinung nach funktionieren 
sollte. Über einen Taster inkrementiere ich einen Zähler und über einen 
weiteren Taster kann ich den Vergleichswert (OCR0A, OCR0B oder OCR1B) 
hochzählen/runterzählen. Je nachdem wie der genannte Zähler steht wird 
einer der Werte geändert. Timer 0 funktioniert. Will ich den Timer 1 
nutzen, passiert nur noch Kokolores. Der rote Farbanteil hellt langsam 
auf dann springt er plötzlich wild umher. Kann es sein, dass der 
ATTiny85 für diese Aufgabe nicht geeignet ist? Beeinflussen sich die 
Timer evtl. irgendwie. Ich hab das Datenblatt so oft gelesen und auch 
hier im Forum geschaut, aber ähnliche Probleme nicht gefunden. Hier die 
Initialisierung:
DDRB = b00110011;
//PORTB=(1<<PB4);

  //PWM 1 und 2 (Timer0)
  TCCR0A = (1<<WGM00) | (1<<COM0A0) | (1<<COM0A1) | (1 << COM0B0) | (1 
<< COM0B1);

  TCCR0B = (1<<CS01) | (1<<CS00); //Frequenz: CK / 1

  //PWM 3 (Timer1)
  TCCR1 = (1 << CS12) | (1 << CS11);//| (1 << CS10);//| (1 << CTC1);
  GTCCR = (1 << PWM1B) | (1 << COM1B1);


  //Timer0
  OCR0A = 0;//Grün
  OCR0B = 0;//Blau
  //Timer1
  OCR1B = 254;//Rot
  OCR1C = 255;//Maximalwert des Zählers für Rot

ist es irgendjemandem möglich mir zu helfen?
Gruß,
Tebee

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tebee,

Hier mal ein paar Ideen:
im Datenblatt steht etwas von einem ATtiny15 Mode(Seite 98). Dort müssen 
die Fuses entsprechend gesetzt sein. Ev. musst Du diesen Mode 
deaktivieren oder aktivieren?

Meiner Meinung nach müsste die Init. so sein:(Die Pins sind nicht der 
Reihe nach angeordnet)
//PB0=Out,PB1=Out,PB2=in,PB3=Out,PB4=Out,PB5=In,
DDRB = b00011011;

Bist Du sicher, dass man 3 PWM Ausgänge gleichzeitig nutzen kann? Für 
mich sieht es auf den ersten Blick fast so aus, als ob die Pins doppelt 
belegt sind und nicht alle gleichzeitig nutzbar sind. Ev. muss das noch 
konfiguriert werden?

PB0 (OC0A/(invertiert)OC1A)
PB1 (OC0B/OC1A)
PB3 invertiert(OC1B)
PB4 (OC1B)

Gruß
Florian

Autor: Thomas Böhner (tebee)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Florian,

also mit dem 8515 und 2313 klappt es ganz wunderbar. Ich glaube es sind 
auch nur 2PWM fehlerfrei und gleichzeitig möglich.

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.