mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mehrere Transistoren über einen µC-Port steuern?


Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Chris (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, Anhang vergessen^^

Autor: B-Non (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das würde mich auch interessieren. Habe etwas ähnliches vor...
Welchen Treiber verwendest du?

Autor: Der Flins (flins)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: Lukas Reihs (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Chris (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Chris K. (chrisk86)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ;)

Autor: Lukas Reihs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ne Idee wäre nen MOSFET zu verwenden kuck dir mal den BUZ11 an der hält 
das (eventuell mit Kühlung) sicher aus.

Autor: uP-Schwitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
R6 / R9 haben 3,3 Ohm?

Autor: Chris K. (chrisk86)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Falk Brunner (falk)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Chris K. (chrisk86)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  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

Autor: tipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: tipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SMD-Baustein natürlich...

Autor: Lukas Reihs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sry hab mich bei meiner schaltung oben vertan dass sind 3.3k und 3.3Ohm 
sry

Autor: Chris K. (chrisk86)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.