Forum: Mikrocontroller und Digitale Elektronik 64x20 programmierbares LED Netz (Umbau)


von Daniel S. (Gast)



Lesenswert?

Hallo,

ich besitze ein programmierbares LED Netz der Firma Tarrington House, 
das aus einer Matrix aus 1280 LEDs (64 waagerecht, 20 senkrecht) 
besteht.
Leider kann man bei dem Netz nur Texte aus einem festen 
Buchstaben-/Zeichensatz (keine Umlaute) zum Scrollen programmieren.
Die Programmierung erfolgt außerdem sehr umständlich (Zeichen für 
Zeichen) über eine Funkfernbedienung.
Immer, wenn ein anderer Text dargestellt werden soll, muss man zudem mit 
der umständlichen Programmierung von vorn anfangen.

Gern würde ich das Ganze etwas flexibler steuern können (WLAN, eigene 
Texte/Grafiken, Uhrzeit, Wetter, ggf. sogar via MQTT, ...).
Ich bin leider noch sehr unerfahren, habe mich aber mal bemüht und das 
Innenleben des Produktes etwas untersucht.

Im Ergebnis kam ich (zumindest, was die direkte Ansteuerung des LEDs 
Netzes betrifft) zum hier angehangenen Schaltplan.
Der Rest auf dem Board dürfte noch der Controller, der Empfänger der 
Fernbedienung und diverses Spannungs-Gedöns sein.
Ich habe im Schaltplan allerdings nur exemplarisch einen Teil der LEDs 
(3 Zeilen, 12 Spalten) dargestellt.

Meiner Erkenntnis nach steuren die HC138 (1-of-8 Decoder/ Demultiplexer 
) die Zeilen und die TM1818 (ist baugleich STP16C596, oder?) die Spalten 
der Matrix.
Was denkt Ihr, wäre es möglich, die Verbindungen (im Schaltplan J1, J2, 
J4 und J5), die auf der Platine von den 4 TM1818 und den 3 HC138 zum 
Controller gehen, zu kappen und völlig anders (z.B. von einem ESP32) 
ansteuern zu lassen?
Aufgefallen ist mir, dass die 4 TM1818 scheinbar als 2 Pärchen vom 
vorhandenen Controller gesteuert werden. Sollte/könnte man die besser 
als eine einzige Gruppe hintereinander schalten und an den ESP32 
anbinden? Würde das dann ggf. eine Programmierung vereinfachen?

Das Netzteil zum Produkt liefert 12V (Wechselspannung) und nur 830mA. 
Lässt das Aussagen zur Art und Weise des vom Hersteller verwendeten 
Multiplexings zu?

Ich würde mich über zahlreiche Ideen, Tipps, Vorschläge, ... sehr 
freuen.
Auch hinsichtlich einer möglichen Programmierung (Arduino) habe ich noch 
keinen Plan. Ich habe bisher höchstens mal ein paar vorgegebene Sketche 
etwas verändert.

Vielen Dank und viele Grüße...

von K. S. (the_yrr)


Lesenswert?

Daniel S. schrieb:
> Was denkt Ihr, wäre es möglich, die Verbindungen (im Schaltplan J1, J2,
> J4 und J5), die auf der Platine von den 4 TM1818 und den 3 HC138 zum
> Controller gehen, zu kappen und völlig anders (z.B. von einem ESP32)
> ansteuern zu lassen?
natürlich geht das, passende Anzahl von Pins und Geschwindigkeit 
vorausgesetzt. Die TM1818 könntest du über Hardware SPI mit DMA 
betreiben falls dein µC mindestens zwei davon hat, das macht vieles 
einfacher / schneller.


> Aufgefallen ist mir, dass die 4 TM1818 scheinbar als 2 Pärchen vom
> vorhandenen Controller gesteuert werden. Sollte/könnte man die besser
> als eine einzige Gruppe hintereinander schalten und an den ESP32
> anbinden? Würde das dann ggf. eine Programmierung vereinfachen?
alle hintereinander machts Einfacher, aber auch langsamer, eventuell 
wirds dann etwas mehr flackern.

"Einfach" wäre wie gesagt zwei Hardwarre SPI für die TM181 und ein 
zusammenhängender Port (bleiben halt drei Pins unbenutzt) auf dem du 
J1und J2 über ein Byte direkt setzten kannst. Dies dann auch per Timer 
und DMA. Ansonsten hast du im eigentlichen Programm recht schnell Timign 
Probleme.

64 Reihen * z.b. 100Hz sind zwar nur 6.4kHz Aktualisierungsrate, aber 
ohne Interrupts/DMA wird dir jede WLAN oder ähnlich Funktionalität 
heftige Glitches verursachen. Alternative wären halt zwei µC bzw. ein 
Dualcore, wobei das etwas Overkill ist, da ja nur ein DMA benötigt wird.

> Das Netzteil zum Produkt liefert 12V (Wechselspannung) und nur 830mA.
> Lässt das Aussagen zur Art und Weise des vom Hersteller verwendeten
> Multiplexings zu?

nicht wirklich. nimm 12V und häng die über z.b. 1kOhm an eine beliebeige 
Zeile/Spalte im Lichtnetz. Dann miss die Spannung nur über die LEDs, 
falls dir das wichtig ist. Ansonsten gibts doch nichts Unbekanntes, oder 
sehe ich da was nicht?

von Daniel S. (Gast)


Angehängte Dateien:

Lesenswert?

Vielen Dank.

Leider kenne ich mich mit den speziellen Sachen/Protokollen wie SPI, DMA 
und so noch nicht wirklich aus.

Ich dachte bei dem ganzen Vorhaben speziell z.B. an einen ESP32, weil 
der ja theoretisch hierfür genug GPIOs hätte und zudem über WLAN 
kommunizieren könnte, um z.B. online Uhrzeit, Wetter oder andere 
Informationen zu holen und auf dem LED-Netz durchzuscrollen.

Über kritisches Timing und die diesbezügliche Leistungsfähigkeit der 
"normalen" GPIOs eines ESP32 habe ich zugegeben noch nicht nachgedacht.

Ich habe sowas kürzlich mal mit einem Node D1 Mini (ESP8266) und MAX7219 
Dot Matrix Displays gemacht. Das war natürlich relativ einfach.

Möglicherweise gibt es ja für die hier bereits verbauten ICs auch schon 
irgendwelche Bibliotheken,  die das Programmieren eines entsprechenden 
Sketches in der Arduino IDE verständlich und handhabbar machen.

Was das Netzteil, dessen Leistung und das Multiplexing angeht hatte ich 
nur überlegt, wie viele LEDs im gesamten LED-Netz wohl wirklich 
zeitgleich leuchten.

Wird zeilenweise durchgeschaltet? In etwa so:
J1 und J2 so belegt, dass an den HC138 Zeile 1 über den Mosfet aktiv 
wird. Zeitgleich dazu die TM1818 so über J4 und J5 mit Daten gefüttert, 
dass alle benötigten LEDs in dieser Zeile leuchten. Dann das Ganze für 
die nächste Zeile.
Das würde aber bedeuten, dass im Extremfall 64 LEDs gleichzeitig 
parallel leuchten könnten. Das wäre doch wie eine Parallelschaltung der 
gerade leuchtenden LEDs, oder? Würden denn da 830mA vom Netzteil 
ausreichen?

von MaWin (Gast)


Lesenswert?

Daniel S. schrieb:
> ich besitze ein programmierbares LED Netz der Firma Tarrington House

Ganz schön schfottig. Die TM1818 schaffen nur 60mA und sind sogar auf 
nur 25mA eingestellt, die sich auf die 20 Zeilen verteilen, also 
erscheinen die LEDs so dunkel als ob sie mit 1mA durchflossen werden.

Daniel S. schrieb:
> Das Netzteil zum Produkt liefert 12V (Wechselspannung) und nur 830mA

Was zusammen trotzdem 1.28A wären, also dürfen nichtmal alle leuchten, 
Buchstaben gehen jedoch, aber nicht invers.


Klar kannst du die Schaltung über die Stecker J1-J5 direkt von einem ESP 
ansteuern lassen (ohne Umverdrahtung), achte auf genug RAM im 
Mikrocontroller.

Aber eigentlich ist die Schaltung Schrott, die LEDs könnten in einer 
ordentlichen Schaltung mit 1:5 Multiplex statt 1:20 und 16 CAT4016 
Treibern gut 20 x heller leuchten, also tageslichttauglich statt nur 
schattentauglich sein. Dann braucht man aber auch ein 26A Netzteil.

Nimm ein 5V/4A (Schalt)Netzteil und ändere die 680 Ohm Widerstände auf 
270 Ohm, damit wenigstens etwas von der Hardware nutzbar wird, mittlere 
Helligkeit wie 3mA erreicht wird.

von MaWin (Gast)


Lesenswert?

Achso, die MOSFETs Q1 etc. müssen dann auch 4A statt 1.28A schalten 
können.

von Daniel S. (Gast)


Lesenswert?

Besten Dank für die Ausführungen/Anregungen!

Tja, was soll man hinsichtlich der Qualität sagen? Ist halt aus Asien. 
;)

Mit einer geringen Helligkeit hatte ich bisher nicht mal das Problem. 
Das darf auch ruhig so bleiben. Das Netz läuft eh meist zur 
Weihnachtszeit und dann abends/nachts. So gehen wenigstens die LEDs 
nicht kaputt, was man von vielen übersteuert hellen Lichterketten aus 
China ja nicht sagen kann.

Interesaant wäre für mich als absoluter Laie noch, wie etwa der Arduino 
Code für die im Schaltplan dargestellte Konstellation aussehen würde, 
wenn man zum Beispiel ein einfaches Wort darstellen wollte.

Wie gesagt - an einem (bereits vorgegebenem) Sketch für ESP8266 + 
MAX7219 Dot Matrix habe ich ja schon rumgebastelt. Aber so ein MAX7219 
erledigt das Multiplexing ja quasi selbst und wird auch durch fertige 
Bibliotheken unterstützt.
Bei den Schieberegistern und Decodern hier sieht das ja garantiert etwas 
anders aus, und das Multiplexing muss noch explizit programmiert werden.

von MaWin (Gast)


Lesenswert?

Daniel S. schrieb:
> Interesaant wäre für mich als absoluter Laie noch, wie etwa der Arduino
> Code

Du möchtest das User-Interface zur Programierung der Inhalte der 
Laufschrift besser und leistungsfähiger gestalten als es die Chinesen 
hinbekommen haben, kriegst aber nichtmal den simplen und auch von den 
Chinesen problemlos schaffbaren Multiplexcode hin ?

Meinst du nicht, daß du dir die falsche Aufgabe gesucht hast ?

Beitrag #6142783 wurde von einem Moderator gelöscht.
von c-hater (Gast)


Lesenswert?

WinMa schrieb im Beitrag #6142783:

[Blödsinn]

MaWin hat völlig recht. Wenn der TO nicht mal in der Lage ist, ein 
einfaches Multiplexing zu programmieren, kann er auch sonst rein garnix 
(außer vielleicht zusammengeklauten Code notdürftig zusammenzuleimen).

Und wenn sich so einer über die Leistungen der Chinesen aufregt (die 
immerhin was Lauffähiges gebacken bekommen haben), ist das einfach nur 
noch lächerlich.

: Wiederhergestellt durch Moderator
von Daniel S. (Gast)


Lesenswert?

MaWin (Gast) und  c-hater (Gast),

vielen Dank, Ihr habt mir richtig Mut gemacht, hier Fragen zu stellen. 
Daumen hoch! Von Euch kann man echt viel lernen.

Und es tut mir wirklich leid, dass ich nicht selbst - wie Ihr beide - 
gleich als Genie geboren wurde. Bitte verzeiht mir!

Eine brauchbare Lösung habt Ihr leider nicht geboten - nur herablassende 
Sprüche. Danke dafür!

Über die Chinesen habe ich ünrigens nicht gelästert - nur gesagt, dass 
so einige der LEDs an den schönen hellen Lichterketten oft auch schon 
bald ganz dunkel bleiben.

Das hier besprochene Produkt ist für mich soweit OK. Inzwischen gibt es 
aber möglicherweise technische Möglichkeiten, das Ganze mit etwas 
konstruktivem KnowHow noch besser zu gestalten.

Außerdem klaue ich keinen Code zusammen. Ich bewundere die, die das 
alles mehr oder weniger aus dem Ärmel schütteln. Von MaWin (Gast) und 
c-hater (Gast) kann ich das nicht sagen - da kam ja noch nicht wirklich 
etwas, das einen weiter bringt.

Aber MaWin (Gast) und  c-hater (Gast): Zeigt doch mal, dass Ihr es außer 
abwertenden Sprüchen besser könnt! Ich bin voller Erwartungen.

Danke!

Beitrag #6142975 wurde von einem Moderator gelöscht.
Beitrag #6143040 wurde von einem Moderator gelöscht.
Beitrag #6143061 wurde von einem Moderator gelöscht.
Beitrag #6143091 wurde von einem Moderator gelöscht.
Beitrag #6143148 wurde von einem Moderator gelöscht.
von Stephan (Gast)


Lesenswert?

Es ist doch immer wieder schön zu sehen wie Leute die von Elektronik und 
Programmierung 0 Ahnung haben, Morgens aufstehen und fest stellen ich 
muss eine Mondrakete bauen. Also TicToc und Youtube konsultiert und dann 
einen Arduino bestellt. Jetzt stehen sie da und kommen nicht weiter. Da 
muss also ein Forum ran. Wenn sie jetzt zu verstehen bekommen das es 
nicht in 10 Min erledigt ist, sind die unsozialen Forumsuser Schuld. :-o

Du hast Glück....
Bis es Abends wieder bei Zeiten dunkel wird und Du deine Lichtermatrix 
benutzen kannst hast Du einige Monate Zeit Dich mit Programmierung und 
Elektronik zu beschäftigen. Kaufe Dir eine gutes Bich über Elektronik 
und eines über Programmierung. Wenn du die fleißig liest hast Du gute 
Chancen damit bis Weihnachten fertig zus ein. Ja sowas schütten nur 
Leute aus dem Ärmel die das was Du noch machen musst schon seit vielen 
Jahren machen und auch noch jeden Tag dazulernen. Also auf gehts.

von Daniel S. (Gast)


Lesenswert?

OK, ich merke schon, hier gibt's nichts mehr zu lernen, außer, daß man 
das Forum erst benutzen darf, wenn man schon recht viel Ahnung hat. 
Vielen Dank.

Dann werde ich mich mal wieder aus diesem Forum zurückziehen und 
komplett auf Selbststudium umschalten. Ggf. finde ich ja ein Buch von 
jemandem, der darin neben Theorie auch gesammelte Erfahrungen teilt.
Oder bestimmt gibt es auch Foren, wo die Zahl der Lehrer und 
Zurechtweiser etwas niedriger ist.

Meinetwegen kann der Thread von einem Moderator gelöscht werden.
Für andere User gibt's ja außer den ersten paar Beiträgen auch nicht 
wirklich was mitzunehmen.

Ciao...

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.