PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Multiplex - habe ich es richtig verstanden ?



amieX
11.08.2010, 12:53
Moin,

angenommen ich habe eine 3x3 Matrix (und nehmen wir mal an es sind LEDs damit wir uns auch was vorstellen können). Somit brauch ich ja 6 Pins um diese anzusteuern, richtig?

So um jetzt aber jede LED einzeln anzusteuern, muss man ja multiplexen. Dabei wird oft erwähnt, dass man jede Led für eine kurze Zeit aufleuchten lässt. Meine Frage nun, ist damit wirklich eine LED gemeint, oder kann man in einer 3x3 Matrix bis zu 3 LEDs gleichzeitig leuchten lassen indem man eine Spalte schaltet und dann bis zu 3 Zeilen gleichzeitig ( wären ja bis zu 3 LEDs möglich). Dann müsste man ja nur 3x durch die Spalten Schalten, statt 9x, alles richtig so?

Da ich noch leichte Vorstellungsprobleme von grösseren Matrizen habe, kann mir jemand evlt sagen in wieweit man das weiter übertragen kann auf grössere Matrizen? Meine Gedanken dazu waren, dass mit steigender Größe der Matrix ( n^2), man n Leitungen braucht, da stößt man ja bald auf die Grenzen eine Controllers, der ja nicht endlich viele Output Pins hat. Man könnte ja die Leitungen untereinander wieder multiplexen, oder?( z.B. wenn man eine 8x8 Matrix hat und diese auf 2 Matrizen a 4x2 aufteilt => statt 16 pins nur noch 12). Der Vorteil wäre man spart Ausgänge am Controller aber 1. der Programmieraufwand wird größer und die Takte werden länger, ist das auch richtig so ( bei einer 8x8 matrix mit 16 Anschlüssen ist der Takt kürzer wenn man die selbe Matrix mit 12 Pins durch 2 4x2 Matrizen beschaltet ?)

Der nächste Schritt wäre wahrscheinlich Schieberegister oder ähnliches zu benutzen, ja?

In dem Zusammenhan bin ich auch auf Source Driver gestossen, meine Frage dazu wäre haben die einen bestimmten Vorteil gegenüber Transistoren?

Hoffe jemand macht sich die Mühe und beantwortet meine Frage bzw. kann mir sagen, ob meine Gedanken zum multiplex Verfahren so richtig sind. Habe dieses Wissen erst seit zwei Tagen mir durch viele Quellen im Internet aufgeschnappt und will mir sicher sein, dass nichts falsches aufgenommen habe bzw. irgendwas vertausche.

Gruß amieX

RoboHolIC
11.08.2010, 15:12
zur Pin-Anzahl:
richtig: eine (m*n)-Matrix benötigt (m+n) Schaltkanäle/Pins

zum multiplexen:
jeweils eine Zeile aktivieren und mittel Spaltenansteuerung die passenden LEDs aktivieren. Oder eben Spalten- und Zeilenaufgabe vertauscht und dann spaltenweise ausgeben. Das ist soweit richtig verstanden.

zum Matrix-Multiplex:
das hab ich ehrlich gesagt nicht verstanden; jedenfalls ist 8*8=64 und 2*4*2=16.

zu den Schieberegistern:
Es könnte interessant sein, anstelle von Schieberegistern 8bit-parallele Registerbausteine einzusetzen(74'645 u.ä), grundsätzlich aber richtig. Man kann z.B. eine Betrachtung anstellen, ob man CPU-Takte damit sparen kann; mehr Pins braucht diese Lösung in jedem Fall, und zwar je größer desto mehr; Schieberegister werden kaskadiert und brauchen nur zwei bzw. drei Leitungen, unabhängig von der Kaskadenlänge.

Zu Sourcetreibern kann ich nix sagen, nur vermuten ...

amieX
11.08.2010, 15:21
Also mit dem doppel Multiplex war das jetzt so gemeint und zwar wenn eine 8x8 matrix hast, brauchst du 16 Pins. Diese 16 Pins unterteilst du in 2 4x2 PinMatrix. Somit hast du ja nur noch 12 Pins statt 16.

Besserwessi
11.08.2010, 16:45
In 2 Stufen Multiplexen so wie beschireben geht nicht so direkt. Man kann aber ausnutzen das jeweils nur eine Zeile (oder Spalte) aktiv ist. Dafür gibt es Decoder ICs (z.B. 74HC138). Für die 8 Zeilen braucht man dann nur 3 Leitungen um eine der 2^3 Leitungen auszuwählen. Für die 8x8 Matirx also noch 8+3 Leitungen.

amieX
11.08.2010, 16:58
In 2 Stufen Multiplexen so wie beschireben geht nicht so direkt. Man kann aber ausnutzen das jeweils nur eine Zeile (oder Spalte) aktiv ist. Dafür gibt es Decoder ICs (z.B. 74HC138). Für die 8 Zeilen braucht man dann nur 3 Leitungen um eine der 2^3 Leitungen auszuwählen. Für die 8x8 Matirx also noch 8+3 Leitungen.

Nochmal zum Stufen Multiplex, dass habe ich aus diesem Video http://www.youtube.com/watch?v=-1UPPHjR0vk , indem Video geht es darum wie man eine 8x8 Matrix multiplexed. ab 1:30 kommt der Übergang wo das Stufenmultiplex gezeigt wird. Also von da habe ich es, was heisst das nun?

Nochmal dann aber eine Frage zum Decoder IC ( 74HC138), der spuckt mir dann ja direkt 8 low oder high aus, obwohl nur 3 Leitungen braucht. Mach ein Schieberegister nicht dasselbe? Wenn nicht wo ist der der genaue unterschied?

Gruß

Richard
11.08.2010, 16:58
In 2 Stufen Multiplexen so wie beschireben geht nicht so direkt. Man kann aber ausnutzen das jeweils nur eine Zeile (oder Spalte) aktiv ist. Dafür gibt es Decoder ICs (z.B. 74HC138). Für die 8 Zeilen braucht man dann nur 3 Leitungen um eine der 2^3 Leitungen auszuwählen. Für die 8x8 Matirx also noch 8+3 Leitungen.

Oder man nimmt I²C Busexpander dann braucht man nur 3 Leitungen
b.z.w 2 Pins + GND bei 8*8.

Gruß Richard

askazo
11.08.2010, 17:20
Nochmal dann aber eine Frage zum Decoder IC ( 74HC138), der spuckt mir dann ja direkt 8 low oder high aus, obwohl nur 3 Leitungen braucht. Mach ein Schieberegister nicht dasselbe? Wenn nicht wo ist der der genaue unterschied?
Ein Decoder hat (in Deinem Beispiel) 3 parallele Eingänge, deren 8 verschiedene Zustände dekodiert und ausgegeben werden.

Ein Schieberegister hingegen hat einen Takt- und einen seriellen Dateneingang. Die Datenleitung muss synchron zum Takt so geschaltet werden, dass die gewünschten Ausgangszustände gesetzt werden.

Beim Dekoder kann immer nur ein Ausgang aktiv sein, während beim Schieberegister auch mehrere aktiv sein können.

amieX
11.08.2010, 17:28
Dankeschön für die Antwort. Bin grade dabei bisschen Basiswissen über die ganze Geschichte aufzusammeln, hatte mir auch gedacht, dass es ziemlich nervig ist den Schiebregler zu benutzen weil man einen Takt braucht.

So jetzt wären noch zwei Sachen unklar. Zu einem die Stufenmultiplex Geschichte, habe das Video paar Beiträge drüber gepostet.
Die andere ist noch der Source Driver den viele Leute in LED Matrizen bzw Cubes verwenden. Er macht doch pro Eingang/Ausgang nicht mehr als ein Transistor oder ?

Vielen Dank bisher an alle!
Gruß

Besserwessi
11.08.2010, 17:58
Die Sache mit dem Multiplexen in Stufen kann man machen, aber mit dem Decoder IC spart man noch ein paar zusätzliche Pins.

Man sollte das aber nur an einer Seite der Matrix machen, also nur bei den Zeilen oder Spallten - dann kann man nämlich weiter eine ganze Zeile gleichzeitig ausgeben. Wenn man die Zeilen und Spalten noch weiter zusammenfaßt per Decoder oder als 2 te matrix reduziert sich die Zahl der gleichzeitig leuchtenden LEDs. Das ist dann nur in Ausnahmenfällen braichbar,genau dann wenn nur jeweils sehr wenige der LEDs gleichzeitig an sein sollen, und da wäre dann Charliepixling vermutlich besser.

Wenn die Matrix sehr groß wird, kommt noch zusätzlich die Begrenzung das die meisten LEDs nur etwa den 10 fachen Nennstrom gepulst abkönnen. Eine Matrix mit mehr als etwa 10-16 Spalten geht also nur mit reduzierter Helligkeit. Der Decoder kommt also eigentlich nur für 8 oder mit Einschränkungen noch 16 Leitungen in Frage.


Die Source driver sind eigentlich nichts anderes als Treiber, nur halt mit FETs statt bipolaren Transistoren.

amieX
11.08.2010, 18:10
Danke für die Antwort.


Prinzipiell müsste ich an meinen Controller den Decoder schalten und an diesen den Source Driver, da der Decoder max 20mA ausspuckt, dies wäre ein Möglichkeit eine Matrix zu schalten oder ?


Die Source driver sind eigentlich nichts anderes als Treiber, nur halt mit FETs statt bipolaren Transistoren.

Ich denke mal, dass wäre dann vorerst meine letzte Frage zu dem Thema. Ich kenne den Begriff Treiber leider nur vom PC bereich, wie ist der den in der Elektrotechnik zu verstehen? Gibt es wichtigen Unterschied zwischen normalen NPN Transisorten und FETs? Außer in der Bauweise? Wenn ich einen Transistor zwischen meine LED und meine Controller schalte, nennt man den dann auch Treiber? ( Ist ein Relais dann auch ein Treiber??

Ahja ist ein Decoder/demultiplexer ein Latch? Oder ist das wieder etwas anderes?
Gruß

Besserwessi
11.08.2010, 18:46
Ein decoder oder demultiplexer ist was anderes als ein Latch. Der Decoder wählt jeweils einen der Ausgänge aus, ganz ohne Speicherfunktion. Da gibt es eine ganz einfache Wahrheitstabelle zu.

In der Elektrotechnik ist ein Treiber eine Art Verstärker, insbesondere der Art um mit wenig Strom mehr Strom zu steuern. Den Transistor vor der LED kann man auch als Treiber(-Transitor) bezeichnen.

Fets und NPN Transostoren unterscheiden sich schon etwas von der Funktion: FETs sind spannungsgesteuerert, NPN transistoren stromgesteuert, brauchen also immer auch etwas Leistung.

amieX
11.08.2010, 18:53
Danke dir, jetzt ist mir einiges viel klarer und außerdem hab ich noch neue Dinge kennen gelernt.

Ich präsentier dann mal demnächst meinen 10x10x10 RGB Cube :D *ironie*