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
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".
@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
>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)
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.
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.
>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............................
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.
....bzw gegen superhelle (sind ja auch nicht mehr so teuer) mit winzigem Strom...
@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.
> 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.
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...
@ 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?
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ß.
@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
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?
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.
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.
Die empfundene Helligkeit ist nicht linear proportional zur Anzahl der Multiplexstufen, habe ich festgestellt.
@ Simon K. (simon) Benutzerseite >Die empfundene Helligkeit ist nicht linear proportional zur Anzahl der >Multiplexstufen, habe ich festgestellt. Logisch, siehe LED-Fading. MfG Falk
@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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.