Gibt es hier auch Mathematiker? Brauche Hilfe bei nichtlinearen Verhältnissen.

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • svethi
    Lebende Foren Legende
    • 25.08.2015
    • 6320

    #1

    Gibt es hier auch Mathematiker? Brauche Hilfe bei nichtlinearen Verhältnissen.

    Was hat das alles mit Loxone zu tun? Ganz einfach :-). Ich möchte eine herkömmliche Glühbirne mit einer LED (warmweiß-kaltweiß) simulieren.
    Dazu habe ich mir einen Dimmer genommen und einfach gesagt je höher der "aufgedreht" ist, desto kälter das Licht. Oder sinnvoller ausgedrückt. Wenn ich eine Glühlampe dimme, wird es nicht nur dunkler, sondern das Licht auch immer "wärmer". Dies ist ja bei LED's nicht so. Mit einer LED, die das Weißspektrum abbilden kann, kann man dies ja simulieren.
    Dazu habe ich bereits eine Berechnung, die anhand des Dimmwertes den Wert für die Farbtemperatur berechnet. Das funktioniert soweit auch ganz gut, doch dies basiert auf einer linearen Berechnung und ist daher nicht ganz optimal. Es müsste eher so sein, dass die Werteänderungen in den niedrigen Dimmstufen sehr hoch und in den höheren Dimmstufen dann gering ist. Wie bei einem Logarithmus. Jetzt muss ich nur noch diese Logarithmuskurve auf meinen Wertebereich abbilden. Wie geht das am Einfachsten ohne große Verhältnis-hin-und-her-rechen-Konstrukte?

    Gruß Sven
    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)
  • Gast

    #2
    Wenn du den Dimmwert von 100 abziehst dann wird es ja größer je mehr warmweiß du haben willst und dann könntest du mit einem exponenten arbeiten.

    Kommentar

    • svethi
      Lebende Foren Legende
      • 25.08.2015
      • 6320

      #3
      Hallo Michael,

      Ich habe schon die tollsten Berechnungen durchgeführt. Habe als Lehrling den Ingeneuren vorgerechnet, dass deren Fernleitungsrohr von den Stützen fällt, wenn die In Betrieb geht und Wärme reinkommt, doch irgendwie werde ich alt oder habe einen Blackout. Vielleicht denke ich mittlerweile auch zu lange drüber nach, aber ich sehe den Wald einfach zur Zeit vor lauter Bäumen nicht.

      Mal die Werte.
      Dimmwert 0-100;
      Farbtemperatur 154 (kaltweiß) - 500 (warmweiß)

      Dimmwert klar, linear 0-100
      Farbtemperatur starker Abfall mit zunehmender Abflachung 500 - 154
      Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

      Kommentar

      • svethi
        Lebende Foren Legende
        • 25.08.2015
        • 6320

        #4
        Knoten ist geplatzt. Habe die Lösung.

        cl = (DIMMER_SIMMAX - DIMMER_SIMMIN)/log10(10);
        ct = DIMMER_SIMMAX - (cl * log10((bri-1)/25.4));

        So habe ich es jetzt gelöst. Bri ist nicht 0-100 sondern 1-255, daher die 25.4
        Funktioniert super und wirkt auch gut ;-)

        Gruß Sven
        Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

        Kommentar


        • kerrick
          kerrick kommentierte
          Kommentar bearbeiten
          log10(10) dürfte 1 sein; das kannst du an der Stelle wohl einfach weg lassen. Der Logarithmus von 0 ist nicht definiert; da könntest du bei bri==1 ein Problem bekommen.

        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Hihi, stimmt, log10(10) ist 1. Ich hatte mal ne Kurve für log2 gesehen und wollte diese nehmen. Log2(10) ist irgendwas mit 2,33... Daher die Berechnung. Musste dann feststellen, dass log2 in Loxone nicht geht und habe ohne zu denken gegen log10 getauscht. Dann kann ich das ja noch vereinfachen ;-). Log10(0) sollte eigentlich nicht vorkommen (im Zusammenhang mit der Restprogrammierung), doch Du hast Recht, man könnte das hier zur Sicherheit noch abfangen.
      • Gast

        #5
        Hallo Svethi,
        das klingt interessant!

        Ich habe aber ein paar Schwierigkeiten deine Variablen zu kapieren. Kannst du denen bitte sprechendere Namen geben, und evtl. Einheiten angeben?

        Apropos Einheiten:
        >Farbtemperatur 154 (kaltweiß) - 500 (warmweiß)
        Was sind das für Zahlen?

        Kommentar


        • svethi
          svethi kommentierte
          Kommentar bearbeiten
          Die Farbtemperatur in mired. Mired ist eine Maßeinheit für die Farbtemperatur. Philips HUE-Lampen haben teils die Möglichkeit verschiedene Weißtöne wiederzugeben, die dann in mired definiert sind.

          Meine Formel ist ein Teil aus der HUE-Lampensteuerung. Sieh doch bitte in diesem Thread nach, da habe ich die komplette Funktion hinzugefügt.
      • Gast

        #6
        Und wenn brightness unter 10% fällt wird der log10 negativ und auf DIMMAX draufaddiert.

        Kommentar

        • Robert L.
          MS Profi
          • 26.08.2015
          • 922

          #7
          Zitat von svethi
          Es müsste eher so sein, dass die Werteänderungen in den niedrigen Dimmstufen sehr hoch und in den höheren Dimmstufen dann gering ist.

          Gruß Sven
          sicher?
          ich hab das genau anders herum
          siehe:
          Habe vor mir LED Panele mit Dualweis LEDS zu besorgen. Da diese einen 2 Kanal DMX Ansteuerung benötigen die es in der LOXONE Config ja leider noch nicht gibt


          eine led die mit 50% der Leistung läuft kann man von 100% fast nicht unterscheiden
          zwischen 0,5 und 1% liegen aber WELTEN...

          Kommentar


          • svethi
            svethi kommentierte
            Kommentar bearbeiten
            Nun, und genauso ist es auch bei den Glühlampen. Zwischen 100% und 70% wir die Glühlampe nicht wesentlich "wärmer", doch zwischen 5% und 20% um so mehr. Genau das habe ich ja hier umgesetzt. Ich denke mal, dass Du mich falsch verstanden hast.
        • Robert L.
          MS Profi
          • 26.08.2015
          • 922

          #8
          Nachtrag: hab mal im excel was gebastelt...
          vielleicht hilfts..



          Angehängte Dateien

          Kommentar

          • svethi
            Lebende Foren Legende
            • 25.08.2015
            • 6320

            #9
            so, habe die Formeln überarbeitet.

            cl = (DIMMER_SIMMAX - DIMMER_SIMMIN);
            ct = DIMMER_SIMMAX - (cl * log10(1+((bri-1)/254)*9));
            Noch immer was auszusetzen?
            Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

            Kommentar


            • Gast
              Gast kommentierte
              Kommentar bearbeiten
              das klingt alles sehr interessant, wäre es vielleicht auch möglich eine beispieldatei bereitzustellen?
          Lädt...