Forum: Mikrocontroller und Digitale Elektronik PWM RGB-Led Beleuchtung


von Kevin N. (kepada)



Lesenswert?

Guten Tag

Ich bin im Moment daran mir eine Schaltung für eine RGB-Beleuchtung, die 
via PWM gesteuert wird, auf zu bauen.
Das ist für mich das erste Projekt dieser Art und bin mir mit der 
Hardware teilweise nicht ganz sicher. Ich hab mich hier durchs Forum 
gelesen und auch im Internet umgeschaut, was letztendlich zum Schaltplan 
im Anhang geführt hat.
Die verwendeten Leds sind von AVAGO Technologies, haben eine gemeinsame 
Anode und ziehen 30mA (blau/grün)bzw. 50mA (rot) und sollten an 2.1V 
(blau/grün) resp. 3.2V (rot) betrieben werden (Datenblatt im Anhang).
Die Led's sind absichtlich parallel beschaltet auch wenn das eigentlich 
nicht so optimal ist und seriell besser wäre, allerdings möchti ich das 
ganze "modular" haben bzw. in der Lage sein die Anzahl Led's in 1er 
Schritten zu verändern.
Ich plane nicht mehr als 16 Leds zu verwenden, also maximal sollten 
480mA bzw. 800mA gezogen werden (etwas reserve beim Mosfet kann ja aber 
nicht schaden).

So viel zum Plan, allerdings bin ich mir bei ein paar Punkten nicht ganz 
sicher ob ich auf dem rechten Weg bin.
Und zwar bin ich mir mit dem Transistor nicht so sicher, habe hier 
öfters gelesen, dass Mosfets am besten geeignet wären für eine solche 
Aufgabe, bin daher am schluss beim "IRLML 2803 TR", kann sein dass das 
etwas ein Exot ist, aber bekomme den bei Conrad doch recht günstig im 
Micro3 Gehäuse.
Ausserdem stehe ich mit den Datenblätter der AVR's noch etwas auf 
Kriegsfuss, hab ich das recht gesehn, dass bim ATiny2313 der 4. PWM 
ausgang PD5 wäre?

Für weitere Anregungen und Kritik wäre ich ebenfalls dankbar. Hoffe mal 
ich bin nicht allzu weit ab vom Shuss.

Danke schon mal und noch nen schönen Nachmitag.

von drpepper (Gast)


Lesenswert?

Das Prinzip ist ok. Denke nur daran, dass aufgrund von Bauteilstreuung 
die Parallelen LEDs nicht gleich hell leuchten werden.
Daher lieber eine Höhere Spannung wählen, und in Reihe schalten. Die 
Versorgung für den µC lässt sich einfach durch einen Linearregler (7805) 
bereitstellen.

greets

von drpepper (Gast)


Lesenswert?

ach ja, und der LED zwischn VCC und GND würde ich einen vorwiderstand 
spendieren ;)

von Marco L. (lehmi)


Lesenswert?

Was mir jetzt so auf die Schnelle auffällt:

1. dem Atmel fehlen die Abblockkondensatoren
2. es fehlt die Reset-Beschaltung

Ich empfehle dir, mal auf den Webseiten von Atmel nach den 
Designempfehlungen zu gucken, z.B. 
http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf

Grüße

von Björn R. (sushi)


Lesenswert?

Bist du dir bei den Flussspannungen da ganz sicher?? guck lieber noch 
mal nach! Typisch wäre andersrum (blau und grün >3V, rot ~2V).

LG, Björn

von Kevin N. (kepada)


Lesenswert?

Danke für die Antworten. Dann scheine ich mal wenigstens nicht allzu 
fern zu liegen.

Das mit den unterschiedlich Hellen Leds spielt jetzt hier nicht so eine 
Rolle uf Grund des späteren Einsatzes. Das Ganze wird ne Beleuchtung für 
eine Art "Bild".
Für die Versorgung dachte ich daher auch an ein Festspannungs 
Steckernetzteil mit 5V und ca. 2A. Darum hab ich da jetzt au keine 
Stromversorgung für den µC drauf.

Stimmt wär wohl von Vorteil wenn di Power-led auch noch nen Wiederstand 
kriegt :D.

Hmm ok das mit der Reset-schaltung und den Abblockkondensatoren muss ich 
mir nochmal anschauen, hab den Schlatplan von nem anderen Projekt 
genommen und auf meine "Bedürfnisse" angepasst. Werd mich da nochmal 
schlau machen.

Stimmt das mit den Spannungen ist andersrum, hab ich vertauscht vorhin 
beim schreiben vertauscht.

Der Mosfet müsste aber eigentlich taugen oder, bei dem bin ich mir am 
unsichersten.

Lg, Kevin

von Di P. (drpepper) Benutzerseite


Lesenswert?

Bei nem 5V Gleichspannungsnetzteil tuts schon ein 10uF Elko und ein-zwei 
100nF Tantal/Kerko (die kleinen blauen ;).
Für RESET: Pull-Up (100kOhm) nach 5V und Taster nach Masse (100n 
parallel).

Schau wegen Störungen, dass du die Massen von µC und den FETs möglichst 
früh trennst.

von Christian T. (shuzz)


Lesenswert?

Noch ein Hinweis zu Deinen Vorwiderständen:
Die sind alle gleich groß! (Naja, so gut wie...)

Damit wirst Du keine schöne bzw. gleichmässige Farbmischung hinbekommen.

Das Ideale Verhältnis von R zu G zu B ist etwa 3 zu 6 zu 1, damit erhält 
man ein ordentliches Weiss.
Deine LEDs haben lt. Datenblatt ca. 3:6:1.4 bei einer Bestromung von 
20mA!
Die Bestromung ist auch der Knackpunkt, in Deinem Plan kriegen die LEDs 
deutlich unterschiedliche Ströme ab.
Leider kann man nicht erkennen, welche der LEDs im Plan nun welche Farbe 
haben sollten... ;)

Empfehlung f.d. Vorwiderstände:
- Rote LEDs  : 150R
- Grüne LEDs : 90R
- Blaue LEDs : 90R
(Falls Blau im Vergleich zu den anderen Farben zu hell ist dort mal mit 
120R  bis 150R versuchen...)

Diese Widerstandswerte gelten natürlich nur für die Parallelschaltung 
der LEDs mit all ihren Nachteilen.
Bei Reihenschaltung musst Du nochmal neu rechnen...

von Dummi (Gast)


Lesenswert?

@Christian
Zeig doch mal einen Plan wie man die in Reihe Schaltet?

von Matthias B. (matthias882)


Lesenswert?

Wollt ich auch gerade mal sehen. Reihenschaltung der Farben bei 
gemeinsamer Anode...

von Kai G. (runtimeterror)


Lesenswert?

Alle parallel und jeder einen eigenen Vorwiderstand - so wie immer.
Alternativ je eine Konstantstromquelle.

Oder LEDs mit 6 Anschlüssen wählen, dann klappt's auch mit der 
Serienschaltung.

Schöne Grüße,
Kai

von Kevin N. (kepada)


Lesenswert?

Hmm ok, die Elkos und der Reset kommt noch rein.

Also die Widerstände hab ich mit nem normalen Wiederstandsrechner für 
Leds berechnet. Das mit dem Verhältnis kapier ich jetzt ehrlich gesagt 
nicht so ganz, ist das um die unterschiedliche Helligkeit der einzelnen 
Farben auszugleichen, weil 150 bzw. 90 ist ja doch höher als "nötig"?

von Kevin N. (kepada)


Angehängte Dateien:

Lesenswert?

So, hab jetzt mal die vorgeschlagenen Änderungen vorgenommen, wobei ich 
mir mit den Kondensatoren bei der Speisung nicht so ganz sicher bin. 
(Naja der Reset-Schaltung Trau ich ehrlich gesagt au noch nicht so 
ganz).

Und kann mir bitte noch wer das mit den Wiederständen erklären, warum da 
90R und 150R besser wären owbohl sie eigentlich überdimensioniert sind? 
Irgendwie seh ich den "Sinn" nicht so ganz.

Und stimmt es das "PD5" der vierte PWM Ausgang ist, beim Tiny2313, oder 
hab ich das im Datenblatt falsch verstanden?

Lg Kevin

von Roman (Gast)


Lesenswert?

Kevin,


ja das stimmt mit dem "PD5" ... der timer/counter 0 hat zwei pwm's in 
8bit (seite 66 im manual).
BTW. den reset C brauchst du nicht bei Tiny2313. Denn... den es gibt 
alternate function Port A seite 163 im manual. Zu dem hat der tiny2313 
power on reset generation und der reset pin intern pull up. Dies 
funktioniert wunder bar und sicher.
an sonsten die block C am GND, VCC von tiny2313 sind verdammt wichtig. 
Bei der Schaltung (ich muss zugeben, ich kenne die mosfets nicht) kann 
sehr hohe Strom fliessen, je nach  kapazitaet gegenüber source und drain 
von dem Transistor.


lg roman

von Roman (Gast)


Lesenswert?

Warum 90,150 ohm besser waeren ??
na ja .. gemaess den Daten Blatt heisst es typ. current 20mA.
also 5V-2.1V (rote led) =2.9 V
2.9V / 0.02 A = 145 Ohm.. also ca 150 Ohm und der Strom ist max. 20ma.
da die Gruene und Blaue Led mehr forward voltage haben (3.2 V) ist der 
begrenz R kleiner.

Bei deinem Vorschlag, wuerdest du die Rote Led mit 50ma betreiben, was 
im datenblatt als Absolute Maximum Rating angegeben ist. Bei den Gruenen 
und Blauen led heisst es 30mA !! gemaess meiner Rechnung 3.2V/60Ohm bist 
du bei 53mA !! ok ... im gepulstem betrieb vertraegt sie das evtl. 
jedoch denke daran, 100 % pwm bist du ueber den maximum rates !!

lg roman

von Kevin N. (kepada)


Lesenswert?

Also das heisst, dass ich die ganze Reset Beschaltung, sprich den 
Pull-up Widerstand sowie den Kondensator und den Taster, kann ich mir 
sparen. Sprich ich kanns doch so machen wie ursprünglich geplant. Ich 
muss einfach ans entsprechende Fusebit denken.
Und die Kondensatoren bei der Stromversorgung kann ich jetzt so 
lassen...?

Ok das mit den Wiederständen hab ich jetzt kapiert, danke. Hab mich im 
Datenblatt verschaut, hab den punkt mit den 20mA typisch übersehen. 
wollte möglichst nahe an die maximale Stromstärke ran kommen.

Vielen Dank nochmals.

von Kai G. (runtimeterror)


Lesenswert?

>wollte möglichst nahe an die maximale Stromstärke ran kommen.
Damit würdest du dir vermutlich auch den Weißpunkt versauen.

rot     : grün     : blau
30 %    : 59 %     : 11 %
620 mcd : 1200 mcd : 280 mcd

Das passt schon ganz gut.

von Kevin N. (kepada)


Lesenswert?

Und das heisst jetzt konkret?
Werde jetzt die oben vorgeschlagenen 150 und 90 Ohm widerstände 
einsetzen, dann müsste das ja passen?
Aber auf die Abstufung der Frabgebung hätte ja mein Ursprünglicher Plan 
der Widerstände keinen EInfluss gehabt, war ja proportional dazu (mal 
abgesehen davon, dass die LED's wohl recht schnell den Löffel abgegeben 
hätten).

von Kai G. (runtimeterror)


Lesenswert?

>Und das heisst jetzt konkret?
Mit 3 x 20 mA bist du relativ dicht an einem reinen Weiß - mit anderen 
Stromverhältnissen bekommst du andere Farben (ist meist nicht gewünscht)

von Kevin N. (kepada)


Lesenswert?

Gut, dann kann ich das Ding ja jetzt für die Produktion vorbereiten... 
:D

von Roman (Gast)


Lesenswert?

Hallo Kevin,

ich moechte dir nicht in Schaltung rein reden, da ich auch nicht ganz 
genau weiss, was du vor hast. ich wuerde der ganzen Schaltung noch ein 
bc337 mit zwei widerstaende verpassen als level shifter fuer rs232. mit 
geschicktem Protokoll, kannst du dann mehrere Module zusammen 
anschliessen und jedem seine individuelle Farbe angeben.

ich selber verwende auch so was :) alle Module lauschen auf der rs232 
und das Protokoll ist sehr einfach:
axxsrrggbb   => a fuer "addresse", xx ist die addresse von dem module 
(hex.) und ff ist quasi der broadcast (ich habe die addresse im eeprom 
gespeichert, denn auf den eeprom kann zugreifen auch mit programmer und 
muss nicht das ganze programm umschreiben), s fuer "set" rr hex rot, gg 
hex gruen, bb hex blau.
axxr => a wieder fuer addresse, xx welches module und "r" fuer reset. 
dh. alle werte auf null setzten also rr=gg=bb=0;


Nur als anregung. :) ich meine wenn die R's und T auf dem print schon 
platz haben und diese nicht bestueckst, sind diese halt nicht drauf ...



lg roman

von Kevin N. (kepada)


Lesenswert?

Hallo Roman,

Vielen Dank für den Hinweis, allerdings muss ich zugeben, dass mir das 
noch etwas zu hoch ist, versteh da ziemlich nur Bahnhof. Das ganze 
Projekt ist wohl schon ambitioniert genug für den Anfang.
Ich hatte aber vor, alle nicht direkt verdendeten I/O Ports sowie auch 
den Anschluss für den externen Taktgeber auf Pin-Header zu führen, dass 
ich später noch Erweiterungen anschliessen kann. Möchte nämlich später 
ev. mal noch eine Fernbedienung oder so nachrüsten, ausserdem kann ich 
so das ganze auch als eine Art PWM-Experimentierplatine verwenden.

Ausserdem werde ich an PD5 auch noch eine Treiber Stufe hängen, um dort 
weisse Led's acnschliessen zu können.

Dein Vorschlag sollte ich so ja später deinen Vorschlag auch umsetzen 
können, wenn ich dann so weit bin, bzw. wenn ich es dann mal verstehe, 
wie das genau funktioniert.

Sobald ich den fertigen Schaltplan und die entsprechende Platine habe, 
werde ich das hier nochmals posten, vielleicht nutzt es ja jemandem.


Lg Kevin

von Kevin N. (kepada)


Angehängte Dateien:

Lesenswert?

So, nun hab ichs endlich geschafft.

Hier ist nochmal der überarbeitete gesamtschaltplan, sowie der 
Schaltplan und das Board für die PWM-Stgeuerung, die Leds können dann 
angehängt werden wie man will.
Ausserdem habe ich auf dem board alle nicht verwendeten Pins des 
Tiny2313 auf Stiftleisten geführt, auch die Eingänge für den externen 
Taktgeber, so kann das Board relativ einfach erweitert werden.

VIelleicht kann ja jemand was damit anfangen oder es gar gebrauchen.

Ich kann allerdings (noch) nicht garantieren, das das ganze so überhaupt 
funktioniert, habe im moment keine Zeit dies aufzubauen und zu testen, 
bin grad noch mit anderen Projekten beschäftigt.

Gruss Kevin

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.