Forum: Analoge Elektronik und Schaltungstechnik Dimensionierung Widerstände bei LED-Matrix


von Karlo (Gast)


Lesenswert?

Hallo Leute,
ich bin dabei mir eine LED-Matrix zu Versuchszwecken zu basteln.
Dabei handelt es sich um eine 5*7 Matrix (zur schönen Darstellung von 
Zeichen). Die Ansteuerung erfolgt hauptsächlich wie hier beschrieben: 
http://www.mikrocontroller.net/articles/LED-Matrix

Gesteckt hab ich die Schaltung schon in kleinerer Ausgabe, die Software 
passt auch. Jetzt gehts ans Löten auf Lochraster.
Ich wollte mich hier nochmal vergewissern ob ich meine Widerstände 
richtig dimensioniert habe, da ich sowas zum ersten mal mache.
Wegen dem Multiplex müssen ja höhere Ströme fliesen (kurzzeitig).
Bei meiner gesteckten Schaltung verwende ich vorsichtshalber noch 
größere Widerstände, das macht sich aber in der Helligkeit bemerkbar.

Meine LEDs (gelb) haben laut Datenblatt eine Vorwärtsspannung von 2,2V, 
messen tu ich aber nur so 2V.
Das ganze hängt an 5V, sodass abzüglich Uvorwärts und den Abfällen an 
den beiden Transistoren (0.6V und 0.1V) ca. 2V am Vorwiderstand abfallen 
müssen.

Die LEDs benötigen einen Strom von 20mA, vertragen dauerhaft angeblich 
maximal 30mA. Pulsstrom verkraften sie kurzzeitig 150mA.

Da ich 1:5 multiplexe lasse ich 100mA fliesen, bei 2V am Rvor wähle ich 
daher 22 Ohm als Vorwiderstand. Soweit in Ordnung?

Als Rbasis für den Spaltentreiber (Emitterschaltung) habe ich an ca. 
5-10k gedacht. Hier muss man ja imho nicht so genau drauf achten, da ich 
den Transistor eh in die Sättigung treibe. Soweit auch in Ordnung?
Bei den Transistoren handelt es sich um BC337, Zeilentreiber in 
Kollektorschaltung, Spaltentreiber in Emitterschaltung. Spalten werden 
gemultiplext. Aber das verlinkte Schaltbild sagt ja alles :)

Hoffe jemand könnte sich dazu eben 2min seine Gedanken machen. Habe zwar 
das ganze durchgerechnet, aber wie gesagt, wollte mir als Anfänger das 
ganze nochmal "absegnen" lassen :)
War ne heidenarbeit die LEDs zu verlöten, die müssen nicht gleich beim 
ersten Einschalten in Rauch aufgehen :)
Danke schon mal!

: Verschoben durch Admin
von Alexander S. (esko) Benutzerseite


Lesenswert?

Karlo schrieb:
> Die Ansteuerung erfolgt hauptsächlich wie hier beschrieben:
> http://www.mikrocontroller.net/articles/LED-Matrix
Diese Schaltung ist zwar nicht optimal, aber sie funktioniert.


> Da ich 1:5 multiplexe lasse ich 100mA fliesen, bei 2V am Rvor wähle ich
> daher 22 Ohm als Vorwiderstand. Soweit in Ordnung?

Ja, das ist ok.

Aber Achtung: Wenn du einen Fehler in der Software hast brennen dir die 
Leds durch. Daher würde ich, bis das Programm komplett fertig ist, die 
Schaltung an 3,5V betreiben. Vorausgesetzt die anderen Bauteile 
funktionieren damit.

Geht das nicht, dann baue einen zusätzlichen Widerstand zwischen GND und 
den Spaltentransistoren ein, den du dann am Ende überbrücken kannst.

von Karlo (Gast)


Lesenswert?

Hey danke dir.
Also aufn Testboard läuft die Software, lediglich die Zeilenanzahl ist 
noch geringer um den Steckaufwand zu reduzieren. Aber das mit dem 
zusätzlichen R werde ich wohl erstmal machen, danke dir.
Ist der Rbasis mit 5-10k auch in Ordnung?

Hab grad im Datenblatt noch was gefunden, bei "Peak vorward Current", 
also die Pulsströme.
Unter der Tabelle, die mir den Wert von 150mA sagt, ist noch folgender 
Zusatz: 1/10 Duty Cycle, 0.1ms pulswidth.

Bedeutet das sie halten den Wert von 150mA nur aus, wenn sie danach die 
9fache Zeit zum Abkühlen haben? Ich multiplexe 1:5, deswegen sind die 
Spalten 20% der Laufzeit an, nicht 10%. Dafür ist mein Peak Current aber 
auch nur 100mA. Könnte das zum Problem werden?
und 0.1ms Pulswidth ist auch bischen wenig Zeit. Momentan lasse ich jede 
Spalte für 2ms leuchten. 2ms * 5 Spalten ergibt 10ms für einen 
kompletten Durchlauf, also 100Hz Bildfrequenz.
Ok laut dem Artikel ist das eh eine recht niedrige Frequenz. Welche 
Frequenz sollte ich denn anstreben? Wenn ich mich stur an die 0.1ms 
Pulswidth halte komme ich auf 2kHz? Bischen viel oder?

von Alexander S. (esko) Benutzerseite


Lesenswert?

Karlo schrieb:
> Ist der Rbasis mit 5-10k auch in Ordnung?

Mach mal eher 1k. Das hängt vom Transistor ab.


> Unter der Tabelle, die mir den Wert von 150mA sagt, ist noch folgender
> Zusatz: 1/10 Duty Cycle, 0.1ms pulswidth.
>
> Bedeutet das sie halten den Wert von 150mA nur aus, wenn sie danach die
> 9fache Zeit zum Abkühlen haben? Ich multiplexe 1:5, deswegen sind die
> Spalten 20% der Laufzeit an, nicht 10%. Dafür ist mein Peak Current aber
> auch nur 100mA. Könnte das zum Problem werden?

Ja, du bewegst dich damit außerhalb der Datenblattwerte.
Dein Strom ist: 2V/22ohm/5 = 18mA
Die Leds werden wohl nicht gleich kaputt gehen, aber sie altern dadurch 
schneller.


> und 0.1ms Pulswidth ist auch bischen wenig Zeit. Momentan lasse ich jede
> Spalte für 2ms leuchten. 2ms * 5 Spalten ergibt 10ms für einen
> kompletten Durchlauf, also 100Hz Bildfrequenz.

Die 100 Hz sind eh etwas knapp, das kannst du noch etwas erhöhen. Auch 
der Augenfreundlichkeit wegen.
Ob die Leds das aushalten kann ich dir nicht sagen. Würde ich einfach 
ausprobieren. Allzu viel Angst hätte ich nicht.
Hast du einen Link zum Datenblatt.

von Karlo (Gast)


Lesenswert?

Hey danke dass du dir die Zeit nimmst.

Hier der Link:
http://www.reichelt.de/?;ACTION=7;LA=28;OPEN=0;INDEX=0;FILENAME=A500%252FLED3MMSTGE_LED3MMSTGN_LED3MMSTRT%2523KIN.pdf;SID=15uFVpN6wQAQ8AAHZ@GPMd2d965d0b94b642af4a84039170907c9

Habe die gelben verbaut.

So wie ich das verstehe müsste ich mit steigender Frequenz ja wieder 
näher an den Spezifikationen dran sein, weil ich mich der pulswidth von 
0.1ms nähere. Ok den Dutycycle halte ich nicht ganz ein, aber dafür ist 
mein Pulsstrom ja auch nur 66% des angegebenen (der ja bei 1:10 150mA 
sein darf).

von Alexander S. (esko) Benutzerseite


Angehängte Dateien:

Lesenswert?

Die Pulsdauer 0,1ms ist der Parameter bei dem 150mA noch erlaubt sind. 
Wie es bei anderen Pulsdauern aussieht, darüber macht das DB keine 
Angabe.

Aber wie du schon erkannt hast, sind bei längeren Pulsdauern sind in der 
Regel nur kleinere Pulse erlaubt.


Aber für dich ist das gar nicht relevant, denn wenn du dir die Kurve
Vorwärtsspannung vs. Vorwärtsstrom anschaust, dann siehst du wie 
abhängig die Spannung vom Strom ist.

Bei 90mA würden schon 3,85V über der LED abfallen, was natürlich nicht 
geht da nur weniger Spannung zu Verfügung steht.


Solch eine Diodenkennlinie kann man entweder durch eine e-Funktion 
annähern, das ist genau aber hier zu kompliziert.
Oder mit einer festen Flußspannung (1,6V) und einem differentiellen 
Widerstand.
Der ist hier 1,0V / 40mA = 25ohm

D.h. Du kannst einfach Rechnen:
4V für Diode + Vorwiderstand
Die 1,6V fallen immer ab, also abziehen.

4V - 1,6V = 2,4V

Die restliche Spannung teilt sich am Vorwiderstand und am diff. 
Widerstand der Led auf:
2,4V  / (25ohm + 22ohm) = 51mA

Somit kommst du nicht über 51mA hinaus und das ist auf jeden Fall 
unproblematisch.


Falls ich dich jetzt nicht erschlagen habe, frage einfach nach.

von MaWin (Gast)


Lesenswert?

> Das ganze hängt an 5V, sodass abzüglich Uvorwärts und den Abfällen an
> den beiden Transistoren (0.6V und 0.1V) ca. 2V am Vorwiderstand abfallen
> müssen.

Recht grosszügig.
Bei den 100mA fallen am Emitterfolger eher 1V ab, die 800mA führen bei 
den Spalten eher zu 0.5V. Dein LED-Strom ist also wohl geringer.

> Als Rbasis für den Spaltentreiber (Emitterschaltung) habe ich an ca.
> 5-10k gedacht.

Zu hoch. Du willst ihn ganz durchschalten,
Im Datenblatt des BC337 (Figure 4, onSemi) siehst du,
das er für 500mA Kollektorstrom 10mA Basisstrom braucht (das ist 
allerdings 'typisch' und nicht garantiert, kann also auch grandios 
schief gehen, niedrigste UCEsat bekommst du nur mit 80mA aber so viel 
liefert der uC-Ausgang nicht).
800mA stehen nicht drin, aber man sollte 20mA erreichen wollen wenn man 
das Diagramm extrapoliert.
Also maximal 200 Ohm Basisvorwiderstand, nimm 220 oder 180 Ohm.
Besser wäre ein ZTX1048 (Anschlussbelegung!).
Noch besser MOSFETs wie IRF7331/IRF7329 oder Si9926/Si9934.

von Karlo (Gast)


Lesenswert?

Danke euch beiden.

@ Alexander Schmidt: Deine Rechnungen versteh ich jetzt nach bisl 
nachdenken. Ist eigentlich ziemlich praktisch eine LED so zu betrachten.

@ MaWin: Wieso genau fallen denn auf einmal soviel an den Transistoren 
ab?
Nur wegen dem hohen Strom?

Ok ich könte die Spaltentreiber durch MOSFETs ersetzen.
Ausserdem könnte ich 9V anstatt 5V Versorgungsspannung nehmen. Aber bei 
Zeilentreiber in Kollektorschaltung würde das ja auch nichts bringen, 
kommen wieder nur 5V-Ube an und der Rest brät am Transistor.

Welche Möglichkeiten hätte ich denn noch?

von MaWin (Gast)


Lesenswert?

> @ MaWin: Wieso genau fallen denn auf einmal soviel an den
> Transistoren ab?

Weil man richtig rechnet.

Die Kollektorschaltung, also als Spannungsfolger, basiert
einerseits auf der Ausgangsspannung des uC, die bei gewissem
Ausgangsstrom auch nicht bei 5V liegt, sondern sagen wir
VCC-0.3V.
Dann noch Ube des Transistors, bei etwas Strom auch nicht 0.6V
sondern eher 0.7V (bei noch mehr Stro auch 1V),
macht in der Summe 1V (bis sogar 1.3V).

Der Spaltentransistor in Emitterschaltung wird hoch belastet,
du wolltest BC337 mit 800mA belasten, was gerade deren obere
Grenze ist (du belastest auch nur in Pulsen) udir im datenblatt-
Diagrammen schon gar nicht mehr drinsteht. Auf jeden Fall kommst
du nicht mit 0.2V aus. Die 0.5V sind realistischer (bei ausreichendem
Baissstrom).

>  Aber bei Zeilentreiber in Kollektorschaltung würde das ja
> auch nichts bringen, kommen wieder nur 5V-Ube an und der Rest
> brät am Transistor.

Richtig erkannt.

> Welche Möglichkeiten hätte ich denn noch?

Bei mehr-als-5V brauchst du high side driver wie UDN2981
(oder eben dasselbe aus je 2 Transistoren diskret aufgebaut,
dann hättest du sogar saturated driver als PNP in Emitterschaltung).

von Karlo (Gast)


Lesenswert?

Ok danke dir. Denke verstanden hab ich das Schaltprinzip schon vorher, 
nur manche Zahlenwerte waren mir nicht ganz klar.

Wie gesagt, funktionieren würde meine Schaltung, nur eben nicht hell 
genug. Mal schaun, entweder geb ich mich erstmal mit der dunkleren 
Matrix zufrieden, oder ich geh das ganze nochmal ganz von vorne an, also 
mit Treiber-ICs etc. Aber eigentlich wollte ich "meine erste Matrix" 
diskret aufbauen.

Eine Möglichkeit, das ganze nur mit NPN-Transistoren aufzubauen wäre 
wohl noch die Verwendung von diesen Low-Current-LEDs oder?
Sagen wir, die brauchen nur 5mA. Müsste ich diese im Multiplexbetrieb 
dann mit 25mA Versorgen? Oder sind die auch mit geringerem mittlerem 
Strom hell genug?

Naja wieder was gelernt. Hab bei meinen ersten Rechnungen nicht die 
hohen Spannungsabfälle an LED+Transistoren bedacht :)

von MaWin (Gast)


Lesenswert?

> Müsste ich diese im Multiplexbetrieb dann mit 25mA Versorgen?

Ja. (logisch, von nix kommt nix).

> ich mich erstmal mit der dunkleren Matrix zufrieden,

So ist das bei den meisten der LED-Matrizen die man so in AppNotes und 
Interntartikeln findet, weil kaum jemand rechnet oder hinterher 
nachmisst.

von Karlo (Gast)


Lesenswert?

Mir ist gerade noch eine Frage gekommen, eher an Alexander Schmidt 
gerichtet:

In deiner Rechnung gehst du davon aus, dass 1.6V immer an der Diode 
abfallen. Soweit in Ordnung, sieht man ja in der Kennlinie.
Die Kurve ähnelt ja ab 1.6V ziemlich einer Gerade. Du gibst den 
Steigungsfaktor dabei mit 25 Ohm an. Auch soweit noch ersichtlich.

Weiter sagst du, die verbleibenden 2.4V teilen sich am diff. Widerstand 
der Diode und an Rvor auf. Wenn ich jetzt aber keinen Rvor verwenden 
würde, ergäbe sich ja mein Strom zu 2.4V (oder bisl weniger, so 1.9V 
wenn man von MaWins genannten Verlusten ausgeht) / 25 Ohm ~ 90mA.
Eigentlich ein recht schöner Wert für 1:5 Multiplex.

Aber auch wenn sich das hier schön rechnet, erscheint mir die 
Vorstellung einer LED ohne Vorwiderstand gefährlich. ich vermute, ich 
kann diesen diff. Widerstand nicht als Widerstand im herkömmlichen Sinne 
ansehn oder?

Denn laut Rechnung würd ich ja ohne Rvor auf einen brauchbaren Stromwert 
kommen.
Vielleicht kann mir das noch einer erklären.
Danke euch!

von Karlo (Gast)


Lesenswert?

Und noch ein Nachtrag:

Die hohen Verluste an den Transistoren ergeben sich aus dem hohen Strom, 
zB bis zu 800mA pro Spalte.
Das führt aber dazu, dass mein Rvor (+ dieser diff. R der LED) weniger 
Spannung abkriegen, und nur noch ca 50mA pro Zeile, also max 400mA pro 
Spalte fliesen. Aber dann müsst ja wieder weniger Spannung an den 
Transistoren abfallen, weil die ja von weniger Strom durchflossen 
werden.

Ein Teufelskreis. Kann mir vielleicht jemand noch erklären wie das Ganze 
zusammenhängt? Mir fehlt noch so die letzte Eingebung :)

von Alexander S. (esko) Benutzerseite


Lesenswert?

Karlo schrieb:
> Aber auch wenn sich das hier schön rechnet, erscheint mir die
> Vorstellung einer LED ohne Vorwiderstand gefährlich. ich vermute, ich
> kann diesen diff. Widerstand nicht als Widerstand im herkömmlichen Sinne

Man kann diesen diff. Widerstand durchaus benutzen. z.B. arbeiten alle 
billigen Led-Taschenlampen so. Diese haben auch keinen Vorwiderstand 
eingebaut.

Allerdings ist das risikoreich, weil dieser diff. Widerstand recht 
ungenau ist. Er ist ja eigentlich ungewollt. Daher kann er stark 
schwanken. Auch die Flußspannung (die 1,6V) ist stark 
temperaturabhängig.

Du bist auf der sicheren Seite wenn du von diesem "internen" Widerstand 
sagen wir mal 30% abziehst und damit rechnest.

Außerdem solltest du mal eine Led nehmen und selbst durchmessen. Nicht 
dass das ein Worst-Case Wert ist oder nur bei speziellen Temperaturen 
gilt.
Und bei dir die Leds durchbrennen.
Außerdem lernt man was wenn man mal selbst so eine Kennlinie mit ein 
paar Werten aufnimmt.



> ... Das führt aber dazu, dass mein Rvor (+ dieser diff. R der LED)
> weniger Spannung abkriegen, ...  dann müsst ja wieder weniger Spannung
> an den Transistoren abfallen, weil die ja von weniger Strom durchflossen
> werden.
>
> Ein Teufelskreis.

Das ist richtig.
Wenn man das ganz genau ausrechnen will dann muss man sich iterativ an 
die Lösung heran tasten.
Also die Rechnung mehrmals durchrechnen, wobei man dem wahren Wert immer 
näher kommt.
Im Endeffekt sind die Fehler durch Streuung und Toleranzen allerdings so 
groß, dass sich das kaum lohnt.

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.