PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LED-Matrix, wie Ansteuern?



tholan
25.04.2006, 19:51
Hallo,
Ich habe hier ein paar Maxi-LED-Matrix Module
(5x8 LED) und frage mich, wie man die richtig ansteuert.
Die Anoden sind zusammengeschaltet und je für eine der
5 Spalten herausgeführt. Die Kathoden sind auch jeweils für
eine Zeile zusammengeführt und kommen dann auf je einem
Pin für 8 Zeilen raus (..uff, ich hoffe, ich bin verständlich).
Nu kann ich denen ja keinen definierten Strom zuführen,
da in Zeile, bzw. Spalte unterschiedliche Mengen von LEDs
an sein können. Wenn ich die über einen µC ansteuern würde,
könnte man sich eine Schaltung ausdenken, die den Strom,
je nach Menge der geschalteten LED regelt.
Das kommt mir allerdings recht aufwendig vor.
Die andere Möglichkeit besteht darin, die Zeilen, bzw. Spalten
mit einer konstanten Spannung zu schalten.
Nach meinen vorsichtigen Untersuchungen haben die LEDs
bei einer Flußspannung von 1,7V einem Strom von ca. 2mA und
leuchten hell genug.
Wie krieg ich nun eine so kleine, absolut konstante und lastunabhängige
Betriebsspannung hin? Die darf halt auch bei schnellem Schalten
(Muster und Laufschriften) nicht schwanken.
Brauch ich da für jede Zeile, bzw. Spalte einen FET?
Gibts da evtl. fertige Lösungen, wie IC?
Gibt es eigentlich FET-Arrays im DIL-Gehäuse?
danke,
tholan

PasstScho
25.04.2006, 20:44
Hi,
Die Dinger nennt man 8x5 Dot Matrix Module mit gemeinsamer Kathode.

Es gibt von Maxim ein recht teures IC (7-8€), dass 8x8 Leds ansteuert und einen Seriellen Eingang für Daten hat.

Ich habe eine Laufschrift selber gebaut mit 64x8 Leds (gemeinsame Anode).
Die Gemeinsamen Anoden habe ich an 8x Transistoren und die Kathoden sind mit einem Widerstand an 8x "ULN 2803" die jeweils an ein 4094 Schieberegister angeschlossen sind.
Gesteuert (Multiplexing...)wird es mit einem Atmega32... ein Atmega16 ging auch.
Bei der Ansteuerung haben die LEDs verschiedene Helligkeiten - je nach Anzahl der eingeschalteten LEDs.
Das merkt man aber garnicht, da ich die LEDs per Software immer auf der richtigen Helligkeit gehalten werden.

Das Multiplexen geschiet im Main-Loop des µC.
Zwischen dem durchschalten der Zeilen ist ein variables Delay.
Je nach Anzahl der leuchtenden LEDs wird das etwas verlängert oder verkürzt. Kleiner Trick - große Wirkung :)

MfG Alex

tholan
25.04.2006, 21:47
Versteh ich noch nicht so richtig:


Bei der Ansteuerung haben die LEDs verschiedene Helligkeiten - je nach Anzahl der eingeschalteten LEDs.
Das merkt man aber garnicht, da ich die LEDs per Software immer auf der richtigen Helligkeit gehalten werden.

Machst Du das über so 'ne Art PWM über die Schieberegister,
oder mehr wie "dithern"?
Flackert das nicht, wegen der Schieberegister?

PasstScho
26.04.2006, 05:59
Hallo,
Also die Helligkeit kommt durch die verschiedenen Einschaltzeiten.... könnte man als PWM sehen.
Und es ist kein flackern sichtbar da es mit 4094 Schieberegistern gemacht wurde und in etwa 300 mal pro Sekunde die Zeile gewechselt wird.

MfG Alex

SprinterSB
26.04.2006, 09:07
Der 4094 hat Latches am Ausgang, so daß es nicht zu einem Falckern kommt.
Ne Beispielschaltung (allerdings mit 74595) (https://www.roboternetz.de/wissen/index.php/Portexpander_am_AVR) ist im Wiki. Allerdings fehlt noch ein BASCOM-Teil. Extra Treiber braucht man meisten nicht, ausser für die Zeilen (beim Zeilen-MUX) bzw. Spalen beim Spalten-MUX.

Von Maxim gibt's schon Array-Treiber, die sogar Fonts drinne haben, wenn ich mich recht erinnere. Helligkeiten können eingestellt werden und man braucht keine extra Treiber. Um irgendein beliebiges Muster anzeigen zu lassen muss man es als eigenes Zeichen definieren und rüberschicken. Wenn sich die Anzeige nicht ändert, braucht man sich nicht weiter drum zu kümmern. MUX übernimmt der IC.

MAX6953: 4 Digit Matrix LED Driver, up to 140 LEDs (I2C, 16 Adressen)
gibt da auch eine SPI-Variante, als DIL-Brummer oder SMD.

Was die kosten weiß ich net. Bei mir nicht mehr als ein Click auf "Samples" O:), ne halbe Woche später kamen 4 ICs per Luftpost aus USA 8)
Ne "klangvolle" (eMail)-Adresse ist wahrscheinlich von Vorteil.

tholan
26.04.2006, 13:29
Ich hab hier ein paar 74HC164 SiPo Register
rumliegen.
Damit lassen sich, nebenbei bemerkt 7-Segment LEDisplays prima
und sogar mit A - F ansteuern.
Die haben zwar leider keinen Latch,
aber an einem Dot Matrix werd ichs mal testen.
Vielleicht hält sich das Flackern ja in Grenzen.
In jedem Fall machts schlauer.
thx,
tholan

PICture
27.04.2006, 07:21
Hallo tholan!

Der Spannungsregler LM317 kann ab 1,2V, 1,5A stabilisieren.

MfG

tholan
27.04.2006, 18:24
Hehe,
hab da was ganz schickes in meiner Bastelkiste gefunden &
auch schon ausprobiert.
Einen LT1587 3A- Low Drop, Fast Response (Das ist der LM 317
leider nicht. Der eiert leider, wenn sich die Last ändert)
Festspannungsregler gefunden. Der zierte einst ein 486ger Board.
Der läßt sich supersoft bei 5V in von 1V -4V am Ausgang regeln.
Ein Minimalstrom von ca. 10mA muß fließen, sonst
regelt er gleich nach 4V hoch, deswegen hab ich 180R
als Blindlast rangehängt.
Was mich ein bischen wundert ist, daß der LT bei höherer Belastung
anfängt mit 2Mhz zu schwingen (bin stolzer Besitzer eines alten Oscars).
Das sind aber nur ca 20mVpp und da ich genug "Drop" habe werd ich noch 'ne 1N4001 zur Sicherheit in Reihe schalten.
Ich versuchs mal ohne Zeilenabtastung, auch mit Schieberegistern
hinzukriegen, da ich damit den µC entlaste.