ATtiny45 10bit-PWM

Gast #1534852
Hallo!

Ich bin dabei für eine Modelleisenbahn einen blinkenden Schornstein auf 
einen ATtimy45 zu programmieren.

Ich verwende dazu eine Fading-LED mit einer logarithmischen Codetabelle.
Wenn ich das ganze mit 32 Werten mache funktioniert es.

Da das dünkler werden der LED langsam sein soll sieht man allerdings das 
überspringen von einer Helligkeit auf die Nächste.

Jetzt dachte ich mir, ich könnte einfach 64 Werte nehmen. Aber genau das 
funktioniert nicht. Die LED wird heller, fängt dann zu flackern an und 
wird dann stufenweise wieder dünkler. Wo liegt denn da der Fehler?

Ich vermute das hat irgendwas mit 10-bit PWM zu tun oder? Allerdings 
gibt es beim Tiny45 keine PWM11 usw um die 8 oder 10-bit PWM 
einzustellen.

Danke für eure Hilfe!

Grüße
Markus
Angehängte Dateien:
Der Tiny25/25/85 hat nur 8-bit Timer. Du versuchst hier aber Werte > 255 
zuzuweisen in der Zeile :
OCR0A = pgm_read_word(pwmtable_64+temp)

Da wird der obere Teil des Words abgeschnitten. Du kannst nicht einfach 
so eine 10Bit PWM verlangen, wenn es die Hardware nicht hergibt.

Probier mal was in Hardware. z.B einen kleinen Kondensator (wenige nF) 
parallel zur Diode um sie "unempfindlicher" gegen die kurzen Strompulse 
zumachen.
Gast
Hallo!

Ich hab durch ausgiebiges Studieren der Datenblätter das Problem der 
"nicht vorhandenen 10bit PWM" herausgelesen.

Ich hab das Ganze jetzt so schnell gemacht, dass man das Wechseln der 
Helligkeiten nicht mehr sieht. Sieht jetzt zwar nicht mehr so 
realistisch aus - ist aber trotzdem schön.
Danke übrigens für deine Antwort! Das mit dem Kondensator hätte ich noch 
versuchen können. Aber egal - das Teil ist verbaut und gut ist ;-)

Grüße
Markus
Gast
Hallo limbo!

du kannst natürlich auch bei 8 Bit mit 64 Werten arbeiten.
Der Wertebereich ist halt 0-255.
Wenn du bei der o.a. Tabelle mit 64 Werten diese durch 4
teilst, nächster unsigned char daraus machst und diese auch als
unsigned char bezeichnest/behandelst hast du mehr Stufen.

Noch mehr Stufen ist jedoch sinnlos da dann keine log. Funktion
erkennbar ist.

hans

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.