PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 60 RGB LEDs mit Microkontroller steuern



jcrypter
02.11.2010, 14:37
Hallo liebes Forum,

mir fehlt gerade total der Ansatz...
Wie kann ich mit einem ATMega (welcher ist mir wurscht) und Bascom 60RGB-LEDs ansteuern?

Es müssen dabei nur zwei unterschiediche Farben zurzeit dargestellt werden. Allerdings müssen theoretisch alle 60 LEDs gleichzeitig betrieben werden können, mit jeweils einer der beiden Farben. Wobei es möglich sein muss jeder individuell eine der beiden Farbe zuzuweisen.

Wie kann man da heran gehen?

Crypi

TobiKa
02.11.2010, 15:26
Per Multiplexen in 3 Ebenen, eine Ebene pro Farbe.

Richard
02.11.2010, 15:58
Per Multiplexen in 3 Ebenen, eine Ebene pro Farbe.

DAS wird aber ein IC Grab, ordentliche Treiber brauchen die RGB's ja auch noch. :-) Mit einer 8x8 Matrix können 64 LED'S
Angesteuert werden. also Pro Farbe eine 8x8 Matrix. Möglich das es ohne all zu viel Verdrahtung mit 6 I²C Busexpander klappt, die Ausgänge können aber kaum RGB LED's treiben brauchen also jeder noch einen Transistor oder Fet. Dafür brauchen die nicht unendlich viele Adressleitungen wie die Multiplexer (nachgerechnet habe ich das jetzt NICHT). :-)

Gruß Richard

TobiKa
02.11.2010, 16:27
Wieso IC-Grab?!
19Pins eines Mikrocontrollers würden ausreichen!
Dann entweder direkt an den Mikrocontroller, oder per FET, Tranistor oder Optokoppler treiben.

Martin.
02.11.2010, 16:34
Er will sie aber gleichzeitig leuchten lassen, und da wird der Strom durch einen Port wohl schon zu hoch, deswegen nicht direkt an Mikrocontroller! Außerdem musst du bei jeder LED jede der drei Farben ansteuern (oder?) Also Wie Richard schon gesagt hat, wirds auf Expander herauslaufen.

TobiKa
02.11.2010, 16:40
@Martin
Ja natürlich will er das, ist doch auch kein Problem!
3 Pins für die Farbe und 2x8Pins für die LED, fertig.
Ich weiss nicht ob du weisst was Multiplexen bedeutet, aber es leuchten maximal 8 LEDs zur selben Zeit, somit hällt sich der Strom auch in Grenzen.

Martin.
02.11.2010, 16:48
Ich weis was multiplexing ist aber du hast ein Detail vergessen, worauf ich shcon hingewiesen habe:

Es sollen unter Umständen ALLE leuchten. Und da wirds dann eben schwierig mit Multiplexing, weil wie du richtig geschrieben hast, nur 8 auf einmal aufleuchten. Je nach anwendung könnte es bei schnellem Umschalten egal sein, aber es muss nicht zwangsläufig. Und wie steuerst du eigentlich es an wenn in einer Zeile/Spalte unterschiedliche Farben vorkommen? Ich bin mir wirklich nicht sicher, ob mit 19 Pins 240 Freiheitsgrade abgedeckt sind.

TobiKa
02.11.2010, 16:52
@Alle sollen leuchten.
Du steuerst die Spalten und Zeilen einfach so schnell an das das flackern verschwindet.

@240 Freiheitsgrade
Wie kommst du auf 240?

Martin.
02.11.2010, 16:57
Ja fürs menschliche Auge reicht das, aber hat er geschrieben, dass er drauf kuckt? Wenn er mit einer hochgeschwindigkeitskamera es aufnimmt, dann leuchten nicht alle gleichzeitig. Wenn er das ganze mit ner normalen Videokamera aufnimmt, gibts laut dem guten alten Shannon Nyquist ebenfalls stress.

Bei 240 habe ich mich geirrt, zwei Farben 60 LEDs sind 120 Freiheitsgrade sorry, aber schaffst du es trotzdem jeder individuell eine Farbe zuzuweisen?

lokirobotics
02.11.2010, 17:03
Auf meinen Monitoren zu Hause leuchten jeweils etwas mehr als 2.3 Millionen Pixel gleichzetig. Ich glaube nicht, dass die individuell angesprochen werden.
Wieso sollte TobiKa's Idee nicht funktionieren? Selbst mit nem ATTiny und Schieberegistern wird man locker auf 100Hz Wiederholrate kommen.

Martin.
02.11.2010, 17:07
Ich hab ja nicht gesagt, dass es grundsätzlich nicht funktioniert, ich wollte ja nur wissen, wie er jede Farbe einzeln ansteuern kann.

Nun zu der Rate: Angenommen er baut irgendeine Beleuchtung für einen bestimmten Versuch, oder für ein Projekt, dass gefilmt wird, was auch immer, dann wird es wohl einen Grund geben, dass er schreibt, dass er alle auf einmal ansteuern möchte, das steht auch da. Vielleicht irrt er sich und stellt zu hohe ansprüche, aber mit dieser klaren Bedingungen wird man wohl nicht so leicht multiplexen können. Dein TFT kann natürlich so angesteuert werden, aber der wird eventuell nicht den Forderungen hier entsprechen.

Besserwessi
02.11.2010, 17:49
Die Idee mit dem Multiplexen in 3 Ebenen ist schon nicht so schlecht. Man hat dann die 3*60= 180 Einzel LEDs als Matirx 60 x 3.
Bei den 60 Treiben muss man da noch nicht so hoch im Strom gehen, und könnte z.B. direkt Schieberegister ICs nehmen. Die Helligkeit ist damit aber bei den einfachen Schieberegistern begrenzt.
Bei 8 Ausgängen je IC hätte man also 8 Schieberegister ICs. Nicht ganz wenig, aber auch noch nicht wirklich viel.

Richard
02.11.2010, 18:15
Die Idee mit dem Multiplexen in 3 Ebenen ist schon nicht so schlecht. Man hat dann die 3*60= 180 Einzel LEDs als Matirx 60 x 3.
Bei den 60 Treiben muss man da noch nicht so hoch im Strom gehen, und könnte z.B. direkt Schieberegister ICs nehmen. Die Helligkeit ist damit aber bei den einfachen Schieberegistern begrenzt.
Bei 8 Ausgängen je IC hätte man also 8 Schieberegister ICs. Nicht ganz wenig, aber auch noch nicht wirklich viel.

Vom Prinzip her sollte alles gehen, mir ging es beim I²C eher darum Den Verdratungsaufwand = Layout etwas zu Entschärfen. Ich muß auch zugeben das mir der Strombedarf von RGB LED's nicht bekannt ist. Ich hatte hier (glaube ich) irgend etwas von 250 mA gelesen? Kann sein das da spezielle Superhelle eingesetzt wurden...

(ich) würde es mit I²C machen, bestehe aber absolut nicht auf (meine) Lösung. :-)

Gruß Richard

Richard
02.11.2010, 18:42
Auf meinen Monitoren zu Hause leuchten jeweils etwas mehr als 2.3 Millionen Pixel gleichzetig. I

Ich möchte den TTL Verhau aus/in dem Gal oder Fpga der das ermöglicht aber bitte NICHT sehen. Besser isses, verstehen würde ich es kaum. :-)

Gruß Richard

Besserwessi
02.11.2010, 19:01
Die meisten RGB LEDs sind für maximal 20 mA je Segment, teilweise auch noch etwas weniger (z.B. nur 10 mA bei blau, oder ca. 40 mA gesamt)

Direkt am Schieberegister (74HC595) sind aber eher maximal 10 mA drin, und dann auch noch 1:3 gemultiplexed. Das ist dann effektiv die Helligkeit die man kein konstant 3 mA hätte. Das ist nicht viel, kann aber ausreichen.

TobiKa
02.11.2010, 19:33
@Martin
Das mit dem Video/Foto machen hab ich nicht bedacht, da hast du recht.

Ich muss mich korrigieren was die Anzahl der Pins an geht, 32 meinte ich natürlich. Ich gehe jetzt von einer 3 Farben LED mit gemeinsamer Masse aus.
Somit könnte man alle Anoden der LEDs (pro Port eine Farbe (Spalten)), direkt an einem ATmega64 anschliessen(er verträgt laut Datenblatt bis zu 40mA pro Pin). Pro Zeile dann einen Transitor zwischen Kathode und Masse (ich denke der Strom von bis zu 8 LEDs an einem Pin wären dann doch zuviel...).
Somit käme man auf 9 Bauteile, bzw. 2 wenn man einen ULN2803 (oder so) statt den Transistoren benutzt (+ LEDs und ein bisschen Beschaltung um die man aber eh nicht herum kommt).

Besserwessi
02.11.2010, 22:51
Die 40 mA sind das Absolute-maximum. Es ist nicht sicher das selbst im Kurzschlussfall so viel Strom fließt. Außerdem ist da noch ein Limit für den Vcc bzw. GND Pin von meist 200 mA. Die 40 mA kann man also nur an relativ wenig Pins gleichzeitig haben.

vajk
03.11.2010, 11:01
... also ich würde Dir PWM-ICs empfehlen, ich nutze die MBI 5031GTS, 16 Kanäle, braucht nur einen entsp. Vorwiderstand pro Kanal (LED) kann bis 25 MHz getaktet werden (ich nutzer ext. Oszi dafür), IC werden über SDI geladen. Bei 60 RGBs = 180 LEDs = 12 PWM ICs und gut ... ggf. kannst Du das ganze auch Modular aufbauen, sprich eine Gruppe 16 RGB LEDs 3 ICs, so hatte ichs gemacht, anbei ein Foto. Beachten, die SPI-Ansteuerung der ICs kann man nicht parallel schalten !

jcrypter
12.11.2010, 09:53
Ich danke euch allen für eure Antworten!

Wie wäre es z.B. mit etwas wie dem TLC5940?
Ich habe viele Projekte gefunden die dieses Bauteil verwenden.
Könnte ihr mir etwas dazu sagen?
Das wird wohl über SPI angeschlossen oder?
Ich habe Farnell als Distributor gefunden sonst leider keinen Shop.

Habt ihr erfahrung mit diesem Bauteil?

viele Grüße,
Crypi

vajk
12.11.2010, 10:00
ja der ist eine Alternative, kann bis 30 MHz, allerdings hat der MBI 5031GTS glaub Vorteile bei der PWM-Verteilung. Beide gehen mit SPI (via hard- oder software), aber easy via Ich hätte damals[TM] den auch bevorzugt, nur war er nicht verfügbar.

jcrypter
12.11.2010, 10:30
Wie funktioniert die PWM verteilung da eigentlich überhaupt?
Das PWM Signal wird da ja nicht mehr vom MC erzeugt sondern direkt von dem z.B. TLC5940 oder?

Crypi

vajk
12.11.2010, 10:41
RTFM :-) Einfach erklärt: Du schiebst die Werte für die 16 Kanäle rein, waren glaub 10 od. 12 Bit pro Kanal, ich hatte denen damals einen 25MHz Quarzosci verpaßt, mit den Daten läßt das Teil dann Leuchten bis Du die Werte neu reinlädst. Auf gleichmäßige Helligkeit konnte man da auch was kalibrieren. Zum Laden einer Spalte des Kreises hatte ich damls ca. 70 us Zeit :-)

jcrypter
12.11.2010, 11:54
Das werde ich tun :)
Ich bin nur noch nicht so erfahren was den Umgang mit MCs und änhlichem angeht.

Wo hast Du die gekauft?

Crypi

vajk
12.11.2010, 12:09
> Ich bin nur noch nicht so erfahren was den Umgang
> mit MCs und änhlichem angeht.
na das wird scho :-)

> Wo hast Du die gekauft?
firstcomponents dot de

jcrypter
12.11.2010, 12:33
Die Internetseite ist jetzt nicht so aussagekräftig.
Aber danke für deine Mühe!

Crypi

vajk
12.11.2010, 12:43
hmm .. dann email dahin, die waren zuvorkommend und zuverlässig.

Hellmut
14.11.2010, 19:34
Interessant ist auch der MC34844 von Freescale, der kann durch interne Boost-Regler-Funktion eine erhöte Spannnung erzeugen und so bis zu 10 Kanäle mit je bis zu max. 60 V ersorgen, dabei erlaubt er auch die Kanäle zu dimmen! Dann kann man mehrere LEDs in Reihe schalten, bei DigiKey.de erhältlich.

hardware.bas
14.11.2010, 22:00
Hört sich jetzt sicherlich etwas eigenartig an.... aber warum nicht wirklich
doch ein "IC-Grab" mit AVRs. Die Dinger sind doch nicht teuer und auch
nicht so stromfressend und wenn man damit - 1. Verdrahtungsaufwand spart
- 2. einige "andere" ICs ersetzt - 3. die simultane und individuelle
Ansteuerung problemlos realisieren kann und 4. damit sich noch weitere
Möglichkeiten eröffnen kann? VG Micha