Post Reply
16 posts • Page 1 of 2
Postby Stobbe98 » 19 Jun 2014 15:19
Hi Leute,

ich bin auf der suche nach ner einfach Lösung zu dimmung meiner Cree XM-L
Habe 18 Cree XM-L U2 über dem Becken aktuell mit 350mA ist mir aber zu schwach :lol:
Daher möchte ich auf 700mA hoch und das ganze möglicht dimmen. so das ich morgens
und abend das Licht langsam an uns aus geht :smile:
http://www.fasttech.com/products/1609/10001903/1580704-authentic-cree-xm-l-u2-0r-1000lm-7500-7800k-cold

das licht sollte sich so ca. 1,5h morgen rauf und später runterdimmen.
Gruß Patrick
120x50x60cm Weissglasbecken(Emmel) rote Moorwurzel/Steine Scape
45x40x35cm Weissglasbecken (Emmel) Meerwasserbecken noch am Anfang :-)

"Von der Natur lernen, um Natur zu schaffen".
User avatar
Stobbe98
Posts: 710
Joined: 24 Jul 2007 13:38
Location: Binzen
Feedback: 4 (100%)
Postby MajorMadness » 20 Jun 2014 13:56
Du brauchst auf jeden Fall ne neue KSQ dafür. Als erstes würde mir einfallen:
- 2x LPF-25D-36
- 2x LDD-700L/LW
- 3x PT4115 KSQ

Dimmung dann entweder über nen Arduino oder anderen kleinen Controller im Bereich von <20€. Mit RTC und passender Steuerung ( hier ) kannst du damit beide Arten steuern.
Beste Grüße Moritz
Meine Projekte zur Aquariensteuerung:
Image www.aqua-grow.de
User avatar
MajorMadness
Posts: 1658
Joined: 06 Aug 2012 10:44
Location: 45145 Essen
Feedback: 10 (100%)
Postby Stobbe98 » 22 Jun 2014 16:17
Hi Moritz,

würde sowas auch funktionieren?
http://shop.liwebe.de/product_info.php?products_id=7
und dann ne extra KSQ wo in das Teil geht...
Wäre ne recht einfach lösung noch^^
Aber hab voll nich den Plan obs funktioniert :p
Gruß Patrick
120x50x60cm Weissglasbecken(Emmel) rote Moorwurzel/Steine Scape
45x40x35cm Weissglasbecken (Emmel) Meerwasserbecken noch am Anfang :-)

"Von der Natur lernen, um Natur zu schaffen".
User avatar
Stobbe98
Posts: 710
Joined: 24 Jul 2007 13:38
Location: Binzen
Feedback: 4 (100%)
Postby Tiegars » 22 Jun 2014 18:29
Hallo Patrick,

da gibts diverse Lösungen auf dem Markt.
http://www.aquastyleonline.com/products/SolarLux-LED-Controller-with-EX-board.html
http://shop.stevesleds.com/Typhon-Typhoon-LED-Controller-Typhon.htm
http://aquarium-led-controller.com/
http://coralux.net/

Such dir eine aus :)
Viele Grüsse

Javi
___________________
Aguaworld
User avatar
Tiegars
Posts: 966
Joined: 10 Aug 2011 20:12
Location: Grenzgebiet Waldshut
Feedback: 67 (100%)
Postby Rausiman » 22 Jun 2014 19:02
Hallo,

ich habe den in zwei Becken im Einsatz.

http://www.aliexpress.com/item/NEW-Programmable-led-time-controller-5-channel-20A-DC12-24V-pc-computer-interface-controller-TC420-free/1102567416.html?PID=2190813&src=ale&URL=http%3A%2F%2Fwww.aliexpress.com%2Fitem%2FNEW-Programmable-led-time-controller-5-channel-20A-DC12-24V-pc-computer-interface-controller-TC420-free%2F1102567416.html&cv=10790147&cn=null&tp1=at100327_a112357_m1_p424_t192&tracelog=null&af=cj_2190813&vd=30

Inkl. Versand keine 24 Euro. Musst halt nur ein paar Wochen warten. Super zu Programmieren.
Halt um einiges günstiger.
MfG
Michael
Rausiman
Posts: 215
Joined: 27 Feb 2013 22:42
Feedback: 31 (97%)
Postby Tiegars » 22 Jun 2014 19:27
Hallo Michael,

mit dem Teil kannst du keine KSQ dimmen. Brauchst eine PWM Schnittstelle.
Viele Grüsse

Javi
___________________
Aguaworld
User avatar
Tiegars
Posts: 966
Joined: 10 Aug 2011 20:12
Location: Grenzgebiet Waldshut
Feedback: 67 (100%)
Postby Rausiman » 22 Jun 2014 19:46
Hallo Javi,

oh, dass wusste ich nicht. Sry. :lol: :down: :stumm:

Ich steuere damit meine LED Rigid Stripes 5730 und RGB.
Dachte das ginge auch.

LG
Michael
Rausiman
Posts: 215
Joined: 27 Feb 2013 22:42
Feedback: 31 (97%)
Postby omega » 22 Jun 2014 23:46
Hi,

mit sowas wie
Stobbe98 wrote:http://shop.liwebe.de/product_info.php?products_id=7
und dann ne extra KSQ wo in das Teil geht...

und

betreibt man z.B. LED-Strips, also LEDs mit Vorwiderstand, also mit fixer Spannung, z.B. 12V oder 24V.

Will man zig LEDs ohne Vorwiederstand betreiben, braucht man ein KonstantSTROMnetzteil. Ein solches KSQ kann man an obige Controller nicht anschließen, ohne daß diese bei entsrechendem Strom unmittelbar zerstört werden.

@Patrick: was meinst Du mit "einfachste LED Dimmung"? Einfachst im Aufbau (Fertiglösung) oder einfachst bzgl. elektronischer Schaltung (sog. Geister-Schaltung)? Selbstbau mit Arduino und Konsorten ist verglichen mit einer Fertiglösung oder der Geister-Schaltung extrem aufwendig, kann man aber auch als Herausforderung und/oder Hobby ansehen.

Grüße, Markus
User avatar
omega
Posts: 2781
Joined: 12 Sep 2012 20:53
Location: München
Feedback: 9 (100%)
Postby Wuestenrose » 23 Jun 2014 00:03
Servus...

Als einfachste Dimm-Möglichkeit kenne ich die Geister-Schaltung. Funktioniert allerdings nur mit Netzteilen mit 1...10-Volt-Dimmschnittstelle, also z. B. zusammen mit den von Moritz erwähnten LPF-25D-36.

Grüße
Robert
生命太短暫了,因此無法躺在床上死去。
User avatar
Wuestenrose
Posts: 6659
Joined: 26 Jun 2009 10:46
Location: Im Herzen der Renaissance- und Fuggerstadt Augsburg
Feedback: 4 (100%)
Postby MajorMadness » 23 Jun 2014 07:21
Die oben verlinkten Controller gehen im Prinzip schon. Intern ist auch nur ne PWM Schnitstelle die den Minuspol schaltet. Das problem ist aber das man nicht +- verwenden kann. Man müsste also den Controller mit 12V versorgen, die LED an ein seperates KS-Netzteil/Netzteil und KSQ anschließen, den Dimport (im Falle von DC-DC Konvertern) an Minus des Dim-Controllers und (im Falle von DC-DC Konvertern) Netzteil Minus mit dem 12V Netzteil brücken.
In diesem Falle hat man das gleiche für 80€ was Ich mit dem Arduino für 20€ Nachbaue, nur mit weniger möglichkeiten...
Die Geisterschaltung kann im Prinzip auch klappen wenn man sie stark modifiziert. Im falle des PT4115 gibt es im Datenblatt einen Hinweis auf "Soft-start" (Seite 12). Wichtig dabei die Zeile
Adding capacitance increases this delay by
approximately 0.8ms/nF

Legen wir 1,5Std zu gute dann hätten wir 6750000nF ~ 6750uF. Ein Kerko mit der größe könnte das Eindimmen ermöglichen, aber nicht das Ausdimmen...

"Einfachste" Möglkichkeit:
Nano, NPN hinter 1K Widerstand und im loop:
Code for(int i=255;i>=0;i--){
  analogeWrite(11,i);
delay((1000*60*90)/255);  //90min in ms / 255
}
delay(1000*60*60*8);  // 8 Stunden in ms = Beleuchtung an
for(int i=0;i<=255;i++){
  analogeWrite(11,i);
delay((1000*60*90)/255);  //90min in ms / 255
}
delay(1000*60*60*1); // nur zum blockieren. In dieser Zeit irgendwann Arduino und LED vom Strom trennen


Damit kann man morgens mit Zeitschaltuhr den Arduino Starten, der dimmt ein, "Hängt" solange ganz an ist für 8 std und dimmt dann runter, dann ausschalten für reset... Sehr unsauber, sollte aber klappen.
Beste Grüße Moritz
Meine Projekte zur Aquariensteuerung:
Image www.aqua-grow.de
User avatar
MajorMadness
Posts: 1658
Joined: 06 Aug 2012 10:44
Location: 45145 Essen
Feedback: 10 (100%)
Postby Jürgen71 » 23 Jun 2014 12:17
Hallo Moritz,

Könntest Du für die Variante "Nano, NPN hinter 1K Widerstand" mal einen kleinen Schaltplan beifügen? Wüßte gern welchen Transisitor, wo welche Spannung angelegt wird und wie das genau verkabelt werden muß. Wie der Threadersteller bin auch an so einer einfachen Lösung interessiert.

Grüße,

Jürgen
Jürgen71
Posts: 62
Joined: 28 Jan 2012 19:37
Feedback: 9 (100%)
Postby MajorMadness » 23 Jun 2014 13:23
Kann grade keinen Schaltplan erstellen aber im prinzip ist es wie A simple Arduino based circuit using transistors.
9V und den 1K ignorieren, die LEDs sind der DIM Port des DC-DC Wandlers (KSQ). Als NPN kann man nen BC547 nehmen, die kosten nix. Denkt nur dran den Ground des Arduinos mit Ground des LED Netzteils zu verbinden.

Insgesammt möchte ich aber noch erwähnen das die Dimmung wirklich nur die einfachste und nicht die beste ist. Sie hat viele Nachteile:
Bei Stromschwankung kann passieren das es nachts hell wird,
Neustart des Arduinos führt dazu das ab dann die Tagzeit zählt und so Sonnenuntergang um 1-2 Nachts ist.
Manuelles eingreifen in Dim prozess auch nicht möglich,
Dimmung ist fürs auge nicht linear. Es wird schnell hell und plötzlich dunkel (liegt daran das unser auge helligkeit anders warnimmt. der unterschied zwischen 0%10% ist sichtbarer als zwischen 90&100%)
stufen in dimmung relativ grob, man sieht jedes schalten
Beste Grüße Moritz
Meine Projekte zur Aquariensteuerung:
Image www.aqua-grow.de
User avatar
MajorMadness
Posts: 1658
Joined: 06 Aug 2012 10:44
Location: 45145 Essen
Feedback: 10 (100%)
Postby Jürgen71 » 23 Jun 2014 14:36
Hallo Moritz,

Danke für den Link und die Tips. Solcher Lesestoff ist mir immer sehr willkommen :smile:

Grüße,

Jürgen
Jürgen71
Posts: 62
Joined: 28 Jan 2012 19:37
Feedback: 9 (100%)
Postby Squallsnext » 24 Jul 2014 13:39
Hi bin gerade am stöbern wegen Umbau auf LED.
Deine Variante mit dem Programm an sich nicht schlecht aber um einiges besser wäre es doch
wenn du im µC eine Uhr programmierst und er die quasi abfragt bei einem Reset oder ähnliches man muss den Arduino dann halt mit einer Batterie Notstrom versorgen.
So sind dann einige Nachteile behoben und schon fast Jedermann tauglich. :D

Gruß Ron
MfG Ron

Image
User avatar
Squallsnext
Posts: 52
Joined: 15 Apr 2013 12:44
Location: Fahrenbach
Feedback: 0 (0%)
Postby MajorMadness » 24 Jul 2014 14:52
Ein Mikrokontroller kann nicht wirklich eine Uhr sein. Es hat viele Gründe (Speicherbereich, zuverlässigkeit, Backub ect...) warum ich es nicht machen würde, Aber durch die passende Libary ist es möglich. Dann muss man sich nur um die Streomversogung kümmern weil nur ein Resett das datum komplett aus der Bahn wirft. Besser dann ne kleine RTC nehmen für 1,50€, da reicht die Backup batterie bei Stromausfall 5 Jahre (und so lange ist unser AQ nicht ohne Strom).
Bevor du überlegst die ne Backup Batterie für den µC zu basteln solltest du doch auf eine DS3231 zurück greifen. 1,35€ bei Ebay, dazu nen Arduino und bisschen mehr Code (Ja der oben genannte ist nicht gut) und schon haste alles was du brauchst...
Ohne gewährleistung das es klappt:
Code #include <Wire.h>
#include <RTClib.h>
#include <MemoryFree.h>
#include <WString.h>
#define LIGHT_CHANEL 6   
#define LIGHT_VALUES 8

RTC_DS1307 rtc;
byte ledPin[]={3, 5, 6, 9, 10, 11};
unsigned long last_print = 0;
String inputString = "";
boolean stringComplete = false;
boolean manualLight=false;

long get_ts(uint8_t h, uint8_t m, uint8_t s){
  uint32_t t;
  t = h;
  t *= 60;
  t += m;
  t *= 60;
  t += s;
  return t;
}
typedef struct {
  uint32_t time;
  byte level; 
}LIGHT;
// Licht Einstellungen immer paar aus Uhrzeit und % angabe. Je reihe Zahl von LIGHT_VALUES, so viele Reihen wie in LIGHT_CHANEL
LIGHT light_channels[LIGHT_CHANEL][LIGHT_VALUES] ={
        {{get_ts(0,1,0),0},{get_ts(10,0,0),0},{get_ts(11,30,0),100},{get_ts(19,0,0),100},{get_ts(20,0,0),0},{get_ts(21,30,0),0},{get_ts(23,30,0),0},{get_ts(23,32,0),0}},
        {{get_ts(0,1,0),0},{get_ts(9,0,0),0},{get_ts(11,0,0),100},{get_ts(19,0,0),100},{get_ts(21,0,0),0},{get_ts(21,30,0),0},{get_ts(23,30,0),0},{get_ts(23,32,0),0}},
        {{get_ts(0,1,0),0},{get_ts(10,0,0),0},{get_ts(11,30,0),100},{get_ts(19,0,0),100},{get_ts(20,0,0),0},{get_ts(21,30,0),0},{get_ts(23,30,0),0},{get_ts(23,32,0),0}},
        {{get_ts(0,1,0),0},{get_ts(9,0,0),0},{get_ts(11,0,0),100},{get_ts(19,0,0),100},{get_ts(21,0,0),0},{get_ts(21,30,0),0},{get_ts(23,30,0),0},{get_ts(23,32,0),0}},
        {{get_ts(0,1,0),0},{get_ts(9,0,0),0},{get_ts(11,0,0),100},{get_ts(19,0,0),100},{get_ts(21,0,0),0},{get_ts(21,30,0),0},{get_ts(23,30,0),0},{get_ts(23,32,0),0}},
        {{get_ts(10,30,0),0},{get_ts(11,30,0),0},{get_ts(12,30,0),0},{get_ts(13,30,0),0},{get_ts(14,30,0),0},{get_ts(15,30,0),0},{get_ts(16,30,0),0},{get_ts(17,30,0),0}}
      };
     
void setLight(){
    for( byte i=0;i <  LIGHT_CHANEL; i++){
        byte c_PWM = PWM_Licht(i);
        analogWrite(ledPin[i],c_PWM);
    }
}

int PWM_Licht(int lightIndex){
  int curIndex=0;
  for(byte n=0;n<LIGHT_VALUES;n++){
    if(light_channels[lightIndex][n].time < rtc.daystamp){
      curIndex=n;
    }
  }
 
  int Max,Min,pwm=255;
  float dimTime,f,p;
  float pastSeconds;
  uint32_t Start,Ende;
  int oMin,oMax;
 
    if(curIndex ==(LIGHT_VALUES-1) ){
        Start = light_channels[lightIndex][7].time;
        Ende = light_channels[lightIndex][0].time;
        oMin = light_channels[lightIndex][7].level;
        oMax = light_channels[lightIndex][0].level;
       
        pastSeconds = rtc.daystamp-Start+0.5;    // vergangene Sekunden ~1616Sek ~ 27min
        dimTime= get_ts(24,0,0) - Start + Ende;
     
    }else if(curIndex>=1 || light_channels[lightIndex][0].time < rtc.daystamp){
        Start = light_channels[lightIndex][curIndex].time;
        Ende = light_channels[lightIndex][curIndex+1].time;
        oMin = light_channels[lightIndex][curIndex].level;
        oMax = light_channels[lightIndex][curIndex+1].level;
       
        pastSeconds = rtc.daystamp-Start+0.5;    // vergangene Sekunden ~1616Sek ~ 27min
        dimTime=Ende - Start;
    }else{
      Start = light_channels[lightIndex][7].time;
      Ende = light_channels[lightIndex][0].time;
      oMin = light_channels[lightIndex][7].level;
      oMax = light_channels[lightIndex][0].level;

      pastSeconds = get_ts(24,0,0)-Start + rtc.daystamp+0.5;
      dimTime= get_ts(24,0,0)-Start + Ende;
   }

   Min=uint16_t(pwm-(pwm/100*oMin));  // 0%=4095-(4095/100*0) =
   Max=uint16_t(pwm-(pwm/100*oMax)); // 80% von 4095-(4095/100*80) sind 819
   if(Min==Max){
      return Min;
   } 
   f= dimTime/(Max-Min);    // 1800/2800=0,64
   p = pastSeconds/f;    // 1616 / 0,64=2525   
   pwm=Min+p;
    return pwm;    // Im Nofall ausschalten...
}

void serialEvent() {
  while (Serial.available()) {
    char inChar = (char)Serial.read();
    inputString += inChar;

    if (inChar == '\n') {
      stringComplete = true;
    }
  }
}

void serialHandler(String input){
      int year;
      uint8_t month,day,hour,minute;
      int val,pin;
  switch (input.substring(0,1).toInt()){
    //1=2014/03/05/18:28
    case 1:
       year=input.substring(2,6).toInt();
       month=input.substring(7,9).toInt();
       day=input.substring(10,12).toInt();
       hour=input.substring(13,15).toInt();
       minute=input.substring(16,18).toInt();
      rtc.adjust(year,month,day,hour,minute,0);
    break;
    //2=2:90
    case 2:
      pin= input.substring(2,3).toInt();
      val= input.substring(4,7).toInt();
        analogWrite(ledPin[pin],255-int(val*2.55));
      manualLight=true;
      Serial.print(pin);
      Serial.print(F(" -> "));
      Serial.println(255-int(val*2.55));
      break;
    case 3:
      manualLight=false;
    break;
  }
}

void setup() {
  Wire.begin();
  rtc.begin();
  Serial.begin(9600);
  inputString.reserve(20);
}

void loop() {
  rtc.now();
  // print the string when a newline arrives:
  if (stringComplete) {
    serialHandler(inputString);
    inputString = "";
    stringComplete = false;
  }
      // Licht Dimmen
    if(!manualLight){
      setLight();
    }
  if (millis() - last_print > 1000) {
    last_print = millis();
  }           
}

unter LIGHT light_channels[LIGHT_CHANEL][LIGHT_VALUES] nur eingeben um welche Uhrzeit es wie hell sein soll ( get_ts(Stunde,Minute,Sekunde), % Helligkeit ) und es sollte klappen.
im Serial Monitor kann man über 1=2014/07/24/18:28 Die Uhrzeit einstellen und über 2=2:90 z.B. kanal 3 auf 90%dimmen. 3 schicken ist automatische dimmung. Die analogen Pins habe ich unter
byte ledPin[]={3, 5, 6, 9, 10, 11};
definiert. Sind die standart von Uno.

Achso: die RTC libarie findet ihr unter https://github.com/MajorMadness/aquagrow-diy-minimalistik-aquarium-controller/tree/master/libraries oder direkt die komplette IDE die alle libs hat die man brauch: https://github.com/MajorMadness/ArduinoIDE
Runterladen, entpacken, Code oben in neuen Sketch kopieren, uploaden... Ich würde sagen einfachste "Vernümpftige" art LED zu dimmen (über NPN mit möglichst wenig hardware...)
Beste Grüße Moritz
Meine Projekte zur Aquariensteuerung:
Image www.aqua-grow.de
User avatar
MajorMadness
Posts: 1658
Joined: 06 Aug 2012 10:44
Location: 45145 Essen
Feedback: 10 (100%)
16 posts • Page 1 of 2
Related topics Replies Views Last post
Beleuchtungssystem bei Dimmung
by Matze222 » 27 Apr 2009 23:09
2 505 by Matze222 View the latest post
28 Apr 2009 08:55
ATI Sunpower Dimmung
by ShrimpAction » 14 Feb 2014 23:22
9 1045 by MajorMadness View the latest post
18 Feb 2014 22:55
Dimmung Easy LED Aquatlantis
by cyjo5 » 06 Jul 2016 16:19
2 1085 by cyjo5 View the latest post
14 Jul 2016 10:28
Umbau LED Beleuchtung - Dimmung
Attachment(s) by Markus587 » 29 Jul 2017 17:27
11 617 by Markus587 View the latest post
31 Jul 2017 09:37
Wie viel Dimmung bei 2 Chihiros A 36 und 60L Cube?
by Olli73 » 17 May 2018 20:12
2 441 by Olli73 View the latest post
17 May 2018 20:43

Who is online

Users browsing this forum: No registered users and 2 guests