Forum: Mikrocontroller und Digitale Elektronik LED Matrix Beschaltung


von raoul (Gast)


Lesenswert?

Guten Abend.

http://raoul4.de/Aufbau.GIF

Im Bild sieht man vom Prinzip her, wie ich eine LED einer Matrix (5*8) 
ansteuere. Da die Schieberegister nicht so viel Strom, wie benötigt, 
liefern können, dienen Transistoren als Treiber.
Die beiden Leitungen kommen von 2 verschiedenen Schieberegistern. Das 
ist auf der Zeichnung nicht so ersichtlich.

Version 1:
Das ist der derzeitige Aufbau. Einfach mal 2 NPN Transistoren genommen. 
Manchen von euch mag es gleich auffallen: So kann das nicht richtig 
funktionieren. Das stimmt: Je mehr LED's in einer Spalte an sind, desto 
dunkler leuchten sie. Jedoch weiß ich nicht warum. Das wiederum liegt an 
meinen Anfängerlevel-Elektronikkentnissen.

Version 2:
Hab dann mal einen Kollgen gefragt. Der hat gesagt, ich solle einfach 
den 'oberen' NPN gegen einen PNP tauschen. Dann würds gehn. Ich müsste 
das ganze dann nur negativ ansteuern. Ich glaube damit meinte er, ein 
low-Pegel an der Base des 'oberen' würde die LED dann zum leuchten 
bringen - ein HIGH das Gegenteil.

Meine Fragen: Geht Version 2 so wie gezeichnet? Und gibt es dann keine 
Helligkeitsverluste mehr?

Schönen Aben noch,
mfg raoul

von domi (Gast)


Lesenswert?

Version 2 funktioniert.

Wieviele LEDs hast du in deiner Matrix?

Schau dir eventuell mal den MAX7219 oder MAX7221 an. Der lässt sich wie 
ein Schieberegister ansteuern und du kannst 64 LEDs anschließen. Du 
brauchst keine Transistoren und nur einen einzigen Widerstand. Außerdem 
macht er für 7-Segment-Anzeigen BCD-Umwandlung und du kannst 16 
Helligkeitsstufen per Software einstellen.

Für den Lerneffekt empfiehlt es sich aber das ganze einmal diskret 
aufzubauen.

Gruß,
Dominik

von Falk (Gast)


Lesenswert?

@ raoul

>http://raoul4.de/Aufbau.GIF

>Version 1:
>Das ist der derzeitige Aufbau. Einfach mal 2 NPN Transistoren genommen.
>Manchen von euch mag es gleich auffallen: So kann das nicht richtig
>funktionieren. Das stimmt: Je mehr LED's in einer Spalte an sind, desto
>dunkler leuchten sie. Jedoch weiß ich nicht warum. Das wiederum liegt an
>meinen Anfängerlevel-Elektronikkentnissen.

Ich nehme mal an, dass VCC=5V ist. Nun, du hast einen kleinen Fehler in 
deiner Schaltung. T1 ist ein Emitterfolger (=Kollektorschaltung), dort 
darf man keinen Basiswiderstand benutzen. Ausserdem sieht man auf dem 
Bild nicht, wo die Widerstände für die Strombegrenzung wirklich drin 
sind, dazu müsstest du einen kompletten Schaltplan der Matrix liefern.

>Meine Fragen: Geht Version 2 so wie gezeichnet?

Ja. Aber . . .

> Und gibt es dann keine Helligkeitsverluste mehr?

Das hängt vom richtigen Aufbau der Matrix ab (Plazierung der 
Widerstände). Zeichne mal und wir können es dir sagen.

MFG
Falk

von raoul (Gast)


Angehängte Dateien:

Lesenswert?

Danke für die Antworten.
Bei dem Bild im Anhang habe ich mal meine ganze Kreativität spielen 
lassen.

@domi:

>Wieviele LEDs hast du in deiner Matrix?

Ich habe eine 5*8 LED Matrix mit also insgesamt 40 LED's.

>Schau dir eventuell mal den MAX7219 oder MAX7221 an.

Ja der ist mir schon bekannt, aber wie du schon sagst...

>Für den Lerneffekt empfiehlt es sich aber das ganze einmal diskret
>aufzubauen.

...ist es erstmal besser, das ganze 'normal' aufzubauen. Der Preis für 
einen solchen IC spielt auch eine kleine Rolle.


@Falk

>Ich nehme mal an, dass VCC=5V

Stimmt, das hatte ich vergessen.


Ich hoffe, durch das angehängte Bild ist der Aufbau nun klar.
Kann ich nun davon ausgehen, dass es so funktionieren wird? Ich habe 
keine PNP's da.

mfg raoul

von Falk (Gast)


Lesenswert?

@ raoul

>Ich hoffe, durch das angehängte Bild ist der Aufbau nun klar.

Ja.

>Kann ich nun davon ausgehen, dass es so funktionieren wird? Ich habe
>keine PNP's da.

Warum hast du dann den Schaltplan mit PNPs gezeichnet?
Das mit deiner Variante 1 funktioniert, du musst nur den Basiswiderstand 
weglassen.
Also in deinem Schaltplan die Transistoren die links die Zeilen steuern 
gemäss Variante 1 einbauen (ohne Basiswiderstand).

MfG
Falk

P.S. Warum hast du es cciht gleich solide in Egale gezeichnet? Das 
dauert auch nicht länger.


von raoul (Gast)


Lesenswert?

@Falk

>Warum hast du dann den Schaltplan mit PNPs gezeichnet?

Ja weil ich dachte, Version 2 wäre die richtige.

>Das mit deiner Variante 1 funktioniert, du musst nur den Basiswiderstand
>weglassen.

Brennt mir dann nicht der Transistor durch?

>P.S. Warum hast du es cciht gleich solide in Egale gezeichnet? Das
>dauert auch nicht länger.

Kommt drauf an.

mfg

von Falk (Gast)


Lesenswert?

@ raoul

>>Das mit deiner Variante 1 funktioniert, du musst nur den Basiswiderstand
>>weglassen.

>Brennt mir dann nicht der Transistor durch?

Würde ich es dann empfehlen? ;-)
Nein, das passt schon so. Der Strom regelt sich von allein.

MFG
Falk

von Falk (Gast)


Lesenswert?

Ach ja, nochwas.

In deiner Schaltung musst du die ZEILEN multiplexen.
Sprich, immer eine der 8 Zeilen aktivieren, die anderen aus, dann das 
jeweilige Zeilenmuster anlegen(5 Bit).

Das ist ggf. ungünstig. Wenn du die Spalten multiplexen willst, musst du 
die Widerstände in die Zeilen einfügen. Dann hast du einen 5:1 MUX mit 8 
Bit Mustern. Das ist für die Speicherorganisation besser (5x8 Bit = 5 
Byte, während im 1. Fall 8*5Bit = 8Byte benötigt werden).

MFG
Falk

von Falk (Gast)


Lesenswert?


von raoul (Gast)


Lesenswert?

@Falk:
>In deiner Schaltung musst du die ZEILEN multiplexen.

Stimmt. In der Eile habe ich die R's für die LED's an die falschen Pins 
gemalt. Also die R's hängen eigentlich an den Zeilen.


Habe jetzt mal den Basiswiderstand bei den Transistoren für die Zeilen 
weggelassen, aber LED's sind - wenn mehrere in einer Spalte an sind - 
immernoch dunkler als normal.
Wenn ich den Basiswiderstand an den Transistoren für die Spalten von 
1,8k auf 0,9k senke, leuchtet's heller. Also irgendetwas kann doch da 
nich stimmen?
Kann mir jemand weiterhelfen?

mfg

von raoul (Gast)


Lesenswert?

muss ich dann vielleicht die Basisvorwiderstände an den Transistoren für 
die Spalten weglassen und die an den Transistoren für die Zeilen wieder 
hinmachen?

von Falk (Gast)


Lesenswert?

@ raoul

>Stimmt. In der Eile habe ich die R's für die LED's an die falschen Pins
>gemalt. Also die R's hängen eigentlich an den Zeilen.


>Habe jetzt mal den Basiswiderstand bei den Transistoren für die Zeilen
>weggelassen, aber LED's sind - wenn mehrere in einer Spalte an sind -
>immernoch dunkler als normal.
>Wenn ich den Basiswiderstand an den Transistoren für die Spalten von
>1,8k auf 0,9k senke, leuchtet's heller. Also irgendetwas kann doch da

1,8K? Weisst du was für ein Strom dann fliesst?

Wir rechnen mal, auch zu später Stunde.

Die LEDS haben je nach Farbe 1,8..2,2 V Flussspannung, Blaue und Weisse 
sogar bis 3,4V. Die Transitoren für die Spalten brauchen ca. 0,5V 
Sättigungsspannung. Die Emitterfolger der Zeilen "verbrauchen" 0,7V. 
Macht zusammen ~3,4V. Bleiben 1,7V für den Widerstand. Bei 1,8k fliessen 
da gerademal 1mA!. Bei einem MUX Verhältnis von 1:5 sind das eff. 0,2mA! 
Das ist sehr wenig.

Merke: Bei einem 1:N Mux muss Nmal soviel Strom durch die LEDs fliessen 
wie bei Gleichstrombetrieb, damit sie gleich hell leuchten.

MfG
Falk

von raoul (Gast)


Lesenswert?

d.H.? R's weglassen?

von Falk (Gast)


Lesenswert?

@ raoul

>d.H.? R's weglassen?

Nein. Richtig dimensionieren.

Wenn deine Matrix z.B. mit 5mA normal leuchtet, dann brauchst du bei 
gemuxten Spalten (1:5) den 5fachen Strom. Bei 1,7V (Siehe Rechnung) und 
5*5=25mA sagt der Herr George Simon Ohm was von 68 Ohm.
Aber Vorsicht! Wenn dein Programm einen Fehler hat und abstürzt und 
dabei stehen bleibt brennen deine LEDs durch. Also erst Programm 
ordentlich testen, dann kleine Widerstände einbauen.

MFG
Falk



von Falk (Gast)


Lesenswert?

Moin,

Nachtrag: Die Basiswiderstände deiner Spaltentransistoren sind zu hoch. 
Veringer die mal 470..1000 Ohm.

MFG
Falk

P.S. Ich solle mal nen Wiki-Eintrag zu dem Thema schreiben.

von raoul (Gast)


Lesenswert?

also nochmal zusammengefasst:

- 2 NPN Transistoren
- den Basiswiderstand an dem Zeilentransistor weglassen
- den Basiswiderstand an dem Spaltentrasistor besser dimensionieren 
(470..1k)

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Ein Bild sagt mehr als tausend Worte.

MFG
Falk

von raoul (Gast)


Lesenswert?

Danke für deine Hilfe Falk.

von Hans (Gast)


Lesenswert?

>P.S. Ich solle mal nen Wiki-Eintrag zu dem Thema schreiben.


Das Gerüst steht schon:

http://www.mikrocontroller.net/articles/Led_matrix

von Hans (Gast)


Lesenswert?

Dazu gleich noch eine Frage, weil ich auch mal mit einer LED Matrix 
spielen möchte:

Im 'schlechtesten' Fall zöge eine Spalte bei mir 7 mal 150mA Pulsstrom, 
für max. 0.1ms (Kingbright LED-Matrix, Anodenversion)

D.h. es gibt einen Spitzenstrom von 1,05 A - welchen Transistor kann ich 
da nehmen? Die Ansteuerung erfolgt direkt vom AVR.
Falls jemand auch gleich eine Empfehlung für die Zeilen-Transistoren hat 
(150mA), würde mich freuen!

von Dieter Werner (Gast)


Lesenswert?

@Hans

Könntest Du bitte dazuschreiben ob es sich um NPN oder PNP Transistoren 
handelt und welche Bauform es sein soll?

Abgesehen davon ist eine Einschaltdauer von 0,1ms schon sehr kurz, da 
solltest Du unbedingt auf eine Pause von 1 bis 2 µs nach dem Umschalten 
achten um ein "Verschleppen" der neuen Information in die schon 
ausgeschaltete LED-Reihe zu vermeiden.
Der Effekt rührt daher, dass die Transistoren langsamer aus- als 
einschalten und daher die eigentlich schon abgeschalteten LEDs die Daten 
für die neu eingeschaltete Reihe noch kurz mit anzeigen.

von Falk B. (falk)


Lesenswert?

@ Hans

>Im 'schlechtesten' Fall zöge eine Spalte bei mir 7 mal 150mA Pulsstrom,
>für max. 0.1ms (Kingbright LED-Matrix, Anodenversion)

Hmmm, die Jungs von Kingbright bauen zwar nette LED Sachen, aber die 
Datenblätter sind in eingen Punkten bisweilen an der Realität vorbei.
Ich hab mal mit den 100mm Siebensegmentanzeigen ne Anzeige gebaut, 2x4 
Stellen. Die hab ich 1:4 gemuxt, mit 80mA Pulsstrom, mit 400 Hz.

Das mit den 150mA und 100us (das sind 10 kHz!) ist nicht sonderlich 
praxisnah.

>D.h. es gibt einen Spitzenstrom von 1,05 A - welchen Transistor kann ich
>da nehmen? Die Ansteuerung erfolgt direkt vom AVR.

Empfehle einen p-Kanal Mosfet, z.B. IRF7403, billig bei Reichelt.

>Falls jemand auch gleich eine Empfehlung für die Zeilen-Transistoren hat
>(150mA), würde mich freuen!

BC337, geht fast immer.

MFG
Falk

von Hans (Gast)


Lesenswert?

Danke, hatte nicht gesehen, daß das auch im Schaltplan steht..

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.