Hallo zusammen,
ich liebäugele mit einem Projekt (keine Serienproduktion), für dass eine
LED-Matrix 64 x 32 eine angenehm einfache und preiswerte (oder nur
billige?) Lösung als Display wäre. Diese hier:
https://de.aliexpress.com/item/1005001863048422.html ist noch nicht
einmal die billigste. Ich könnte das auch mit vielen einzelnen
LED-Matrix-Anzeigen und '595 + Zeilentreiber machen - was für ein
Aufwand, selbst wenn es nur monochrom wäre.
Nun finde ich aber nur tolle Bilder vom Display, oder wie es in der
Firma des Herstellers aussieht, aber wie man so ein Display ansteuert,
scheint Allgemeinwissen zu sei - nicht der Rede Wert. Datenblätter???
In einem anderen Angebot fand ich einen Hinweis auf eine Treiber-Board,
in noch einem anderen auf VGA-, JPEG- etc. Kompatibilität (ohne Hinweis
auf ein Treibermodul!)
So ein Treibermodul möchte ich vermeiden. Es sollte direkt an einen µC
oder, wenn es zu komplex wird, an ein FPGA angeschlossen werden. Es geht
auch nicht um die flüssige Wiedergabe von Video, sondern um eine relativ
statische Ausgabe z. B. von Grafiken.
Also die Frage(n): Kennt jemand diese Dinger und weiß, wie sie
angesteuert werden? Gibt's wohl möglich Datenblätter?
DZDZ
Diese Displays bestehen aus langen Schieberegistern für RGB an denen die
LEDs hängen, und die Zeilen werden zusätzlich gemultiplext.
Die gibts mit 1:8, 1:16 und 1:32 Mux.
Die 1:8 sind brutal hell und eher was für Draussen.
https://bikerglen.com/projects/lighting/led-panel-1up/
Der Zahn der Zeit (🦷⏳) schrieb:> scheint Allgemeinwissen zu sei - nicht der Rede Wert. Datenblätter???
Das liegt daran, dass allgemein auch Treiberkarten für wenig Geld im
System angeboten werden und niemand (i.d.R.) der Anwender das
Selberbauen anfängt.
Dabei die Zeilen gemultiplext und zwar, wenn ich richtig erinnere, 2
Zeilen pro Modul auf einmal, d.i. 1/16 Scan. Das Modul ist quasi ein
Doppelmodul aus 2 identischen quadratischen Tiles. Im 2ten Tile sind die
gemultiplexten Zeilen versetzt, damit möglichst wenig Flimmern entsteht.
Ein uC muss einen Bildspeicher bereitstellen und der ist fleißig damit
beschäftigt, die Zeilen schnell genug rauszuhauen, damit nichts
flimmert.
Zunächst schon mal vielen Dank, jetzt bin ich schon erheblich weiter.
Mein Ziel: Datenerfassung bzw. -generierung, Aufarbeitung als Grafik und
Ausgabe an das Display mit nur einem µC, ist erreichbar, wenngleich man
auch ein bisschen tricksen muss.
32 x 32 Pixel x 1 Bit pro Farbe = 3072 Bit bzw. 384 Byte pro Tile. Bei
100 Hz Bildfrequenz ergäbe das ~ 300 kHz Taktrate auf der SPI.
Für 2 Tiles wäre allerdings eine Dual-SPI erforderlich, für 4 eine
Quad-SPI.
(M)ein MSP430 hat keine Dual- oder gar Quad-SPI. Also in Software: Mit
Tricks komme ich auf 20 Clocks pro Doppel-Bit, also ca. 800 kHz
Taktrate. (Quad-SPI in Software: 30 Clocks, ~ 500 kHz). Der µC wäre >
60% ausgelastet - wenn ich mich nicht geirrt habe.
Allerdings müsste eine Hardware-Dual-SPI machbar sein, wenn eine SPI im
Master-, und die andere im Slave-Mode läuft. (Aber das mache ich
natürlich nicht, denn das wäre heutzutage ja rassistisch...)
MSPs mit ausreichend RAM und 2 SPIs gibt's. 2 oder vielleicht sogar 4
Bit pro Farbe könnten mit der Idee der Dual-SPI evtl. möglich sein.
Ich tendiere zu einem Versuch mit
https://de.aliexpress.com/item/32757647402.html, 64 x 64, u. A., weil
dort auf der Leiterplatte anscheinend die Signale aufgedruckt sind. Da
müssten es ja 5 Adressbits sein, nicht nur 4, wie in Harrys Link angeben
ist. Aaaber: Da steht auch "14 bits pro Farbe" - was soll das? Entweder
jedes Pixel braucht 14 Bit (5-5-4 Bit) oder das Treibermodul muss
2^5-mal pro 10 ms Das Bild schreiben können? Hmmm - 10 MHz - durchaus
realistisch. Hauptsache, ich muss nicht 14 Bit pro Pixel ausgeben.
PS, ich schreibe den ganzen Quatsch hier, weil es mich zwingt, genauer
nachzudenken und abzuschätzen, was möglich ist.
Du musst die 3 SRs (RGB) gleichzeitig befüllen.
Mit SPI hat das eher wenig zu tun.
Ich hab dazu den FSMC in einem STM32 genutzt, aber das ist auch nur eine
Möglichkeit.
Der Zahn der Zeit (🦷⏳) schrieb:> Ich tendiere zu einem Versuch mit> https://de.aliexpress.com/item/32757647402.html, 64 x 64, u. A., weil> dort auf der Leiterplatte anscheinend die Signale aufgedruckt sind. Da> müssten es ja 5 Adressbits sein, nicht nur 4, wie in Harrys Link angeben> ist.
Die 64x64 Displays sind eigentlich 2 x 64x32 Panels.
Die RGB-Leitungen gibt es 2mal und man muß 6 SRs füttern.
Je nach Multiplex-Ratio gibt es zw. 3 und 5 Adressbits zur
Zeilen-Adressierung.
Der Zahn der Zeit (🦷⏳) schrieb:> Da steht auch "14 bits pro Farbe" - was soll das?
Das ist Marketing-Blabla.
Die Displays selbst haben keine Helligkeitsstufen.
Erst durch geeignete Ansteuerung (PWM) enstehen untersch. Helligkeiten.
Der Zahn der Zeit (🦷⏳) schrieb:> 32 x 32 Pixel x 1 Bit pro Farbe = 3072 Bit bzw. 384 Byte pro Tile. Bei> 100 Hz Bildfrequenz ergäbe das ~ 300 kHz Taktrate auf der SPI.
4 Stück davon
https://www.freetronics.com.au/collections/display/products/dmd-dot-matrix-display-32x16-green
sind problemlos mit einem ATM328 zu betreiben.
Allerdings sind das nur 2048 Bit. Wenn ich mich recht erinnere ging das
mit Soft-SPI per ISR bei 1/16 Scan, also immer eine Zeile/Tile an. Per
ISR-Aufruf wurden immer 16 Leds 2 Tiles 4 Panels = 128 Bits so
schnell wie möglich raus geschickt. Müsste es im Code nachsehen.
Im Link ist eine Quelle auf Github für die einfachen Displays zu finden,
das Prinzip bleibt jedoch gleich, ob das nun 32x16x1 oder 64x32x3 ist,
bei RGB gehen die parallel raus.
So
https://de.aliexpress.com/item/32223301206.html?spm=a2g0x.12010612.8148356.17.4d0b7198hvw38V
sieht eine professionelle Karte aus, wie erkennbar werkelt da ein
Spartan drauf, was auch klar wird, da diese Karten Vollfarben
darstellen.
Ich wollte gerade widersprechen - ja, jetzt sehe ich es ein. Getrennte
Datenleitungen für R, G und B, dass hatte ich vor zwar gesehen, aber
irgendwie ignoriert. Jede 32 x 32 Kachel hat 2 x 3 Datenbits, R, G und B
obere und untere Hälfte. Bzw. bei 1:32-Multiplex nur 3 Datenbits, aber 5
Adressbits. Ser. Clock und Latch können gemeinsam für das ganze Display
sein sein. Gut - das macht die Software-SPI noch schneller - nur noch
ein Clock für viele Datenbits. SPI: Es ist halt eine Multi-Bit-SPI mit
bis zu 24 Datenbit bei 64 x 64 Pixeln und 1:16-mux. Wie bei 24 parallel
arbeitenden '595. Von anderen Prozessoren kenne ich auch ähnliche
parallele Schnittstellen, die die gleichen Signale (Clock und Daten) per
Hardware und DMA liefern können. So etwas hätte ich aber nicht. Wie auch
immer, 64x64, bei 1:32 mit 12 Datenbits, wird offensichtlich mit einem
MSP430 mit reichlich Reserve in Software zu schaffen sein.
Harry L. schrieb:> Die 64x64 Displays sind eigentlich 2 x 64x32 Panels.> Die RGB-Leitungen gibt es 2mal und man muß 6 SRs füttern.
Sind die 64x32 nicht eigentlich auch 2 x 32x32 (es gibt auch zwei
IDC-Verbinder) und die 32x32 2 x 32x16 (mit nur einem gemeinsamen
IDC-Anschluss)? Oder, wenn 1:32 gemultiplext, tatsächlich 1 x 32x32, mit
5 Adressbits aber nur 3 Datenbits?
>> Je nach Multiplex-Ratio gibt es zw. 3 und 5 Adressbits zur> Zeilen-Adressierung.
Klar.
> Der Zahn der Zeit (🦷⏳) schrieb:>> Da steht auch "14 bits pro Farbe" - was soll das?>> Das ist Marketing-Blabla.>> Die Displays selbst haben keine Helligkeitsstufen.> Erst durch geeignete Ansteuerung (PWM) enstehen untersch. Helligkeiten.
So habe ich das auch verstanden.
Ich hoffe, die Adress- und Datenbits sind aufgedruckt, oder auf einem
mitgelieferten Dokument erkennbar.
Danke euch Beiden noch mal!
Der Zahn der Zeit (🦷⏳) schrieb:> Sind die 64x32 nicht eigentlich auch 2 x 32x32 (es gibt auch zwei> IDC-Verbinder)
Nein, an dem 2. Stecker wird das nä. Display angeschlossen.Das SR wird
dann entsprechend länger.
Die 64x32-Typen haben nur einen Satz RGB-Pins.
Hallo,
Datenblätter gibt es direkt nicht, die Ansteuerung selbst ist recht
einfach, allerdings variiert das Timing der Ansteuerung durchuas,
jenachdem welche Treiber ICs verbaut sind. Die Datenblätter zu diesen
sind im Netz zwar zu finden, sind aber recht unvollständig.
Ein brauchbares Bild habe ich auf die Schnelle jetzt nicht zustande
gebracht:
Matrix 64x64 (diese HUB75-Teile) und ein ESP32 D1 mini.
Unten 64x32 als Kaminfeuereffekt mit Wind usw., Anregung und Grundlage
war mal aus dem Arduino-Forum.
Darüber Morph-Clock und Datum, oben Laufschrift für Wetter, Meldungen
usw.
Dazu Webserver für die Config, MQTT-Client , Anzeige von CD-Cover seines
Mediaplayers (nutze ich hier nicht, ist mehr Spaß am Machbaren bei ihm
gewesen, 64x64 ist ja keine wirklich sinnvolle Auflösung dafür).
Bedingung war, daß alles ohne Aussetzer miteinander kombiert werden
konnte, das Feuer kann ja z.B. mit 50fps aktualisiert werden und da darf
keine LED falsch bei flackern, auch nicht wenn parallel die Uhr
aktualisiert oder oben die Laufschrift durchläuft. MQTT Events dürfen
genausowenig stören wie ein WLAN-reconnect usw.
Es ist ihm gelungen, läuft hier seit Monaten ohne einen Aussetzer.
Compiliert mit der ArduinoIDE, allerdings auch viele direkte
IDF-Funktionen genutzt.
Ich kann den Sourcecode durchaus als Archiv hier mal anhängern, ABER:
ich kann Fragen dazu nur sehr begrenzt beantworten und mein Bekannten
werde ich kaum überreden, hier im Forum aufzutauchen...
Gruß aus Berlin
Michael
Hier siehst Du Belegungen:
https://wiki.dfrobot.com/32x32_RGB_LED_Matrix_-_4mm_pitch_SKU_DFR0472https://learn.adafruit.com/32x16-32x32-rgb-led-matrix/new-wiringDer Zahn der Zeit (🦷⏳) schrieb:> Ich hoffe, die Adress- und Datenbits sind aufgedruckt, oder auf einem> mitgelieferten Dokument erkennbar.
Die Hoffnung stirbt zuletzt.
Vom freundlichen Chinesen bestellt, kannst Du Dich weder auf das Eine
noch das Andere verlassen. Das "Andere" eigentlich gar nicht,
Datenblatt? LOL
Und das "Eine", der Aufdruck nur mit Glück.
Die verkaufen nicht primär an Kunden, die an einem Tile herumbasteln
wollen, sondern an Kunden, welche mit den Tiles grössere Led-Wände
bauen, bei denen wird nur zusammengesteckt und konfiguriert. Was Du
daher in der Regel bekommen kannst ist die Konfigurationsdatei für die
Konfiguration der FPGA-Treiberkarten auf den Tile-typ. Alles andere
kannst Du vergessen.
Wenn Du mit brauchbarer Doku arbeiten willst, dann kauf das zweimal:
https://www.adafruit.com/product/607
Deutlich teurer als vom Chinesen, dafür aber dokumentiert und mit
weniger Frust in Betrieb zu nehmen.
Hallo,
die Belegung ist eigentlich einheitlich, R0/G0/G1 und R1/G1/B1 für die
Farben (Daten der Schiebergister). A/B/C/D/E Latchsignale für die
Zeilen, CLK der Takt für die Schieberegister, LATCH Übernahme für das
Zeilenlatch und OE Freigabe der Ausgangstreiber.
Je nach Modulgröße sind R1/G1/B1 nicht genutzt und je nach Zeilen-Mux
(8,16,32) beliben D und E ungenutzt.
Eine 64x64 Matrix kommt hier mit einem Steckernetzteil 5V/4A problemlos
zurecht.
P2,5 (2,5mm Abstand LED zu LED) ist selten zu finden, P3 für Innen noch
brauchbar, darüber wäre mir schon zu grob aufgelöst.
Bei Amazon findet man oft welche zu günstigen Preis mit Defekten, daß
muß man mit seinem Gewissen ausmachen. Da fehlt dann meist in einer Ecke
eine LED (Transportschäden?). Ich habe da z.B. 64x64 als 2er Pack für
unter 50€ gekauft und kann mit diesen Fehlern gut leben.
Gruß aus Berlin
Michael
Michael U. schrieb:> P2,5 (2,5mm Abstand LED zu LED) ist selten zu finden,
Kann ich nicht bestätigen, die Suche nach "p2.5 led" bringt mir 716
Treffer auf Aliexpress, wobei nicht alle "Treffer" wirklich treffen,
aber 3-4/5 davon sicher. Von "selten" kann nicht die Rede sein.
Michael U. schrieb:> die Belegung ist eigentlich einheitlich, R0/G0/G1 und R1/G1/B1 für die> Farben (Daten der Schiebergister).
Dass die Nomenklatur R0/R1... und der Latchadressen immer ähnlich sind,
liegt an der zugrunde liegenden Technik, den Schieberegistern mit
Multiplex. Dass die Belegung immer gleich ist, d.h. die immer auf der
selben Pinnummer liegen, darauf würde ich mich nicht verlassen.
Hallo,
MWS schrieb:> Dass die Nomenklatur R0/R1... und der Latchadressen immer ähnlich sind,> liegt an der zugrunde liegenden Technik, den Schieberegistern mit> Multiplex. Dass die Belegung immer gleich ist, d.h. die immer auf der> selben Pinnummer liegen, darauf würde ich mich nicht verlassen.
Naja, ich kann nur für die ca. 8 verschiedenen Displays (64x64 und
32x32) sprechen, die sind da alle identisch. Abweichend sind Anordnung
und Typ der ICs, Lage des 4pol. Stromanschlusses.
Die Datenverbinder waren bisher immer einheitlich belegt.
Gruß aus Berlin
Michael
Michael U. schrieb:> Die Datenverbinder waren bisher immer einheitlich belegt.
Einen Standard gibt's in China allein aus praktischen Gründen.
Das es zumindest nicht immer RGB lauten muss, sondern auch GRB oder BRG
sein kann, kann ich aus eigener Erfahrung mit den Modulen und den
Treiberkonfigurationen behaupten.
Harry L. schrieb:> Nein, an dem 2. Stecker wird das nä. Display angeschlossen.Das SR wird> dann entsprechend länger.
Ok, das hatte ich dann nach meinem letzten Post auch entdeckt. Das ist
ja auch naheliegend.
> Die 64x32-Typen haben nur einen Satz RGB-Pins.
Hier ist ein 64x64 (P2, also 2 mm Pitch - das ist mir sympathisch), das
von der Ansteuerung her offensichtlich wie 4 Stück 32x32 funktioniert:
https://de.aliexpress.com/item/4000162556267.html
Was mit dem Timing bei der Ansteuerung möglich ist, muss ich wohl
experimentell herausfinden. Mit viel Glück kann ich mit jedem
8-Bit-Transfer zum Port 6 Datenbits und ein Clock-Bit ausgeben. Das
würde bei mir doppelt so schnell gehen, als wenn ich Clock-Pulse in
Software separat erzeugen muss. Im Zweifelsfall wird es aber zumindest
mit einer ganz einfachen Verzögerung des Clock-Bits gehen, also ein
R-C-Schmitt-Trigger.
MWS schrieb:> Die Hoffnung stirbt zuletzt.
Das fürchte ich freilich auch.
Danke auch Michael, aber ich möchte - außer dem Display - weder nicht
selbst gemachte Hard- oder Software einsetzen, noch so komplexe Lösungen
anstreben, wie du sie hast.
Bei 1:32 wird der Gnd-Pin bei RGB2 als "E", also als das 5. Adressbit,
genutzt.
Michael U. schrieb:> Habe mir zum Spaß jetzt mal die bestellt:> https://de.aliexpress.com/item/33027153789.html
Das hat auch nur einen Ein- und Ausgang.
Tipp: Bei einem Link alles hinter dem Fragezeichen weglassen. Das
scheint alles nur für Tracking oder so ähnlich gedacht zu sein. Nicht
nur bei Ali.
MWS schrieb:> Diesen Store kann ich empfehlen:> https://de.aliexpress.com/store/314096
Tipp sehr willkommen!
Gruß aus der Nähe von Hannover
DZDZ
Der Zahn der Zeit (🦷⏳) schrieb:> Nun finde ich aber nur tolle Bilder vom Display, oder wie es in der> Firma des Herstellers aussieht, aber wie man so ein Display ansteuert,> scheint Allgemeinwissen zu sei - nicht der Rede Wert. Datenblätter???
Wenn's nicht unbedingt ein uC sein muss: Als ich mich mit dem Raspberry
Pi beschäftigt hatte, bin ich über dieses nette Projekt hier gestolpert.
https://github.com/hzeller/rpi-rgb-led-matrix
Der Zahn der Zeit (🦷⏳) schrieb:> Der Zahn der Zeit (🦷⏳) schrieb:>> Mit viel Glück kann ich mit jedem>> 8-Bit-Transfer zum Port 6 Datenbits und ein Clock-Bit ausgeben> Quatsch...
Kein Quatsch!
Genau so hab ich das mit dem FSMC gemacht.
Der NE-Pin dient dabei als Clk, und ich kann wunderbar schnell die Daten
via DMA in das Display schaufeln.
Harry L. schrieb:> Genau so hab ich das mit dem FSMC gemacht.
Das wird bei dir in Hardware möglich gewesen sein, aber die MSPs kennen
solche Schnittstellen nicht. Also muss ich in Software ein 6-Bit-Wort
zum Port transportieren, dabei wird ein 7. Bit (Clock) gelöscht, und
anschließend das 7. Bit setzen. Das sind je 5 Cycles, macht 1,6 MHz
Taktrate, wenn es linear programmiert ist.
2 Pixel pro Takt -> 1,28 ms + ein bisschen Overhead für ein 64x64
Pixel-Bild. Reicht doch vollkommen, sogar z. B. für 4 Helligkeitsstufen
(2 Bit) pro Pixel.