Ankündigung

Einklappen
Keine Ankündigung bisher.

Konnekting Dimmer Software

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Codebeispiel] Konnekting Dimmer Software

    Guten Tag,

    es gibt schon mehrere Dimmer-Projekte:

    Mini 4CH Dimmer
    Modular LED Dimmer
    ALEDD1

    Aber noch keine perfekte Software dazu.

    Das wollte ich ändern und habe ein paar Libraries geschrieben:

    Dimmer32u4: PWM Ansteuerung für ATmega32u4 (Arduino Leonardo, Micro, ProMicro, UUPS)
    DimmerZero: PWM Ansteuerung für SAMD21 (Arduino Zero, MultiInterface)
    DimmerControl: Dimmer Funktionen, z.B. SoftOn, SoftOf, relatives Dimmen usw...

    Das Ziel von diesem Thread:
    • Wünsche zu äußern
    • Verbesserungsvorschläge
    • Allgemeine Diskussion
    • Code-Beispiele
    • Eine einigermaßenen Hardware-unabhängige Dimmer-Software zu schreiben.
    • ...
    Aktueller Stand:
    https://github.com/Adminius/Dimmer_4CH_UFI


    Viele Grüße
    Eugen
    Zuletzt geändert von Eugenius; 07.09.2018, 17:11.

    #2
    Ich fange gleich an:
    PWM Frequenz

    Viele wissen, dass man LED nicht so einfach Dimmen kann.
    Dafür braucht man PWM. un gleich die erste Frage: welche Frequenz?
    Bis jetzt nutze ich 1000Hz (viel faches von 50Hz) und bin damit zufrieden.
    Viele Hersteller bieten nur 500Hz oder 600Hz. Ich habe beide probiert und habe keinen Unterschied zu 1000Hz gesehen.
    Ich habe auch über 100kHz gehört, weil man es besser EMV-technisch-filtern kann (bei zentraler Dimmer-Installation).
    Es gibt Menschen die bestimmte Frequenzen nicht vertragen...

    Was meint Ihr, welche ist besser? Muss man mehrere Frequenzen zur Auswahl anbieten?
    Zuletzt geändert von Eugenius; 20.08.2018, 11:11.

    Kommentar


      #3
      Nächstes Thema:

      Die Dimmkurve.
      Da menschliches Auge das Licht nicht liniar empfindet, muss man LEDs mit eine logarithmischer Kurve dimmen.
      Es gibt viele Stoff im Internet dazu. Die "beste" Seite bis jetzt: https://www.mikrocontroller.net/articles/LED-Fading
      Gleich vorweg: ich will keine feste Wertetabellen anlegen. Da viele Dimmer unterschiedlich aufgebaut sind, unterschiedliche Auflösungen haben usw. müsste man unendlich viele solche Tabellen implementieren.
      Ich habe mir deswegen eine Funktion gebastelt, die so eine Kurve dynamisch berechnet.

      Code:
      word startValue = 139;
      word maxValue = 3998;
      int steps = 256;
      
      word getLogValue(byte index){
          if (index >0){
              word result = round(startValue * pow(pow(maxValue * 1.00 / (startValue * 1.00), 1.00/(steps-1)),index));
              if(result > maxValue)
                  return maxValue;
              else
                  return result;
          }else{
              return 0;
          }
      }
      Ich bin noch nicht ganz glücklich damit aber die funktioniert schon richtig gut.

      Die "großen" bieten mehrere Kurven zur Auswahl: Beispiel: https://www.enertex.de/downloads/116...nzer-5A-EN.pdf

      Aber da gibt es keine Formeln...

      Kommentar


        #4
        Noch ein Thema:
        Die Kommunikations Objekte

        Aktuell habe ich folgende pro Kanal:
        • Ein/Auschalten
        • Relatives Dimmen
        • Absolutes Dimmen
        • Szene (bis zu 5 Stück pro Kanal)
        • Status: ein/aus
        • Status: Prozentwert
        Braucht man noch mehr? oder doch weniger?

        Kommentar


          #5
          Noch ein Thema:

          RGB(W)

          Jetzt kommt ein richtig schweres Teil.
          RGB Dimmen ist gar nicht einfach. Da die Farben nicht gleich hell leuchten gibt es ganze Studien wie man es richtig macht...
          Dazu kommt auch noch, dass LED-Typen sich unterscheiden
          Da auch noch Weiß aus RGB erzeugen...
          Kalt/Warmweiß...

          Ich habe noch nichts in die Richtung gemacht. Aber schon mal ein paar Links dazu:

          FastLED Die Bibliothek ist zwar für die WS2812 und ähnliche LEDs gedacht, aber auch für andere anwendbar. Dort gibt es schon "richtiges" RGB Dimmen und ColorTemperature, und auch noch RGB Farben-Ausgleich
          https://www.ledsmagazine.com/article...-magazine.html
          http://donklipstein.com/ledrgb2w.html

          Kommentar


            #6
            Und noch ein Thema:
            Kanal Parameter

            Das habe ich aktuell:
            • Dimkurve (noch ohne Funktion)
            • minimale Helligkeit Tagsüber (0..254)
            • maximale Helligkeit Tagsüber (1..255)
            • minimale Helligkeit Nachts (0..254)
            • maximale Helligkeit Nachts (1..255)
            • Szene 1: Nummer
            • Szene 1: Wert
            • Szene 2: Nummer
            • Szene 2: Wert
            • Szene 3: Nummer
            • Szene 3: Wert
            • Szene 4: Nummer
            • Szene 4: Wert
            • Szene 5: Nummer
            • Szene 5: Wert
            Das will ich noch umsetzen:
            • Zeit zum Einschalten
            • Zeit beim relativem Dimmen
            • Netzteil über ein ComObj steuern
            Zuletzt geändert von Eugenius; 23.08.2018, 20:07.

            Kommentar


              #7
              Hätte da vielleicht noch einen Wunsch, bin mir aber nicht sicher ob es möglich ist.

              RGB(W) Wert Dimmen

              Also z.B. Kanal 1-3 als RGB Kanal definieren und dann so was wie ""FF00AA" schicken.
              Würde die Buslast erheblich senken wenn man mir RGB Strips/LED´s Animationen macht
              Gruß
              Michael

              Kommentar


                #8
                Was du meinst ist DPT 232.600 RGB und das ist geplant. Animationen über BUS Schicken ist war nicht ganz gute Idee, aber bis zu gewissen Grand wird es gehen.
                Ich will auch frei definieren an welchen Kanälen R,G und B angeschlossen ist.
                Ich könnte auch ein paar einfache RGB-Animationen gleich mit reinzunehmen und über eine Szene ansteuern.

                Kommentar


                  #9
                  Konkretes Beispiel bei mir ist die Beleuchtung im Flur. Da hab ich Strips mit RGB + WWCW
                  Je nach Tageszeit werden die anders gedimmt. (Farbe, Helligkeit, Geschwindigkeit)
                  Direkt über einen Dimmer hab ich das noch nicht hinbekommen, daher muss ich immer das ganze extern Steuern und dann die Dimmer direkt ansprechen was dann halt die Buslast jedes mal ziemlich hoch treibt wenn da 3-5 Dimmkommandos alle paar 100ms kommen.

                  Ich weiß ist etwas speziell
                  Gruß
                  Michael

                  Kommentar


                    #10
                    Ich will ein Video davon sehen. Das klingt super spannend

                    Kommentar


                      #11
                      hey. Was ist an meiner Dimmer Software denn falsch, wenn sie angeblich nicht richtig ist... ?

                      Kommentar


                        #12
                        Hm... ich habe mich wohl falsch ausgedrückt. Ich habe eigentlich meine SW gemeint. Wobei deine habe ich noch nicht gesehen

                        Kommentar


                          #13
                          Zitat von Eugenius Beitrag anzeigen
                          Ich will ein Video davon sehen. Das klingt super spannend
                          So hab jetzt mal ein kurzes Video vom Flur mit WWCW und ein Foto vom OG wo auch RGB dabei ist.
                          Ich hoffe man kann es sich vorstellen, auf dem Video kommt es nicht so gut rüber

                          Leider hab ich im OG schlafende Kinder da kann ich nicht so viel mit dem Licht spielen...
                          20180823_202710.jpg
                          Wenn mir jemand sagt wie ich ein Video hochladen kann, dann kommt das auch noch.
                          Angehängte Dateien
                          Gruß
                          Michael

                          Kommentar


                            #14
                            gulp2k irgendwie ist deine Decke nicht gleichmäßig gestrichen
                            Video: Google Drive/Dropbox/... und den Link freigeben

                            Kommentar


                              #15
                              Zitat von Eugenius Beitrag anzeigen
                              irgendwie ist deine Decke nicht gleichmäßig gestrichen
                              Ja die Decke ist leider noch nicht ganz fertig... Prioritäten
                              Schau mal ob der Link geht.
                              Gruß
                              Michael

                              Kommentar

                              Lädt...
                              X