Hallo LED-Matrix-Spezialisten, ich habe eine Frage, die ihr vermutlich schnell beantworten könnt. Habe bestimmt schon 5-8 Stunden gebraucht und nichts gefunden. Im Artikel LED-Matrix gibt es einen Satz: "Ob man die Zeilen oder Spalten einer Matrix multiplext ist im Prinzip egal, aber manchmal ist es schlicht logisch sinnvoller. So ist z.B. bei einer LED-Laufschrift mit 8 Zeilen und 40 Spalten es sinnvoll, die Zeilen mit 1:8 zu multiplexen und nicht die Spalten mit 1:40!" - Was bedeutet "sinnvoller" in dem Beispiel Matrix 8x40 LEDs? - Was gewinnt man dabei oder wie spürt die LED ob sie in dem Zeilenmultiplex- oder Spaltenmultiplexbetrieb betrieben wird? Fließt durch sie weniger Strom? Irgendwie finde ich "sinvoll" nicht heraus? Jede LED leuchtet in beiden Betrieben doch für die gleiche Zeit auf, muss also der gleiche Strom fließen, oder? Oder spürt nur der Treiber etwas, ob LEDs in dem oder anderen Modus betrieben werden? Ich komme einfach nicht darauf! :-(
> Irgendwie finde ich "sinvoll" nicht heraus? Datenblatt der LED lesen. Da eine LED im 1:8 Multiplex mit dem 8-fachen Strom des normalen versorgt werden muß, bei 1:40 Multiplex jedoch mit dem 40-fachen Strom (den sie nicht aushält), ist das 1:8 Multiplex nicht nur sinnvoller, sondern schlicht nötig wenn man eine halbwegs erträgliche Displayhelligkeit haben will. Auch ein 16 x 16 LED-Feld mit man 8 x 32 mit 1:8 Multiplex organisieren, weil die meisten LEDs nur den 10-fachen Strom aushalten, blau ist oftmals noch schlechter.
Hallo Leute, ich bin mal so frei und häng mich an diesen Post dran.. Mir ist zwei Sachen fundamental unklar im LED-Matrix Artikel. 1. Dort steht folgender Satz: "Der Trick einer LED-Matrix besteht darin, dass jeweils immer nur eine Spalte wirklich leuchtet. Die anderen sind ausgeschaltet [...]". Ich dachte, der Gag einer LED-Matrix wäre, dass man eben jeden "Pixel" bzw. jede LED einzeln ansteuern kann, und nicht nur Spaltenweise. Evtl. ist das aber auch nur schlecht beschrieben. 2. Frage_ Wenn wir mal von einer 3x3 Matrix ausgehen, so benötige ich dafür i.d.R. 6 IO-Ports am Mikrocontroller. An jedem der Ports hängen 3 LEDs (z.B. 3 Anoden pro Zeilen, 3 Kathoden pro Spalten). Durch die Ansteuerung einer Zeilen /Spalten Kombination leuchtet nun genau eine LED im Schnittpunkt. Also z.B. (A/1) oder (B/3). Wieso spreche ich jetzt aber, je nach Schaltungsdesign, von einem Spalten- oder Zeilenmultiplexing? Ich verstehe nicht, wieso man da unterscheidet. Ich multiplexe für jede LED doch Zeilen MIT Spalten (bzw. andersrum). Bin für jeden Wink mit dem Zaumpfahl dankbar :) Und ja, ich hab den LED-Matrix Artikel sowie das halbe Forum mehrmals durchsucht :)
zu 1. Nimm es erstmal so Hin. Erläuterung bei 2. 2. Klar wird in deinem Beispiel nur eine LED angesteuert. Aber wenn man es auf die Spalte die gemultiplext wird bezieht, liegt dort ein Bitmuster von z.B. 100 an. Also ist der Trick des Spaltenmultiplex folgender: Bitmuster für Spalten anlegen (100) Spalte durchschalten (alle Kathoden mit Transistor/Mosfet) paar ms warten Spalte abschalten Bitmuster für nächste Spalte anlegen (010) Spalte durchschalten paar ms warten Spalte abschalten Bitmuster für nächste Spalte anlegen (001) ... Und das ganze mindestens 25x pro Sekunde, sonst siehst du das "Bild" flackern.
Sorry, ich steh aufm Schlauch. Ich verstehe schon was du mir sagen willst, aber ich kapiere nicht, wieso das Spaltenmultiplexing genannt wird. Wenn ich dich recht verstehe, legst du in deinem Beispiel das Muster für die erste Spalte an die Zeilen an (konkret 100 -> 1. Zeile schaltet auf low). Danach ziehst du die erste Spalte auf high und die LED in der linken oberen Ecke leuchtet. Im nächsten Schritt will ich z.B. LED (B/2) leuchten lassen und lege wieder das Muster (010) an die Zeilen an und schalte Spalte 2 durch. usw. Wieso multiplexe ich hier per Definition Spalten? Ich steuere doch zu genau je einer Spalte auch genau je eine Zeile an.... sorry, aber es ist noch früh am morgen :D
MaWin schrieb: > Da eine LED im 1:8 Multiplex mit dem 8-fachen Strom des normalen > versorgt werden muß, bei 1:40 Multiplex jedoch mit dem 40-fachen Strom > (den sie nicht aushält), ist das 1:8 Multiplex nicht nur sinnvoller, > sondern schlicht nötig wenn man eine halbwegs erträgliche > Displayhelligkeit haben will. Und dann waren da noch die Totzeiten, die evtl. gegen das Ghosting eingehalten werden müssen. Und dann wären da die unangenehm hohen geschalteten Ströme, die zu erhöhter EMV Ausstrahlung führen können. Und dazu kommt noch, dass man bei einem 1:40 Multiplexing ja auch eine 40fach höhere Frequenz zum Weiterschalten braucht. Kurz: was über 1:8 hinausgeht, sollte grundlegend durchdacht sein!
Hi Leute, ich befürchte, die eigentliche Frage von mir so nicht beantwortet wird. :-( Das "Sinnvolle" am Multiplexbetrieb verstehe ich schon, habe schon eine 8x8 Matrix im Betrieb und zwar, Spaltenmultiplex. Berechnung so: 100 Hz = 100 mal pro Sekunde wird die ganze Matrix refreshed. Daraus ergibt sich, dass für ein "Refreshen" gerade 10ms gebraucht werden. 10ms / 8 (Spalten) = 1,25ms pro Spalte. 1. Muster 1 an alle Zeilen 2. Spalte 1 für 1,25ms an, dann aus. 3. Muster 2 an alle Zeilen 4. Spalte 2 für 1,25ms an, dann aus ... 15. Muster 8 an alle Zeilen 16. Spalte 8 für 1,25 ms an dann aus und dann von Vorne, alles mit dem entsprechenden Strom wegen Helligkeiten etc. Nun erweitere ich die Matrix um weitere 32 Spalten. Berechnung: 10ms / 40 (Spalten) = 250us pro Spalte. 1. Muster 1 an alle Zeilen 2. Spalte 1 für 250us an, dann aus ... 79. Muster 40 an alle Zeilen 80. Spalte 40 für 250us an, dann aus. Hier 8x40 soll der Pulsstrom 5 fach größer sein als, 8x8. Wenn ich aber Zeilenmultiplex arbeiten soll, dann habe ich dasgeliche prinzip, aber mit 40 Zeilen und 8 Spalten. 1. Muster "1" an alle 40 Zeilen 2. Spalte "1" (mit 40 Leds) für 1,25ms an, dann aus Wie bekomme ich denn Muster 1 "parallel" oder "gleichzeitig" an alle 40 Zeilen? Ich habe keinen 40 bit Port, und keinen 40-Bit Mikrokontroller. Oder soll ich während Spalte n 1,25ms lang leuchtet durch die Schieberegister die 40 bit sequentiell reinschieben, damit sie für die 2 Spalte "parallel" oder gleichzeitig zur Verfügung stehen? Anders kann ich mir das nicht vorstellen. 1. In die schieberegister Bitmuster 1 von 8 für die 40 Zeilen reinschieben 2. Latch einschalten, somit Bitmuster 1 von 8 ist an den Zeilen 3. Spalte 1 einschalten 4. In die schieberegister Bitmuster 2 von 8 für die 40 Zeilen reinschieben 5. 1,25ms abwarten 6. Spalte 1 ausschalten. 7. Latch einschalten, somit Bitmuster 2 von 8 ist an den zeilen 8. Spalte 2 einschalten 9. In die schieberegister Bitmuster 3 von 8 für die 40 Zeilen reinschieben 10. 1,25ms abwarten 11. Spalte 2 ausschalten. usw. Etwa so?
Sebastian M. schrieb: > Sorry, ich steh aufm Schlauch. > > Ich verstehe schon was du mir sagen willst, aber ich kapiere nicht, > wieso das Spaltenmultiplexing genannt wird. Weil im Prinzip alle LED einer kompletten Spalte leuchten (können). Es sind die LEDs der Spalte die jetzt gerade aktiv sind. NIcht die der Nachbarspalte, die kommen später dran. Ob dann tatsächlich alle LED in dieser Spalte leuchten oder nicht, weil du es für das anzuzeigende Bild so benötigst, ist hingegen relativ uninteressant. > auf low). Danach ziehst du die erste Spalte auf high und die LED in der > linken oberen Ecke leuchtet. Vergiss deine Einzelledansteuerung. So wird das nichts.
> Das "Sinnvolle" am Multiplexbetrieb verstehe ich schon, habe > schon eine 8x8 Matrix im Betrieb und zwar, Spaltenmultiplex. > 10ms / 8 (Spalten) = 1,25ms pro Spalte. ... > Nun erweitere ich die Matrix um weitere 32 Spalten. > Berechnung: Und damit hast du die Arschkarte > 10ms / 40 (Spalten) = 250us pro Spalte. Eben. Und genau das ist das Problem. Eine einzelne Spalte leuchtet jetzt nur noch 1/40 der kompletten Zeit. Und demenstprechend dunkel wird das ganze dann auch. Und dieses 1/40-tel kannst du auch durch einen höheren Strom nicht mehr ausgeleichen. Bei einem Zeilenmultiplex im genannten Beispiel 8*40 LED, leuchtet aber eine komplette Zeile mit 40 Leds immer noch 1.25ms. Also 1/8 der Zeit. > Wie bekomme ich denn Muster 1 "parallel" oder "gleichzeitig" an alle > 40 Zeilen? Ich habe keinen 40 bit Port, und keinen 40-Bit > Mikrokontroller. Dann musst du dir die 40 Ausgänge eben machen! Zum Bleistift mit einem Schieberegister. > Etwa so? Genau so. Nur kannst du dir das 'Vorladen' der Schieberegister auch sparen. Ob du die Schieberegister am Anfang der ISR lädst oder zum Schluss ist Jacke wie Hose. Von einem aktivieren einer Zeile bis zum nächsten vergeht deswegen auch nicht mehr oder weniger Zeit. Logischer ist es, das am Anfang der ISR zu tun. Erst Zeile abschalten, Schieberegister laden, Zeile einschalten. Auf die Art hast du eine ganz kurze Zeit, in der gar nichts leuchtet - das hilft dann auch, dass tatsächlich alle Treiber abgeschaltet haben und bekämpft ebenfalls Ghosting.
> Ich dachte, der Gag einer LED-Matrix wäre, dass man eben jeden > "Pixel" bzw. jede LED einzeln ansteuern kann, und nicht nur > Spaltenweise. Darum gehts überhaupt nicht. Es geht nicht darum, ob man Einzelpixel ansteuern kann oder nicht. es geht darum, dass man bei so vielen LED nicht mehr jede LED eine nach der anderen durchgehen kann und die je nach Bedarf ein/aus schaltet. Denn dann kommt man mit der Zeit und mit dem Strom nicht mehr hin. Also muss man in Gruppen arbeiten. Jeweils eine Gruppe von LED muss (potentiell) gemeinsam leuchten können. Und das können bei einer Matrix dann eben die LED einer kompletten Spalte oder die LED einer kompletten Zeile sein. Ob dann tatsächlich alle LED dieser Zeile oder Spalte leuchten, ist eine ganz andere Frage und wird entschieden wenn die Spalte (oder Zeile) konkret zusammengestellt wird, die im nächsten Zeitschritt leuchten soll. Bei einer Matrixansteuerung geht es nicht darum, welche LED jetzt konkret leuchten muss. Es geht darum ein allgemeines Schema zu haben, wie diese Gruppen von LEDs gebildet und abgearbeitet werden.
Bei einer X * Y Matrix wird eine Dimension gemultiplext und die andere parallel angesteuert. Dadurch läßt sich jede LED unabhängig ein oder ausschalten. In der Regel multiplext man die kleinere Dimension (kleinere Spitzenströme, kleinere Störemission). Peter
Karl Heinz Buchegger schrieb: >> Etwa so? > Genau so. Hallo Karl Heinz, das ist die Antwort, die alles zurecht stellt. besten Dank! Von mir aus kann der Thread geschlossen werden.
@ pezik (Gast) >ich habe eine Frage, die ihr vermutlich schnell beantworten könnt. >Habe bestimmt schon 5-8 Stunden gebraucht und nichts gefunden. Wie wäre es, den Artikel LED-Matrix mal in RUHE zu lesen und mal drüber NACHZUDENKEN? Denn ALLES was hier gesagt wurde, steht im Artikel schon drin. Sinnerfassendes Lesen heißt sowas. Wurde früher mal in der Schule gelehrt. Gibt's heute bestimmt ne App für . . .
> Durch die Ansteuerung einer Zeilen /Spalten Kombination > leuchtet nun genau eine LED im Schnittpunkt. Nein, durch die Ansteuerung einer Zeile kann man JEDER LED dieser Zeile sagen ob sie leuchten soll oder nicht (und bei der nächsten Zeile kannst du andere Spalten leuchten lassen). Es leuchtet nicht nur 1 LED zu einer Zeit, sondern es könnten alle LED einer Zeile leuchten oder eben keine, oder eine beliebige Kombination daraus.
Falk Brunner schrieb: > Wie wäre es, den Artikel LED-Matrix mal in RUHE zu lesen und mal > drüber NACHZUDENKEN? Denn ALLES was hier gesagt wurde, steht im Artikel > schon drin. > > Sinnerfassendes Lesen heißt sowas. Wurde früher mal in der Schule > gelehrt. Gibt's heute bestimmt ne App für . . . Wie wäre es denn die Frage oben zu lesen... Denn die Frage wurde aus dem Artikel LED-Matrix zittiert. 8 Stunden NACHDENKENS haben dazu geführt, dass Die Frage "Etwa so?" mit der Antwort "Genau so." beantwortet wurde. Und nein, es steht dort nicht drin. Es steht nur drin, dass bei 8x40 Matrix Zeilenmultiplex dem Spaltenmultiplex vorzuziehen ist. Was heißt es aber genau, steht nicht drin. Es steht nicht drin, dass man 40 bit für 40 Spalten mit dem Schieberegister in eine Zeile reinschieben soll, bevor die Zeile eingeschaltet wird. Es steht nicht drin, dass beim Zeilenmultiplex, ein anderes Algorithmus der Software verwendet werden soll. Ich würde LED-Matrix um gewisse Punkte von "pezik" vervollständigen. PS: Sinnerfassendes Lesen heißt das eigentliche Problem verstehen, Beiträge von Anfang zu lesen und auf die gestellte Frage die richtige Antwort zu geben. Und das hat Karl Heinz drauf! Top! 1A! @ Falk Brunner: Was ist ne "App"? Ist das auch ne Matrix?
@ John (Gast) >Und nein, es steht dort nicht drin. Es steht nur drin, dass bei 8x40 >Matrix Zeilenmultiplex dem Spaltenmultiplex vorzuziehen ist. >Was heißt es aber genau, steht nicht drin. DOCH! Nur eben nicht auf Kindergartennieveau! "Doch das führt zu zwei Problemen. 1. Der Pulsstrom durch eine LED kann nicht beliebig gesteigert werden. Genaue Angaben dazu gibt es im Datenblatt. Als grobe Abschätzung kann man sagen, dass die meisten LEDs bis etwa 1:10 gemuxt werden können, darüberhinaus werden die Pulsströme zu hoch (20mA Betriebsstrom => 200 mA Pulsstrom!)" >Es steht nicht drin, dass man 40 bit für 40 Spalten mit dem >Schieberegister in eine Zeile reinschieben soll, bevor die Zeile >eingeschaltet wird. Das ist auch nicht Kernthema des Multiplexing sondern eine von vielen Realisieruingsmöglichkeiten, welche AUCH im Artikel so erklärt wird! "Ein Schieberegister ist im Prinzip ein Seriell-Parallel-Wandler. Das hat mit Multiplexbetrieb eigentlich nichts direkt zu tun, es ist vielmehr eine Erweiterung der IO-Pins (siehe auch Porterweiterung mit SPI und AVR-Tutorial: Schieberegister). " Es ist DIRKET der Link zur Eklärung des Schieberegisters angegeben! >Es steht nicht drin, dass beim Zeilenmultiplex, ein anderes Algorithmus >der Software verwendet werden soll. Wird er auch nicht. >Ich würde LED-Matrix um gewisse Punkte von "pezik" vervollständigen. Nö, denn es steht ALLES drin. Nur halt nicht idioten sicher. >Und das hat Karl Heinz drauf! Top! 1A! Nö. Karl ist ein Gemütsmensch, der selbst das kleinste 1x1 100 mal immer wieder neu erklären kann. So wie Grundschullehrer. Respekt! Aber ich bin kein Grundschullehrer, ich stelle schon gewisse Anforderungen an die Leute. Deutlich über Grunschulniveau, aber sicher nicht MIT-Abschluss. >@ Falk Brunner: >Was ist ne "App"? Ist das auch ne Matrix? Du bist nicht ganz auf dem Laufenden, oder? http://www.apple.com/de/iphone/from-the-app-store/
@ falk Falk Brunner schrieb: > DOCH! Nur eben nicht auf Kindergartennieveau! Hast recht, aber Kinder wird es immer geben und sie beginnen nun mit Krabbeln, Gehen, Sprechen lernen und erst dann kommt die Schule, Abitur und Studium. :-) Aber wir weichen vom Thema ab! Wichtig ist, dass "pezik" seine Antwort erhalten hat, hoffentlich immer noch Lust hat, nicht nach Spalten, sondern nach Zeilen zu multiplexen und wir als wissende dabei helfen konnten, nicht war? Wir brauchen auch Grundschullehrer, ohne sie wären die UNIs eben leer! :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.