Forum: Mikrocontroller und Digitale Elektronik Schieberegister LED Matrix - IC Bausteine


von Daniel (Gast)


Angehängte Dateien:

Lesenswert?

Hallo, schon oft gefragt, aber bisher konnte ich in den alten Posts 
keine hinreichende Erklärung machen. Vermutlich denke ich viel zu viel 
theoretisch nach und probiere nicht einfach aus. Das liegt aber vor 
allem daran, dass ich mir die Bauteile erst alle bestellen muss und ich 
bisher weniger Erfahrung mit den Bauteilen habe.

Folgendes: Microcontroller Arduino soll eine 10x11 Matrix von weissen 
LEDs jeweils einzeln per Schieberegister schalten können. Den Aufbau mit 
TRansistoren, vorwiderstand etc. habe ich schnell verworfen, da ich bei 
ICs schnell fündig wurde, die den Aufbau vereinfachen. Den folgenden 
Aufbau habe ich bereits in einem anderen Post gefunden (siehe Bild) und 
entsprach auch meinen ersten Überlegungen. Leds ziehen so ca. 30 mA bei 
3,3 Volt bei der Farbe weiss, 5mm.

Da der Controller nur 5 V und maximal 30 oder 50 mA ausgibt auf seinem 
Pin kann man wohl vergessen, gleich zwei LEDs an zu machen. Daher muss 
neben dem Schieberegister nun noch ein ULN 2803 mit ran. Vorteil: Ich 
kann direkt den Widerstand am 2803 anschließen und spare mir etliches an 
Löten bei den LEDs. So wie ich das sehe, sollte es so schon laufen.

Nun meine Überlegungen, die ich durch weitere Suche gemacht habe:

STP16C596 ist ein 16 Bit Schieberegister mit eingebauten Transistoren 
(quasi ein 74HC595 + ULN 2803) in einem Gehäuse. Sprich für meine 10X11 
Matrix (im Bild ist eine kleinere zur Vereinfahung aufgezeichnet) 
bräuchte ich den chip nur einmal und müsste das Register nicht in Reihe 
schalten und des weiteren nur einen chip. Das erspart wieder 
Verdrahtungsaufwand.

Nun die Frage: Eine Seite der Matrix ist nun kathode, die andere anode. 
Kann ich beide seiten über den STP16C596 anschließen oder kann ich diese 
seite nur für eine der beiden Seiten benutzen?

Gibt es einfachere Wege diese Matrix aufzubauen, mit möglichst wenig 
Einzelteilen? Sprich einen 16 Bit Chip im Dip Format, den ich als LED 
Treiber nehmen kann? Sprich 5V in den Chip, mit Schieberegister 
ansprechen und output auf jedem Kanal dann 5v 30mA bzw. mit Widerstand 
dann runterregeln, damit die LEDs optimal leuchten.

Hoffe, dass ich als blutiger Anfänger die Sachlage gut formuliert habe. 
Mal sehen, ob jemand meine Überlegungen bestätigt bzw. optimierungen 
parat hat.

Danke schonmal,
Daniel

von MaWin (Gast)


Lesenswert?

Du bauste eine 8 x 8 Multiplexanzeige.
Deine LEDs brauchen 30mA.
Der Spaltentreiber muss also 240mA treiben,
der Zeilentreiber 2A.

Der STP16C596 schafft nur 120mA. Das kannste knicken.

Ein TPIC6B595 kann auch nur 150mA.

Ein ULN2803 aber 500mA.

Für die 2A Seite tun es wohl nur Transistoren.

Du schreibst ungefähr den 10000ten Beitrag zum Thema
"wie mache ich bei Multiplex erst mal falsche Grundannahmen".

von Ja (Gast)


Lesenswert?

MAX6954APL+

von Daniel O. (daniel42)


Lesenswert?

@Ja:

Danke, den werde ich mir heute abend mal näher ansehen.

@MaWin
Sorry, wenn ich die Falschen Grundannahmen gemacht habe, aber das Detail 
habe ich übersehen, dass die nur bis max 500mA gut sind.

Eines verstehe ich aber noch nicht. Bei einem 10x11 Matrix Display (in 
der zeichnung nur vereinfacht ein 8x8 dargestellt). habe ich doch pro 
reihe 11 LED und pro Spalte 10 LED, die maximal leuchten.

Pro Spalte kann ich deine Berechnung nachvollziehen 30mA*8 = 240mA, bei 
11*30mA wären es dann < 500mA. Sprich der ULN2803 würde funktionieren.

Allerdings frage ich mich, warum der Zeilentreiber plötzlich 2A 
benötigt?
Ich käme halt auf maximal 11*30mA = 330 mA, so dass auch hier ein 
ULN2803 reichen würde.

Sorry nochmal, wenn die Fragen für einen Profi etwas zu einfach zu 
beantworten sind, aber die schier unendliche Auswahl an Bauteilen macht 
es einem Einsteiger nicht grade leicht, den Weg durch den Dschungel zu 
finden.
Mit bitte um Nachsicht :-),

Daniel

von Matthias L. (Gast)


Lesenswert?

>Allerdings frage ich mich, warum der Zeilentreiber plötzlich 2A
>benötigt?

Weil das Ganze gemultiplext wird.

Hast du eine 10x8Matrix, und gibst 8Bitweise aus, also alle 
x-Millisekunden eine Zeile mit 8LEDs, so brauchst du zehnmal 
x-Millisekunden für "einmal durch". Damit das Auge das aber als normal 
hell erkennt, musst du in dieser kurzen Zeit eine größere Helligkeit 
vorsehen.

Also in dem Beispiel muss der LED-strom verzehnfacht werden (der fließt 
aber dafür nur ein Zehntel der Zeit)

von MaWin (Gast)


Lesenswert?

11 x 240 ! Sind nun 2.5A.
Sie müssen die 2.5A zwar nur 1/11 der Zeit aushalten, also nur als 
Spitzenwert und nicht aus Dauerstrom, aber dann sollte das Datenblatt 
diesen Strom schon zulassen.

von Gerd (Gast)


Lesenswert?

Ich würde den /G Eingang (Pin13) der 74HC595 auch noch mit dem µC 
ansteuern. Hätte den Vorteil, dass man die Ausgänge abschalten kann, 
während man die Daten durch die Schieberegister schiebt. Auch hätte man 
dann schnell alles aus, wenn man einen Ruhezustand der Ausgänge braucht.

von Matthias L. (Gast)


Lesenswert?

>Ich würde den /G Eingang (Pin13) der 74HC595 auch noch mit dem µC
>ansteuern.

Ja. Am Besten an einen Ausgang mit dem Namen OC...

So kann man die gleich noch dimmen............................

von Falk B. (falk)


Lesenswert?

Siehe LED-Matrix

von Gerd (Gast)


Lesenswert?

Im Artikel, den Falk hier verlinkt, wird /G auf GND geschaltet. Ich 
finde, dass /G angesteuert praktischer ist. Aber der Rest ist gut 
erklärt.

von faustian (Gast)


Lesenswert?

Was spricht gegen Low Current LEDs?

von faustian (Gast)


Lesenswert?

....bzw gegen superhelle (sind ja auch nicht mehr so teuer) mit winzigem 
Strom...

von Daniel (Gast)


Lesenswert?

@Ma Win:

Danke für die Aufklärung. Hatte bisher nur nach Schieberegistern gesucht 
und bin deshalb über die Taktung gestolpert. Dachte, man gibt 5V in den 
Chip von einer externen Stromquelle und dann hat jeder Ausgang 500 mA, 
also auch GLEICHZEITIG OFFEN was dann gereicht hätte.

So ein Bauteil gibt es nicht zufällig oder??

Nach lesen des LED-Matrix Artikels bin ich nun schlauer. Also fast alles 
auf Anfang.

Dummerweise finde ich in dem Datenblatt der LED nun keinen Hinweis auf 
die maximale kurzfristige Stromstärke... Nehmen wir an, die verkraften 
für 1/11tel Sekunde die 2.5 A, dann vermute ich mal, dass ich mir beim 
Testen einige LEDs braten werde ;-), denn bleibt der Controller mal 
hängen, geht eine Reihe schnell in Rauch auf.
Ich werde mich anscheinend erstmal mit meinem Microcontroller 
beschäftigen, wie ich die Sache 100%ig sicher ans Laufen bekomme, ohne 
direkt 110 LEDs zu braten.

@Gerd, Matthias:

Danke, gute Anregung. Das ist dann der zweite Schritt, nice to have, 
aber nicht unbedingt nötig.

@Faustian:

Ich habe hier zum Testen einer kleinen Matrix nur normale LEDs 5mm, 
Marke unbekannt von der C-Apotheke. Denke, dass ich mir die mal ansehen 
werde, ggf. brauche ich dann keine MOSFET Transistoren zum Schalten der 
2.5A. Aber was ziehen die stromsparenden? Aus einem anderen Post sehe 
ich ca. 3 Volt, 1mA <-- echt so wenig? Verbrauchen weniger als die 
roten. Hm, wenn ich es mit denen mache, dann sollte es auch mit zwei ULN 
2803 klappen, denn 11*1=110ma (selbst wenn sie bis 4mA brauchen 
klappts), dann wären sogar schon wieder die anderen Chips im Spiel...

Ich mache mich erstmal wieder auf die suche nach passenden MOSFETS, die 
5V und 2.5A durchschalten können (vermutlich brauche ich da sowas in der 
Region 5A, denn die beziehen sich ja meisst auf Raumtemperatur und wenn 
die Temperatur ansteigt, sinkt die Ampere Zahl - besser ein wenig Luft 
haben, bevor das Dingen abraucht....). Gibt es eigentlich Suchmaschinen 
für Transistoren?

@All:

Wer sich interessiert, was das Endergebnis sein soll: www.qlocktwo.com 
zeigt es. Nur ist mir ein Nachbau mit ein paar Modifikationen und auch 
auf Grund des Preises die Arbeit & Erfahrung wert.

von MaWin (Gast)


Lesenswert?

> Nehmen wir an, die verkraften für 1/11tel Sekunde die 2.5 A,

Nixh 2.5A, sondern 240mA.
Normale LEDs verkradten das 10-fache des Normalstroms,
superhelle éher nur das 5-fache,
LEDs grösser 1W nur einen Bruchteil.

von Daniel (Gast)


Lesenswert?

Da haben wir aneinander vorbeigeredet: 2.5 A, wenn alle 10 Leuchten. 
Rund 240mA, wenn nur eine leuchtet, da stimme ich dann zu.

Hm, jetzt geht die Suche nach nem geeigneten Mosfet los, der für 
3A+Sicherheitspuffer gut ist und mit den 5V vom Controller geschaltet 
werden kann. Denke, dass das der einfachste Weg ist. ein ca. 10x10 
Matrix Display zu machen...

von Daniel (Gast)


Lesenswert?

@ All:

Was haltet ihr davon, wenn man diese Matrix nun mit MOSFETs auf der 2.5A 
Seite ansteuert einen Elko von GND zu 5V+ zu schalten 100nF + 4,7myF um 
die Umschaltspitzen abzufangen - macht das Sinn? Habe es hier im Forum 
gelesen, jedoch bleibt mir noch verschlossen, was die Folgen sind, wenn 
man es macht bzw. weglässt?

Die Elkos agieren quasi als Puffer, so wie eine Gummischeibe um 
Schwingungen zu mindern im Stromfluss um bei plötzlicher last 
auszugleichen?

von Simon K. (simon) Benutzerseite


Lesenswert?

Die Mosfets sucht man nicht nach Strom aus, höchstens grob. Du musst 
überschlagen wie hoch die Verlustleistung sein wird, indem du schaust, 
was für ein RDS(on) du erreichen kannst bei deiner Gatespannung und mit 
dem maximalen Strom zum Qaudrat multiplizieren. Das Ergebnis muss dem 
verwendete Gehäuse angemessen sein, sonst wird es zu heiß.

von Falk B. (falk)


Lesenswert?

@Daniel (Gast)

>Hm, jetzt geht die Suche nach nem geeigneten Mosfet los, der für
>3A+Sicherheitspuffer gut ist und mit den 5V vom Controller geschaltet
>werden kann.

Z.B. IRF7403, siehe Mosfet-Übersicht.

MFG
Falk

von Gerd (Gast)


Lesenswert?

Hmm, ich bastle immer wieder mit LEDs und Matrixen. Bis jetzt hatte ich 
es auch so mit den Zeilentreibertransistoren. Früher halt 
NPN-Transistoren und heutzutage mit FETs.
Ich wundere mich immer wieder, wenn ich im Netz stöbere und solche 
Schaltungen finde, dass die LEDs so hell sind:
http://blog.spitzenpfeil.org/wordpress/2009/03/31/8×8-rgb-matrix-v3-kicad-smd-—-part-2/
Oder täuscht das und er sitzt im völligen Dunkeln? In der Schaltung 
treiben die 74HC595 die LEDs. Sind diese RGB-Matrixen wirklich so hell 
und stromsparend?

von MaWin (Gast)


Lesenswert?

270 Ohm bei 1/8 Multiplex, also 0.5mA statt 20mA, also 12,5 statt 500mcd 
pro Bildpunkt oder anders gesagt: Das teure Display nur zu 1/64 
ausgenutzt.

12,5mcd ist so hell, wie eine normale billge 5mm Standard-LED, daher ist 
den Leuten das wohl nicht aufgefallen, daß so ein Display 1.4kW pro m2 
brauchen könnte.

von Robert S. (madworm)


Lesenswert?

Das die Helligkeit unter dem 1/8 Multipexing ohne sinnvolle source/sink 
Treiber leidet ist klar.

Die Variante, die ich in meinem Blog beschrieben habe sollte folgendes 
sein:

- einfach
- sehr billig
- idiotensicher

Also keine hohen Spitzenstroeme, welche bei Ausfall der Multiplexing 
Routine die LEDs platzen lassen.

Und die LED Matrix ist nicht das teure Modell, welches man in diversen 
Shops in diesem unseren geilen Land zu kaufen bekommt.

Wenn Ihr was super Helles wollt, dann kauft Euch halt das Teil von 
seeedstudio, dabei fehlt dann aber der Spass beim Zusammenbauen. Die 
verwendeten constant current Treiber liefern genug Strom, allerdings 
bekommt man diese Chips in Deutschland jedenfalls nirgendwo zu kaufen.

von Simon K. (simon) Benutzerseite


Lesenswert?

Die empfundene Helligkeit ist nicht linear proportional zur Anzahl der 
Multiplexstufen, habe ich festgestellt.

von Falk B. (falk)


Lesenswert?

@  Simon K. (simon) Benutzerseite

>Die empfundene Helligkeit ist nicht linear proportional zur Anzahl der
>Multiplexstufen, habe ich festgestellt.

Logisch, siehe LED-Fading.

MfG
Falk

von Gerd (Gast)


Lesenswert?

@Robert

Das war kein Angriff gegen dich! Wenn, dann will ich selber etwas 
basteln, als irgendetwas fertiges zu kaufen. Deine Platine und die 
Beispielprogramme gefallen mir. Allerdings stellte sich mir die Frage 
nach der Helligkeit und dem Strom, nachdem ich wieder einmal vor meinen 
Matrixmodulen (rot/grün) sitze und überlege, wie ich die Dinger 
ansteuere.
Ich war halt verblüfft, wie hell die RGB-Module bei dir wirken. Die 
einzigen in Deutschland kaufbaren RGB-Module kosten um die 23€. Das 
schlägt meinen Kostenplan bei weitem. Wenn ich mir solche leisten 
könnte, will ich sie auch möglichst hell aussteuern.
Meine Idee geht auch in die Richtung, dass pro µC eine LED-Matrix 
angesteuert wird. Danach will ich mehrere Module mit serieller 
Schnittstelle oder I2C beliebig zusammenschalten. Wenn ich aber jeder 
LED nur 30mA spendiere, kommen wieder die Leistungstreiber hinzu. Das 
auf einer Platine unter zu bringen, scheint mir nicht so einfach 
möglich.

Meine letzte Matrix war ein Laufband aus 10 8x8 LED-Matrixen mit 
Transistoren als Zeilentreiber und 74HC595 + ULN2803 für die Spalten. Da 
war der Platz kein Problem und es war nicht dimmbar.

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.