Hallo zusammen! Nicht schon wieder ein Moodlight? Dieses ist siecherlich etwas größer als das, was bisher hier in der Richtung zu finden ist. Es ist bereits die vierte Version und eigentlich mein erstes Controller-Projekt. Auch mein erstes mit einem Echtzeitbetriebssystem. Ich habe die letzten Wochen versucht, es möglichst weit voran zu treiben, da ich bald keine Zeit mehr für sowas haben werde. Ich stelle das Gesamtprojekt gern im "Geben-und-nehmen"-Gedanken zur Verfügung (CC-Lizenz) und freue mich wenn es jemanden weiter bringt. Ich hoffe das geht auch mit den Leuten in Ordnung, von denen ich mir Anregungen geholt habe (siehe ganz unten). Alle Farben sind mit 16 Bit-PWM geregelt und werden über TP-Kabel und RJ45-Buchsen verteilt (nicht in den Switch stecken ;-) Ich bin auf die Idee gekommen, weil die Kabel einfach billig sind und eine einfache Steckverbindung bieten. Für ein ganz paar LEDs kann man auch direkt den Saft mitliefern. Im Anhang findet sich auch ein eagle-Projekt für ein anschliessbares Modul. Da sind in der letztendlichen Größe natürlich keine Grenzen gesetzt und eine tatsächliche Raumbeleuchtung sollte damit gut möglich sein. Alles in allem kann man, glaube ich, beinahe sämtliche Wünsche - von Saunabeleuchtung bis Stroboskop - durch Voreinstellungen (Presets) erschlagen. Derer kann man 20 pro Modus in einem externen EEPROM speichern. Es gibt sechs verschiedene Modi: * Fixed - 20 Presets (22 bytes RAM, 440 bytes ROM) + Titel + Farbe * Fade - 20 Presets (326 bytes RAM, 6520 bytes ROM) + Titel + Geschwingkeit + 25 Farben - je Farbe + aktiv (j/n) + Farbe (HSV) + Dauer + Übergangsdauer + Übergang * Random (basierend auf akt. Timestamp) - 20 Presets (35 bytes RAM, 700 bytes ROM) + Titel + Grundfarbe + Variation der Farbanteile (1 - 100%) + feste/variable Farbanteil + min/max Dauer + min/max Übergangsdauer + Übergang * Temperatur - 20 Presets (267 bytes RAM, 5340 bytes ROM) + Titel + 25 Farben - je Farbe + aktiv (j/n) + Farbe + Temperatur + Übergang * Tageszeit - 20 Presets (316 bytes RAM, 6320 bytes ROM) + Titel + 25 Farben - je Farbe + aktiv (j/n) + Farbe + Uhrzeit + Übergang * Analogeingang - Kanalzuweisung RGB oder HSV Es gibt ein Menü, dessen Struktur gänzlich im Flash liegt: + Mode [ Fixed | Fade | Random | Temperature | TimeOfDay | Analog in ] + Settings | + Output | | + Linearization [ On | Off ] | | + Brightness | | + Source [ Fixed | Analog in (Ch4) ] | | + Set [ 1 - 100% ] | + Display | | + Contrast [ 0 - 100% ] | | + Backlight | | + Mode [ off | first keypress | on ] | | + Brightness | | | + Minimum [ 0% to (< Maximum) ] | | | + Maximum [ (> Minimum) to 100% ] | | + Duration | | + On demand [ 0.1 - 60.0s ] | | + Fade in [ 0.0 - 60.0s ] | | + Fade out [ 0.0 - 60.0s ] | + Date/Time | | + Set [ Date, Time ] | | + Time format [ 24 h | 12 am/pm ] | | + Date format [ DD.MM.YYYY | MM/DD/YYYY ] | + Temperature | | + Sensor | | | + Browse [ Edit ] | | | + Auto-detect | | | + Clear all | | + Scale [ Kelvin | °Celsius | °Fahrenheit ] | + Analog reference [ 5V (VCC) | 2.56V (internal) ] | + Configuration | + Save | + Load | + Defaults + System + Info + Digital in/out + Analog in + Temperature + Internal Flash + Internal EEPROM + External EEPROM Bei jedem Modus wird dann noch ein Menü eingeblendet, das etwa so aussieht: Preset + Colors | + Browse [ Edit | Copy to | Swap with | Clear ] | + Clear all + Title + Load + Save + Save as + Clear + Clear all Einiges hiervon steht auch in der (enthaltenen) TODO.txt drin. Ebenso die Tastenbelegungen, einige andere Hinweise und Fotos. Ich habe es nur herauskopiert, um (voller Stolz g) darzustellen, was das Gerät kann. Ich habe insgesamt viel gelernt, aber auch sehr sehr... sehr viel Zeit dabei verbrannt und werde versuchen, das Ganze auch mal in ein Gehäuse zu packen und ordentliche Batterien von LEDs anzuschliessen. Irgendwohin muss das Weihnachtsgeld ja ;-) Machts gut DANK AN: - Karl Heinz Buchegger: Funktion zur Erzeugung von Zufallszahlen mit Obergrenze. (Beitrag "zufallszahl mit rand() erzeugen") - Benedikt K.: Basis für Umrechnung von HSV zu RGB (Beitrag "Re: HSV RGB Led Dimmer, C Code & Video & Doku") - Peter Dannegger (danni@specs.de): Zeit- und Datumsumrechnung (Beitrag "Berechnung Datum + Uhrzeit + Sommerzeit") - mikrocontroller.net AVR-GCC-Tutorial (u.A Einführung in HD44780) - Peter Fleury: i2c Grundfunktionen (http://jump.to/fleury) - Hannes Mayer: Grundlegende Infos zum Ansprechen von Atmel i2c-EEPROMs (http://www.captain.at) - Wikipedia und viele andere, von denen ich mir Anregungen geholt habe
Ich muss sagen :"TOP" !! Dein Projekt ist mega geil und es lässt kaum wünsche offen. (Das ist genau das was ich immer gesucht habe) Weiter so und großes LOB für deine MÜHE!
Falls du Interesse hast: Zwei neue 40cm Kühlkörper (für 13x Seoul P5) stehen zum verkauf. Die beiden fertigen Module ebenfalls...
Und da fällt mir gerade ein: Ich hielt im März darüber noch eine kurze Präsentation. (siehe Anhang) Dem Dozenten hats auch gefallen :-)
Hallo Frank, ich hoffe Du liest noch mit, oder hast die E-Mail-Benachrichtigung aktiviert. Steht das Modul zufällig noch zum Verkauf? Oder ist vielleicht sogar noch eine Fertigung von Platinen geplant? Da würde ich mich dann anschließen. Noch etwas anderes: Warum ist auf den Treibermodulen noch ein Schmitt-Trigger drauf? Quasi als Treiber, um Leitungsverluste aufzuholen? Könnte man bei kurzen Kabelwegen doch weglassen, gell? Viele Grüße Marc
Hey Marc, wie im ersten Post erwartet, konnte ich durch private Gründe das Projekt bisher nicht weiter verfolgen. Das Komplettpaket steht zum Verkauf. - Moodlight Platine mit Controller und Display - eine neue, nicht aufgebaute Platine (Prototyp! - Display-Beleuchtung verpolt anschließen; hatte ich in den hier hoch geladenen Layouts korrigiert, sonst 100% identisch) - 2 LED Module mit je 13x Seoul P5 und stromgeregelter Ansteuerung. (330 mA je Farbe). Die LEDs sind mit verdünntem (!) ArticSilver Wärmeleitkleber befestigt. Das 50:50 Mischverhältnis mit ArticSilver Wärmeleitpaste soll laut Hersteller die Möglichkeit bieten die LEDs wieder entfernen, wenn gewünscht. Ich habe das natürlich nicht getestet ;-) Laufzeit bisher ca 100h (also quasi nichts). - 2 maßgefertigte Strangkühlkörper, noch originalverpackt (von Fischer Elektronik) - 7 unbestückte doppelseitige Ansteuerungsplatinen (unbestückt, fertig gebohrt), wie auf dem Modulfoto zu sehen. Sie sind nicht zum Durchschleifen gedacht und enthalten deswegen auch keine Schmitt-Trigger. Layout und Schaltung (einfach...) kann hänge ich hier an. - 1 Schaltnetzteil MeanWell SP-100-48 (neuwertig), (sollte evtl. durch low ESR-Elkos gestützt werden, da die Schaltfrequenz zu hören ist... ;-) - 2 Kabelsätze zum Verbinden der LEDs (je 10m) - 1 kleines Testmodul mit 3x P5 ohne Ansteuerungselektronik; mit Silikonfolie befestigt, bish. Laufzeit etwa 500h - Debug-Platine mit LEDs für den DIO-Port, AD-Eingang-Testplatine mit drei Trimmern - sonstige Kleinteile die ich noch hier finde ( habe noch neue größere Taster für eine neue Tastatur etc) Man wäre ziemlich schnell am Ziel und könnte die Firmware nach persönlichem Gutdünken anpassen :-) Interesse -> spam.frank@ich-war-hier.de! === Die Schmitt-Trigger dienen der Signalaufbereitung bei langen Leitungen - kann man je nach Einsatzzweck auch weglassen. Die Module waren ja zum Durchschleifen gedacht, da macht eine Aufbereitung schon Sinn. Zu den Leitungstreibern auf dem Controller-Board: Das Gerät ist durchaus für eine ambitionierte Raumbeleuchtung gedacht. Unterschätze nicht die Kapazität einer längeren Leitung und den Einfluss auf das Signal. Bei einem dauerhaften Leitungsschluss werden - sofern die Widerstände es nicht schon verhindern - die billigen Treiber beschädigt, nicht der teure Controller. Zudem ist das Signal so sauberer, belastbarer und die einzelnen Leitungen unabhängig. Bei Fragen usw. ich gucke hier noch ab und an hinein.
Was in der Zwischenzeit geschah: Ich habe mir eine Platine bei Frank geordert und bin nun fleißig am Bestücken und Programmieren. Folgende Frage habe ich in der Zwischenzeit gestellt: Du hast ja für die Module eine 48V Stromversorgung vorgesehen. Warum so eine hohe Spannung? Was müsste ich anpassen, um bspw. eine 12 V Stromversorgung verwenden zu können? Doch nur die Widerstände oder, den Transistoren sollte das ja egal sein. Diese Antwort kam von Frank: Die Spannung hatte ich aus folgenden Gründen vorgesehen: - Es sollten leistungsstarke Module möglich werden, ohne dass der Strom "durch die Decke schiesst". So kann selbst bei den 50W Modulen bei 10m Leitungslänge gut mit billigem 0,5mm2 Kabel leben. - Stromregelung funktioniert nur (vernünftig) wenn man LEDs nicht auf irgendeine weise versucht parallel zu schalten. Deswegen müssen möglichst viel in Reihe geschaltet werden. - Betriebsspannung sollte eine Standardspannung werden, die sich kostengünstig aus Industrienetzteilen beziehen lässt. - Die Spannung musste gut zu einem Vielfachen der Uf der LEDs passen um die Verluste an der Mosfets, die hier ja als Vorwiderstände agieren und Leistung umsetzen, gering zu halten. Daraus kannst du im Prinzip schon ableiten was du anpassen musst: die Anzahl der LEDs unter Beachtung der größten Uf anpassen. Incl. aller anderen Abfälle (für den Strommesswider- stand, Luft für den Mosfet, Leitungsverluste) sollte die Summe 2V unter der Versorgungsspannung bleiben. Je nach LEDs hat ja meist die blaue LED die größte Vorwärts- spannung. Nehmen wir an die beträge bei If=20mA 3,5V. Mit drei Stück in Reihe würdest du auf 10,5V kommen. Addiere den Spielraum von 2V und du bist auf 12,5V. Das lässt sich mit Schaltnetzteile durch den Einstelltrimmer meist noch gut realisieren. Du erkennst aber auch, dass der Anteil der "genutzten" Spannung bei höher werdender Betriebs- spannung besser werden wird. Den Strom durch die LEDs musst du mit dem Strommesswider- stand am Source des Fets einstellen. Hier werden 0,55 bis 0,6V abfallen, dann zieht der Transistor das Gate des Fets Richtung Source - der Strom pendelt sich auf den gewünschten Wert ein. Welcher Strom das sein wird kannst du dir mit dem Ohmschen Gesetz ausrechnen. Problem hierbei ist, dass auch die Schwellspannung der Transistoren von Charge zu Charge und Modell zu Modell unterscheiden. Wenn du ausprobierst, welche Widerstände passen, fange also zuerst mit einem - rechnerisch - etwas zu großem an und Messe nach. Du solltest bedenken, dass es viel besser ist etwas Luft nach oben zu lassen, als das letzte mA herauszuholen, was laut Datenblatt der LEDs möglich wäre. Du gewinnst Betriebssicherheit da Bauteiltoleranzen kein Problem mehr wären, die Lebensdauer der LEDs ver- längert sich während die Helligkeit, z.B. bei 15 statt 20 mA, nur unwesentlich ändern wird. Jetzt hätte ich noch eine Frage: Hab jetzt soweit alles zusammengelötet und versucht den Controller zu programmieren. Leider erschließt sich mir noch nicht so ganz, welche Fuse-Bits gesetzt werden müssen. Hättest Du da noch einen heißen Tipp für mich? Grüße Marc
Fuse Bits bleiben an sich alle in Standard-Stellung. Anpassen musst du: * Mega103 Compatibilitätsmodus deaktivieren * Clock-Source anpassen (externes Quarz) Ich hänge ein Bild an, wo zu erkennen ist, wie ich diese Fuses gesetzt habe.
Das Originalgerät incl. LEDs ist nun bei ebay zu ersteigern: http://cgi.ebay.de/AVR-Moodlight-Stimmungslicht-26-Seoul-P5-RGB-LEDs-/250716917769
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.