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

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.

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.