Forum: Mikrocontroller und Digitale Elektronik Mehrere RGB-LED PWM


von guest (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche mich gerade daran 6 RGB-LEDs anzusteuern.
Dazu habe ich die Schaltung wie im Anhang aufgebaut.
Jede Farbe benötigt 20mA. Rot hat 2,1V, Grün 3,27V und Blau 3,15V 
Forward Voltage.

Nun kann ich über meinen Atmega168 die einzelnen Farben schalten.

Als nächsten Schritt wollte ich die Farben per PWM faden. Dies 
funktioniert leider gar nicht. Die LEDs sind an oder aus.
Hänge ich eine LED ohne Transistor an die I/Os, dann fadet sie wunderbar 
durch.

Kann man PWM über den BC337 realisieren? Habe ich die richten 
Basiswiderstände gewählt? (Diese habe ich nach dem Artikel 
Basiswiderstand berechnet)

Ich hoffe ihr könnt mir helfen.

Mit freundlichen Grüßen

von Yalu X. (yalu) (Moderator)


Lesenswert?

Wie hoch ist die PWM-Frequenz? Wenn die Periodendauer kleiner als die
Sättigungsdauer der Transistoren ist, passiert das von dir Beschriebene.
Fang mal mit einer niedrigen Frequenz an (auch wenn die LEDs dann
vielleicht flimmern) und steigere sie dann Schritt für Schritt.

von Patrick E. (f4550tim)


Lesenswert?

Am besten, du versuchst es mal mit so 1KHz PWM Frequenz !
Dann geht deine Schlatung auch. Und du kannst auch die 10K weglassen, 
das nur bei Mosfets, oder bringt es da nur wirklich ;)

LG Tim & Viel Spaß

von guest (Gast)


Lesenswert?

Hallo,
herzlichen Dank für die Tipps.

Bisher hab ich das Ganze an einem Arduino Board getestet, weil das 
vorhanden war.
Im Endeffekt soll die Schaltung an einen Atmega88 gehängt werden.
Wie ich bei dem Arduino die PWM Frequenz ändern soll weiß ich leider 
nicht.

Ich mach mich mal an die Atmega88 Schaltung und Programmierung.

Danke erst mal.

von heldvomfeld (Gast)


Lesenswert?

Hi,
Basiswiderstand ist ok und die 10k pulldowns sind auch nicht verkehrt. 
Über den Transistor kannst du eine Ansteuerung mittels PWM realisieren.

Ich denke der Fehler liegt in der PWM Realisierung in deiner Software. 
Hast du geprüft ob auch wirklich eine PWM am Pin raus kommt?

gruß~

von guest (Gast)


Lesenswert?

Hallo,

Leider habe ich kein Oszi.
Da die direkt angeschlossene LED fadet denke ich, dass die PWM 
funktioniert.

Bis jetzt nutze ich die Analogwrite Funktion in der Arduino Umgebung.

Viele Grüße

von Yalu X. (yalu) (Moderator)


Lesenswert?

guest schrieb:
> Bis jetzt nutze ich die Analogwrite Funktion in der Arduino Umgebung.

Hmm, hier

  http://arduino.cc/it/Reference/AnalogWrite

steht geschrieben:

  "The frequency of the PWM signal is approximately 490 Hz."

Das wäre auf jeden Fall langsam genug.

> Leider habe ich kein Oszi.

Schade, das würde jetzt sicher weiterhelfen.

guest schrieb:
> Die LEDs sind an oder aus.

Bei welchen Argumenten für analogWrite sind sie an und bei welchen aus?
Bzw. bei welchem Wert liegt die Grenze zwischen an und aus?

von heldvomfeld (Gast)


Lesenswert?

Welches Arduino Board verwendest du denn? Und wie stellst du die 
Spannung zur verfügung? Vielleicht könnte man es auch mit pull up 
Widerständen versuchen, normalerweise müsste der µC aber die 10mA 
Basisstrom liefern können..

von guest (Gast)


Lesenswert?

Hey,

es handelt sich um einen selbstgeflashten Atmega168, kein gekauftes 
Board.

Ich habe eben noch einmal alles korrigiert und alles neu gesteckt.
Und siehe da, es funktioniert.

Genau weiß ich nicht wo der Fehler war.
Aber ich kann die Farben nun faden.

Ich war mir sehr unsicher mit dem Basiswiderstand und habe deshalb hier 
nachgefragt.

Danke für die gute Hilfe.

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.