Forum: Mikrocontroller und Digitale Elektronik LedMatrix über Transistor schalten


von Johannes J. (jhne92)


Lesenswert?

Hallo, in einem Studenten Projekt wollen wir über einen STM32F4 eine LED 
Matrix angesteuert bekommen.

Die Leds haben folgende Spezifikation:
UBetrieb = 3,3V
I = 30mA

Die Versorgungsspannung kann entweder 3,3V oder 5V betragen.
Das der Mikrokontroller nicht genug Strom liefert und die Ausgänge eine 
hohe Spannungstolleranz haben, müssen wir die einzelnen Seiten der 
Matrix über "Transistoren" schalten.

Wenn wir das ganze jedoch so aufbauen:
1.Transistor(für Reihe)
Basis = STM32 Ausgang = ~ca 2,8V
C = Vcc(3,3V)
E = LED(+)

1.Transistor(für Spalte)
LED(-) geht auf den C
Basis ist hier auch ein STM32-Out
Emitter geht gegen Masse

Wenn wir jetzt beide Ausgänge Schalten, war unser Gedanke das dann die 
Spannung von 3,3V von der Versorgung über die LED gegen Masse läuft.

Es kommen jedoch nur die 2,8V vom STM32 - dem BE Strom von 0,7V an und 
somit läuchtet die LED nur ganz ganz schwach...

Wenn wir direkt die Versorgungsspannung auch nutzen um den Transistor zu 
schalten, dann funktioniert unser Aufbau perfekt, auch die Matrixform -> 
es lässt sich jede LED individuell schalten...


Wir haben jetzt noch überlegt ob man das ganze nicht auch über einen 
Baustein wie diesen realsieren könnte:


http://de.rs-online.com/web/p/products/7965311/?cm_mmc=DE-PPC-0914-_-google-_-3_MPN_Exact-_-Toshiba%7CPSF_430854%7CTransistoren+Darlington_TD62783APG_E&gclid=Cj0KEQiA6dGmBRC_3Mi-x_XywKsBEiQA1lcFP4uHmLK7GowFXcZP0XM1id_xb2BNV8rgc14wJn5KlGkaAgOl8P8HAQ



Nachtrag wir haben es genau so wie hier aufgebaut:
http://www.mikrocontroller.net/wikifiles/thumb/6/64/LED_Matrix_8x5.png/500px-LED_Matrix_8x5.png

Jedoch haben wir an die Transistoren direkt die STM32 Ausgängen 
angeschlossen, und keine Widerstände in den "Reihen" da wir mit 3,3V 
Versorgungsspannung arbeiten die unteren Widerstände haben wir bei uns 
mit 1,5KOhm dimensioniert.

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

3.3V reichen wohl kaum, um eine LED, die 3.0-3.6V benötigt, mit einem 
definierten Strom zu versorgen, es wäre nicht mal Spannung für einen 
Vorwiderstand da.

Es gibt noch viel zu lernen: 
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.8.1

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Johannes Jaeger schrieb:
> Die Versorgungsspannung kann entweder 3,3V oder 5V betragen.

Dann betreibt das Ganze doch bei 5V und scheltet einen Vorwiderstand vor 
die LED, das sollte man immer so machen, die Kennlinie ohne 
Vorwiderstand ist so steil, dass kleinste Spannungsänderungen große 
Stromänderungen nach sich ziehen und die LED dann entweder stirbt oder 
aber extrem ungleichmäßig hell ist...

Eine LED mit 3,3V Vorwärtsspannung kann nicht mit 3,3V betrieben werden, 
am Schalttransistor fällt auch noch Spannung ab...

: Bearbeitet durch User
von Johannes J. (jhne92)


Lesenswert?

Ok dann würde es also funktionieren, wenn wir die Versorgungsspannung 
auf 5V erhöhen, und einen Vorwiederstand einsetzen.

Würde es dann mit dem Ausgang vom Stm32 mit 2,8V schalten?
und an den LEDs würden dann 3,3V anliegen?

5V Versorgung
3,3V LED --> 3*30mA maximal pro Spalte
R = 1,7V / 90mA = 18 Ohm

Brauchen wir einen Vorwiderstand > 18 Ohm
ist das soweit richtig?

von Gregor O. (zappes)


Lesenswert?

Statt der Spaltentransistoren könnte man auch einen TLC5916 nehmen, dann 
spart man sich auch die Widerstände.

von Johannes J. (jhne92)


Lesenswert?

Gregor Ottmann schrieb:
> Statt der Spaltentransistoren könnte man auch einen TLC5916 nehmen, dann
> spart man sich auch die Widerstände.

Danke für diesen Tipp, jedoch wollen wir es vorerst einmal ohne so ein 
Bauteil realisieren...

Den von mir berechneten Widerstand von 18 Ohm ist das so richtig?

Muss man den in jeder Zeile nehmen oder reicht einer direkt hinter VCC 
und dann das jeweils an die Cs von den Transistoren

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

So einfach ist das nicht, du musst mit dem Vorwiderstand vor der Diode 
verhindern, dass mehr als 30mA fließen können. Dazu musst Du Dir 
Gedanken machen, wie viel Spannung an den Zeilen und Spaltentreibern 
abfällt. Diese Spannungen ziehst Du von der Versorgungsspannung ab und 
was dann über 3,3V (Vorwärtsspannung der LED) liegt, muss mit einem 
Widerstand verbraten werden.

Vermutlich fallen an den Zeilen und Spaltentreibern doch 1-1,5V ab, 
nehmen wir mal 1V, dann sind noch 4V übrig, am Vorwiderstand müssen wir 
also 0,7V "vernichten", bei 30mA: R=U/I --> R = 0,7 / 0,03 Ohm = 23 
Ohm... 22 oder 27 sind normaler Weise verfügbar...

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

18 Gehen sicher auch, so genau muss das nicht sein, aber Du solltest hat 
wissen, warum du welchen Wert brauchst...

von Johannes J. (jhne92)


Lesenswert?

Sie sagen jetzt, dass der Strom nicht über 30mA gehen soll.
Aber die LEDs sind ja parallel angeordnet also müsste der Strom ja wenn 
alle LEDs angehen soll min 90mA haben oder?

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Aber die gehen doch nicht alle gleichzeitig an! Die Spalten werden doch 
gemultiplext! Du weisst doch nicht, wie viele LEDs an sind, kann doch 
auch nur eine einzige sein... Je nach "Bild"

von Johannes J. (jhne92)


Lesenswert?

Ok stimmt das ist richtig.
Habe vergessen das die Spalten nacheinander durchgeschalten werden.
Also löte ich jetzt bei unserem Aufbau mal noch zwischen den Emitter und 
die erste Led in der Reihe einen 22 Ohm Widerstand und stelle die 
Versorgungsspannung auf 5V und schaue dann ob es mit dem STM32 
funktioniert

Danke :)

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Nur zum Verständnis eines Matrixbetriebes: die Spaltentreiber gehen 
hintereinander einer nach dem anderen an, dann schalten die 
Zeilentreiber die einzelnen LEDs in der Zeile zu, jeder nur eine LED, 
dann kommt die nächste Spalte dran. Man kann natürlich Zeilen und 
Spalten auch austauschen...

Damit spart man sich die Ansteuerung aller LEDs einzeln, jede LED 
leuchtet aber auch nur einen Bruchteil der Zeit. Dafür kannst Du 
eigentlich auch den Strom der LED auf den n-fachen Wert erhöhen, je nach 
Spaltenzahl... Über die Zeit gemittelt, hat sie dann doch ihren 
Nennstrom...

von Johannes J. (jhne92)


Lesenswert?

Johannes J. schrieb:
> Ok stimmt das ist richtig.
> Habe vergessen das die Spalten nacheinander durchgeschalten werden.
> Also löte ich jetzt bei unserem Aufbau mal noch zwischen den Emitter und
> die erste Led in der Reihe einen 22 Ohm Widerstand und stelle die
> Versorgungsspannung auf 5V und schaue dann ob es mit dem STM32
> funktioniert
>
> Danke :)

So versuche ich das jetzt mal oder?
Ach ja als Transistor haben wir einen BC557

von Route_66 H. (route_66)


Lesenswert?

Johannes J. schrieb:
> und stelle die
> Versorgungsspannung auf 5V und schaue dann ob es mit dem STM32
> funktioniert

Wird nicht funktionieren!
Wenn der STM32 2,8V ausgibt, hast Du am Emitter der NPN 
Treibertransistoren nie ausreichend Spannung, selbst wenn Du die Matrix 
mit 12 Volt betreibst.
Stichworte: Emitterfolger, Pegelwandler

: Bearbeitet durch User
von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Ja, der Controller sollte natürlich auf der gleichen Versorgung 
laufen...

von Markus M. (adrock)


Lesenswert?

Ja, ein Pegelwandler wäre wohl notwendig. Dann kann man sich aber auch 
gleich fragen, ob man anstelle der Transistoren nicht gleich ein 
entsprechendes Treiber-IC für die Zeilen/Spalten nimmt.

von Johannes J. (jhne92)


Lesenswert?

Hab mich jetzt nochmal mit dem Transistor Thema beschäftigt...

Also ich nehme einen PNP Transistor und da kommt an den Collektor die 5V 
Vesorgungsspannung und an den Emitter der Widerstand mit LEDs...

An die Basis vom PNP kommt dann ein Widerstand und der Collektor von 
einem NPN und von diesem der Emitter an Ground. Als Basis hier der STM32

Dann sollte ich doch mit den 2.8 vom STM die 5V von der 
Versorgungsspannung schalten können. --> Über die CE Strecke vom PNP 
fallen da ja nur ein paar mV ab...

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Aber zwischen Basis und Emitter müssen mindestens 0,7V anliegen, damit 
der Transistor schaltet...

von uwe (Gast)


Lesenswert?

> Dann sollte ich doch mit den 2.8 vom STM die 5V von der
> Versorgungsspannung schalten können.
Der Transistor würde dann in Emiterschaltung arbeiten und mit 5V 
gesperrt werden. Mit 2,8V würde er leitend werden.

von uwe (Gast)


Lesenswert?

Achso nur noch mal zum nachdenken:
Bei 5V sperrt der Transistor
Bei 2,8V leitet der Transistor
Bei 0V leitet der Transistor auch
http://www.mikrocontroller.net/articles/Transistor

von MaWin (Gast)


Lesenswert?

Johannes J. schrieb:
> Also ich nehme einen PNP Transistor und da kommt an den Collektor die 5V
> Vesorgungsspannung und an den Emitter der Widerstand mit LEDs...

Ts ts, was bitte lernt ihr eigentlich an der Uni?
Nicht mal die richtigen Anschlüsse von Transistoren ?

> und keine Widerstände in den "Reihen" da wir mit 3,3V
> Versorgungsspannung arbeiten

Daß eine LED einen Vorwiderstand oder eine ähnliche definierte Art 
braucht um trotz unterschiedlichen Spannungsbedarfs einen halbwegs 
gleichen Strom zu bekommen, hat euch auch niemand beigebracht.

Dabei wurde alles geschrieben, man müsste es bloss mal studieren
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.8.1
aber Lesen ist offenbar out bei heutigen Studenten, man kann auch alles 
in sozialen Netzen erfragen.

Welche Uni ist das ?

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.