Hallo Leute,
ich plane gerade eine Schaltung für eine 2farb-LED-Matrix. Für jede
Zeile existieren eine Anode, 8 Kathoden für rot und 8 Kathoden für grün.
Die 8 Ausgänge eines LED-Treibers (MAX_D...) sollen entweder zu den
roten Kathoden (RED_R...), zu den grünen (GRN_R...) oder zu beiden
führen.
Auf einer englischen Seite habe ich die Schaltung im Anhang gefunden und
das wäre natürlich für mich recht passend. Ich habe eigentlich gedacht,
man benötigt für jede Basis einen eigenen Widerstand. Ist das in diesem
Fall nicht nötig?
RED_ENABLED und GRN_ENABLED führen zu µC-Pins.
Falls man es so machen kann: Welche Widerstände sollte ich denn nehmen?
Der Controller läuft mit 5V. Die Matrix-Zeilen benötigen maximal 80mA,
wenn alle LEDs an sind.
Vielen Dank schonmal für eure Hilfe,
Chris
Weil: 5V / 1k5 = 0,00333A
Für 8 Transistoren: 0,00333A / 8 = 0,000416A
BC557B min. Verstärkung 200
0,000416A * 200 = 83mA
Du sagst zwar du brauchst maximal 80mA, aber denk dran, dass du beim
Multiplexen viel mehr Strom brauchst (bei 8-fach 8 mal so viel Strom,
theoretisch).
Du solltest vielleicht mit deinem uC Pin nur einen Transistor ansteuern,
und mit dem dann an alle Basen der jeweils 8 Transistoren (jeweils mit
Vorwiderstand, 1k vielleicht).
Hört sich schon relativ gut an. Du musst aber aufpassen wie viel Strom
der Port verträgt, sonnst brennt das Ding ganz schnell ab.(Spreche aus
Eigenerfahrung). Versuche am besten den Ausgang möglichst nicht zu
belasten.
Hab ihm Anhang mal schnell ne mögliche Schaltung angehängt.
Vielen Dank für eure Antworten. Hat mir schonmal sehr geholfen!
@B-Non: Ich verwende (oder besser plane zu verwenden ;)) einen MAX7221.
@Dominik: Der BC557B hält ja bis zu 200mA aus. Ein "Pixel" der Matrix
benötigt ~20mA. Es sollten also an jedem Transistor maximal 160mA
gezogen werden. Das würde dann ja noch in den Grenzen des BC557B
liegen...
@Lukas: Habe den Schaltplan jetzt nach deinem Vorschlag geändert (aber
aus dem NPN ein PNP gemacht). Theoretisch würde jetzt bei einer
logischen 1, also 5V auf RED_ENABLED, der Steuertransistor Q17 sperren.
Dadurch würden die Transistoren Q1-Q8 an GND hängen und leiten (R8 kann
ich mir eigentlich sparen...). Bei einer 0 sollte Q17 leiten und dadurch
Q1-Q8 sperren...
Das ganze ohne Belastung des µC-Pins.
Ich bin mir nur bei den Widerständen noch nicht sicher. Meint ihr, die
Werte kann man so nehmen?
Chris
Ups, ich merke gerade, dass im schlimmsten Fall 16 LEDs an sind. Das
wären dann 16 * 20mA = 320mA pro Transistor. Dafür wäre der BC557B zu
empfindlich. Was wäre denn die nächst höhere Stufe davon? Am besten
einer der 500mA aushält...
Liebe Grüße,
Chris
PS: Ich bin "Chris (Gast)". Hab' mich nur mittlerweile angemeldet ;)
@Lukas: Ich hab' noch nie mit MOSFETs gearbeitet. Dazu muss ich mich
erstmal schlaulesen, wie die genau wirken/funktionieren...
@uP-Schwitzer: Ja, das sind 3,3 Ohm. Hab' die Werte vom Lukas' Schaltung
übernommen, die er weiter oben gepostet hat...
Chris
Also für den MA7221 muss man die Segmente mit NPN Emitterfolgern
aufbohren (BC337, 500mA) und die Digits mit PNP Emitterfolgern (BC327,
500mA). Das wars eigentlich.
Naja, fast. Weil durch die exteren Transistoren allerdings die
Stromregelung des MAX ausgehebelt wird muss man den Strom über
Widerstände an den Segmenten einstellen. Den MAX kann man per grossem
Rset mit minimaler Treiberleistung betreiben. Beachten muss man dabei,
dass nun zwei zusätzliche Basis-Emitter Strecken Spannung benötigen.
Also ist
R = (Vcc-2x0,7-U_LED)/I_Puls
Siehe Anhang
MfG
Falk
Aah, danke für die Transistor-Typen mit 500mA. Deine Idee würde meine
Schaltung um 16 weitere Transistoren aufbohren, sodass ich dann bei
insgesamt
16 für die MAX7221-Ports
+ 16 zum aktivieren der einzelnen Zeilen
+ 2 zum steuern der Zeilen-Transistoren (und entlasten der µC-Pins)
====
34 Transistoren
Mal gucken, ob ich mir das ganze spare und einfarbig fahre ;) Im Anhang
mal die interne Schaltung der LED-Matrix.
Gäbe es denn eine einfachere Möglichkeit zwischen den zwei Farben hin-
und herzuschalten?
Ideal wäre ein IC, der 8 Umschalter in sich hat und der sich über eine
Leitung steuern lässt. Gibt's sowas?
Liebe Grüße,
Chris
@ Chris K. (chrisk86)
> 16 für die MAX7221-Ports
Ja.
>+ 16 zum aktivieren der einzelnen Zeilen
Nein!
Deine Matrix hat 16 Spalten, also brauchst du nur 2x8=16 Digit-Treiber.
>Gäbe es denn eine einfachere Möglichkeit zwischen den zwei Farben hin->und herzuschalten?
Lass den MAX weg, nimm einen AVR + 2x TPIC6595 + 8x BC337 und fertig.
Damit kann man die LED-Matrix spielend ansteuern, ohne tricksen zu
müssen.
MFG
Falk
Wenn du Portpins sparen möchtest, dann schau dir mal den TLC5920 an.
Zwei davon und du kannst deine zweifarbige Matrix per SPI mit wenigen (8
reichen glaube ich) Pins mit wenigen extra Bauteilen ansteuern. Es
reichen zusätzlich noch zwei Widerstände und 4-6 Blockkondensatoren.
Es handelt sich allerdings um einen SMS Baustein...
Hmm, danke für den Tipp. Der TLC5920 scheint ja ein passender Chip zu
sein. Jetzt muss ich nur noch herausfinden, wo ich ihn erwerben kann.
Schade dass der SMD ist. Mal schauen, ob ich jemanden finde, der das
löten kann...
Naja, hatte eigentlich extra 5 MAX7221 erstanden, die dann jetzt wohl
erstmal sinnlos sind... =)
Liebe Grüße,
Chris