Pwm LED - Lichtkurven errechnen und / oder abspeichern?

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Hallo.
      Also da fange ich mal vorne an.
      Ich habe mit Pics angefangen zu programmieren. Und auch ein paar Projekte realisiert.
      Hier habe ich aber in Assembler programmiert, was als Anfänger ja nicht so leicht ist.
      Um es einfacher zu haben habe ich mit Bascom und den Ardoinos weiter gemacht. Hier aber noch nicht viel realisiert.
      Nun habe ich mir bei Display 3000 einen Controller 2560 mit Display und Toutch und RTC DS1338 gekauft.
      Was ich fertig habe sind erst mal ein paar Routinen zum einstellen der Uhr, Displayhelligkeit, nachts wird es dunkel. Pumpensteuerung mit Futterpause, 2 Pwm kanäle für die beleuchtung laufen auch ,aber erst mal nur manuell. Werte speichern im eeprom geht auch.
      Temperaturmessung soll noch kommen, sehe ich aber nicht so problematisch.
      Nur die Berechnung mit den Dimmkurven macht mir sorgen. 6 Schaltzeiten reichen.
      Das sind gerade zu viele Variablen.
    • kann ich machen. Hilft nur nicht bei den Kurven.

      Müsste ich auch mal besser kommentieren.
      Hab viel auf Zetteln.
      Die Routinen vom Display darf ich aber nicht veröffentlichen.
      Ich mach das dann mal. Sitze gerade am Tablett

      Jede Sekunde wird ein up aufgerufen, Wo ich dann auch die Zeit ausgebe .
      Da fällt mir gerade ein, das ich den RTC nur am Anfang auslese. Ich denke einmal am tag synchronisieren reicht.
    • Rodenberger schrieb:

      Nur die Berechnung mit den Dimmkurven macht mir sorgen.
      Du hast dein Array mit den vorhandenen Zeiten und dem dazugehörenden PWM-Wert.
      Nun vergleichst du jede Sekunde das komplette Stundenarray mit der aktuellen Zeit Ist die aktuelle Stunde kleiner gleich der Arraystunde, schaust du nach der Array- Minute, ist die kleiner als aktuell, hast du den Index nach der aktuellen Uhrzeit gefunden. (und damit auch den davor)
      Jetzt subtrahierst du beiden Zeiten voneinander, damit hast du die maximale Änderung innerhalb der beiden Zeitpunkte.
      Nun subtrahierst du den vergangenen Zeitpunkt von der aktuellen Zeit und du hast den Anteil der schon vergangenen Zeit, (ab hier in Sekunden rechnen) das teilst du (später, wegen Genauigkeit, weil Integer) durch die oben ermittelte Gesamtzeit zwischen den Zeitpunkten. Das ist der Faktor der Änderung zwischen den beiden Zeitpunkten.
      jetzt hast du noch die beiden PWM-Punkte, die zu den Zeiten vorher und nachher gehören. Hier bildest du die Differenz (kann auch negativ werden, also Integer als Ergebnisvariable) und multiplizierst mit mit dem Anteil vergangener Zeit und dividierst durch die maximale Änderung der beiden Zeitpunkte. das Ergebnis subtrahierst du von der vergangenen PWM und du hast deine aktuelle PWM.
      So einfach ist das und das schöne, durch die Verwendung von Bytes für Zeit und PWM kannst du das Menu für die Einstellung der Schaltpunkte schön aufbauen. Eine PWM von 8 Bit reicht übrigens.

      Natürlich gehören da noch ein paar Sicherungsabfragen dazu und der Tages-Überlauf, das ist klar.
    • stefanhamburg schrieb:

      Tagesüberlauf sehe ich nicht so kritisch, wenn mann um 00:01 Uhr und um 23:59 Uhr feste Stützstellen definiert.
      Stützstellen hast du ja sowieso, wenn die letzte Einstellung um z.B. 20:30 auf 0% PWM steht und der erste Eintrag des Tages auf 06:20 auf 0%, dann brauchst du ja keine um 00:00 rum.
      Mir ging es wirklich um den Überlauf, z.B. für Mondlicht oder einfach nachtaktive Terrarien.
    • Hallo,
      wenn man bei 10 bit (1024) jede Sekunde um 1 errhöht, kommt man auf
      1024 / 60 s auf ca. 17 min. So eine Helligkeitsänderung ist , wenn überhaupt,
      nur direkt am Äquator möglich.
      Die Frage ist nicht, um wieviel der PWM-Wert pro Sekunde geändert werden soll,
      sondern, alle wieviel Sekunden soll der PWM-Wert um 1 erhöht werden.

      Ich weis aber nicht, in welchem Spektralbereich Fische sehen.
      Da stellt sich die Frage , welche Leuchtmittel die Sonne nachahmen können.

      Zum Fischauge:
      Die Fische haben zwar eine Iris, die meisten können die Größe aber nicht verändern.
      Durch die Retinomotorik können die Stäbchen und Zapfen aber so bewegt werden,
      das eine Helligkeitsregelung möglich ist. Die Retina übernimmt also die Funktion
      der Iris (Blende).

      Detlef
      Leichtsinn ist kein Mut, Vorsicht keine Feigheit.
    • Zeitabhängigkeit der Helligkeit

      Wie die Beleuchtungsstärke in der Morgendämmerung zunimmt und während des Sonnenaufgangs verläuft, kann durch Messungen der Helligkeit gut erfasst werden. Neben dem rein phänomenologischen Aspekt ist dies z. B. für die Biologie und für die Entwicklung von Sonnenaufgangs-Simulatoren (etwa zur Verwendung als Lichtwecker) von Bedeutung.
      Die Zeitabhängigkeit der Helligkeit im Zeitraum um den Sonnenaufgang hängt stark von der Jahreszeit, vom Wetter und vom Breitengrad ab. Bei wolkenfreiem Himmel lässt sich die Helligkeit sehr gut durch eine Exponentialfunktion abschätzen. Die Beleuchtungsstärke verdoppelt sich dabei alle 5 Minuten.
      ist die Beleuchtungsstärke und die Zeit, wobei der Zeitpunkt des Sonnenaufgangs ist. Demzufolge werden 10 lx (Lux), das ist etwa die Beleuchtungsstärke der Straßenbeleuchtung, schon ca. 15 Minuten vor Sonnenaufgang erreicht, und die Helligkeit einer durchschnittlichen Bürobeleuchtung (ca. 800 lx) wird etwa 16 Minuten nach Sonnenaufgang überschritten. Diese Formel ist etwa für einen Zeitraum von einer Stunde vor bis eine halbe Stunde nach Sonnenaufgang (also zwischen −60 min und +30 min) für die Breitenlage Deutschlands geeignet. Im Sommer nimmt die Helligkeit schneller, im Winter langsamer zu als angegeben.

      gefunden bei de.wikipedia.org/wiki/Sonnenaufgang
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Hallo,
      "Exponentialfunktion" , wenn man das dem Controller zur Berechnung anbietet,
      dann weis er, "wo der Frosch die Locken hat".
      Ich denke, es ist dann besser, die Daten vorher zu berechnen und in einem
      Datenfeld abzulegen. Die Datenkurve besteht dann grob aus einem aufsteigenden
      Ast, einem Plateau und einem absteigenden Ast. Diese Kurve lässt sich dann über
      einen Pointer auslesen. Mit dem Pointer kann man dann an verschiedenen Stellen
      anfangen, die Kurve auszulesen. Damit ist auch Sommer und Winter simulierbar.
      Im Sommer früher hell und später dunkel, im Winter später hell , dafür früher dunkel.
      Nur so als Denkanstoss.

      Detlef
      Leichtsinn ist kein Mut, Vorsicht keine Feigheit.