Meine RGB-Farbwechsler Lampe mit AVR und Seoul P4

  • Hallo Forum,


    in diesem Thread möchte ich gerne mein Aktuelles Projekt, eine RGB-Lampe in Anlehnung an die LivingLights von Philips, vorstellen. Nachdem solche Projekte hier schon mehrfach vorgestellt wurden, möchte ich besonders auf Details, die dort nicht weiter erläutert wurden, eingehen, und auch Anfängern einen Leitfaden bieten.


    Erstmal ein paar (vorläufige) Technische Daten:
    - Seoul P4 LED's (evtl. auch mehrere pro Farbe)
    - Dimmung der LED's per PWM
    - ATMEL Mega 16 als "Gehirn" und Schaltzentrale der ganzen Lampe
    - Programmierung in C
    - Konstantstromversorgung der LED's durch Schaltnetzteile mit hohem Wirkungsgrad
    - Steuerung über EINEN einzelnen Inkrementalgeber


    Als Funktionen sind vorerst geplant:
    - Farbe frei einstellbar
    - Intensität frei einstellbar
    - Helligkeit frei einstellbar
    - "Fertige" Programme: z.B. ein Relax-Programm mit grün/blauen Farbtönen, Kuschel-Programm mit viel rot/orange/gelb etc.
    - Farbverlauf, Geschwindigkeit regelbar
    - "Partymodus" mit Stroboskop usw. als "Demomodus"


    In weiterer Zukunft könnte ich mir auch Infrarotfernsteuerung, USB und ein Bussystem zu anderen Lampen vorstellen. Ich weiß aber genau: Möchte ich das gleich jetzt realisieren, dann wird die Lampe erst in Jahren fertig. Wenn, dann kommt das nach und nach.



    Dieser Thread soll soll...
    - keine Schritt für Schritt Nachbauanleitung, sondern viel mehr eine Ideen und Ansatzsammlung,
    - eine Dokumentation meiner Ideen, Erfolge, Misserfolge,
    - keine Diskussion
    - meine Beschäftigung in den Pausen vor den Vorlesungen
    .. werden.



    Morgen geht es erstmal weiter mit dem aktuellen Stand der Dinge - einen funktionsfähigen Prototypen gibt es schon!



    Gruß,
    Christian

  • Also, noch 10 Minuten bis zur WE Vorlesung, daher noch ein paar Worte zum aktuellen Stand des Projekts.


    Momentan existiert ein vereinfachter Aufbau auf einem Steckbrett, mit dem ich einfach nur rausfinden wollte, wie aufwendig die Realisierung programmtechnisch wohl wird, um nicht unnötig Bauteile zu bestellen, und anschließend "auf dem Schlauch" zu stehen.


    Auf dem Steckbrett steckt mein AVR Board (eine ehemalige Elektor Schaltung), ein ULN als Absicherung der AV-Ports, 3 Widerstände und eine 5mm RGB-Led vom Elektronik Händler hier in der Stadt. Das Programm kann momentan nicht mehr, als alle Farben endlos lange durchfaden, was ja aber eigentlich auch schon der Kern der Sache ist (die PWM ist i.O.). Die Realisierung der restlichen Funktionen sollte relativ unproblematisch sein.


    Das Programm kann ich prinzipiell direkt in die endgültige Lampe übertragen, d.h. alle angesteuerten Ports und die Hardware auf dem µC Board bleiben identisch. Letztendlich gibt mir das die Sicherheit, ziemlich bald LED's für nicht grade wenig Geld zu bestellen.




    In der nächsten Pause erfahrt Ihr dann etwas über die Farbmischung selbst, und eventuell noch ein paar Gedanken zur LED-Auswahl.

  • Hehe... im Mega16 ist aber auch fein viel Platz für Programme.. Vor allem wenn man mit C arbeitet und nicht an die 4kB Bacom-Demo gebunden ist ;)
    Ein Problem sehe ich ggfs. bei dem einzelnen Encoder (Inkrementalgeber): Wenn man viele Programme hat, dann wird die Einstellung schon kompliziert (wer kannt nicht die 80er-Digitaluhren!?)...


    Ansonsten bin ich gespannt auf weitere News...

  • Zitat von "Stefan_Z"

    Hehe... im Mega16 ist aber auch fein viel Platz für Programme.. Vor allem wenn man mit C arbeitet und nicht an die 4kB Bacom-Demo gebunden ist ;)


    Naja, ein 16er kommt auch nur rein, weil ich hier noch einige 16 und 32er liegen habe. Nachdem die im Moment sowieso "über" sind, nehme ich halt das, was da ist, und habe später auch noch genug Ports und Speicher um Funktionen nachzurüsten.


    Zitat von "Stefan_Z"


    Ein Problem sehe ich ggfs. bei dem einzelnen Encoder (Inkrementalgeber): Wenn man viele Programme hat, dann wird die Einstellung schon kompliziert (wer kannt nicht die 80er-Digitaluhren!?)...


    Meinst Du jetzt von der Bedienbarkeit her, oder von der programmtechnischen Umsetzung? - Ich habe noch nie was mit einem Inkrementalgeber am µC gemacht, stelle mir das nicht so schwierig vor. Eventuell spendier ich der Lampe auch noch ein kleines Display, dann wäre auch eine Menüstruktur möglich.
    Immerhin, wenn ich in den Audi meines Vaters schaue: Da werden Addressen fürs Navi, Telefonnummern und so weiter per Inkrementalgeber eingegeben, und das ist sehr gut bedienbar.



    Als Feature denke ich im Moment auch noch über ein Funkmodul nach... Das würde dann die Steuerung weiterer Module synchron zur Lampe vereinfachen.





    Achso, um es etwas spannend zu machen... Designtechnisch wird die Lampe sicherlich genauso interessant, wie die Philips! Ich verrate nur eins: Wenn alles so klappt, wie ich mir das vorstelle, dann werden die einzelnen LED's nicht nebeneinander, und auch nicht untereinander eingebaut!

  • Da es hier alle von Moodlights haben, das ist meins:
    [Blockierte Grafik: http://img88.imageshack.us/img88/4312/cimg24712ty5.th.jpg][Blockierte Grafik: http://img292.imageshack.us/img292/346/farbenfm9.th.jpg]


    Auf den Bildern ist nur der Prototyp zu sehen.


    Bedienung per RC5 oder SIRC
    Verschiedene Programme, wobei ich immer nach neuen Ideen suche und fleißig implementiere...
    Professor ist, wie im Bild zu sehen, ein PIC12F683. Programmiert in Assembler.
    Als LED ist eine 3W Prolight verwendet worden.

  • Farbmischung:


    Ansich ein Thema, über das man sich relativ wenig Gedanken macht. Zumindest ich habe das im Vorfeld nicht getan.


    Eigentlich ist das ganze sehr logisch:
    [Blockierte Grafik: http://upload.wikimedia.org/wi…pectrum.2400.1800.S.G.png]


    Man fängt einfach mit Rot an, lässt die Grüne LED langsam heller werden, bis gelbes Licht aus der LED kommt, dann reduziert man Rot, und erhält echtes Grün ... Blau dazu ... Grün weg... und so weiter!



    Klingt logisch, so habe ich es auch zuerst programmiert gehabt. Sinnvoll ist es aber nicht, ich erkläre warum: Gehen wir wieder von Rot aus. Rot ist also auf 100% der Leistung. Grün wird dazugemischt, insgesamt liegt die Lichtabgabe, wenn Grün komplett an ist, bei 200%. Die Helligkeit der Lampe schwankt also immer zwischen 100 und 200%, dazu kommt noch, dass die LED's sowieso sehr unterschiedlich hell sind.


    Witzig ist übrigends auch, dass das in diesm Projekt genauso gemacht wurde: http://www-projekte.emsp.tu-be…PE_Endbericht_22_2_07.pdf


    Momentan dimmt meine Software immer zwei LED's simultan, d.h. Rot 100%, Grün 0%... Rot 99%, Grün 1%... Rot 98%, Grün 2%. Die Summe bleibt also immer identisch.


    Programmtechnisch ist das nicht schwierig zu realisieren. In einem "einfachen" Farbverlauf bekommt die eine LED immer i% Leistung, die andere 100-i%. Das i wird in der Schleife inkrementiert.




    Softwaretechnisch ist auch ein Offset-Wert implementiert. Den benötige ich, weil die einzelnen LED's unterschiedlich hell sind, ansonsten wäre keine Mischung von Weiß möglich, und die Helligkeit würde sich im Farbverlauf auch noch ändern. Idealerweise muss der Lichtstrom für alle Farben identisch sein.
    Die grüne Seoul P4 LED ist mit 182 Lumen mit Abstand am hellsten. Die blaue LED ist mit 38 Lumen am schwächsten, Rot liegt mit 108 Lumen im Mittelfeld. Sollen nun alle Farben identisch hell sein, muss ich die grüne LED sehr stark dimmen. Nachdem ich da wenig Lust drauf habe, wird entweder eine zweite blaue LED eingebaut, oder ich ignoriere die Helligkeitsschwankungen einfach. Sobald ich die LED's habe, werde ich mal ausprobieren, ob man das stark sieht.


    Ob ich den Offset Wert wirklich nutzen möchte, weiß ich auch noch nicht. Es bestünde auch noch die Möglichkeit, den Strom für jeden Farbkanal einzeln anzupassen. Im Moment denke ich aber eher, dass ich die unterschiedlichen Helligkeiten ignorieren werde, und den Offset nur zum Mischen von Weiß nutze.



    Der ULN müsste ein 2804 sein. Habe die Schaltung aber grade nicht in Reichweite und kann nicht nachschauen, ist aber in jedem Fall ein Standartteil was rumlag.


  • Auch ein sehr schönes Projekt! ...jetzt weiß ich wenigstens, was das auf deinem Avatar Foto ist :)


    Lasst das ganze mit den eigenen Projekten hier aber bitte nicht ausarten, hier soll es primär um meine Lampe gehen! 8)

  • Zitat von "Special_D"

    Hast du nicht die Mischung aller drei Farben?
    Wo kommt dann weiß her?


    Weiß bekomme ich über die Farbsättigung. Sättigung bei 0 ist weiß. Über geringe Sättigungen kann ich warmweiße Töne mischen. Ist aber sowieso noch nicht programmiert :wink:


    Wie hast Du die Farbmischung gelöst?

  • Die nächsten Farben und die Einblendzeit werden zufällig gewählt.
    Die PWM ist identisch, nur dass meine etwas schneller ist :-%
    Die Summe gibt immer 100%. Offset ist theoretisch Notwendig, gibt aber optisch nicht viel mehr her.
    Hab mein Rojekt nur mit zwei kleinen Bildchen ud bissle Text vorgestellt :oops:

  • Zitat von "Special_D"

    Die nächsten Farben und die Einblendzeit werden zufällig gewählt.
    Die PWM ist identisch, nur dass meine etwas schneller ist :-%
    Die Summe gibt immer 100%. Offset ist theoretisch Notwendig, gibt aber optisch nicht viel mehr her.
    Hab mein Rojekt nur mit zwei kleinen Bildchen ud bissle Text vorgestellt :oops:


    Ein Zufallsprogramm... das ist noch eine Idee! :D


    Noch zwei Fragen:
    - Wieso ist deine PWM schneller?
    - Wie hast den (wahrscheinlich pseudo) Zufallsgenerator realisiert?




    Desweiteren kann ich noch verkünden, dass untenstehende nicht-lineare KSQ wahrscheinlich in meiner Lampe in 3 oder 4-Facher Ausführung eingesetzt wird.
    [Blockierte Grafik: http://www.led-treiber.de/assets/images/LED-Treiber_555_MOSFET_P.gif]
    Ich bin nurnoch am überlegen, ob ich für R1 nicht auch ein Mehrgang Poti verwenden könnte, um so die Helligkeit der LED direkt (ohne Software Offset) abgleichbar zu machen. Leider gibts wohl keine passenden Potentiometer.. Muss nachher nochmal nachdenken/nachrechnen.

  • Hmm, stimmt, dann weis ich auch nicht, aber deine Labellolampe gefällt mir. Vieleicht dachte er die Pyramide wär auch von dir oder hat nicht dich gemeind.




    Gruß Matze1992

    :led: 0815 - Mit der Lizenz zum Löten :led:
    Wer Rechtschreibfehler findet darf sie behalten oder in Ebay verkaufen.