RGB Matrix 11x11

Gast #3050805
Lesenswert?

Naja es muss doch einen Grund geben bzw. einen Vorteil bei TLC, den 
sonst würde doch niemand die kosten und die vielen bauteile in kauf 
nehmen.

Schieberegister sind da ja bedeutend billiger und extrem Platzsparend.
Gast #3050807
Lesenswert?

marc2805 schrieb:
> Hallo Eumel,
> was ist dann das Problem bei Schieberegistern.

Wird etwas schwierig die Farbtiege hinzukriegen, außerdem brauchst du 
noch entsprechende Treiber/Transistoren. Darüber hinaus wirst du 1:11 
multiplexen nicht die maximale Helligeit/Lebensaduer hinkriegen. Mit dem 
TLC5940 hast du eine all in one Lösung. Die lassen sich einfach über ein 
serielles Protokoll ansprechen und erledigen den ganzen Rest für dich, 
12 bit Farbtiefe, dot correction, LED Treiber mit Konstantstrom, alles 
drin. Du brauchst nur die TLC5940 und deine LEDs, das wars.
Gast #3050808
Lesenswert?

> bei Schieberegistern gibt es wohl Probleme die Farbe Blau zu dimmen.

Kommt drauf an, welche Spitzenströme deine blauen LEDs aushalten, und 
welche Helligkeit du erreichen musst.

Also fängt man an die LEDs auszusuchen und deren Datenblatt zu lesen.
#3050813
Lesenswert?

Man korrigiere mich falls ich Irre; aber falls du das ganze mit 
Schieberegistern machen willst , dann brauchst du wohl einen ziemlich 
Leistungsfähigen uC.
11x11x3 Leds, also 363.
* 2^8 für die 8bit pro Kanal die du wahrscheinlich mindestens möchtest, 
macht dann total
92928 bits pro Frameupdate
Mit wieviel Hertz man das ganze Updaten muss damit es fliessend 
erscheint weiss ich jetzt nicht, denke aber schon mindestens 50.
--> 50x92928= 4646400 bytes, also ~4.5Megabytes/Sekunde, oder 36Mbps die 
dein SPI Host hergeben müsste ..
Die TLC halten mMn die Farbe und brauchen erst ein Update sobald du die 
Farbe änderst, per Schieberegistern musst du hingegen dauerfeuern um die 
Farbe zu halten. (ausser ev mit R2R dac pro schieberegister, das scheint 
mir aber recht aufwändig.)
Gast #3050823
Lesenswert?

Also OK Schieberegister sind dann auf jeden fall mal die schlechteste 
Wahl.

Allerdings stört mich bei den TLC noch ein bisschen die menge und der 
Preis.

Gibt es noch eine Alternative zu den TLC.
#3050834
Lesenswert?

...ich würde mir WS2812 LEDs holen :-) Da benötigst Du keinerlei 
Ansteuerung mehr...

Wenn Du aber bedrahtete TH LEDs verwenden möchtest und die og. LEDs 
deswegen ausscheiden, dann hat der TLC5940 einfach den Vorteil, dass Du 
Dich eben gerade NICHT um das Dimmen kümmern musst.

Wenn Du nur Schieberegister nimmst, musst Du die PWM zum Dimmen in 
Software realisieren. Das kann bei 33 LEDs (11xRGB) schon zum Problem 
werden.

Nehmen wir an Du willst Deine Matrix mit 100Hz multiplexen, dann hast Du 
für eine Zeile 10ms/11 = 0.9ms (oder sagen wir mal 1ms, ist einfacher).

Wenn Du jetzt eine PWM mit 256 Helligkeitsstufen realisieren möchtest, 
musst Du in der Lage sein, in 1/256 ms ~ 4 µS die LEDs ein oder 
auszuschalten. Und das schaffst Du mit einem AVR selbst mit 20 MHz 
wahrscheinlich schon nicht mehr... Du musst 33 Bits durchshiften, von 
der Berechnung mal ganz abgesehen.

Deswegen wirst Du um die Lösung mit dem TLC5940 garnicht rum kommen. 
Oder Du nimmst 33 Ausgänge vom einem der größeren AVRs und multiplext 
dann nur die Zeilen noch.

Grüße
Markus
#3050975
Lesenswert?

Hi,

ja, per Soft-PWM wird wahrscheinlich auch das schon relativ knapp.

Dann wäre "bit angle" (BAM) bzw. "bit code" modulation noch eine Option. 
Dort würdest Du für eine 256-Bit "PWM" mit 8 Interrupts auskommen. 
Wahrscheinlich würde die BAM sogar noch mit Schieberegistern gut 
funktionieren.

Mit Google findest Du mehr darüber.

Ansonsten ist das mit dem 1/11 Zeilewnmultiplexing schon ein Problem. Da 
leidet die Helligkeit schon ziemlich, das kannst Du dann auch mit 
höherem Spitzenstrom kaum noch kompensieren.

Entweder müsstest Du die LEDs als 6x 66 ansteuern (wobei dann mehr 
Schieberegister notwendig sind) oder wirklich Dir mit dem TLCxxxx die 
Probleme vom Hals halten :-) Ich würde mir den Aufwand mit den 
Schieberegistern nicht geben und auch eher den TLC verwenden...

Grüße
Markus
Gast #3051351
Lesenswert?

Nik D. schrieb:
> --> 50x92928= 4646400 bytes, also ~4.5Megabytes/Sekunde, oder 36Mbps die
> dein SPI Host hergeben müsste ..

Es sind immernoch 4,5Mbps und das schafft ein Avr locker. Selbst ohne 
TLC mit Multiplexing und BAM sind 8bit pro Led machbar 
(Assemblerkenntnisse vorrausgesetzt). Für das Dimmen mit BAM sollte man 
dann aber eher auf mindestens 10bit gehen, dafür würde ich dann 
tatsächlich einen kleinen Xmega nehmen.
Gast #3051485
Lesenswert?

> Man korrigiere mich falls ich Irre

Na dann amchen wird das mal.

> 11x11x3 Leds, also 363.
> Mit wieviel Hertz man das ganze Updaten muss damit es fliessend
> erscheint weiss ich jetzt nicht, denke aber schon mindestens 50.

Die Anforderungen kann man so definieren.

> * 2^8 für die 8bit pro Kanal die du
> wahrscheinlich mindestens möchtest, macht dann total
> 92928 bits pro Frameupdate
> --> 50x92928= 4646400 bytes, also ~4.5Megabytes/Sekunde, oder 36Mbps die
> dein SPI Host hergeben müsste ..

Die Rechnung und Schlussfolgerung ist falsch,
Schliesslich enthalten die Schieberegister nicht 8 bit pro LED,
sondern nur 1 bit pro LED. Also muß man nur 363 bits übertragen
um zu bestimmen welche LED an und welche aus sein soll. Schaltet
man 8 Schieberegister parallel, kann man ein Byte mit einem SPI
Takt eintakten, braucht also 46 Bytes dazu. Das 50 mal pro
Sekunde macht 2300 Bytes.
Lächerlich. Wenn man graustufen dimmen will, muß man für jedes
Bit des Dimmwerts die LED neu ein- und ausschalten, innerhalb
des 50Hz Frames. Also 18400 Bytes pro Sekunde übertragen.
Lächerlich.
Du hast dich um den Faktor 256 verhauen.

Am schnellsten muß man das beim niederwertigen Bit machen, weil
da die LED nur 1/12800 Sekunde an bleiben soll. Man hat also
für 46 Bytes 1/12800 Sekunde Zeit, muß also 5888000 bytes/sec
übertragen, oder 1 Byte in 1.7 Mikrosekunden oder ungefähr 12
Assemblerinstruktionen. Das ist ohne Kunstgriffe machbar.
Ein einfacher ATmega8 reicht also, wenn man im Gegensatz zu dir
programmieren kann. Lediglich das RAM für die Bilder sollte
grösser sein.

> Die TLC halten mMn die Farbe

Ja, sie brauchen daher 3  11  11 Byte pro 50tel Sekunde,
also 18150 Byte pro Sekunde. Problemlos.
Gast #3052132
Lesenswert?

Erst mal danke für eure mühe.

Hab mich voll und ganz davon überzeugen lassen TLC zu nehmen zwecks der 
Helligkeit und der Farbtiefe.

Allerdings habe ich dazu noch ein paar fragen.

1. Zwecks externer beschaltung könnte ich auch den TLC 5947 statt den 
TLC 5940 nehmen.

2. Wäre es auch möglich die Zeilen mit 3 TLC zu steuern und dann die 
Spalten mit 2 Schieberegistern, oder sind da die Einbusen zwecks 
Helligkeit und Farbtiefe unakzeptabel.

3. Nach dem Post von Eumel habe ich das so verstanden das ich bei TLC´s
keine LED Treiber brauche. Allerdings verstehe ich das nicht ganz da 
jede LED Farbe ja unterschiedliche Spannungen hat bräuchte ich ja 
zumindest Widerstände ???
Gast #3052306
Lesenswert?

marc2805 schrieb:
> 3. Nach dem Post von Eumel habe ich das so verstanden das ich bei TLC´s
> keine LED Treiber brauche. Allerdings verstehe ich das nicht ganz da
> jede LED Farbe ja unterschiedliche Spannungen hat bräuchte ich ja
> zumindest Widerstände ???

Nein, sind KSQ.
Was oft hilft ist mal das Datenblatt lesen. Du willst doch passende 
Bauteile für deine Schaltung finden, oder? Was die Bauteile genau machen 
steht in deren Datenblättern. Diese Datenblätter liest du und 
entscheidest dann ob das Bauteil für deine Anforderung sinnvoll wäre. Es 
gibt haufenweise alternativen zu den TLC5940 die dir vielleicht besser 
gefallen, billiger sind, leichter zu beschaffen, wasauchimmer. Dafür 
gibt es google, das bisschen Eigeninitiative kann wohl erwarten, oder?
Außerdem ist eine RGB Matrix schon oft gebaut und dokumentiert worden, 
schau dir also mal an wie andere das gelöst haben. Du musst es ja nicht 
genau so machen aber hilfreich kann es trotzdem sein.
Gast #3052413
Lesenswert?

Hallo Eumel,

Sehr aufmerksam von dir mich auf das Datenblatt aufmerksam zu machen.
Allerdings wenn ich in der Lage wäre dies auch zu Verstehen, müsste ich 
weder doofe fragen in einem Forum stellen, noch mir doofe Kommentare 
anhören.

Was nicht heißen soll das ich es mir nicht ansehe.
Schau dir bitte mal auf der TI seite die beschaltung vom TLC5940 an
unten links in der ecke sind Transistoren und Widerstände usw.
die kein Mensch braucht zumimdest habe ich diese beschaltung so noch 
nirgens gesehen.

Das Google mein Freund ist hab ich auch schon Verstanden !

Allerdings wenn man nach diesem Thema sucht findet man 1000 Verschiedene 
möglichkeiten.

TLC und Schieberegister gemischt
TLC und Transistoren anstatt schieberegister
USW.

Zudem sollte der LED Treiber auch noch ein bisschen verbreitet sein.
Da ich das ganze auf Arduino Programmiere und ohne passendes Example 
aufgeschmissen bin.
Gast #3052687
Lesenswert?

marc2805 schrieb:
> Sehr aufmerksam von dir mich auf das Datenblatt aufmerksam zu machen.
> Allerdings wenn ich in der Lage wäre dies auch zu Verstehen, müsste ich
> weder doofe fragen in einem Forum stellen, noch mir doofe Kommentare
> anhören.

Wo liegt das Problem beim verstehen?

marc2805 schrieb:
> Was nicht heißen soll das ich es mir nicht ansehe.
> Schau dir bitte mal auf der TI seite die beschaltung vom TLC5940 an
> unten links in der ecke sind Transistoren und Widerstände usw.
> die kein Mensch braucht zumimdest habe ich diese beschaltung so noch
> nirgens gesehen.

Die sind für die EEPROM Programmierspannung, kannst du (wenn du das Dot 
Correction Feature nicht nutzen willst) ignorieren.

marc2805 schrieb:
> Zudem sollte der LED Treiber auch noch ein bisschen verbreitet sein.
> Da ich das ganze auf Arduino Programmiere und ohne passendes Example
> aufgeschmissen bin.

Dann solltest du es eher lassen bis du sowas alleine kannst. Du willst 
nichts programmieren du willst kopieren.

Darüber hinaus erwartest du Hilfe ohne anständig inofmrationen zu 
liefern. Bist jetzt ist deine Frage: "Mein Auto ist kaputt, was tun?"

Wir kennen deine Anforderungen nicht und die verwendeten Bauteile auch 
nicht, wie soll man dir da zielgenau helfen können?
Interessant wäre z.b.
- Welche LEDs benutzt du
- Wie Hell soll das ganze sein
- Welche Farbauflösung brauchst du
- Wie teuer darf sein
- Was kannst du schon (gut, das ergibt sich aus dem Text)
- Welche Möglichkeiten hinsichtliche Platinen herstellen/löten hast du? 
Kannst du SMD löten und die entsprechenden Platinen erstellen oder soll 
es auf Lochraster aufgebaut werden?
- Woher soll der Strom für die Matrix kommen?
- Was soll der Controller neben der Matrix noch so tun?
Gast #3056602
Lesenswert?

Also erstens will ich nicht Kopieren ! Das ist bei meinem vorhaben auch 
gar ned drin da sowas meiner ansicht nach so noch nicht existiert.

Es soll eine Wort Uhr geben Ahnlich der bei Google Groups.
Allerdings soll diese RGB sein mit LED einzelansteuerung.

Ich möchte die normalen RGB 5mm LED nehmen mit 3x 20mA.

Es Werden 114 RGB LED´s   11x10 Reihen.

Die Helligkeit sollte mindestens 2/3 sein.

Das Farbspecturum würde ich gerne Voll nutzen.

Preislich nicht über 150 Euro bauteile, allerdings das ich die TLC gerne 
mit Schieberegister erweitern möchte liegt nicht am preis sondern an der 
menge der Bauteile die auf die Platine müssen.

Schaltpläne Zeiche ich selbst mit KICAD würde die aber vorher nochmals 
Posten.

Lochraster ist unmöglich bei dem Projekt.
Prototyp Platine stelle ich selbst her.
Weitere werden in Auftrag gegeben.

SMD IC hab ich noch nie gelötet, allerdings denke ich das ich es 
schaffe.

Der Versorgung kommt über einen Festspannungsregler, allerdings muss das 
noch geändert werden ja max 1,5 A nicht ausreichen.

Die schaltung Verfügt über einen Atmega 328p, DS 1307 ( RealtimeClock, 
DCF 77,und 5 Taster.

Es ist die Schaltung meiner Normalen Wort Uhr allerdings sollen die 
Schieberegister und die UDN 2981 samt Widerstände gegen TLC bzw TLC mit 
Schieberegister ausgetauscht werden.

Die Vorhandene Schaltung kann ich bei bedarf auch Posten.

Die Schaltung steht soweit bis auf Festpannungsreglung das diese zu 
klein ist, und der TLC Schaltung.

Die LED´s brauchen 114 * 20mA = 6840mA
Denke 8A solltem der Schaltung reichen.


Ist es mölich Festpannungsregler Parallel zu Schalten um somit einen 
höheren Strom zu erhalten oder gibt es da eine bessere lösung.

Die TLC Schaltung würde ich gerne mit 3 TLC 5940 aufbauen und mit 2 
Schieberegistern 74HC138, die Ausgänge der Schieberegister müssten mit 
Transistoren und Widerstände erweitert werden, wobei ich nicht weiß 
welchen ich da nehmen soll da bei Multiplexing ja die Gesetze ein wenig 
anderst sind zwecks Gesamt Strom.

Ob bei Multiplexing die Dot Correction überhaupt machbar ist und sinn 
macht kann ich nicht sagen.
#3058186
Lesenswert?

"Deine" Wordclock scheinst Du ja auch nicht selber entworfen und gebaut 
zu haben.... Wie auch immer.
Was ich mich frage, woher kommt denn deine Spannung? Aus der Steckdose? 
Dann brauchst Du noch ne Gleichrichtung, Glättung-Siebung und nen Trafo, 
der den Strom und Die Spannung liefern kann, die Du brauchst. Kauf 
lieber ein Fertiges Gleichspannungsnetzteil mit en passenden Daten.

Wo soll denn der 4,7 Ohm Widerstand hin? Wenn Du weißt0 wo er sitzt 
musst Du eben mal Deine Schaltung berechnen... So geht das eben, kommt 
man nicht drumrum. Entwirf Die Schaltung mit allem drum und dran, dann 
berechne sie.
Gast #3058285
Lesenswert?

> Ich möchte die normalen RGB 5mm LED nehmen mit 3x 20mA.

Du wurdest gefragt, welche LED, und lieferst eine Antwort aus der man 
NICHT entnehmen kann welchen Spitzenstrom nun deine LEDs vertragen.

Dann wirtst du dein Design selbst machen müssen.
#3058355
Lesenswert?

Die 20mA sind der Dauerstrom, den die LEDs vertragen, die Frage war aber 
nach dem (deutlich höheren) Maximalstrom im Pulsbetrieb, der in den 
Datenblättern i.d.R. ebenfalls angegeben ist.

Ich möchte aber auch nochmal den Vorschlag von adrock weiter oben in den 
Ring werfen, LEDs vom Typ WS2812 zu nehmen. Die haben den RGB-Controller 
schon eingebaut und Du brauchst nur einein einzigen Pin am 
Mikrocontroller für die gesamte 11x11-Matrix.
Gast #3058402
Lesenswert?

marc2805 schrieb:
> Der Versorgung kommt über einen Festspannungsregler, allerdings muss das
> noch geändert werden ja max 1,5 A nicht ausreichen.

Wenn alle LEDs an sind (20mA*3*11*10) kommst du auf 6,6 A. Am 
einfachsten für dich wäre es dir ein Schaltnetzteil mit 5 Volt 
Ausgansspnnung und MINDESTENS 6,6 A zu besorgen. Dann hast du die 
Stromversorgung mit einem Modul erschlagen. Außerdem müsstest du bei 
Festspannungsreglern eine ganze Menge Hitze loswerden.

Marc Godel schrieb:
> Das mit den 3x 20 mA sind Hersteller angaben.

Das Datenblatt der LEDs brauchen wir (und du!!!)
#3058617
Lesenswert?

Ok das mit den Led´s ist mir Jetzt klar wusste nicht das es auch für 
LED´s Datenblätter gibt.

Wenn ich das richtig verstehe brauche ich die LED Spitzenspannung um bei 
einem TLC den Passenden Vorwiderstand zu berechnen. Welcher zwischen GND 
und Iref kommt, und den Ausgangsstrom des TLC steuert.
Da ich Die Matrix mit Schieberegister erweitern will ist somit der LED
Spitzenstrom der richtige wert für die berechnung.

Was ich noch nicht so ganz verstehe ist warum ich 6,6 A für die LED´s 
brauche da beim Multiplexing ja immer nur eine reihe Versorgt wird.
Die berechnung müsste doch Iges = LED Spitzenstrom aller farben x Anzahl 
LED Reihe.

Welches auch gleichzeitig der Strom für die berechnung des Transistors 
am Ausgang des Schieberegisters wäre. Einzigster unterschied ist das 
beim gesamtstrom noch der Strom der für die Schaltung benötigt wird Dazu 
kommt.
Gast #3059529
Lesenswert?

> Woher soll ich bitte den spitzenstorm entnehmen.

Aus dem Datenblatt !

> Betriebsstrom max.: 50mA pro Kanal

Aha.

Das heisst, wenn du die LED im Multiplexbetrieb fahren willst um 
Anschlüsse zu sparen, dann kannst du deine LEDs nur im 1:2 Multiplex 
fahren, mit 40mA für 1/2 der Zeit um im Schnitt die helligkeit von 20mA 
zu bekommen,

Diese LEDs sind also für Multiplex echt Scheisse.

Selbst ein 1:5 Mutiplex um halbe Helligkeit wie mit durchschnittlich 
10mA zu bekommen führt noch zu 5 x 73 Leitungen, eventuell organisiert 
zu 5 roten zeilen, 5 blauen Zeilen, 5 grünen Zeilen zu je 24 LEDs mit 
50mA an einem TB62717.

Nun weisst du, warum die so billig sind und andere Leute andere LEDs 
nehmen.

Solche LEDs versorgt man am Besten wohl mit 23 SCT2024 für 99ct von 
ulrichradig.de ohne Multiplex, oder an 45 74HC595 mit 363 
Vorwiderständen (das wäre mir schon zu viel Lötarbeit).
#3059536
Lesenswert?

Habe zur LED matrix folgenden link gefunden und benötige hilfe

http://www.mikrocontroller.net/articles/LED-Matrix

Bei der Berechnung von Zeilen und Spalten.

Matrix 10x11

Der Zeilenstrom setzt sich aus Izeile = Iled x n = 50mA *11 = 550 mA

Der Spaltenstrom müsste dann heißen Iled x n =50mA *10 = 500mA

Allerdings rechnen die beim Spaltenstrom

Ispalte = Iled  zeile  spalte = 50mA *11 *10 = 5500mA

Verstehe ich nicht ganz da in jeder spalte ja nur 10 led´s sind???
#3060309
Lesenswert?

So Verstehe ich das auch, das Strom verhältnis würde zwar stimmen aber 
leider das Tastverhältnis nicht.

Ich würde das ganze gerne ausprobieren im Notfall kann ich immernoch die 
lösung mit 23 TLC nehmen.

Was ich jetzt abschießend gerne wüsste wäre wie muss den Spalten bzw 
Reihen strom berechnen. Und Stimmt meine berechnung für den Gesamtstrom.

Aus meinen letzten Post.

Wenn ich 23 TLC nehme werden die alle hintereinander geschaltet oder 
könnte das beim befeuern mit daten ein Problem geben.

Würde dann 2 Schaltpläne erstellen. Und das ergebniss beider varianten 
hier posten.
Moderator Persönliche Seite #3061211
Lesenswert?

Hier eine einfache nachbausichere WordClock-Schaltung, die ohne 
Multiplexing auskommt, aber auch RGB (also Farbe mit mehreren 
Helligkeitsstufen) kann:

  http://www.mikrocontroller.net/articles/Word_Clock_Variante_1

Ist mehrere hundert mal nachgebaut worden und funktioniert zuverlässig.

Der einzige Nachteil: Die LEDs können nicht einzeln angesteuert werden, 
sondern nur wortweise. Aber wozu soll man bei einer WordClock die LEDs 
auch einzeln ansteuern...

Gruß,

Frank
#3061873
Lesenswert?

Hallo Frank

bitte nicht falsch verstehen und auch nix gegen die Microcontroller 
Familie allerdings wenn man eine RGB Uhr ohne einzelansteuerung der 
LED´s baut dann kann man es auch ganz lassen.

Wobei ich hier nicht sagen will das das Projekt nicht gelungen ist. Aber 
ich möchte einzelansteuerung und die auseinandersetzung mit arduino.
Das ned wieder so einer erzählt ich könnte nur Kopieren.
#3062242
Lesenswert?

MaWin schrieb:
> ... Das 50 mal pro
> Sekunde macht 2300 Bytes.
> Lächerlich. Wenn man graustufen dimmen will, muß man für jedes
> Bit des Dimmwerts die LED neu ein- und ausschalten, innerhalb
> des 50Hz Frames. Also 18400 Bytes pro Sekunde übertragen.
> Lächerlich.
> Du hast dich um den Faktor 256 verhauen.

Nein MaWin, hier hast du dich verhauen...

11x11x3 = 363 Bits (1x Display Update)
363x50 = 18150 Bits/s (50Hz)

Soweit sind unsere Rechnungen gleich. Aber mit deinen 18400 Bytes 
bekommst du nur 8 Dimmstufen, da du für jede Dimmstufe deinen 
Displayinhalt aktualisieren musst.

2300 Bytes pro Sekunde x 8 Dimmstufen = 18400 Bytes pro Sekunde

oder bei 8Bit Graustufen (256 Werte)

2300 Bytes pro Sekunde x 256 Dimmstufen = 588800 Bytes pro Sekunde

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren