Hallo,
ich möchte mir als kleines Semesterferienprojekt eine LED-Matrix bauen.
Für den den Anfang möchte mit 8x8-LEDs beginnen. Habe mir den Artikel
von hier im Wiki durchgelesen, das war schonmal sehr aufschlussreich und
gut erklärt.
Ich habe allerdings eine andere Idee, mit dem mMn die Ansteuerung etwas
leichter wird und das (meistens kaum vorhandene^^) Flimmern reduziert
werden könnte. Habe mal als Ansatz eine Beispiel-Schaltung erstellt, und
würde gern wissen, ob das so funktionieren kann. Und zwar würde ich vor
jede LED einen eigenen Vorwiderstand schalten. Damit könnte man auch
anstatt der gepulsten Betriebsart, in die kontinuierliche Art wechseln
und das kritische Timing um keine LED zu schrotten entfällt. Der
Nachteil ist natürlich, dass man mehr zu Lötaufwand höhere Kosten wegen
der zusätzlichen Widerstände hat, deswegen habe ich hier auch noch nie
so eine Schaltung gesehen oder?!
Außerdem würde ich gern zu meiner Schaltung wissen, welche N- und P-Mos
Transistoren ihr mir empfehlen könnt (ignoriert die in der Schaltung)
und ob ein spezieller CMos-Treiber wie im Artikel wirklich notwendig
ist. Die Schieberegister werden voraussichtlich von einem Atmega mit
5V-Logikpegel bedient.
Ich weiß, dass ich für 8x8 LEDs eigentlich noch keine Cmos Transistoren
brauche, aber ich will später evtl. größere Schaltungen aufbauen und
schonmal Erfahrungen damit sammeln.. Die Cmos Transistoren sollten auch
noch etwas Leistungsreserven nach oben haben, für eventuelle größere
Projekte.
MfG
CokeViper schrieb:> Und zwar würde ich vor jede LED einen eigenen Vorwiderstand schalten.> Damit könnte man auch anstatt der gepulsten Betriebsart, in die> kontinuierliche Art wechseln und das kritische Timing um keine LED zu> schrotten entfällt.
Das ist ein Trugschluss, denn die LEDs würden in der "kontinuierlichen
Betriebsart" acht mal so hell leuchten als sie im 8:1 Multiplexmodus
leuchten müssen. Denk nochmal drüber nach...
CokeViper schrieb:> Damit könnte man auch anstatt der gepulsten Betriebsart, in die> kontinuierliche Art wechseln
Dann überleg dir mal, was bei den anderen LEDs passiert, wenn du eine
kontinuierlich betreibst.
CokeViper schrieb:> welche N- und P-Mos> Transistoren ihr mir empfehlen könnt
Ich werdende gerne IRLML6244TR und IRLML2244TR.
Diese haben eine Total Gate Charge von 8.6 bzw. 6.9nC @ Vgs=4.5V.
Die Gate wären als mit 10mA in <1µs geladen.
Verstehe leider noch nicht ganz, was genau an der Schaltung nicht
funktionieren kann.
Lothar Miller schrieb:> Das ist ein Trugschluss, denn die LEDs würden in der "kontinuierlichen> Betriebsart" acht mal so hell leuchten als sie im 8:1 Multiplexmodus> leuchten müssen. Denk nochmal drüber nach...
Schon klar, man muss halt die Vorwiderstände so dimensionieren, dass ein
angemessener Strom fließt, oder versteh ich dich falsch?
Mike schrieb:> Dann überleg dir mal, was bei den anderen LEDs passiert, wenn du eine> kontinuierlich betreibst.
Klär mich auf bitte ;)
Vielleicht habe ich mich nicht klar ausgedrückt. Wenn man z.B. will,
dass alle LEDs leuchten, erzwingt man mithilfe einer entsprechenden
Steuerung der Register, dass alle Transistoren durchschalten. Dann ist
das doch im Prinzip nichts anderes als eine Parallelschaltung von 64
LEDs mit Vorwiderstand, oder?
Wenn man nur einzelne LEDs leuchten lassen will, stellt man dass mit
einer entsprechenden Schaltungssequenz an den Registern ein. Solange man
an diesem Zustand bleiben will, sollen die Register statisch ihren Wert
beibehalten. Also Clock kurz "ausschalten" bis man eben in eine neue
Anzeige haben möchte. Liegt hier mein Denkfehler, dass so ein
zwischenzeitliches "ausschalten" bzw. beibehalten der Registerzustände
nicht möglich ist? Habe noch nie mit Schieberegistern gearbeitet...
Max H. schrieb:> Ich werdende gerne IRLML6244TR und IRLML2244TR.> Diese haben eine Total Gate Charge von 8.6 bzw. 6.9nC @ Vgs=4.5V.> Die Gate wären als mit 10mA in <1µs geladen.
Danke, werd ich mir mal anschauen
Wenn du die Widerstände richtig dimensionierst, kannst du die LEDs
natürlich auch alle gleichzeitig einschalten. Wenn du sie aber 1:8
multiplexen willst, werden sie dann nur noch 1/8 so hell leuchten.
Robert M. schrieb:> Wenn man nur einzelne LEDs leuchten lassen will, stellt man dass mit> einer entsprechenden Schaltungssequenz an den Registern ein. Solange man> an diesem Zustand bleiben will, sollen die Register statisch ihren Wert> beibehalten.
Bei einer LED stimmt das schon. Aber wie schaltets du z.B. eine LED
"links oben" und eine LED "rechts unten" ein?
Das geht nicht statisch und gleichzeitig. Das geht dann nur im multiplex
verfahren.
Danke erstmal, für die Hinweise, sehe es jetzt auch ein, dass meine Idee
so nicht funktionieren kann. Jetzt will ich es also ganz normal im
Multiplex Modus betreiben und habe eine Schaltung dazu erstellt.
Eingesetzt werden sollen:
Atmega88A
78S05 Spannungsregler 5V, maximal 2A
74HC595 Schieberegister
Als Transistoren NMos: IRLML6244TR und PMos: IRLML2244TR, wie von Max H
empfohlen. Das sind logic-level Transistoren, die sollten dann auch
ausreichend ohne mosfet Treiber funktionieren oder?
Der Widerstand R10 soll nur am Anfang dazu dienen LED-Schäden durch
Softwarefehler zur verhindern und soll später überbrückt werden. 130 Ohm
etwas überdimensioniert oder?
Die LEDs sind SLH-56 (rot)
http://www.reichelt.de/LEDs-super-ultrahell/SLH-56-RT/3/index.html?&ACTION=3&LA=5&ARTICLE=18146&GROUPID=3019&artnr=SLH+56+RT
Die haben einen Peak-Strom von max. 150mA, somit komme ich auf 22Ohm als
Vorwiderstand.
Wäre nett, wenn nochmal jemand drüber schauen könnte, ob dass dann so in
etwa passt.