TLC5940 + RGB-Matrix + Transistorarray

Gast #2098067
Lesenswert?

Guten Abend,

ich habe mir gerade folgende angehängte Schaltung ausgedacht. Meine 
Fragen nun:

1. Ist der 'Schaltplan' soweit ok (mit Abstand der 100nF und aller 
Spannungs- und Stromversorgungen) - vom Prinzip her (PNP, ...)?

2. Gibt es eine Art Transistorarray für diese 8 PNP-Transistoren.
Lt. Datenblatt 
(http://www.pieterfloris.nl/shop/download/rgb_led_matrix.pdf) ist der 
max. Strom auf 20mA pro LED (30mA Peak bei 1/10 Einschaltdauer, < 0.1 
ms). Irgendwie passt mir das nicht zusammen. Meine Berechnung: 20mA * 8 
(da 1/8 Einschaltdauer)  3 Farben  8 LEDs pro Zeile = 3,84 A das kann 
irgendwie nicht sein ... kann mir jemand sagen was ich falsch mache?

3. Gibt es eine bessere Möglichkeit (entsprechende Schieberegister) die 
den passenden Strom pro Zeile liefern können ?

Vielen Dank im Vorraus

Flo
Angehängte Dateien:
Gast #2098112
Lesenswert?

Zu 2.)
An einem Transistor hängen 8 RGB LEDs, das macht 8 * 3 = 24 LEDs. Pro 
LED würd ich mal 25mA einplanen (sollte bei 1/8 duty cycle drin sein) = 
24 * 25mA = 600mA.
Das ist schon alles, da die Zeilen ja abwechselnd eingeschatet werden 
ist auch der Gesamtstrom für die Matrix 600mA max.

Zu 3.)
Was hast Du gegen Transistoren?
Gast #2098116
Lesenswert?

MagIO schrieb:
> An einem Transistor hängen 8 RGB LEDs, das macht 8 * 3 = 24 LEDs. Pro
> LED würd ich mal 25mA einplanen (sollte bei 1/8 duty cycle drin sein) =
> 24 * 25mA = 600mA.

Sehr gut - vielen Dank - wie kommst du auf 25mA ? Ich dachte immer es 
wäre 8 mal der Strom da 1/8 der Einschaltdauer ...

MagIO schrieb:
> Das ist schon alles, da die Zeilen ja abwechselnd eingeschatet werden
> ist auch der Gesamtstrom für die Matrix 600mA max.

Gibt's PNP Transistorarrays mit > 600mA pro Transistor? Wenn ja welche?

MagIO schrieb:
> Zu 3.)
> Was hast Du gegen Transistoren?

10 dieser Module an einem ATMEGA. Ich noch keinen AVR mit 10 Ports 
gesehen ... oder?
Gast #2098135
Lesenswert?

Hast Du doch selbst zitiert:
"30mA Peak bei 1/10 Einschaltdauer"

1/8 ist noch länger, als 1/10 ... darum sollte man den Strom noch ein 
wenig reduzieren. => 25mA
Vielleicht ist in dem Datenblatt ne Kennlinie? Ich hab nur bis zur 
Tabelle geblättert. Dann lässt sich sicherlich ein genauerer Wert 
finden.

Also nen AVR mit 10 Ports gibt es ganz bestimmt. Bei 8 * 10 wirds schon 
schwieriger ;o)

Wie sollen denn die 10 Module aneinandergereiht werden? Hat jedes Modul 
2 TLCs? Nach der bisherigen Beschreibung schon, sonst kommt das mit den 
1/8 Einschaltzeit ja nicht hin!
Gast #2098148
Lesenswert?

MagIO schrieb:
> Also nen AVR mit 10 Ports gibt es ganz bestimmt. Bei 8 * 10 wirds schon
> schwieriger ;o)

Da muss ich widersprechen. 8 Pins sind jeweils zu einem Port 
zusammengefasst. Nachzulesen unter
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Zugriff_auf_IO-Ports

MagIO schrieb:
> Wie sollen denn die 10 Module aneinandergereiht werden? Hat jedes Modul
> 2 TLCs? Nach der bisherigen Beschreibung schon, sonst kommt das mit den
> 1/8 Einschaltzeit ja nicht hin!

Jede Modulzeile hat 24 LEDs und benötigt demnach 1 1/2 TLCs. Darum nehme 
ich jeweils 2 Module mit 3 TLCs zusammen. Damit kann ich bei 1/8 
Einschaltzeit bleiben.
Gast #2098224
Lesenswert?

Ach ja ... ist ja ein 8 bit uC ... Der Port / Pin Unterschied war mir 
nicht mehr ganz präsent.

Aber trotzdem ... bei dem Aufbau mit entsprechend vielen TLCs in Reihe 
braucht man ja auch nicht für jede Zeile pro matrix einen eigenen PIN. 
Man kann die Zeilen alle zusammen einschalten und bleibt bei 8 
benötigten PINs.

    M0   M1   M2   M3
Z0  T00  T10  T20  T30 ....
Z1
Z2
Z3
...

Matrix      = M von 0 bis 9
Ausgang AVR = Z von 0 bis 7
Transistor  = T von 0x bis Ax

Man muss eben nur mal schauen, ob der Basis-Strom einer Zeile noch vom 
AVR getrieben werden kann, oder ob man da besser nochmal pro PIN einen 
Transistor spendiert.
Gast #2098584
Lesenswert?

MagIO schrieb:
> Aber trotzdem ... bei dem Aufbau mit entsprechend vielen TLCs in Reihe
> braucht man ja auch nicht für jede Zeile pro matrix einen eigenen PIN.
> Man kann die Zeilen alle zusammen einschalten und bleibt bei 8
> benötigten PINs.

Mein Güte bin ich blöd =)

MagIO schrieb:
> Man muss eben nur mal schauen, ob der Basis-Strom einer Zeile noch vom
> AVR getrieben werden kann, oder ob man da besser nochmal pro PIN einen
> Transistor spendiert.

Naja da hattest du mir ja schon pro Zeile 600mA vorgerechnet. Ich glaube 
da muss ich schon eher einen MOSFET für 600mA * 10 Module =  >6A  nehmen 
...
Gast #2098852
Lesenswert?

PS:
Warum macht man das so?

Ich würde mal sagen, weils so flexibler ist. Man kann auch mehrere LEDs 
in Reihe schalten. Die Anode der "obersten" LED legt man dann auf ~ 
n*U(led) und man kann trotzdem mit U(b) (Betriebsspannung für die 
restliche Logik) den Strom steuern.

Beispiel 3*LED blau mit 3.4V
Als Betriebsspannung für die LEDs könnte man dann z.B. 12V nehmen.
uC und TLCs laufen mit 3.3V.
Gast #2099121
Lesenswert?

Vlad Tepesch schrieb:
> die tlcs schalten doch gegen VCC, oder?
> da müssten also NPNs rein

Meiner Meinung nach sind das current sink Outputs. Demnach muss ich PNP 
verwenden.

MagIO schrieb:
> Beispiel 3*LED blau mit 3.4V
> Als Betriebsspannung für die LEDs könnte man dann z.B. 12V nehmen.
> uC und TLCs laufen mit 3.3V.

by the way: was würdet ihr für eine Spannung wählen?

http://www.pieterfloris.nl/shop/download/rgb_led_matrix.pdf

Ich hätte der Einfachheit halber mit 3,3V oder 5V je nach 
Betriebsspannung des ATMEGA gearbeitet.

Falk Brunner schrieb:
> Scheint wohl eine Nebenwirkung des Erdbebens zu sein, die LED-Matrix
> Welle rollt mal wieder durchs Forum . . .

mir fällt dazu nur das Stichwort Respektlosigkeit ein ...

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