RGB-Farbsteuerung 12Leds einzeln

Fragen zu Schaltungen, Elektronik, Elektrik usw.

Moderator: T.Hoffmann

Antworten
wertzu
User
User
Beiträge: 10
Registriert: Mo, 03.08.09, 07:22

Mo, 19.07.10, 21:25

Servus beinand,
wie oben gesagt möchte ich 12 rgb leds "gleichzeitig" verschieden farbig ansteuern.
(zuerst in den drei Grundfragen rot, grün, blau)
Die 12 leds sind im kreis angeordnet und sollen in verschiedensten Kombinationen leuchten.

Für mein Projekt würde ich den Pic16f887 benützen.
Im Bild habe ich nur schemenhaft 3 der letztlich 12 leds gezeichnet, die wids und co. hab ich übersichtsmässig weggelassen.

angenommen ich möchte 4 leds grün (1-4), 4 leds rot (5-8), 4 leds (9-12) blau gleichzeitig leuchten lassen.
Ich dachte mir, dass ich dass so mache

loop
grün und 1-4 einschalten (rt, bl aus)
2,5µs wait
rot und 5-8 einschalten (bl. gr. aus)
2,5µs wait
blau und 9-12 einschalten (rt. gr. aus)
2,5µs wait
goto loop

somit ist immer nur eine farbe durchgeschaltet, und das geht so schnell, dass man das flackern nicht wahrnimmt.

So wie geht das ganze auf die helligkeit der leds, ist das 1/3 helligkeitsverlust?
ist diese prinzip vertretbar oder wisst ihr bessere lösungsvorschläge
Unbenannt.png
Danke im voraus
wertzu
turi
Mega-User
Mega-User
Beiträge: 302
Registriert: Do, 13.11.08, 21:52
Wohnort: 04...
Kontaktdaten:

Mo, 19.07.10, 21:40

Ich kenne mich zwar mit dem PIC nicht aus, aber was Du gezeichnet hast, ist der Aufbau eines Multiplexing. Das kann so funktionieren. Der wesentliche Anteil liegt dann in der Software. Es gibt schöne Beispiele für dies. Es wird z.B. bei nahezu jeder Cube-Entwicklung verwendet.

Alternativ könntest Du auf eine Fertig-Lösung zurückgreifen. Der Link zeigt ein Video, das ich von LED-Stripes mit einzeln ansteuerbaren LEDs gemacht habe. Dazu benötigt man auch eine Controller, kann die Animation aber in einer Software zusammenklicken. Vielleicht ist das was für Dich.

http://www.youtube.com/watch?v=jdyPVk57Chk
wertzu
User
User
Beiträge: 10
Registriert: Mo, 03.08.09, 07:22

Mo, 19.07.10, 21:52

genau das was im video ist möchte ich auch machen.
die animation in zusammzuklicken wäre natürlich ein traum, was bräuchte ich dafür.
Da ich aber nur in der lage bin den pic zu brennen möchte ich auch bei diesem bleiben.
C-Lösungen helfen mir auch nicht weiter, da ich in assembler programmiere.


Wie war das mit der helligkeit, waren starke einbusen zu sehen ?
Weiß jemand eine geeignete ansteuer frequenz ich nimm 13khz?
wertzu
User
User
Beiträge: 10
Registriert: Mo, 03.08.09, 07:22

Di, 20.07.10, 13:13

Hat keiner erfahrungen mit gemultiplexten leds.
Besonders die Helligkeit würde mich interessieren, ist sie frequenz abhängig?
ich benütze diese leds

http://www.*********/shop/product_info.ph ... e7866e30fb

Gruß
wertzu
Benutzeravatar
schlosshund
Hyper-User
Hyper-User
Beiträge: 1185
Registriert: Do, 06.05.10, 04:56

Di, 20.07.10, 13:22

Meinst du mit multiplexen eine Steuerung via DMX z.B.? Bei solchen Geräten hätte ich keine Helligkeitsverluste festgestellt, bislang zumindest :-)
wertzu
User
User
Beiträge: 10
Registriert: Mo, 03.08.09, 07:22

Di, 20.07.10, 13:59

nein nicht via dmx (also ich weiß gar nicht was dmx ist),
sondern, dass ich eine Farbe nach der anderen via Transistoren, mit einen µ-controller abwechselnd ansteuere.
Das mache ich so schnell, dass es aussieht als ob die leds gleichzeitig leuchten würden.
Im einleitungstext ist es ganz gut beschrieben.

Zu meiner Vorstellung:
Es kann doch nicht sein, dass eine sehr schnell "flakernde" Led genauso hell ist wie eine dauerhaftleuchtende.
Liege ich dabei falsch?
Benutzeravatar
ryestone
Ultra-User
Ultra-User
Beiträge: 792
Registriert: Fr, 28.05.10, 16:57

Di, 20.07.10, 14:05

Im Prinzip ist das, wenn ich es richtig verstanden habe, genauso wie bei einem PWM-Dimmer.
Jede Farbe ist ein Drittel des Zyklus an und die restlichen zwei Drittel aus und müßte somit auch nur ein Drittel der Helligkeit haben.
Benutzeravatar
Sailor
Moderator
Beiträge: 9427
Registriert: Di, 28.11.06, 22:16
Wohnort: Saarland, Deutschland und die Welt

Di, 20.07.10, 14:17

wertzu hat geschrieben: Zu meiner Vorstellung:
Es kann doch nicht sein, dass eine sehr schnell "flakernde" Led genauso hell ist wie eine dauerhaftleuchtende.
Liege ich dabei falsch?
Wenn Du die LED 1/3 der Zeit an und 2/3 aus hast, ist sie auch nur 1/3 so hell wie bei voll an.

Wenn nur die drei Grundfarben getrennt leuchten sollen, kannst Du die Farben heller steuern, indem Du den Srom in Richtung auf den zulässigen "Impulsstrom" erhöhst. Dieser Strom ist abhängig von der Impulslänge und dem Verhältnis von Impuls zu Pause.
turi
Mega-User
Mega-User
Beiträge: 302
Registriert: Do, 13.11.08, 21:52
Wohnort: 04...
Kontaktdaten:

Di, 20.07.10, 14:20

Die LEDs sind auf jeden Fall dunkler. Man könnte sie auch mit höherem Stom versorgen. Allerdings ist der Zusammenhang nicht linear. Ich kenne mich da nicht 100% aus, hatte ich ja schon geschrieben. Prinzipiell ist es wie bei einem LED-Cube. Dort werden die einzelnen Ebenen per Multiplex versorgt. Aber das macht man im Programmcode.
wertzu
User
User
Beiträge: 10
Registriert: Mo, 03.08.09, 07:22

Di, 20.07.10, 14:36

okay ich geh mal davon aus, dass ich nur die drei grundfarben leuchten lasse, da ich bei ner mischfarbe probleme mit dem ausgangsstrom des pics bekomm der kann nur 25mA von gepulst steht nichts, das er mehr kann.
Weiß jemand eine bessere und preisähnliche schaltung mit der man den selben nutzen hat?
Gruß
michi
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Di, 20.07.10, 15:29

Weiß jemand eine bessere und preisähnliche schaltung mit der man den selben nutzen hat?
Ich bin mir nicht sicher, ob ich die Frage richtig verstehe... Aber man kann die 25mA Grenze natürlich durch die Verwendung von weiteren Transistoren vermeiden. Also sowohl 'high side' (quasi die + Leitung der LEDs) mit PNP-Transistoren als auch 'low side' mit NPN-Transistoren (wie in Deiner Zeichnung) schalten und vom µC nur deren Basis ansteuern.
Dann kann man problemlos hohe Impulsströme mit mehreren hundert mA schalten.
wertzu
User
User
Beiträge: 10
Registriert: Mo, 03.08.09, 07:22

Di, 20.07.10, 15:47

anders gefragt:
wie kann ich 12 rgb leds sonst einzeln mit einen µ-Controller ansteuern, evtl. mit umgehung des multiplexings (farbstränge schnell hin- und wegschalten). Dies sollte jedoch preisgünstig sein.
weiß jemand eine schaltung?
turi
Mega-User
Mega-User
Beiträge: 302
Registriert: Do, 13.11.08, 21:52
Wohnort: 04...
Kontaktdaten:

Di, 20.07.10, 16:02

Wenn Du so fragst, das hab ich eigentlich schon fertig da, allerdings mit einem AVR Mega 8. Bei mir heißt das MoodLight und ist für 4 RGB-LEDs ausgelegt. Da die Ausgänge über Darlington beschaltet sind, kann man schon einige mA daran hängen. Die LEDs werden per Software-PWM gesteuert. Du musst dann nur die Programm-Routinen anpassen, welche die Animation erzeugen. Na das ist doch was, oder?
IMG_4043.jpg
IMG_1713.jpg
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Mi, 21.07.10, 08:21

Dies sollte jedoch preisgünstig sein.
Ein BC327/BC337 Transistor kostet bei Pollin oder Reichelt etwa 0.04€. Relativ zu den Kosten für rgb leds fällt das kaum ins Gewicht. Multiplexing oder nicht ist keine Frage des Stromes, sondern nur dann/dafür nötig, wenn man nicht genügend Port-Pins am µC zur Verfügung hat. Um bei 12 rgb leds jede LED und jede Farbe unabhängig voneinander anzusteuern wären 36 Ausgangs-Pins erforderlich. Wenn man jetzt Multiplexing verwendet, kann man z.B. die 12 LEDs an je einen Port-Pin anschließen (zur Stromverstärkung natürlich auch über einen Transistor) und die 3 Farben (von allen 12 LEDs zusammen geschaltet) an 3 weitere Pins (hier ist natürlich 'immer' ein Transistor erforderlich, da ja der Strom von bis zu 12 LEDs also ggf. 240mA geschaltet werden muss). So kommt man mit 15 Pins aus und kann immer noch alle 36 unabhängig voneinander ansteuern (allerdings nicht mehr gleichzeitig, sondern eben per 'Farbstränge schnell hin- und wegschalten').
Du willst aber anscheinend nicht unbedingt alle unabhängig voneinander ansteuern:
angenommen ich möchte 4 leds grün (1-4), 4 leds rot (5-8), 4 leds (9-12) blau gleichzeitig leuchten lassen...
Das ergibt 3 Gruppen mit je 3 Farben, so dass ohne Multiplexing 9 Pins erforderlich sind/wären. Wenn ich Deine Zeichnung richtig interpretiere, verwendest Du LEDs mit gemeinsamer Anode ('+-Pol'). Die Anoden werden dann alle direkt an den Plus Pol der Versorgungsspannung gehängt, die Kathoden von je 4 LEDs pro Farbe verbunden und über Vorwiderstand und NPN-Transistor nach Masse geschaltet.

[EDIT]
Ich hab grade mal das Kurzdatenblatt des PIC16F887 angeschaut:
http://www.microchip.com/wwwproducts/De ... e=en026561
Device Features: ... 36 I/O High sink/source current 25 mA
Also eigentlich hättest Du genug Pins um alle 36 Einzel-LEDs direkt anzusteuern...
wertzu
User
User
Beiträge: 10
Registriert: Mo, 03.08.09, 07:22

Mi, 21.07.10, 12:57

okay die schaltung habe ich jetzt soweit zusammen,
werde es trotz allem mit multiplexing machen, hab mit dem programm schon angefangen.

leider habe ich jetzt die bestellten leds ausprobiert und bei 4 von 13 funktioniert rot nicht warum auch immer, könnte sich jemand vorstellen warum, sind lötzeiten an den leds zu beachten?
strom habe ich so 28mA drübergelassen, ich weiß das ist hoch, aber in den max ratings steht bis zu 30mA, gepulst 100mA glaub ich und ich war gar nicht lange dran mit der spannung. Kleinere Vorwids für rot sind bereits geordert.
eine led leuchtet bei der grün- und bei der rotkathode rot, das war das seltsammste.

meine ganze schaltung soll mit usb versorgt werden.
Liefern die usb-anschlüsse eines Dell Monitors 1907FPt 100mA oder 500mA weiß das jemand?

wenn mir wer helfen könnte wäre super
danke
Benutzeravatar
Sailor
Moderator
Beiträge: 9427
Registriert: Di, 28.11.06, 22:16
Wohnort: Saarland, Deutschland und die Welt

Mi, 21.07.10, 13:09

Zu langes Löten und/oder zu heißes Löten kann eine LED zerstören.

Wenn der Lötpunkt unterhalb der Verdickung der Beinchen am Gehäuse ist, sollten 5 Sekunden bei 260° ok sein, 10 Sekunden oder 300 ° können schon zu einer Schädigung führen, darüber kann auch ein Totalausfall der LED die Folge sein.

Auch eine zu hohe Spannung (z.B. >5 Volt) und falsche Polung führen zum Ausfall.

Die genauen Werte zum Löten wie zur zulässigen Rückwärtsspannung stehem im Datenblatt zur jeweiligen LED.

28 mA in Flussrichtung sind kein Problem, wenn die Leuchtdauer nicht zu lang gewählt wird.

Um einen kleineren Strom durch die LED´s fließen zu lassen benötigst Du größere Widerstände, nicht kleinere.
wertzu
User
User
Beiträge: 10
Registriert: Mo, 03.08.09, 07:22

Do, 22.07.10, 13:21

okay soweit sogut ,
dass heißt ich werde mir wohl oder übel noch ein paar leds kaufen müssen. (komisch ist nur, das nur die rote led kaputt ging beim löten)
ja klar große vorwids. hab mich vertan.

weiß sonst keiner wie viel strom so ein monitor usb-port liefert? 100mA oder 500mA
Benutzeravatar
Sailor
Moderator
Beiträge: 9427
Registriert: Di, 28.11.06, 22:16
Wohnort: Saarland, Deutschland und die Welt

Do, 22.07.10, 13:25

Die roten LED´s haben eine kleinere Vorwärtsspannung - könnte ein vertauschter (und daher zu kleiner) Widerstand die Ursache sein?
turi
Mega-User
Mega-User
Beiträge: 302
Registriert: Do, 13.11.08, 21:52
Wohnort: 04...
Kontaktdaten:

Do, 22.07.10, 13:29

USB ist für max. 500mA spezifiziert, aber eigentlich nur dann, wenn auch die Datenleitungen angeschlossen sind.
wertzu
User
User
Beiträge: 10
Registriert: Mo, 03.08.09, 07:22

Do, 22.07.10, 13:33

ja ich habe einen zu kleine vorwid. genommen, aber nicht so klein, dass alle kaputt gehen. so 28mA fließen, bei den max.Ratings heißt es es darf bis zu 30mA fließen.
Aber ich hab jetzt anstatt 84R wids 110R wids besorgt und werde das, dann mal testen. Auf die lötzeiten nimm ich auch mehr rücksicht. Aber das macht leider meine kaputten leds auch nicht mehr heil.

Weiß jemand wie man die Datenleitungen umgehen kann, bzw. wie man die anschließen muss, dass der Port die 500mA freigibt.
Mache ich das nicht, ist dann der Port bei punkt 100mA abgeriegelt oder kann der dann auch so 140mA
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Do, 22.07.10, 15:54

wie man die Datenleitungen umgehen kann
Nein, das geht nicht. Entweder es ist ein 'echtes' USB Gerät (was dann eben über die Datenleitungen per Software mehr Strom anfordert) oder eben nicht, dann sind offiziell nur 100mA erlaubt, wird mehr Strom gezogen, dann liegt es am Hostadapter, was passiert. Prinzipiell darf der den USB-Port sperren (dann kommt gar kein Strom mehr), oder ab 100mA 'abregeln' (Spannung reduzieren bis entsprechend weniger Strom fließt), oder sich gar nicht drum kümmern, dann gibt es so viel Strom wie hergeht, bis ggf. eine Sicherung greift. Wenn ich das richtig verstehe, möchtest Du die LEDs nicht direkt am Computer sondern an einen USB-Hub (vom Monitor) anschließen. USB-Hubs geben oft 'einfach so' 500mA her, aber eine feste Regel dafür gibt es nicht. Du wirst es also einfach testen müssen...
Antworten