mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Howto: 60 RGB-LED, Pro LED 4 Farben, alles mögl billig über einen µC


Autor: Alex V. L. (bastel_alex) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
aus einem von mir relativ undeutlich formulierten Problem haben sich in 
einem anderen Thread hier einige hilfreiche Tips ergeben, was mich meine 
zu lösende Aufgabe nun genauer formulieren lässt:

Ich möchte ein Feld mit 60 RGB-LEDs aufbauen, von denen ich pro LED 4 
Farbkombinationen (Rot, Grün, Blau, Rot-Blau(Gelb)) ausgeben können 
will.
Damit hätte ich also 180 zu treibende leitungen und maximal 120 aktive 
leitungen auf einmal (im falle der farbe gelb).

Das Feld soll über einen µC (wahrscheinlich nehme ich einen ATMega16) 
komplett gesteuert werden.

Meine Suche (u.a. im anderen Thread) hat mir den Tip eingebracht, 
Treibende Schieberegister à la tlc5920 / tlc5921 zu verwenden.
Nun müsste ich, würde ich den tlc5921 nehmen, immernoch 12 Stück kaufen, 
um meine 60 LEDs einzeln mit vier farben ansteuern zu können. da einer 
ca 3,77 bei farnel kostet, würde ich gerne die kosten niedriger halten 
und hatte eigentlich auch gehofft das ganze mit einem kleineren board 
erledigen zu können.

der tlc5920 schreibt im datenblatt (Application Information S10) von 
einem 16*16 multiplexbetrieb mit 2 TLCs. Ich hoffe, dass hier irgendwo 
die lösung für mein Problem liegt.

Und damit meine Fragen:
1. Wie funktioniert das? der TLC5920 hat 16 SegmentDriver- und 8 
Commondriver-Leitungen - was tun die commondriver und wie funktioniert 
diese art zu multiplexen? im DB verstehe ich das nicht

2. Der TLC5920 könnte bei 16*16bit nach DB nur 13mA pro LED 
bereitstellen - ist es möglich so zu schalten, dass meine notwendige 
bedingung von maximal 120 aktiven segmenten den zulässigen strom 
erhöhen? Wenn nein - gibt es einen zum TLC5920 analogen Baustein mit 
mehr mA pro line (wie der TLC5921, blos sehe ich da im db keine 
möglichkeiten für multiplexbetrieb), mit dem das ginge?


So, jetzt bin ich hoffentlich konret genug, dafür ist das ganze etwas 
länger geworden. Ich hoffe sehr, jemand findet die Zeit mir zu helfen.

Vielen Dank für eure zeit schon einmal!

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gelb ist nicht Rot+Blau sondern Rot+Grün!

Autor: Alex V. L. (bastel_alex) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stimmt wohl, da habe ich mich verschrieben.

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du nur einen bestimmten Strom für jede Farbe brauchst, dann kann 
ich dir den MAX7219 empfehlen. Das ist ein 8-Digit 7-Segment / oder 64 
einzel LED Treiber. Mit nur einem Widerstand wird der Strom aller LED's 
eingestellt. Treibt, glaub ich jedenfalls, bis zu 40mA pro LED. 
Schnittstelle ist SPI. Du würdest also 3 Stück benötigen und alle über 
nur insgesammt 5 Leitungen ansteuern können.

Übersicht:
http://www.maxim-ic.com/datasheet/index.mvp/id/1339

Datasheet:
http://datasheets.maxim-ic.com/en/ds/MAX7219-MAX7221.pdf

Ich hab davon noch welche rumliegen die ich auch günstig abgeben kann. 
(1€/Stk)

Grüße Steffen

Autor: Alex V. L. (bastel_alex) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Steffen,

das klingt schon ziemlich gut - ich hab allerdings gar keine BUS 
(geschweige denn SPI) erfahrung. nachdem, was ich so kurz aus dem 
datenblatt gesehen habe übergebe ich die steuerbits lediglich seriell 
über den SDI port und das ganze verhält sich wie ein schieberegister?

Autor: .-) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steffen schrieb:
> oder 64
> einzel LED Treiber

er hat aber RGB-LED's  d.h man kann mit dem MAX7219 nicht 64 sondern 
"nur"
16 LED's ansteuern (8 kathoden x (2x3)Anoden

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Alex V. l. (bastel_alex)

>Ich möchte ein Feld mit 60 RGB-LEDs aufbauen, von denen ich pro LED 4
>Farbkombinationen (Rot, Grün, Blau, Rot-Blau(Gelb)) ausgeben können
>will.

Also reines AN/AUS der Grundfarben, KEIN LED-Fading.

>Treibende Schieberegister à la tlc5920 / tlc5921 zu verwenden.

NÖÖÖ! Du hast es nicht verstanden. TPIC6B595 reicht DICKE und ist 
deutlich billiger.

Klemm die alle in Reihe ala AVR-Tutorial: Schieberegister und gut.
Der Rest ist eine Fleißaufgabe.

MFG
Falk

Autor: .-) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex V. l. schrieb:
> würde ich den tlc5921 nehmen, immernoch 12 Stück kaufen,

nööö, zwei reichen, oder halt 4 x  TPIC6B595

Autor: Alex V. L. (bastel_alex) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.-) schrieb:
> Alex V. l. schrieb:
>> würde ich den tlc5921 nehmen, immernoch 12 Stück kaufen,
>
> nööö, zwei reichen, oder halt 4 x  TPIC6B595

wie ich zwei reichen lasse ist mir eben nicht klar. wie ginge das denn?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Alex V. l. (bastel_alex)

>wie ich zwei reichen lasse ist mir eben nicht klar. wie ginge das denn?

Mit einer LED-Matrix. Aber der TLCxy wird nur benötigt, wenn du 
dimmen willst. Willst du aber nicht!

MfG
Falk

Autor: Alex V. L. (bastel_alex) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stimmt, will ich nicht!
dann bestelle ich jetzt ein par TPICs und arbeite mich durch die 
tutorials hier. danke für die stichworte und hilfe!

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Treibt, glaub ich jedenfalls, bis zu 40mA pro LED.

Du glaubst falsch.
Die 40mA sind für alle 8 zusammen, also 5mA pro LED.
Ziemliches Schummerlicht.

Aber ob er nun RGB nur ein/ausschalten will,
oder ob er stromgesteuert verschiedene Helligkeiten
will (TLC5940) ist unklar.

Natürlich tut es als Ersatz des TLC5920 zwei TPIC6B595
und in nicht-gemultiplexten Anwendungen gar der 74HC595,
davon dann allerdings 20 Stück.

Autor: Alex V. L. (bastel_alex) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wo bestellt ihr die?
Farnell liefert die TPIC6B595 (bis auf den TPIC6595DW mit mehr saft als 
ich brauche und dafür doppelt so teuer) derzeit nur mit aufschlag aus 
den usa, bei reichelt, conrad und pollin finde ich sie nicht.

Autor: Carsten Sch. (dg3ycs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

wenn du es so billig wie möglich haben möchtest und von der mechanischen 
Anordnung nichts dagegen Spricht, dann kommst du auch mit absoluten 
Standartbauteilen aus...

Als Schieberegister nimmst du etwas in der Richtung wie ein CD4094 (ca. 
30ct.) Die 60RGB LEDs sind ja quasi als 180 EinzelLEDs zu betrachten...

JE nachdem wie du die Strkturierst kannst du nun bei einem Quadratischen 
Aufbau der MAtrix mit 4 Bausteinen aus (=1,20Eur ges.)
Bei dem annähernd Quadratischen Aufbau hast du dann eine Anordnung von 
14 Spalten und 13 Zeilen.

Natürlich kann der CD4094 nicht wirklich eine LED ordentlich treiben, 
also brauchst du noch einen Transistor. Bei den Spalten reicht locker 
ein BC546/BC846, (4Ct.) dazu zwei Widerstände (2x2ct.) Das ganze dann 
14x (=1,12)
Für die Zeilen kommt es dann darauf an mit welchen Strom du jeweils die 
LEDs pulsen willst. Da kommst du wahrscheinlich mit einem BC547 nicht 
mehr hin... Also musst du einen Transistor nehmen der Stark genug ist um 
den Strom von einer Diode X Anzahl der Spalten zu verkraften.
Wenn du zum Beipiel einen Strompuls von 100mA pro Diode verwenden 
willst, was schon gut hell ist, dann kommst du bei 14 Spalten mit einem 
BD139 (16ct) noch locker hin. Das bedeutet für die Spaltentreiber 
zusammen musst du mit 2,60 Eur rechnen.
Als Controller reicht dann ein ganz einfache kleiner Baustein mit 
mindestens 3 I/Os zum Beipsiel ein 12er PIC oder ein Attiny (Ca. 1,50 
Eur.)

Somit würde die gesamte Matrix incl. µC ohne die LEDs zusammen kostet 
von Reichelt Preisen ausgehend 6,42 Eur. Mit Bauteilen die JEDER kleine 
Elektronikkrämer da haben sollte.

Vom Programmablauf kann natürlich auch ein anderer Aufbau der MAtrix 
Sinn machen. Zum Beipiel als 6x30 (Je Farbe zwei Zeilen, 30 Spalten) 
oder gar 60x3. Aber das musst du wissen.
Bei einer 60x3 MAtrix muss der Zeilentreiber natürlich ein ganz anderes 
Kalliber sein. Zum Beispiel ein BD245 (58Ct). Und auch die jeweiligen 
Kollektorwiderstände müssen etwas Dicker sein. (30ct)
Das bedeutet in diesem Fall würde die MAtrix an Kosten folgendes 
verurschaen: (5x Schieberegister = 1,50) + (123 x 1/4W Widerstand =2,46) 
+ (3xHochlastwiderstand = 90ct) + (60 x BC547 = 2,40) + (3 x BD245 = 
1,74) + 1,50 für einen Controller sind zusammen= 10,50 Eur.
Etwas teurer, dafür in Hinsicht auf die hinterlegten Farbmuster 
wesentlich einfacher zu Programmieren.

MAl so als Denkansatz in Richtung "K.I.S." ohne Exoten.

Gruß
Carsten

Autor: Alex V. L. (bastel_alex) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Carsten,
danke für deine Anregungen!
Ich würde momentan allerdings eher integrierte lösungen bevorzugen und 
damit ein bisschen mehr kosten tragen (wenns nicht grad mal 25 euro nur 
für die led-treiber sind). Trotzdem gehe ich deine Version nochmal 
durch. Die LEDs will ich allerdings am liebsten schlicht 
ein-/ausschalten und nicht pulsen - müsste mit den multiplexverfahren 
oben doch möglich sein oder sehe ich das falsch?

TPIC6B595 habe ich immernoch nirgends gefunden, wenn jemand eine 
bezugsquelle hat vielen dank!

Autor: .-) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bei Multiplexing wird gepulst, wenn du es nicht willst brauchst du 180 
Ausgänge

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex V. l. schrieb:
> TPIC6B595 habe ich immernoch nirgends gefunden, wenn jemand eine
> bezugsquelle hat vielen dank!

www.segor.de

Autor: Volker G. (voga2073)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich hab davon noch welche rumliegen die ich auch günstig abgeben kann.
> (1€/Stk)

Erzähl doch mal, wieviele und welches Package? Ich hab definitiv 
Interesse.

Volker

Autor: .-) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex V. l. schrieb:
> TPIC6B595 habe ich immernoch nirgends gefunden, wenn jemand eine
> bezugsquelle hat vielen dank!

bei RS
ab 0,624 € SOIC
ab 1,482 € PDIP

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Alex V. L. (bastel_alex) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke!

Autor: Bernd Stein (bernd_stein)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex V. l. schrieb:
> Hi Carsten,
> danke für deine Anregungen!
> Ich würde momentan allerdings eher integrierte lösungen bevorzugen und
> damit ein bisschen mehr kosten tragen (wenns nicht grad mal 25 euro nur
> für die led-treiber sind)...
>
>
Falls Du mit der intergrierten Lösung Zeit sparen möchtest, geht das 
natürlich sinnvoll nur bei Serienherstellung.
Denn bedenke die Zeit die Du hier im Forum verbringst, bringt dich 
zeitlich nicht weiter nach vorne.
Mit Carsten seinem Vorschlag, wärst Du wahrscheinlich mit einem 
einmaligen Aufbau schon fertig, bevor Du deine Bestellung nach Hause 
bekommst.
>
>
> TPIC6B595 habe ich immernoch nirgends gefunden, wenn jemand eine
> bezugsquelle hat vielen dank!
>
>
Wie gesagt, lese oben.
Ich neige auch immer dazu die beste Lösung zu finden und dies kostet 
Zeit, die man nicht mehr zurück holen kann.
Dabei reicht es meistens überhaupt eine Lösung gefunden zu haben.


Bernd_Stein

Autor: Force (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider etwas spät, aber 2x AS1130 würden reichen. Kann 132 LEDs mit 
einer 8bit PWM pro LED treiben.
http://www.austriamicrosystems.com/AS1130

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
klapperst du jetzt alle LED Threads ab um die AS Chips anzupreisen?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.