Hallo zusammen, ich baue gerade einen Sternenhimmel mit Glasfasern. Dazu möchte ich 60 LEDs einzeln dimmbar ansteuern mittels Arduino. Problem: Habe nicht aufgepasst :-(. LEDs sind verlötet, verkabelt und hinter MDF Platten verbaut die ich nicht mehr abnehmen möchte. GND habe ich für alle 60 LEDs auf einem Kabel geführt, 60 Kabel für V+ an die einzelnen LEDs geführt. Beim anschließen ans PWM Board dann die Erkenntnis, dass das Board die LEDs auf GND dimmt und nicht auf V+ :-( Nun suche ich die beste Möglichkeit mit möglichst wenig Aufwand (d.h. ohne die Verkabelung der LEDs zu ändern) die trotzdem dimmen zu können. Ich dachte an einen Inverter, also einfache NOT Gatter, die genug Kraft haben eine LED pro Kanal zu dimmen. Versorgungsspannung 5V, normale 20mA LEDs. Gar nicht so einfach was zu finden. Habe nach langer Suche diesen IC gefunden: 74HC4049 http://www.nexperia.com/catcher/74HC4049.pdf Zu kaufen bei Reichelt: https://www.reichelt.de/ICs-74HC40-DIL/74HC-4049/3/index.html?ACTION=3&LA=446&ARTICLE=3227&GROUPID=2933&artnr=74HC+4049 Löst das mein Problem, wenn ich davon 10 Stück verlöte für die 60 LEDs? Versorgungsspannung sollte passen, unsicher bin ich bei der Last: Im Datenblatt stehen zwar 20 mA, aber gilt das pro Ausgang? Funktioniert meine Idee generell oder gibt es bessere Lösungen? Ich danke Euch für Eure Ideen! Viele Grüße Pascal
Der max. Strom liegt bei 50mA. da passt eher was aus der Familie UDN2981A
Pascal schrieb: > Im Datenblatt stehen zwar 20 mA, aber gilt das pro Ausgang? Also ich sehe im Datenblatt bloss VI = VIH or VIL IO = 20 A; VCC = 2.0 V 1.9 2.0 - 1.9 - 1.9 - V IO = 20 A; VCC = 4.5 V 4.4 4.5 - 4.4 - 4.4 - V IO = 20 A; VCC = 6.0 V 5.9 6.0 - 5.9 - 5.9 - V IO = 4.0 mA; VCC = 4.5 V 3.98 - - 3.84 - 3.7 - V IO = 5.2 mA; VCC = 6.0 V 5.48 - - 5.34 - 5.2 - V also 4mA für 5V. Ein UDN2981A bringt zwar viel Strom, 'frisst' aber 2 Volt und ist langsam. Einzeltransistoren wie BCR523/DTA113 (oder baugleich anderer Hersteller) nehmen weniger Plastz weg als DIL-ICs.
Hi, Danke für Eure Antworten. Platzbedarf ist mir egal, im Gegenteil, wenn die Teile auf 2,54 Lochraster zu verlöten sind ist das ein Vorteil.. Ja, ich hab 60 einzeln ansteuerbare PWM Kanäle (3x Adafruit 24-Channel 12-bit PWM LED Driver). UDN2981A ist langsam habe ich auch gelesen, für PWM wahrscheinlich also eher ungeschickt..?
Pascal schrieb: > Beim anschließen ans PWM Board dann die Erkenntnis, dass das Board die > LEDs auf GND dimmt und nicht auf V+ :-( Heisst das, das sind Open-Collector-Ausgaenge? Wenn es Treiberstufen waeren, wuerde es ja reichen in der Software den Duty-Cycle zu invertieren. Ansonsten wuerde ich tendenziell diskrete Transistoren verwenden. Das kann man sogar recht leicht auf Lochraster aufbauen, wenn man nicht extra ne Platine fertigen moechte.
Alle LED mit einem Widerstand an Plus und dann Quasi die LED mit dem PWM Treiber kurzschliessen. Nachteil: mehr Stromverbrauch je dunkler die LED.
Alles Mist irgendwie.... Open-collector-Ausgänge. Letzten Endes heisst das: -60 wie auch immer geartete Inverter -60 neue Strombegrenzungwiderstände -60 pull-up-Widerstände -evtl. 60 Basiswiderstände Vielleicht solltest du doch noch mal über eine Umverdrahtung nachdenken?
Passt doch locker auf Postkartengrösse. Wo ist das Problem? http://www.mikrocontroller.net/attachment/116537/IMG_0485.JPG
Einfach wären 60 PNP-Transistoren und 60 Vorwiderstände. Die Basiswiderstände kann man weglassen und den TLC5947 auf der Adafrucht-Platine auf den passenden Basisstrom einstellen.
Pascal schrieb: > Ich dachte an einen Inverter, also einfache NOT Gatter, die genug Kraft > haben eine LED pro Kanal zu dimmen. Versorgungsspannung 5V, normale 20mA > LEDs. > > Gar nicht so einfach was zu finden. Habe nach langer Suche diesen IC > gefunden: 74HC4049 Wie oben schon geschrieben, ist HC zu schwach. Von den Logikfamilien, die es als DIP gibt, bleibt eigentlich nur noch AC übrig (kann 24 mA bei 5 V). (SN74AC240N oder CD74AC240E; die gibt es bei den großen Händlern wie Mouser/HBE-Shop/Digikey.) Allerdings wollen AC-Chips an ihren Eingängen auch schnelle Signale sehen, mit einem Open-Collector-Ausgang schaffst du das nicht. Also bleibt anscheinend nur noch die Lösung mit 60 PNP-Transistoren.
:
Bearbeitet durch User
Tom schrieb: > Einfach wären 60 PNP-Transistoren und 60 Vorwiderstände. Die > Basiswiderstände kann man weglassen und den TLC5947 auf der > Adafrucht-Platine auf den passenden Basisstrom einstellen. Evtl. sollte man noch jeweils einen Widerstand zwischen Basis und Emitter vorsehen, damit die Transistoren trotz der Leckströme des TLC5947 sauber sperren und die LEDs in ausgeschaltetem Zustand nicht weiterglimmen. Wenn das Glimmen nicht sichtbar ist oder nicht stört, kann man diese Widerstände aber auch weglassen. Bei den bis zu 180 zusätzlichen Bauteilen würde ich aber noch einmal nachrechnen, ob es nicht doch schneller geht, die LEDs neu zu verlöten. Das wäre auf jeden Fall die sauberere Lösung, allein schon wegen der echten Konstantstromquellen für die LEDs, die der TLC5947 bietet.
Yalu X. schrieb: > Bei den bis zu 180 zusätzlichen Bauteilen würde ich aber noch einmal > nachrechnen, ob es nicht doch schneller geht, die LEDs neu zu verlöten. Und bei der Gelegenheit gleich den Verdrahtungsaufwand erheblich reduzieren durch Verwendung von LEDs mit integriertem PWM Controller. z.B: https://www.adafruit.com/product/1734
Hallo zusammen, vielen Dank für Eure rege Teilnahme. Die Variante mit PNP Transistoren klingt erstmal nicht schlecht, vielen Dank für die Idee. Muss für mich dann nochmal abwägen, ob es den Aufwand wert ist oder doch Neuverlöten sinnvoller ist.. Welche Transistoren bräuchte ich denn da, reicht da sowas? https://www.reichelt.de/BC-BCY-Transistoren/BC-557B/3/index.html?ACTION=3&GROUPID=2881&ARTICLE=35845 Plus Vorwiderstände und Basiswiderstände (welche Größen brauche ich da jeweils?). Wäre schon auch ein Haufen Lötarbeit... :-(
Pascal schrieb: > Plus Vorwiderstände Daher ja Digitaltransistoren. Waren dir zu klein. > und Basiswiderstände Braucht man auch, selbst Konstantstromtreiber gehen nicht auf 0uA.
Was spricht dagegen, das ganze per Software zu Lösen? Statt: PWM1 = x; einfach: PWM1 = 0x0FFF - x; schrieben? Nimmt der Code-Overhead zu oder wird das ganze zu langsam? Dann vielleicht an der Logik arbeiten, dass die Funktionen für heller und Dunkler getauscht werden. [EDIT]Zeig am Ende bitte mal ein paar Bilder vom ganzen.
:
Bearbeitet durch User
Chris L. schrieb: > Was spricht dagegen, das ganze per Software zu Lösen? Die Ausgänge dieser Karte (TLC5947 oder TLC59711) sind Konstantstrom OC-Ausgänge! Gruss Chregu
Ja und?! Wo ist das Problem, er steuert die dinger per Arduino, wenn ich den ersten Beitrag richtig verstanden habe. Also existiert definitiv eine Software. Die muss er nur kurz umschreiben! Irgendwie setzt er ja auch die PWM werte, diese stellen muss er abändern.
:
Bearbeitet durch User
Chris L. schrieb: > Ja und?! Wo ist das Problem Welchen Teil von "Konstantstrom open-collector Ausgänge" hast du jetzt nicht verstanden?
Ich habe alles verstanden!! Und eben diese Ausgänge treibt er im Moment per PWM, nur das eben Hell und Dunkel vertauscht sind. Also sollte man da ansetzen und nicht noch irgendwelche Transistoren dazubasteln. >Beim anschließen ans PWM Board dann die Erkenntnis, dass das Board die >LEDs auf GND dimmt und nicht auf V+ :-( und >Ja, ich hab 60 einzeln ansteuerbare PWM Kanäle (3x Adafruit 24-Channel >12-bit PWM LED Driver). deuten für mich darauf hin, das er per PWM steuert, also sollte man hier schon ansetzen. Verstehe ich hier was falsch?
Ahh, jetzt geht mir ein Licht auf. Auf die Verschaltung der LEDs habe ich garnicht geachtet. Das kann natürlich nicht funktionieren!
Chris L. schrieb: > Wo ist das Problem, er steuert die dinger per Arduino, wenn ich den > ersten Beitrag richtig verstanden habe. Also existiert definitiv eine > Software. Die muss er nur kurz umschreiben! Du meinst also, man kann aus den KonstantstromSENKEN im TLC5947 per Softwareänderung KonstantstromQUELLEN machen? Mit Software geht zwar viel, aber das definitiv nicht. Edit: Zu spät, da dir das Licht bereits aufgegangen ist :)
:
Bearbeitet durch Moderator
Wenn die Vorwiderstände nicht auch schon hinter den MDF Platten verbaut sind, könntest du die LEDs auch einfach mit deinem vorhandenen Treiberboard "kurzschließen". Im AUS Zustand fließt dann halt trotzdem weiterhin Strom durch den Vorwiderstand (20mA), also insgesamt 1.2A für den ganzen Himmel -> verschmerzbar. Zusätzlich kann man natürlich die Versorgungsspannung ganz ausschalten (für alle LEDs auf GND Seite), für den Zustand, dass der ganze Himmel komplett aus sein soll. Das ganze erfordert dann nur minimale Zusatzhardware (den FET zum Abschalten des gesamten Himmels).
:
Bearbeitet durch User
Kleiner Denkfehler noch: da die Vorwiderstände ja auf 20mA bei in Serie geschalteter LED dimensioniert sind, fließt beim Überbrücken der LED natürlich mehr Strom. Je nach Vf der LED u.U. doppelt so viel. Musst halt gucken, ob deine 5V Versorgung für den dann maximal auftretenden Strom ausgelegt ist. Je nachdem welchem Aufwand man treiben möchte, könnte man vor die Treiberstufe noch Dioden setzen (Vf < Vf_LED), um etwas Strom einzusparen.
:
Bearbeitet durch User
Pascal schrieb: ... > Ich dachte an einen Inverter, also einfache NOT Gatter, die genug Kraft > haben eine LED pro Kanal zu dimmen. Versorgungsspannung 5V, normale 20mA > LEDs. > > Gar nicht so einfach was zu finden. Habe nach langer Suche diesen IC > gefunden: 74HC4049 > http://www.nexperia.com/catcher/74HC4049.pdf > Zu kaufen bei Reichelt: > https://www.reichelt.de/ICs-74HC40-DIL/74HC-4049/3/index.html?ACTION=3&LA=446&ARTICLE=3227&GROUPID=2933&artnr=74HC+4049 > > Löst das mein Problem, wenn ich davon 10 Stück verlöte für die 60 LEDs? > Versorgungsspannung sollte passen, unsicher bin ich bei der Last: Im > Datenblatt stehen zwar 20 mA, aber gilt das pro Ausgang? > 74HC hat Probleme mit 20 mA. 74AC wie Reichelt 74AC 14 hat deutlich mehr Wumps...
Danke nach wie vor für Eure rege Teilnahme! Arduino F. schrieb: > Umrüsten auf PCA9685. > Vorwiderstände nicht vergessen. Ich glaube, dass ist wirklich die beste Idee. Wenn ich das richtig sehe, dimmt der über V+. Hat zwar nur 16 Ausgänge, aber egal. Brauch ich halt 4 davon. Was meinst Du mit Vorwiderständen bei der Umrüstung? Meine LEDs haben die Vorwiderstände bereits alle mit unter der MDF Platte verlötet (daher kommt Joe F. Lösung leider auch nicht in Frage). Bei Umrüstung auf PCA9685 brauch ich sonst dann doch eigentlich gar nichts weiter beachten, oder? http://arduinolearning.com/code/arduino-pca9685-example.php <- sieht gut aus, Anode an PWM, Kathode an GND, so wie es bei mir verlötet ist (Vorwiderstände jeweils an Anode, aber das spielt ja keine Rolle).
Also ich würde ja echt drüber nachdenken die Platte nochmal runterzuschrauben, und es richtig anzuschließen. Geht doch schneller, als für 60 Kanäle neue Treiber aufzubauen (und ist billiger).
Pascal schrieb: > Meine LEDs haben > die Vorwiderstände bereits alle mit unter der MDF Platte verlötet Dann hast du ja fast Glück, dass du so auf die Nase gefallen bist. Denn dein: > (3x Adafruit 24-Channel > 12-bit PWM LED Driver). Ist für OHNE Vorwiderstände
Joe, nein, Platten nochmal runter ist echt wahnsinning aufwändig. Ich hoffe daher auch, dass meine LEDs sehr lange leben :-) Ich hab jetzt ein PCA9685 bestellt und teste das dann mal, sobald er da ist. Sieht aber ja alles gut aus. Vielen Dank nochmal für den Hinweis ufuf! Halte Euch gerne noch auf dem Laufenden, kann dann auch mal Fotos anhängen wenn der Sternenhimmel komplett fertig ist.
Pascal schrieb: > Wenn ich das richtig sehe, > dimmt der über V+. Das Datenblatt kann es dir erklären! Der Möglichkeiten sind viele.
Pascal schrieb: > Ich hab jetzt ein PCA9685 bestellt und teste das dann mal, sobald er da > ist. Sieht aber ja alles gut aus. Naja, Datenblatt: "10 mA source capability at 5 V" Das reicht für deine 20 mA nicht.
Joe F. schrieb: > Das reicht für deine 20 mA nicht. 10mA sind meist auch schon recht hell.. Da sind ja Widerstände unter der Decke, plus die Angstwiderstände auf dem Board. Muss man mal ausrechnen..... Bin ich von ausgegangen, dass man das Datenblatt dazu befragt, und die Vorwiderstände passend auswählt, bzw. zusätzliche einbaut.
Beachte, dass der PCA9685 nur jeweils 10mA an den Ausgängen liefert:
1 | Each LED output can be off or on (no PWM control), or set at its |
2 | individual PWM controller value. The LED output driver is programmed to |
3 | be either open-drain with a 25 mA current sink capability at 5 V or |
4 | totem pole with a 25 mA sink, 10 mA source capability at 5 V. |
Die LEDs werden also nicht mit ihrer maximalen Helligkeit leuchten, was aber wahrscheinlich nicht so schlimm ist. Der tatsächlich fließende Strom hängt aber auch von der Flussspannung der LEDs und den bereits verbauten Vorwiderständen ab. Wenn du das hier http://arduinolearning.com/code/arduino-pca9685-example.php beschriebene fertige Modul verwenden möchtest, solltest du zudem beachten, dass dieses bereits 220Ω-Vorwiderstände eingebaut hat, die sich zu deinen eigenen Widerständen addieren. Das reduziert den Strom weiter, wenn du Pech hast, auf etwa 5mA. Egal für welche Lösung du dich letztendlich entscheidest, würde ich an deiner Stelle das Ganze erst einmal nur für einige wenige LEDs aufbauen und testen, ob alles funktioniert und die LEDs hell genug leuchten. Pascal schrieb: > Ich hoffe daher auch, dass meine LEDs sehr lange leben :-) Ja, dann ist es vielleicht ganz vorteilhaft, wenn du sie deutlich unter ihrem Maximalstrom betreibst :) Edit: Ok, Joe und Arduino waren schneller :)
:
Bearbeitet durch Moderator
Ok. Danke für Eure Infos. Ich werde es ausprobieren. Die Sterne sind bei 100% viel zu hell, in einem anderen Sternenhimmelprojekt in meinem Heimkino betreibe ich die LEDs in der Regel bei 10% für eine angenehme Helligkeit und realistischen Look. Sieht für mich also ach wie vor nach einer brauchbaren Lösung aus :-) Ich halte Euch auf dem Laufenden, hoffe das Päckchen kommt am Freitag..
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.