Forum: Mikrocontroller und Digitale Elektronik RGB-LED Matrix 8x8 ansteuerung


von Fabian G. (fabian_g)


Lesenswert?

Moin

Als Projekt will ich eine Matrix-Uhr mit einer Auflösung von 32x96 
bauen. Dazu verwende ich 36(3x12) der folgenden RGB-LED 8x8 Matrix:
https://www.seeedstudio.com/8x8-RGB-LED-Dot-Matrix-Compatible-with-Rainbowduino-p-113.html

Diese Matrix besitzt eine Commond-Anode. Ich habe mir schon stundenlang 
darüber den Kopf zerbrochen, wie ich diese ansteuern soll.

Die beste Lösung die ich gefunden habe, ist für jede Matrix einen 
einzelnen LED-Treiber/3x8Stromquelle(TLC5947/MBI5324/DM163/ zu benutzen 
und logischerweise immer eine Reihe mit einem Transistor-Array auf 
Speisespannung ziehen. Ich werde einen 8-Bit ATmega zur Programmierung 
verwenden.

Habt ihr andere/bessere Lösungsvorschläge? Habt ihr Erfahrungen mit den 
obengenannten Treibern?
Ich wäre froh um ein paar Denkhilfen und ein bisschen Unterstützung.

Grüsse Fabian

von Michael B. (laberkopp)


Lesenswert?

Tja, seeedstudio verlinkt beim Datenblatt nirgendwohin, die möchsten dir 
nicht sagen, was du da für ein Schrott kaufst, die wollen daß du das 
nicht mehr erhältliche Rainbowduiono Baord kaufst, du sollst es nicht 
selber machen, daran verdienen die nichts.

Allerdings gibt es durchaus ein Datenböatt
http://selfbuilt.net/shop/full-color-rgb-led-matrix
dort wo man nicht so viel verdienen will wie bei seeedstudio.

Die Bezeichnung common anode finde ich unpassend.

Man braucht pro 8 x 8 Matrix also 3 Konstanstromsenken bis 160mA mit 8 
Kanälen wie TLC5916,
und 8 LogicLevel PMOSFETs die 4A schalten können wie AO3400A.

Dann im 1:8 Multiplex die Schieberegister jeder Reihe mit den Daten 
beschicken, den PMOSFET einschalten, warten, und dann die nächste Reihe.

http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.8.1

Ich würde nicht 20mA sindern nur 10mA durchschnittlichen Strom, also 
80mA am TLC5916 einstellen.

von foobar (Gast)


Lesenswert?

> ... Auflösung von 32x96 bauen. Dazu verwende ich 36(3x12) der
> folgenden RGB-LED 8x8 Matrix ...

Finde den Fehler ;-)

Das ist kein Anfängerprojekt. Mein Tipp: bring erstmal eine 8x8-Matrix 
ans Laufen. Das kann man z.B. mit nem TLC5947 und 8-fach-Multiplexing 
machen. Und dann schau, ob diese Lösung auch für 50 skaliert. Hast du 
auch mal die Kosten überschlagen und mit nem fertigen Modul verglichen?

von foobar (Gast)


Lesenswert?

PS:
> Ich werde einen 8-Bit ATmega zur Programmierung verwenden.

Hast du mal überlegt, wo du die Daten für die 32*96*3=9216 LEDs lässt?

von Fabian G. (fabian_g)


Lesenswert?

> Man braucht pro 8 x 8 Matrix also 3 Konstanstromsenken bis 160mA mit 8
> Kanälen wie TLC5916,

Hast du denn schon Erfahrung mit der seriellen Kommunikation des 
TLC5916?

> Finde den Fehler ;-)

Entschuldige, 24x96

> bring erstmal eine 8x8-Matrix ans Laufen.

Logisch, zuerst versuche ich es mit einer und dann arbeite ich mich 
hoch.

> Hast du auch mal die Kosten überschlagen und mit nem fertigen Modul verglichen?

Die Leiterplatten will ich selber machen. ;)

> Hast du mal überlegt, wo du die Daten für die 32*96*3=9216 LEDs lässt?

Warscheinlich brauche ich mehrere uC zur Datenübertragung. Zuerst müsste 
ich herausfinden wie lange ich dann für die Übertragung bei einer 
gewissen Frequenz für ein "Modul" brauche.

von Mike C. (bigmike0488)


Lesenswert?

Hallo,

wir machen in der Abendschule ein ähnliches Projekt.
Mit dem TLC5947 steuern wir die 8x8-RGB-Matrix an, mit dem HC595 über 
Mosfets die einzelnen Zeilen multiplexen.
Für jeweils ein Schieberegister 3 Pins vom Arduino, also 6 gesamt.

Ich beginne erst mit den SPI-Ausgängen des Arduinos zu arbeiten und ich 
hoffte hier Hilfe dabei zu bekommen, bei dem TLC5947. Diesen würde ich 
gerne über die spi-Ausgänge des Arduinos ansteuern. derzeit verwende ich 
die Pins 4-6, Pin 4 für die Latch, Pin 5 Data, Pin 6 für die Clock.
Wie muss ich Latch, Data, Clock nun an die SPI-Pins MOSI, MISO, SS und 
SCK anhängen damit dies funktioniert?

Danke für eure Expertise.

von Teo D. (teoderix)


Lesenswert?

Mike C. schrieb:
> wir machen in der Abendschule ein ähnliches Projekt.

Warum kasperst du dann diesen alten Thread?
Mach nen neuen auf!

von Thomas S. (thomas_s72)


Lesenswert?

Hallo,
MOSI ist der Datenausgang, diese Daten werden in die Schieberegister 
geschoben. SCK ist der Schiebetakt (clock) und SS der Latch der nach 
erfolgter Schiebung die Daten übernimmt. MISO wird nicht genutyt, das 
ist der EINGANG des ATMEGA, hier will man ja nur ausgeben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.