... aber dieses Mal die Frage an jemanden, der so ein Ding (oder auch
eins mit anderer Größe, natürlich) hat: Ist erkennbar, wie die
verwendeten Zeilen- und Spaltentreiber heißen? Also nicht IC1, IC2
etc... 😉 Die sind auf den Fotos ja leicht zu identifizieren, aber nicht
ihre Beschriftung. Dann gibt es noch ein paar wenige ICs mehr,
vielleicht Leitungstreiber oder Adressdecoder.
Es schließt sich dann die Frage an, ob es Unterlagen zu diesen ICs gibt.
Das wäre aber erst der nächste Schritt. (Nein, ich will kein Display
nachbauen...)
Der Zahn der Zeit (🦷⏳) schrieb:> so ein Ding
Welches Produkt meinst du denn mit "so ein Ding"?
Soll sich jetzt jeder eins aussuchen und einen Aufsatz schreiben? Was
bekommt denn der Gewinner, der richtig geraten hat?
Du bist lange genug dabei, um zu wissen, wie man vernünftig Fragen
stellt.
Gibt es mehr als ein Ding, für dass die Bezeichnung "LED-Matrix 64 x 32
aus China" (oder auch eins mit anderer Größe) zutrifft?
Wer so ein Ding da hat, weiß, was gemeint ist. Und die anderen können
gar nicht antworten.
Ich erwarte nicht, dass auf den verschiedenen Produkten unterschiedliche
ICs sind. Und wenn doch, ist auch ok - ich will nur wissen, was das für
welche sind. Das wird kein Aufsatz - es ist das Nennen von genau 2
IC-Bezeichnungen.
Ich sehe nicht, dass irgendwas an der Frage unvernünftig oder
unvollständig ist.
Ok, du kennst so ein Ding also nicht, demnach hast du auch keins. Die
Frage war daher explizit nicht an dich gerichtet. Also zu deiner Info
folgendes Beispiel:
https://de.aliexpress.com/item/32514844235.html
Hallo,
74HCT245 als Treiber an den Datenein-/ausgängen.
FM6124 LED-Treiber 16 Kanal-Konstantstromausgang
TC7262A PMOS Treiber On-Widerstand 120 m Ω, der maximale Strom 2.5A
als Beispiel eines meiner Displays. Datenblätter (in chinesisch) sind im
Netz, ansonsten kann man auch einfach z.B. mal in die Arduino
FastLED-Sourcen schauen, dann hat man auch Beispiele zum Timing der
Ansteuerung.
Ist ja nicht so, daß noch niemand die Dinger benutzt hat...
Gruß aus Berlin
Michael
Der Zahn der Zeit (🦷⏳) schrieb:> Gibt es mehr als ein Ding, für dass die Bezeichnung "LED-Matrix 64 x 32> aus China" (oder auch eins mit anderer Größe) zutrifft?
Natürlich.
Der Zahn der Zeit (🦷⏳) schrieb:> Ich erwarte nicht, dass auf den verschiedenen Produkten unterschiedliche> ICs sind
Sind sie aber.
Manche verwenden 74HC595 mit Widerständen, andere TPIC6B595, wieder
andere DM13A oder ähnliche Konstantstromtreiber. Softwaretechnisch sind
es aber immer Schiebetegister ohne PWM, können also nur ein/aus.
Spaltenansteuerung erfolgt entweder über Decoder wie 74HC138 oder
Schieberegister wie RT5957.
Der Stecker ist HUB75, die Belegung ist aber je nach Organisation
teilweise unterschiedlich.
Hallo,
MaWin schrieb:> Manche verwenden 74HC595 mit Widerständen, andere TPIC6B595, wieder> andere DM13A oder ähnliche Konstantstromtreiber. Softwaretechnisch sind> es aber immer Schiebetegister ohne PWM, können also nur ein/aus.> Spaltenansteuerung erfolgt entweder über Decoder wie 74HC138 oder> Schieberegister wie RT5957.
Ist mir bei den angesprochenen Anzeigemodulen noch nie begegnet. Bei mir
und einem Bekannten sind wohl 5 Stück in Nutzung, 64x32 oder 64x64. Alle
nutzen obige Bestückung, allerdings sind die Treiber ICs duchaus
verschiedene Typen, aber mit prinzipiell identischer Funktion, nur das
Timing bei CLK/STB/OE war etwas abweichend.
Natürlich wird es auch andere Sachen an HUB75 geben, ich bezieh mich
hier nur auf die vielfach angebotenen Matrix-Module nach denen der TO
gefragt hat.
Gruß aus Berlin
Michael
Stefan ⛄ F. schrieb:> Davon 8 Stück, dann hast du 64x32 Pixel.
aber nix mit RGB. Die Module die der TO meint sind für größere
Videowände, da wird man mit den kleinen MAX7219 Modulen nicht glücklich.
Große Klasse, viele informative Antworten 😊😊😊! Danke.
Ich hatte befürchtet, dass, selbst wenn die Bezeichnungen zu erkennen
sind, das nichts nützt, weil es undokumentierte in China für den
Eigenbedarf hergestellte ICs sind. Bist auf "undokumentiert" ist es auch
so, denn die Daten sind zu finden! Allerdings in chinesisch, aber
trotzdem verständlich. Und der Rest ließe sich leicht so zu übersetzen,
dass man versteht, was gemeint ist.
74HC595 mit Widerständen würde man auf den Fotos von den Rückseiten, die
es in den Angeboten gibt, erkennen. Da habe ich es auch noch nie
gesehen. Ich glaube, MaWin hat sich auch geirrt, denn in dem Text steht:
"So, on the PCB is 12 LED driver chips. These are like 74HC595s but they
have 16 outputs and they are constant current."
Lange Videos mag ich nicht, aber das mit der Reparatur war technisch gut
gemacht und informativ.
Ich habe 2 Stück 64x32 P4 bestellt und werde die mit einem MSP430 mit 8
kByte RAM ansteuern. Kein Adafruit, Raspi, ESP.... Eigene Hardware. Mit
den Datenblättern kenne ich jetzt die Setuup- und Hold-Zeiten etc.. Es
ist angenehmer, zu wissen, dass es klappen wird, als es nur zu vermuten.
4 Helligkeitsstufen müssten bei dieser Hardware darstellbar sein.
Der Zahn der Zeit (🦷⏳) schrieb:> Da habe ich es auch noch nie gesehenhttps://cassiopeia.hk/iotclock/
Es ist immer die Frage, welche Schaltung zum Herstellungszeitpunkt am
billigsten zu realisieren ist.
ICN2037, ICN2038S, FM6124, MBI5124 etc. sind heute verbreitet.
Hallo,
die Grundhelligkeit kann in meiner Anzeoge in 10 Stufen zwischen 0 und
100% eingestellt werden.
Das Lagerfeuer wird mit 256 Stufen berechnet, subjektiv dürften es wohl
64 Helligkeitsstufen sein.
Man kann auf den Displays ja schließlich in der realen Nutzung Filme
abspielen.
Was ist "keine eigene Hardware"? Ob ein MSP430 oder eben ein ESP32 die
Daten rausschiebt ist ja letzlich egal. Die Daten müssen eben schnell
genug bereit stehen und schnell genug rausbefördert werden.
Gruß aus Berlin
Michael
Michael U. schrieb:> Die Daten müssen eben schnell> genug bereit stehen und schnell genug rausbefördert werden.
"Schnell genug" kann sehr schnell sein. Wenn man da keine passende
Hardware mit entsprechender Schnittstelle hat, ist nicht viel drin:
Um ein übliches 64 x 32-RGB-Display mit 1:16 zu füttern, müssen 2 x 1024
LEDs je 3 Bit, also 6 Bit -> 1 Byte ausgegeben werden.
Wenn ich z. B. 8 Bit Helligkeitsinformation darstellen will, muss das
256-mal innerhalb einiger ms geschehen, also bei 100 Hz Auffrischrate
innerhalb 10 ms.
1024 * 256 = 262144 Byte in 10 ms = 26214400 Hz (26 MHz). Das geht, wenn
eine entsprechende Schnittstelle vorhanden ist, als z.B. mit einem
FPGA, aber bestimmt auch bei einigen µCs per DMA. Mit dem FPGA ließen
sich die Ausgabedaten in Echtzeit berechnen, bei µCs, mit oder ohne DMA,
müssen sie in einem Bildwiederholspeicher passend vorbereitet werden.
Das ist ein Haufen Bit-Fummelei.
"Eigene Hardware": Ich habe zufällig ein selber gemachtes Board,
ursprünglich als TQFP-auf-DIL-Adapter für einen MSP430F233 entworfen,
aber mit Zubehör wie 3,3V-Stabi, Oszillator, Spy-by-Wire etc.. Auf den
passt auch ein Pin-kompatibler MSP430F2618, der viel mehr RAM hat. Mit
diesem MSP430 muss ich die Schnittstelle aber in Software machen und
komme damit auf nur ca. 1,8 MHz bzw. weniger, weil zwei Displays
angesteuert werden sollen. Aber ich habe auch nichts vor, wofür mehr als
4 Helligkeitsstufen erforderlich wären. Viel Kapazität zum Berechnen
eines Bildes und Aufbereitung zur Ausgabe bleibt auch nicht. (Ich weiß
noch nicht einmal genau, was ich überhaupt machen werde... Ich will doch
nur spielen...)
Hallo,
Der Zahn der Zeit (🦷⏳) schrieb:> 1024 * 256 = 262144 Byte in 10 ms = 26214400 Hz (26 MHz). Das geht, wenn> eine entsprechende Schnittstelle vorhanden ist, als z.B. mit einem> FPGA, aber bestimmt auch bei einigen µCs per DMA. Mit dem FPGA ließen> sich die Ausgabedaten in Echtzeit berechnen, bei µCs, mit oder ohne DMA,> müssen sie in einem Bildwiederholspeicher passend vorbereitet werden.> Das ist ein Haufen Bit-Fummelei.
Beim ESP32 wird über 8 I2S-Kanäle per DMA ausgegeben. I2S Takt ist
20MHz, mehr schaffen die Anzeigen wohl nicht. AdafruitGfx nutzt die
FastLED-Lib wegen der Kompatibilität der Grafikaufrufe. Intern wird mit
RGB565 gerechnet.
Ich habe mich da aber nicht komplett durchgewühlt...
Warum ESP32? Weil er billig ist, weil er hier rumliegt, weil er trotz
einiger Ungereimtheiten einiges an interner Hardware und Rechenleistung
bietet.
Der Zahn der Zeit (🦷⏳) schrieb:> (Ich weiß> noch nicht einmal genau, was ich überhaupt machen werde... Ich will doch> nur spielen...)
Warum sollte es Dir besser gehen als mir (und auch meinem Bekannten)?
;-)
Gruß aus Berlin
Michael
Michael U. schrieb:> Beim ESP32 wird über 8 I2S-Kanäle per DMA ausgegeben.
8-kanalig I2S, also 16 Audiokanäle kann der? Und ein Takt & Sync für
alle 8 Kanäle? Das wäre sehr interessant für eine andere Baustelle.
Mir geht es gut. Ich hoffe, dir nicht schlechter...
Hallo,
Der Zahn der Zeit (🦷⏳) schrieb:> Michael U. schrieb:>> Beim ESP32 wird über 8 I2S-Kanäle per DMA ausgegeben.> 8-kanalig I2S, also 16 Audiokanäle kann der? Und ein Takt & Sync für> alle 8 Kanäle? Das wäre sehr interessant für eine andere Baustelle.
Ich habe mir da die Hardware nicht so genau angeschaut, ganz unabhängig
dürfte das nicht sein, schon wegen der nötigen Pins.
I2S kann doch meines Wissens nach sowieso mehr als 2 Audiokanäle
ausgeben, TDM-Mode? Damit habe ich aber noch nichts gemacht.
Gruß aus Berlin
Michael
Michael U. schrieb:> I2S kann doch meines Wissens nach sowieso mehr als 2 Audiokanäle> ausgeben, TDM-Mode? Damit habe ich aber noch nichts gemacht.
I2S mache ich oft, nächstes Ziel ist 4 x I2S in den Prozessor und 4 x
I2S aus ihm heraus (8 + 8 Kanäle). Ein PIC32MZ kann das prinzipiell,
wobei ich die Firmware nicht selber mache. Aber das sind auch nur 4
Datenleitungen zur Ausgabe, das würde auch mit dem PIC auch mit SPI
gehen. Die Displays wollen aber 6 Datenleitungen + 1 Clock, I2S hilft da
wenig. Auch TDM ist nicht nur 2, sondern viele Kanäle auf einer
Datenleitung.
Grüße aus der Nähe von Hannover
DZDZ
Hallo,
@Der Zahn der Zeit (🦷⏳) (Gast): ok, da hatte ich Dich bei I2S
mißverstanden, ich dachte, Du warst da bei echter Audioausgabe.
Für die Displays werden I2S Daten für R0/G0/B0/R1/G1/B1 mit gemeinsamen
Clock genutzt. Wie der Rest da gemappt ist, müßte ich mir mal anschauen,
ich habe nur grob in den Source der Lib reingeschaut.
Gruß aus Berlin
Michael
Ich kann und will den Faden (aka Thread) noch mal weiter spinnen. Mein
Spieltrieb ist weitgehend befriedigt, die Erfahrung gesammelt, alles
funktioniert, nur wollte ich es jetzt deutlich "hübscher" machen und
statt zwei P4-Displays 64 x 32 zwei P2-Displays 128 x 64 ansteuern.
Die sollten lt. Hersteller 1 : 32 gemultiplext sein. Logisch, geht mit
HUB75 nicht anders. Sie sind heute gekommen, und nun mache ich ein
(überdurchschnittlich) dummes Gesicht:
1 : 32 gemultiplexte Displays haben 5 Zeilenadressen, A, B, C, D und E.
Diese Displays haben nur 3! Adressen: A, B und C. Die Pins für D und E
sind sowohl auf dem Bestückungsdruck als Masse dokumentiert (s. Foto),
als auch tatsächlich nach Masse kurzgeschlossen.
Also dachte ich "dann haben die wohl 512 Pixel lange Schieberegister für
je 4 statt für nur eine Zeile - wie soll das sonst gehen?". Aber es gibt
nur Schieberegister-ICs für 128 Spalten bzw. LEDs, also für nur eine
Zeile (s. Foto)!
Technisch scheint mir das unmöglich. Außer den 2 x 3 x 8
16-Bit-Schiebergistern (ICND2038S) gibt es noch 3 74'245-äqivalente
Bustreiber (MW245) und, auf dem Foto nicht sichtbar, 8 ICs im
SO16-Gehäuse, vermutlich äquivalent zu z. B. SM5166, die die
Zeilentreiber sein müssen. Weil sie abgedeckt sind, kann ich auch ihre
Beschriftung nicht erkennen. Wenn die nicht noch irgendeinen
Zeilenzähler o. ä. haben, kann das Ganze doch gar nicht nicht gehen. Und
selbst wenn es so einen Zeilenzähler gäbe, bräuchte der ein Reset-Signal
von der Steuerung.
Sollte zufällig jemand die Lösung kennen - das wäre schön. Vielleicht
finde ich sie auch selber oder der Hersteller hilft. Im Moment habe ich
keine Zeit, das zu erforschen. Eigentlich hätten die Displays sofort mit
der vorbereiteten Ansteuerung laufen sollen.
DZDZ
Peter D. schrieb:> Ist es denn wieder so unsäglich schwer, einen Link darauf zu posten?
nein,
aber so kann der Hilfesuchende erkennen wer sich Mühe gibt oder er
trollt nur oder ist dusslig oder er ist Salamivertreter.
Peter D. schrieb:> Der Zahn der Zeit (🦷⏳) schrieb:>> zwei P2-Displays 128 x 64 ansteuern.>> Ist es denn wieder so unsäglich schwer, einen Link darauf zu posten?
Wo drauf???? Auf das Angebot? Glaubst du ernsthaft, dass des dort mehr
Informationen gibt, als das, was ich hier schreibe???
Hallo,
Der Zahn der Zeit (🦷⏳) schrieb:> Wo drauf???? Auf das Angebot? Glaubst du ernsthaft, dass des dort mehr> Informationen gibt, als das, was ich hier schreibe???
naja, andere Bilder eines solchen Displays zeigen eindeutig D und E in
der Beschriftung...
Gruß aus Berlin
Michael
Michael U. schrieb:> naja, andere Bilder eines solchen Displays zeigen eindeutig D und E in> der Beschriftung...
Das stimmt. Es geht ja auch gar nicht anders. Deswegen habe ich das Foto
gemacht. Bilder mit nur 3 Adressleitungen habe ich noch nie gesehen
(müssten aber bei 16-zeiligen Displays zu finden sein.) Und die Fotos
vom Anbieter haben ohnehin nichts mit den tatsächlichen Produkten zu
tun, selbst auf seiner Angebotsseite sind widersprechende Fotos zu ein
und dem selben Produkt zu finden :-( Bei anderen Anbietern ist das auch
nicht anders.
Aber das ist hier nicht das Thema(!). Trotzdem, nur damit ich beweisen
kann, dass im Angebot tatsächlich 32:1 steht:
https://de.aliexpress.com/item/4000029775879.html
Der Zahn der Zeit (🦷⏳) schrieb:> Bilder mit nur 3 Adressleitungen habe ich noch nie gesehen
Mein Display (64x64) hat auch 1:8 Multiplexing (A,B und C)
Die Schieberegister sind 256 Bit lang (4 Zeilen)
Die 1:8 sind allerdings primär für Outdoor-Einsatz gedacht (brutal
hell!)
Für Indoor würde ich auf 1:32 Wert legen!
Harry L. schrieb:> Mein Display (64x64) hat auch 1:8 Multiplexing (A,B und C)> Die Schieberegister sind 256 Bit lang (4 Zeilen)
Das ist interessant! Demnach müsstest du also 2 x 3 x 256
Spaltentreiber, also 6 x 16 = 96 von den 24-poligen ICs haben?
Nach diesem Verfahren müssten es bei mir 192 davon sein, es sind bei mir
aber nur 48.
Der Zahn der Zeit (🦷⏳) schrieb:> Das ist interessant! Demnach müsstest du also 2 x 3 x 256> Spaltentreiber, also 6 x 16 = 96 von den 24-poligen ICs haben?>> Nach diesem Verfahren müssten es bei mir 192 davon sein, es sind bei mir> aber nur 48.
Keine Ahnung!
Ich hab nie die Chips gezählt, aber das auszuprobieren (mit nur 1
Zeile!) ist ja wahrlich kein Hexenwerk.
Das musste ich bei meinem Display auch erst herausfinden.
Zum Testen, einfach 64 rote, danach direkt 64 blaue Pixel usw.....
Dann siehst du sofort wie das läuft.
Dazu muß man auch nicht multiplexen.
Harry L. schrieb:> Zum Testen, einfach 64 rote, danach direkt 64 blaue Pixel usw.....>> Dann siehst du sofort wie das läuft.> Dazu muß man auch nicht multiplexen.
Das ist auch mein Plan. Den kann ich aber nicht kurzfristig verfolgen.
Ich habe mir ein bisschen Zeit genommen (mehr, als ich mir leisten
will), und bin ein bisschen weiter gekommen:
Es gibt Displays, allerdings offensichtlich relativ selten, bei denen
die Row-Adressen nicht parallel (ABCDE), sondern seriell gesendet
werden. Ein einfaches Schieberegister müsste reichen, nur Clock und
Data, noch nicht einmal Ausgangs-Register wie in der '595, oder
-Latches, wären erforderlich. Ein dafür in Frage kommendes IC kann ich
aber auf meinen Displays nicht entdecken. Es müsste sich schon verdammt
gut verstecken.
Wie das seriell genau geht, weiß ich noch nicht. Vielleicht finde ich
das später mit Versuchen heraus, vielleicht auf einem anderen Weg. Zum
Beispiel, wenn mir jemand den Code, den offensichtlich Henner Zeller,
der hier schon öfter verlinkt wurde, für einen Raspi geschrieben hat:
https://github.com/hzeller/rpi-rgb-led-matrix, Stichwort "led-row-addr".
Es ist nicht meine Welt, mich dort selber zu vertiefen. C kann ich
bestenfalls rudimentär. (Ich fürchte, das gibt wieder böse Kritik... die
muss ich dann ignorieren:-)
DZDZ