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
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.
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?
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.
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).
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.
> 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.
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?
> @ 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).
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 :)
> 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.
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!
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 :)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.