ATTiny2313: Unregelmäßiges LED-Flackern bei PWM

OP #2199544
Lesenswert?

Hallo,

ich mache mich gerade daran, wie viele hier einen Looping Louie zu 
tunen; ich habe vor mir einen ATTiny2313 liegen, den ich zur Steuerung 
der Motorgeschwindigkeit benutzen möchte, dabei hat sich folgendes 
Problem ergeben:

Ich steuere den Motor über Ping 9 (PD5/OV0B) des Controllers an, was an 
sich auch funktioniert: Über einen Transistor schalte ich den Motor ein 
und aus, Freilaufdiode und Elko halten lästige Nebeneffekte im Zaun.

Zum Test habe ich jedoch auch eine LED an den Pin angeschlossen, die 
meinem Verständnis ja eigentlich gedimmt werden müsste, wenn ich die 
PWM-Frequenz variiere; im großen und ganzen stimmt das auch, allerdings 
flackert sie zudem unregelmäßig, ohne dass ich da ein System hinter 
erkennen kann. Der betroffene Code ist recht übersichtlich:
1
DDRD |= 1<<PD5;
2
TCCR0A = _BV(COM0B1) | _BV(WGM00);
3
TCCR0B = _BV(CS01) | _BV(CS00);
4
OCR0B = speed[current_speed];

Das Array speed enthält dann verschiedene Werte (0, 64, 128, 192, 255), 
die über Taster durchgeschaltet werden. Das unregelmäßige Flackern tritt 
unabhängig von der Speisung auf, ich habe auch schon großzügig 
Kondensatoren an ICs und Regler verteilt, dennoch bekomme ich es nicht 
abgestellt (oder mir zumindest erklärt).
Hat jemand eine Idee, woran das liegen kann?
OP #2199558
Lesenswert?

Michel schrieb:
> Stefan Tomanek schrieb:
>> Zum Test habe ich jedoch auch eine LED an den Pin angeschlossen, die
>> meinem Verständnis ja eigentlich gedimmt werden müsste, wenn ich die
>> PWM-Frequenz variiere
>
> Für die Helligkeit einer angeschlossenen LED kommt es auf das
> Tastverhältnis und nicht auf die Frequenz an.

Oh, ich korrigiere mich, aber mit dem Verstellen von OCR0B verstelle ich 
doch genau dieses Verhältnis bzw. lege fest, wann der Ausgang 
umschaltet, oder habe ich mich da verlesen?
OP #2199650
Lesenswert?

Mark L. schrieb:
> Bei welcher Frequenz läuft denn der Prozessor?
>
> Mit Prescaler 64 und Phase-Correct kommt man auf 30Hz/MHz, d.h. so ca.
> unter 3MHz sollte ein Flackern zu sehen sein.
> Ich meine der 2313 hat diese ... CKDIV8-Fuse standartmäßig gesetzt.

Es ist ja nicht so, dass mich ein regelmäßiges Flackern stören würde, 
das könnte ich mir ja auch aufgrund der niedrigen Frequenz erklären, was 
mich irritiert ist eine unregelmäßige Schwankung in der Helligkeit. D.h. 
die LED wird plötzlich dunkler oder heller, ohne eine (erkennbare) 
Regelmäßigkeit.

Das ganze ist aber mehr von akademischem Interesse, die Steuerung des 
Motors selbst funktioniert nämlich problemlos, ich finde die 
Unregelmäßigkeiten an der LED halt irritierend.
(Firma: electro-tester) #2199703
Lesenswert?

Stefan Tomanek schrieb:
> Ich steuere den Motor über Ping 9 (PD5/OV0B) des Controllers an, was an
> sich auch funktioniert: Über einen Transistor schalte ich den Motor ein
> und aus, Freilaufdiode und Elko halten lästige Nebeneffekte im Zaun.


>
> Zum Test habe ich jedoch auch eine LED an den Pin angeschlossen
                           ^^^^

Wie hast du die LED angeschlossen?

Zusätzlich, oder hast du den Transistor abgeklemmt?

Schaltplan , wäre jetzt mal nicht schlecht!

Grüße...

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