ATtiny45 10bit-PWM

Gast #1534852
Lesenswert?

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:
#1535721
Lesenswert?

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 #1536843
Lesenswert?

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 #1536851
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren