Forum: Mikrocontroller und Digitale Elektronik ATTiny2313: Unregelmäßiges LED-Flackern bei PWM


von Stefan T. (tommie)


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?

von Michel (Gast)


Lesenswert?

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.

von Stefan T. (tommie)


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?

von Mark L. (m2k10) Benutzerseite


Lesenswert?

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.

Mark

von Stefan T. (tommie)


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.

von Multi K. (multikulti)


Lesenswert?

Wie hast du die LED denn angeschlossen? Möglicherweise geht deine 
Spannungsversorgung in die Knie wenn der Motor Leistung zieht. Das tut 
er vor allem beim hochlaufen.

von Michael S. (Firma: electro-tester) (michael0307)


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...

von Stefan T. (tommie)


Lesenswert?

Michael S. schrieb:

> Wie hast du die LED angeschlossen?
>
> Zusätzlich, oder hast du den Transistor abgeklemmt?

Sowohl als auch, im Debug-Fall hing dann nur noch die LED (mit kleinem 
Vorwiderstand) zwischen ATTiny-Pin und GND bzw. VCC (beide Polungen 
ausprobiert).

von Ralf (Gast)


Lesenswert?

Stefan Tomanek schrieb:
> allerdings
> flackert sie zudem unregelmäßig, ohne dass ich da ein System hinter
> erkennen kann.

Schlecht verdrahtet?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.