Hallo, Tut mir leid dass ich mal wieder ein LED Thread aufmache, aber es geht hier um eine mehr oder weniger spezielle Hardware, habt ihr warscheinlich noch nie was davon gehört. Ich bin Student an der Hochschule Heilbronn, dort benutzen wir ein "MiniMexle" genanntes Board mit einem ATMega88 als Herzstück. Sieht so aus: http://mexlewiki.hs-heilbronn.de/UserFiles/Image/mexle/MiniMEXLE_Front.jpg und hier ein Schlatplan: http://img185.imageshack.us/img185/3285/mexleschaltplanbn3.jpg Ich will jetzt damit 300 LEDs aufgeteilt auf jeweils 100 rote, 100 grüne und 100 blaue an der Zimmerdecke in einer Reihe anbringen und damit alle möglichen Farben mischen können. Das heißt ich will die 100 gleichfarbigen LEDs alle gleichzeitig dimmen können. Am ende sollen dann auf dem Display entweder alle Farben geregelt werden können oder vordefinierte Farbübergänge ablaufen, dafür brauch ich jetzt aber noch keine Hilfe, nur für das Anschließen der LEDs. Als Netzteil hab ich hier noch ein altes ATX PC netzteil rumliegen, das sollte genug Strom liefern. So jetzt die Frage, geht das überhaupt, und wenn ja, wie?:) Gruß Sven
Ich denke, mit einem Controller könnte das schwierig werden.. Bei 300 LEDs benötigst Du auf jeden Fall Schiebe-Register und/oder Multiplex, für Helligkeit PWM. Rein technisch sollte das kein Problem sein, aber ob man dann noch auf eine Auflösung und/oder Wiederholfrequenz kommt die interessant ist müsste man mal ausrechnen... denke aber nicht.
Hi Ihr macht das alle mit Controllern? Ich würde das mit Mosfets machen und als Speicher Kondensatoren nehmen. Die Mosfets must du ja nicht mit Tastern Ansteuern, da kannst du ja den Controller nehmen! Tobi
Entgegen der Annahme von Jörg willst du alle gleichfarbigen gleichzeitig dimmern und nicht einzeln? D.h. du brauchst nur 3 Kanäle, die unabhängig eingestellt werden können? - 3x Software-PWM - 3x Treiber (FET) - je 3x 33x Gruppen mit 3 LEDs in Reihe + Widerstand fertig Allerdings weiß ich nicht, ob die PWM-Frequ. ausreicht für eine völlige Flimmerfreiheit, aber bei 20 MHz Takt sollte das locker gehen.
Bin mir gerade nicht sicher, ob nicht alle rote/grüne/blaue die selbe Helligkeit haben sollen... dann wär das kein Problem mit dem Controller. Oser willst du alle LEDs separat dimmen können? Dann müsstest du auf eine Matrixverkabelung ausweichen und dann müsstest du Abstriche bei der Helligkeit/Wiederholrate/Farbauflösung machen - oder andere Controller/CPLDs/FPGAs/Treiber wählen.
@ Sven Junesch (retlaps) >Ich will jetzt damit 300 LEDs aufgeteilt auf jeweils 100 rote, 100 grüne >und 100 blaue an der Zimmerdecke in einer Reihe anbringen und damit alle >möglichen Farben mischen können. Das heißt ich will die 100 Du fängst ja klein an. >gleichfarbigen LEDs alle gleichzeitig dimmen können. Am ende sollen dann >auf dem Display entweder alle Farben geregelt werden können oder >vordefinierte Farbübergänge ablaufen, Also müssen alle 300 LEDs unabhängig voneinander gedimmt werden können. Naja. > dafür brauch ich jetzt aber noch >keine Hilfe, nur für das Anschließen der LEDs. Als Netzteil hab ich hier >noch ein altes ATX PC netzteil rumliegen, das sollte genug Strom >liefern. Und wenn du Pech hast viel zuviel. Machst du dort aus Versehen einen Kurzschluss, ballern da 20..40A durch. :-0 >So jetzt die Frage, geht das überhaupt, und wenn ja, wie?:) Ich dachte du braucht "nur" Hilfe beim Anschluss des Netzteils? LED-Matrix Ja, die dort gezeigt ist NICHT dimmbar. Das ist schon zwei Semester höher. MFG Falk P.S. Ich baue gerade eine 9x9 LED Matrix für RGB LEDs, gesteuert durch DMX512. Mit einem FPGA. Comming soon!
@ Tobi (Gast) >Ihr macht das alle mit Controllern? >Ich würde das mit Mosfets machen und als Speicher Kondensatoren nehmen. >Die Mosfets must du ja nicht mit Tastern Ansteuern, da kannst du ja den >Controller nehmen! Du bist mir ja ein ganz Schlauer! MfG Falk
>Allerdings weiß ich nicht, ob die PWM-Frequ. ausreicht für eine völlige >Flimmerfreiheit, aber bei 20 MHz Takt sollte das locker gehen. 100 Hz * 256 Stufen = 25600 Hz Updaterate - der Controller langweilt sich dabei zu Tode ;)
Hehe, heute gab es doch schon mal so ein thread... Nimm doch einfach mal paar ATmega48, schliesse sie über ein geeignetes Bus zusammen (I2C mit 400 Kbps sollte so grob auch reichen), fertig. Pro mega48 kannst du dann ziemlich viele LEDs treiben, besonders wenn diese Low-Current Typen sind. Die I2C-Adresse lässt sich frei programmieren, d.h. man kann an einem Bus so an die 100 mega48 hängen. Mit 20 LEDs pro uC wären das 2000 LEDs insgesamt. Kosten für ein mega48 bei Angelkika: 1,45 EUR. Gruss
@ Stefan (Gast) >Nimm doch einfach mal paar ATmega48, schliesse sie über ein geeignetes >Bus zusammen (I2C mit 400 Kbps sollte so grob auch reichen), fertig. >Pro mega48 kannst du dann ziemlich viele LEDs treiben, besonders wenn >diese Low-Current Typen sind. Die I2C-Adresse lässt sich frei >programmieren, d.h. man kann an einem Bus so an die 100 mega48 hängen. Jaja, 100 ICs am I2C Bus und 400kbit/s. Dream on. MFG Falk
also hi nochmal, ich glaueb manche haben meine frage nicht ganz verstanden, ich würde gerne wissen obs mit dem Board dass ich schon habe geht ohne groß andere teile kaufen zu müssen. Gruß
100 Hz werden bei Weitem nicht reichen. Du darft nicht nur die zeitliche Auflösung des Auges betrachten. Auto-LED-Rückleuchten mit Schlußlicht/Bremmslicht-Funktion werden auch mit > 5kHz gePWMt und man sieht eindeutliches flimmern. Also > 20kHz sollten es auf jeden Fall sein.
@ Sven Junesch (retlaps) >verstanden, ich würde gerne wissen obs mit dem Board dass ich schon habe >geht ohne groß andere teile kaufen zu müssen. Kommt drauf an. Wenn du alle 100 LEDs (Rot Grün Blau) mit der gleichen Helligkeit betreiben willst dann ja. Wenn aber jede der 300 LEDs einzeln eine eigene Helligkeit haben soll, dann nein. MfG Falk
>Also > 20kHz sollten es auf jeden Fall sein. stimmt auffällig... wenn er mit gerade mal 180 km/h an der Matrix vorbeiläuft und die LEDs einen Durchmesser von 5 mm haben, kann er Lücken zwischen den LEDs erkennen... Bei der Rechnung ging es nur um die Größenordnung! Für eine halbwegs ruhende Anwendung sind 1 kHz das absolute Maximum der Sinnhaftigkeit.
also ich muss nur die gleichfarbeigen gleichzeitig dimmen können, nicht alle einzeln. Gruß
Na dann schalte soviele LEDs wie möglich + einen Widerstand in Reihe. Denke drann dass du LEDs nicht Parallel schalten kannst weil sie einen negativen Temperaturkoeffizienten und ein epontentielle Strom-Spannungkennlinie haben. also 5 Leds+Widerstand in Reihe. Das ganze 20mal pro Farbe. Und geschaltet wird es von einem Fet.
@ Kai: Du kommst mit völlig unrealistischen Vergleichen. Ich gehe davon aus das in einem Raum ein LED vor sich hin flackert. Der schweifende Blick eines Beobachter gleitet darüber. Ich nehme folgendes an: vertikale Anzahl der Rezeptoren im Auge: 4000 Pixel (ist weit untertrieben) durchschnittliche Zeit für einen "Blickschwenk": 100ms Damit wird das LED mit einer 40.000 Pixel/s abgetastet, d.h. ich vernehme jedes LED, was langsamer als 20 kHz flackert als Streifenmuster und dies ist auf Dauer sehr unangenehm. Gerade wenn du 300 LED im Raum verteilt hast. Ich habe das interessehalber mal ausprobiert. Bis 15 kHz kann man ein getaktetes LED ohne Probleme von einem CW LED unterscheiden.
Matze wrote: > Na dann schalte soviele LEDs wie möglich + einen Widerstand in Reihe. > Denke drann dass du LEDs nicht Parallel schalten kannst weil sie einen > negativen Temperaturkoeffizienten und ein epontentielle > Strom-Spannungkennlinie haben. > also 5 Leds+Widerstand in Reihe. Das ganze 20mal pro Farbe. Und > geschaltet wird es von einem Fet. OK, doofe frage: Was bedeutet Fet.? und hällt das der ATMega88 aus wenn ich dann so viel strom durchlaufen lass dass die LEDs alle leuchten oder muss ich das anders regeln? Gruß
Der Strom läuft dann ja gerade durch den FET (=FeldEffektTransistor) und der Atmega übernimmt nur die Ansteuerung des FETs. Ein FET ist hier deshalb ratsam, weil er deutlich weniger Verlustleistung produziert als ein bipolarer in dieser Stromgrößenordnung. Schöne Grüße, Alex
Du hast doch gesagt du bist Student an der Hochschule in Heilbronn...???!!!
ja, aber die abkürzung Fet hab ich so noch nie gehört, mosfet hingegen schon, hätt ich mir aber auch denken können. brauche ich dann 3 Fets, also einen pro 100 LEDs mit gleicher Farbe oder reicht einer? Gruß
@ Sven Junesch (retlaps) >brauche ich dann 3 Fets, also einen pro 100 LEDs mit gleicher Farbe Ja. > oder reicht einer? Nein. MfG Falk
>Du kommst mit völlig unrealistischen Vergleichen. Hatte nur dein Beispiel mit dem Auto aufgegriffen ;) Deine Rechnung ist aber arg Merkwürdig... >vertikale Anzahl der Rezeptoren im Auge: 4000 Pixel (ist weit >untertrieben) Die Zahl passt von der Größenordnung - im äußeren Bereich können eh keine zusammenhängenden Bilder mehr erkannt werden, nur noch Bewegungen. Das heißt es wird eher ein bewegter Punkt wahrgenommen als eine unterbrochene Linie. Anders formuliert: Im äußeren Bereich ist die zeitliche Auflösung besser, im inneren die örtliche. "40.000 Pixel/s" Nennen wir es Netzhautgeschwindigkeit. Diese Geschwindigkeit wird nur erreicht, wenn du dein Auge innerhalb von 100 ms über den gesamten vertikalen Blickwinkel (rund 90° bei Männern, 110° bei Frauen) bewegst. Lücken entstehen dabei aber nur dann, wenn die LED auf exakt einen Rezeptorpixel abgebildet wird, was natürlich Unsinn ist. Um zu ermitteln, wie viele Pixel das Abbild der LED auf der Netzhaut einnimmt, muss man den Durchmesser der LED und den Abstand davon kennen - die tauchen aber in deiner Rechnung nicht auf. Hinzu kommt noch die Eigenheit, dass nahe beieinander liegende Punkte unterhalb eines bestimmten Betrachtungswinkels als ein einziger interpretiert werden (Wert habe ich gerade nicht parat). Was ebenfalls nicht außer Acht gelassen werden sollte: Bei einer bewegten Lichtquelle reduziert sich logischer Weise die Beleuchtungsdichte. Stellen wir uns also zwei Meter entfernt vor eine 5 mm LED und bewegen das Auge über die LED (+45° bis -45°), so verteilt sich die Helligkeit von etwa 20 mm² auf PI m * 1000 mm/m * SQRT(20 mm²) = 14050 mm². Sie beträgt also nur noch ein 700-stel (das sind etwa 0,42 % gefühlte Helligkeit). Der Kontrast zwischen an und aus wird also auch geringer, was den Störeffekt deutlich vermindern sollte. Und mit Sicherheit hat das Gehirn bei der Interpretation immer noch was mitzureden - da hören bei mir die Möglichkeiten zur Berechnung auf. Lange Rede kurzer Sinn: Wenn du Spaß hast kannst du das gerne mit den Daten nochmal durchrechnen - mir ist das zu viel Aufwand für nichts. >Ich habe das interessehalber mal ausprobiert. Bis 15 kHz kann man ein >getaktetes LED ohne Probleme von einem CW LED unterscheiden. Mag sein - muss ich so akzeptieren - auch wenn ich's mir schwer vorstellen kann. Die Frage ist ja auch immer, wie sehr es stört. Ich habe halt andere Erfahrungen gemacht. Bei etwa 400 Hz hat sich das Erhöhen nicht mehr gelohnt - vielleicht war ich auch dichter dran oder die LED war größer oder der Duty-Cycle war anders. Wenn ich bei 15 kHz noch flimmern wahrnehmen würde, würde ich vor meinem 80 Hz Röhrenmonitor bei jeder Kopfbewegung rückwärts vom Stuhl fallen ;) In diesem Sinne schönes Wochenende
@ Kai Giebeler Ich will ja nicht klugscheißen, aber kann er sich nicht einfach 3 Step Down Spannungswandler bauen? Wenn das Netzteil eine ordentlich stabile Spannung liefert fällt die Reglung recht einfach aus. @ Sven J. Dein hat 6 PWM Kanäle und 8 ADC's, da nimmst du dir einfach 3 Dioden, 3 Spulen, 3 P-Kanal Mosfets und 3 Treiber für die Mosfets. Du lötest dir jetzt 3 Step Down Spannungswandler, Treiber ran (1 NPN und 1 PNP Transistor + Widerstände). Jetzt misst die Spannung am Ausgangskondensator und regelst das entsprechend auf die perfekte Spannung für die jeweiligen LEDS. Was ich sagen wollte: Wenn du deiner Schaltung 3 Spulen und 3 Dioden mehr spendierst hast du schönen, sauberen geglätteten Strom. PWM musst du ja eh machen und die Mosfets brauchst du ja auch. Ich weiß es nicht genau, aber ich denke dass es schlecht ist eine LED mit 5V (aus deinem PC-Netzteil) zu betreiben. Der Strom durch die LED ist bei reiner PWM recht hoch, so dass du deine LED bei "voller Leuchtstärke = gibt gleiche Anzahl von Lichtquanten ab" zum Teil abgeschaltet hast und zum anderen Teil mit zu viel Strom betreiben müsstest. Praktisch wirken gepulste LEDs glaube ich etwas heller. lg
Mike J. wrote: > Der Strom durch die LED ist bei reiner PWM recht hoch, so dass du deine > LED bei "voller Leuchtstärke = gibt gleiche Anzahl von Lichtquanten ab" > zum Teil abgeschaltet hast und zum anderen Teil mit zu viel Strom > betreiben müsstest. Ich glaube, du verwechselst hier was mit Multiplexing. Er will ja nur die Helligkeit einstellen, bei 100% Helligkeit ist die LED dann eben dauerhaft an.
Ich würde die drei LED-Blöcke nicht per PWM schalten, sondern analog ansteuern. Dann hat auch die Diskussion, ob man als PWM-Frequenz nun 50 Hz oder 1 GHz braucht, endlich ein Ende. Die PWM-Ausgänge kann man trotzdem nutzen, nämlich als D/A-Umsetzer (der Mega88 hat ja genug davon). Die LEDs leuchten aber mit gleichmäßiger Helligkeit. Spricht irgendetwas dagegen? Außer, dass man drei zusätzliche Rs und Cs braucht? Der Vorschlag von Mike J. ist vom Ansatz her sehr gut, allerdings würde ich, wenn man schon mit Spulen herumhantiert, gleich einen geschalteten Stromregler bauen. Damit hat man dann optimalen Wirkungsgrad und Flimmerfreiheit in einem. Der einzige Nachteil von Softwareschaltreglern besteht darin, dass bei Fehlern die LEDs abbrennen. Man kann natürlich (auf Kosten des Wirkungsgrads) Strombegrenzungswiderstände vorsehen.
@ yalu (Gast) >Softwareschaltreglern besteht darin, dass bei Fehlern die LEDs >abbrennen. Man kann natürlich (auf Kosten des Wirkungsgrads) Nana, bei richtiger Sicherheitsschaltung brennt da nix ab. Mfg Falk
Im allgmeinen sollte man laut LED Hersteller die Ansteuerung per PWM mit Stromtreibern bevorzugen. Denn so fließt während der Leuchtphasen der LEDs immer der gleiche Strom. Macht man das analog so ändert man den Strom um die Helligkeit zu regulieren. Auf den ersten Blick nicht so dramatisch, aber auf den zweiten Blick wird man feststellen das das Lichtspektrum der LEDs stark vom Strom abhängig ist. Mit analoger Ansteuerung ändert man mit dem Strom also nicht nur die Helligkeit sondern auch das Farbspektrum der LED. Das kann mit PWM nicht passieren. Gruß Hagen
@ Hagen (Gast)
>Lichtspektrum der LEDs stark vom Strom abhängig ist. Mit analoger
Naja, was ist "stark"? Um wieviel nm verschiebt sich denn das Spektrum?
Ich tippe mal auf kleiner 10nm. Für die Anwendung kein Thema.
MfG
Falk
@ yalu Sicherheit geht vor ... Man kann doch einen Schmitt-Trigger nutzen und bei erreichen einer gewissen Spannung (am Ausgang (Vout + Ripple) ) das Gate anzusteuern, dann hast du deine analoge, immer funktionierende Sicherheit mit drin. Er kann aber auch einen Spannungsfolger bauen und damit einen Festspannungsregler aufbauen. Dann fällt die Spule und die Frequenz weg, er braucht aber ein R2R Netzwerk. @ Philipp Burch Ich bin einfach davon ausgegangen dass er alle LEDs einer Farbe parallel schaltet und einen recht hohen Strom zu treiben hat, da würde der Widerstand ne kleine Heizung darstellen. So ein Netzteil liefert ja nur 3.3V oder 5V. Meine LEDs steuere ich immer direkt mit einer Spannungsquelle an, ohne großem Vorwiderstand. (recht klein bemessen, nur zur Sicherheit trotzdem vorhanden) lg
@ Hagen Stimmt! Da brauch man aber keine Strom, sondern eine Spannungsquelle. Die Spannungsquelle regelt man so dass ein bestimmter Strom fließt (wenn die LED dauer "an" ist) und bei gleich bleibender Spannung schaltet man dann die PWM auf die LED. (mit der festen Spannung) Ich lese hier aber auch immer wieder dass eben die 5V geschaltet werden und die LED so gedimmt wird. Wenn man einen Vorwiderstand dran hat ist das ja okay, wenn man aber einen guten Wirkungsgrad (so wie ich) haben möchte will man die Spannung schon auf das Optimum für die LEDs regeln und man kann den Widerstand weg lassen.
@Falk: >Naja, was ist "stark"? Um wieviel nm verschiebt sich denn das Spektrum? >Ich tippe mal auf kleiner 10nm. Für die Anwendung kein Thema. Müsste bei TI nochmal as AppNote suchen. Es stimmt das diese Änderungen klein sein können, aber unsere Augen sind bei bestimmten Wellenlängen sehr sensibel und man merkt sehr schnell ob ein Weiß bläulich, grünlich oder rot/gelblich ist. Auf jeden fall "empfahl/bewirbt" TI seine Konstantcurrent/PWM LED-Treiber für LED Videodisplays, eben mit diesem Argument. Davon abgesehen wird in den meisten Fällen eine analoge Helligkeitsreglung die überschüssige Leistung einfach in Wärme verbraten, im Gegensatz zu PWM. Und es können bei schon kleineren Displays sehr schnell hohe Ströme auftreten. Diese lassen sich durch PWM, bzw. genauer Multiplexing, besser in den Griff bekommen. Wenn man sich die Sache einfach machen möchte dann nimmt man gleich fertige LED-Teriber/Shiftregister mit individuell programmierbaren Konstantstromtreibern und interner PWM. TLC59xx zb. Gruß Hagen
Falk Brunner schrieb: >> Softwareschaltreglern besteht darin, dass bei Fehlern die LEDs >> abbrennen. Man kann natürlich (auf Kosten des Wirkungsgrads) > > Nana, bei richtiger Sicherheitsschaltung brennt da nix ab. Wie sieht denn eine einfache Sicherheitsschaltung aus? Aus mehr als einem bis zwei Bauteilen sollte die nicht bestehen, sonst kann man den Regler gleich komplett in Hardware aufbauen.
@ yalu (Gast) >Wie sieht denn eine einfache Sicherheitsschaltung aus? Aus mehr als Z.B. ene Z-Diode, wie im Artikel Konstantstromquelle. Und was dort naoch fehlt ist die Strombegrenzung des Schalttransistors! Siehe Datenblatt. MfG Falk
Sollte mit dem möglich sein: http://www.austriamicrosystems.com/07presscenter/press_2008/pr20080114.htm
Ich würde über 2x von den Chips machen = 32 Sinks + PWM Generatoren. Dann brauchst noch in etwa 10-PMOS + Vorstufen an einem 74LS139 geschalten + microcontroller der vl. etwas schneller sein sollte. Mit einem Duty von 1:10 und einer Refresh rate von über 600Hz funktioniert problemlos. Sofern die schon Samples rauslassen.
@Jankey: interessant, hast du mal deren Chips mit denen von TI (TLC59xxx Serie) verglichen ? Die scheinen identisch zu sein ;) Gruß hagen
gibt einen Fight Report AMS vs. TI Der Chip wurde ja so designt das er Kompatibel ist damit man den AMS auch ersatzweise als Second Source benutzten kann., einige features werden die schon noch draufgepackt haben.
@Jankey: also wenn ich mir beide Datenblätter anschaue so ist der TLC5941 der bessere. Die LED Spannung ist bei dem max. 17V statt 15V und der Delay zwischen den Outputs ist nur 20ns statt 30ns. Ansonsten gleichen sich die Teile in MLF wie ein Ei das andere, also keine anderen Features usw. Sogesehen bestimmt der Preis und das man mit dem TLC5941 auf Grund des kürzeren 20ns Delays ein schnelleres Multiplexing hinbekommen kann. Hast du einen Link auf das PDF "Fight Report AMS vs. TI". Gruß Hagen
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.