mikrocontroller.net

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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Fabian G. (fabian_g)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael B. (laberkopp)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: foobar (Gast)
Datum:

Bewertung
2 lesenswert
nicht 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?

Autor: foobar (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Fabian G. (fabian_g)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Mike C. (bigmike0488)
Datum:

Bewertung
-1 lesenswert
nicht 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.

Autor: Teo D. (teoderix)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Mike C. schrieb:
> wir machen in der Abendschule ein ähnliches Projekt.

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

Autor: Thomas S. (thomas_s72)
Datum:

Bewertung
0 lesenswert
nicht 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.

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.