Ich sitze an folgendem Vorhaben: 64 Hochleistungs-LEDs (350mA / Stück)
sollen individuell vom Mikrocontroller gesteuert werden (inklusive
dimmen).
Mein Plan ist, 4 in Reihe geschaltete TLC5940-LED Treiber von TI
(jeweils Ansteuerung von 16 LEDs) von MC aus zu steuern. Hinter den
LED-Treiber hängen jeweils 2 ULN2003A (oder ähnliche sink-Transistor
Arrays) die jeweils 8 der LEDs ansteuern.
Da die TLC5940 Treiber über einen Referenzwiderstand in ihrem Stromwert
begrenzt werden können brauche ich keinen Vorwiderstand zum schalten der
einzelnen ULN2003 Transistoren.
Vorwiderstände gebe es nur direkt in Reihe mit den einzelnen LUXEON
LEDs.
1. Da ich nur wenig Praxiserfahrungen im Schaltungbereich habe, würde
mich interessieren, ob ich für eine stabil laufende Schaltung noch etwas
beachten muss.(?)
Zweitens möchte ich, wenn ich schonmal eine größere (im Sinne des
Materialaufwands) Schaltung baue, sie etwas variabler ist, und nicht
genau für eine Leistungsspannung und eine LED Größe vorgesehen ist.
Möglihckeit wäre, statt fester Widerstände, Spindeltrimmer zu nutzen,
allerdings sind alle die ich gefunden habe für höchstens 0,5 oder 0,75W
ausgelegt - was fast an der Grenze des jetzigen Setups liegen würde (bei
5V Einspeisung, 3,42V LED Spannung und 350mA ist die Verlustleistung ca.
0,55W). Ein wenig mehr Spielraum wär mir schon lieb.
2. Gibt es eine besser Möglichkeit, den Durchflussstrom variabel zu
halten oder Spindeltrimmer die mind. 1W vertragen?
danke
paul
Hallo Paul,
ganz schön anspruchsvolle Schaltung für den Einstieg.
Die Verlustleistung derl TLC Bausteine wird wahrscheinlich zu hoch sein,
je nachdem wie hoch der Spannungsabfall ist.
Beim ULN2003 ist sie mit knapp 5W definitiv zu hoch (1.6V*0.35A*8),
ich bin mir nicht sicher, ob der Baustein auch mit ausreichender
Kühlung auf Dauer funktionieren würde (habe dazu keine Angaben
im ST Datenblatt gefunden).
Die Dimmung solltest du nicht mit Spindeltrimmer oder ähnlichem machen,
die werden bei 350mA auf jeden Fall durchbrennen.
Der TLC hat eine PWM implementiert.
Du bist dir im Klaren, dass du 23A bereitstellen mußt ?
Gruß,
Kai
Herzlichen Dank für die Antwort Kai,
so kompliziert ist die Schaltung nun auch nicht - und es ist ja auch
nicht meine erste.
Die PWM Funktion des TLC nutze ich natürlich. Trotzdem brauche ich
Vorwiderstände an den LEDs zur Strombegrenzung. Die Spindeltrimmer
dienen nicht der PWM Generierung sondern als variabler Vorwiderstand, um
auch andere Power-LEDs nutzen zu können. Es sollen 64 Klemmen an die
Schaltung statt die LEDs direkt zu verlöten. Die Frage ist also, ob ich
statt Potentiometern eine andere Möglichkeit habe, Spannung bzw. Strom
variabel zu halten?
Ich hatte nicht berücksichtigt, daß die ULN2803 auf HIGH schalten. Der
ULC5940 schaltet ja allerdings auf Ground deshalb muss ich sowieso eine
andere Transistorlösung finden. (Da die LEDs nie alle zusammen laufen
würden, wäre P-tot der ULN Arrays ausreichend). Eine Möglichkeit wäre,
64 TIP120 oder ähnliche Darlingtons zu nutzen und den Ground der
Darlingtons jeweils an die TLC Ground-Ausgänge zu hängen und die BASE
konstant mit mit Steuerstrom zu versorgen. (Siehe:
http://www.ti.com/litv/pdf/slva280 ) Aber dafür ist wesentlich mehr
Platz nötig und das hätte ich mir gern erspart.
Würde mir die Nutzung der TIP120 Transistoren irgendwelche Probleme
bereiten (abgesehen vom Material und Platzaufwand)? Immerhin würde auch
wenn die ULC Treiber nicht schalten müssten, der gesamte Strom zu GND
durch die Treiber laufen.
Über die notwendigen 23Ampere bin ich mir übrigens vollends bewusst.
Aber bei 5V fürchte ich mich nicht davor. Am Netzteil wirds nicht
scheitern. Außerdem werden wohl immer nur wenige der LEDs angesteuert.
Danke
Paul
Anbei eine Skizze des Vorhabens. Allerdings mit nur einem TLC5940
Treiber.
Letztlich soll es 4 davon geben. Es werden nicht alle LEDs parallel
laufen und die ULN2803 werden gekühlt. Sollte meiner Meinung nach
funktionieren. Vielleicht kann ja jemand mal einen Blick drauf werfen
und Fehler oder Verbesserungen anmerken.
Herzlichen Dank
paul
Die Schaltung ist falsch, bzw. was soll es bringen mit dem TLC die
Logik-Steurereingänge der ULNs anzusteuern ? Die ULNs sind quasi
Schalter-Arrays und den Steuereingang dieser Schalter hast du am TLC
angeschlossen. Der TLC ist selber so ein ULN, nur mit dem Unterschied
das dessen Ausgangsschalter Konstantstromtreiber sind und per Seriellem
Shiftregister angesteuert werden, statt parallel wie beim ULN.
Möchtest du den Ausgangsstrom für die LEDs vergrößeren so solltest du
mehrere Ausgänge der TLC parallel schalten und dann da nur 1 LED
dranhängen. Laut AppNote zum TLC soll das gehen.
Gruß Hagen
Davon mal abgesehen hat der TLC5940 schon intern eine PWM Einheit und
kann somit seine Konstantstrom Ausgänge per PWM schalten und somit die
LEDs dimmen.
Gruß hagen
Schieberegister und gute Logic Level MosFets, PWM in Software
serialisiert über den SPI raus schieben?
Bei Strömen von 23A würde ich nicht mehr mit Bipolar
Transistoren(Arrays) rumspielen. Bei allen LEDs an sind das ~15W
Verlustleistung an den Transistoren.
Was hast Du den für einen Microcontroller? 64 PWM Kanäle in Software
sind ein haufen Holz, da kommt ein AVR ganz schön ins schwitzen falls er
es überhaupt schaffen sollte.
Eine weitere Möglichkeit wäre das Verwenden von TPIC6A595
Schieberegistern von TI
(http://focus.ti.com/docs/prod/folders/print/tpic6a595.html). Die
Schaffen pro IO 350mA cont. und 1.1A max, das sollte also reichen. Dann
musste dein Dimmen nur noch als SoftPWM umsetzen. Damit Sparst du dir
zumindest die ganze geschichte mit den extra ULNs.
Vieleicht schauste auch mal bei Allegro (http://www.allegromicro.com)
vorbei. Die haben auch interessante ICs für LEDs.
Gruß
Fabian
>> Schaffen pro IO 350mA cont. und 1.1A max, das sollte also reichen.
Nicht wenn er alle 8 Ausgänge gleichzeitig einschalten möchte -> 8 *
350mA = 2.8A, das übersteigt die Leistung der Chips.
Gruß Hagen
Danke für die schnelle Antwort.
Sicher hast Du mit der Aussage recht, daß ich keinen
Konstantstromtreiber zum ansteuern der ULNs benötige. Ich nutze die TLC
Treiber als Shiftregister mit interner PWM Funktion. Damit umgehe ich
soft-PWM, weil es beim testen wie Fabian richtig bemerkt, an die Grenzen
meines ATMEGA8 ging.
Die ULNs sind also nur deshalb im Spiel, um auf die 350mA zu kommen weil
der TLC Treiber nur 120mA per Channel sinken kann. Das Parallelschalten
von TLCs soll, wie ich gelesen habe, Probleme bereiten sobald die
interne PWM-Funktion genutzt wird.
Der Punkt ist: So wie es in dem Schaltplan beschrieben ist funktioniert
es solide inkulsive dimmen. Nur der Maximalstrom der ULNs begrenzt die
Einsatzmöglichkeit ein wenig.
Warum also ist die Schaltung falsch?
Einzelne Mosfets oder Darlingtons zu nutzen wäre da aushelfend. Um den
Aufwand von 64 Stück zu reduzieren war meine Hoffnung auf Arrays
zurückgreifen zu können - deshalb die ULNs.
Ich werd das Parallelschalten der TLCs nochmal testen.
Auf soft-PWM will ich nicht wieder umsteigen müssen.
soweit herzlichen Dank euch allen
@Hagen: kann ich nicht nachvollziehen. Im Datenblatt
(http://focus.ti.com/lit/ds/symlink/tpic6a595.pdf) steht auf Seite 4:
Continous drain current, each output, all outputs on 350mA
Sicher, man muß die Verlustleistung beachten, aber 2,8W kann der Chip
mit KK ... selbst ohne sind ja schon 2,5W angegeben (Seite4,
NE-Package).
Gruß
Fabian
Sicher eine nette Lösung - wirft mich aber zurück auf software PWM und
wie bereits geschrieben, hatte ich damit meine Probleme. Hatte über
einen Tag daran gesessen und war mit der Geschwindigkeit des Ergebnisses
bei 64 LEDs nicht zufrieden. trotzdem danke.
Nun hab ich die Ausgänge des TLC5940 parallel geschaltet. Ohne PWM läuft
alles. Mit internen PWM genutzt flackert mein Lämpchen. Nicht
akzeptabel. Es scheint minimale Verschiebungen zu geben. Ärgerlich.
Ja die gibt es, nämlich ~20ns pro Asugang. Ausgang 1 schaltet 20ns nach
Ausgang 0 und ausgang 2 ebenfalls 20 ns nach Ausgang 1 usw. Ausgang 15
ist also 15*20ns später als Ausgang 0. Das verhindert den straken
Impulsstrom wenn die Ausgänge alle gleichzeitig einschalten würden,
steht auch im Datenblatt. Allerdings dürftest du das garnicht sehen da
man normalerweise bis zu 30Mhz als PWM Takt benutzt, immerhin hast du
eine 12 Bit PWM.
Wenn du wirklich nur die Feature Shiftregister mit PWM vom TLC benutzen
möchtest dann kannst du das so machen wie in deinem Schaltplan,
allerdings brauchst du denoch deine LED Vorwiderstände. Ich bin davon
ausgegangen das du Anfänger bist und nicht ganz genau wusstest was der
TLC für ein Teil eigentlich ist. Ich persönlich finde deine Benutzung
des TLCs trotzdem sehr ungewöhnlich und würde wohl ein garnz normales
Shiftregister benutzen und die PWM per AVR machen mit weniger Stufen als
die 4096 vom TLC.
Gruß Hagen
Merci,
Natürlich würde ich auch gern meine 595 dranhängen und Mosfets als
Treiber nutzen - aber meine Programmiererfahrung lässt das nicht zu,
weil ich die Geschwindigkeit für 64 LEDs und Software PWM nicht
hinkriege. Hab ich ja bereits versucht, war aber zu langsam. Es kommen
ständig neue Daten rein, die die LEDs steuern sollen und ich hab es
nicht geschafft alles parallel mit der PWM über Interrupt zu schreiben.
Deshalb wollte ich gern auf die PWM Funktion der TLCs zurückgreifen.
Ich werde jetzt wohl n-Kanal Mosfets hintendranhängen.
Problem dabei ist, daß die TLC5940 Treiber auf Masse schalten. Gibt es
einen Weg, ohne dazwischengeschaltete PNP Transistoren die Mosfets
direkt anzusprechen. Bis jetzt hab ich mit einem Pullup Widerstand die
Mosfets entgegengesetzt geschaltet - also TLCs aus -> Mosfet Gate offen;
TLCs an (also auf Masse) --> Mosfets aus.
Gefällt mir nicht besonders weil bei Ausfall der TLCs die Mosfets voll
durchlassen. Andersherum wär mir lieber.
Danke
paul
Schienbar muss ich doch die Logikpegel umkehren da ich keine andere
Lösung sehe.
Ist es günstiger einen P-Kanal Fet direkt vom TLC aus zu steuern oder
einen pnp Transistor zwischenzuschalten der dann einen klassischen
N-Kanal Fet mit weniger Verlustleistung steuert?