Fluval Edge 6G - Cree XM-L LED Mod - The Planted Tank Forum
Reply
 
LinkBack Thread Tools Display Modes
post #1 of 23 (permalink) Old 12-15-2014, 06:37 AM Thread Starter
Algae Grower
 
PTrader: (0/0%)
Join Date: Nov 2014
Location: Vancouver Canada
Posts: 17
Fluval Edge 6G - Cree XM-L LED Mod

Just wanted to share my modded Fluval Edge 6G with CREE lighting. I found that with the lighting in the Edge, you really need to extend past the opening to get light to spread to the corners. I decided try to DIY this without losing too much of the "edgeiness" and still look stock.

This is a low tech tank with 1/2 EI dosing and weekly 50% water changes. I've tried excel but found that the Fissidens Fontanus really didn't like it. The tank has been running for about 2 months now. Everything is settling in now except for the AR mini which is coming around, just slower than the rest of the plants.

Full tank shot at PWM level of 55 of a possible 255. This is the level that I typically leave it at to balance out the algae with my low tech tank.


Full tank shot at full power for the driver. It is really to bright and the fish don't like it. Algae blooms within a couple days under this intensity.


Full tank shot with the stock Fluval LED. Same exposure settings as the other shots so you can directly compare the amount of light. The stock setup is pretty lacking. Plants would only grow well in the center.


Here is some shots of the DIY light. I used a 12" heatsink and 4 Cree XM-L neutral white LEDs. I probably could have gone with XP-G series LEDs to save a couple bucks but I already had these from another project. Thermal compound is Arctic Silver and the wiring is recycled from an old PC. The stock light was hacked apart with a dremel... it's not pretty but everything is hidden by the lid anyways.
http://www.rapidled.com/cree-xm-l-neutral-white-led/
http://www.rapidled.com/drilled-tapp...inum-heatsink/










Here is a shot of the driver. One day I will make a proper case for it. I used the Meanwell LDD-1000H. This driver only has 1 amp max output power which sounds like a waste when you consider the XM-L LEDs can be driven up to 3 amps but the light intensity at 1 amp is already way too high. I have to dim them anyways to keep algae at bay. Also, running XM-L LEDs at 1 amp keeps everything nice and cool. You can touch the LEDs without first degree burns and the heatsink is barely warm to the touch.
http://www.rapidled.com/mean-well-ld...mmable-driver/
Power comes from a 24V 5A power supply from eBy. The 24V output feeds the LDD-1000H driver (black block) and a small switching power regulator (green pcb) also from eBy. From there I bump the voltage down to 7 volts and power an Arduino Nano V3.0 clone (blue pcb). The Arduino controls the PWM dimming of the light according to the time set in the real time clock module (white pcb).


Here is the Arduino code. It is super simple, I haven't spent the time to make it non-blocking, it has no user interface and all the variables are hard coded. One day I might give it some more love, but for now, this fits my needs. It's set to turn the lights on at 10AM and slowly ramp up to power level 55 at noon. Then at night it starts turning off at 5PM with lights out at 7PM
Code:
// Aquarium Light Controller by Chiu Fang

// Include Libraries
#include <Wire.h>             // For DS1307 Real Time Clock
#include <DS1307RTC.h>        // For DS1307 Real Time Clock
#include <Time.h>             // For Time functions

// Set constants
const byte ledPin = 13;       // Onboard LED pin
const byte pwmPin = 3;        // PWM light control pin
                              // Pin A4 → I2C SDA, Pin A5 → I2C SCL

// Set Parameter Values
const byte maxPWM = 55;      // Brightest light level
const byte timeOnStart = 10;   // Time that the lights start to ramp on
const byte timeOnEnd = 12;    // Time that the lights are full power
const byte timeOffStart = 17; // Time that the lights start to ramp off
const byte timeOffEnd = 19;   // Time that the lights are off

// Declare Variables
int valuePWM = 0;
unsigned long pwmDelay = 0;
boolean onFlag = false;

void setup () {
  Serial.begin(115200);       // For debug
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);  // turn the LED off
  pinMode(pwmPin, OUTPUT);
  analogWrite(pwmPin, valuePWM);
}

void loop () {
  tmElements_t tm;           // Calls RTC lib
  if (RTC.read(tm)) {        // Read DS1307
    if (tm.Hour >= 0 && tm.Hour < 10) {
      Serial.write('0');
    }
    Serial.print(tm.Hour);
    Serial.write(':');
    if (tm.Minute >= 0 && tm.Minute < 10) {
      Serial.write('0');
    }
    Serial.print(tm.Minute);
    Serial.write(':');
    if (tm.Second >= 0 && tm.Second < 10) {
      Serial.write('0');
    }
    Serial.print(tm.Second);
    Serial.print(" - ");
    Serial.print(tm.Day);
    Serial.write('/');
    Serial.print(tm.Month);
    Serial.write('/');
    Serial.println(tmYearToCalendar(tm.Year));
  } else {
    if (RTC.chipPresent()) {
      Serial.println(F("DS1307 Stopped"));
    } else {
      Serial.println(F("DS1307 read error!"));
    }
  }
  
  if (tm.Hour == timeOnStart) {
    digitalWrite(ledPin, HIGH);                                   // turn the LED on
    pwmDelay = ((timeOnEnd - timeOnStart) * 3600000) / maxPWM;    // calculate the correct delay for the ramp time
    for (valuePWM = 0; valuePWM <= maxPWM; valuePWM++) {          // Ramp on lights
      analogWrite(pwmPin, valuePWM);
      Serial.println(valuePWM);
      delay (pwmDelay);
    }
    onFlag = true;
    digitalWrite(ledPin, LOW);                                    // turn the LED off
  }
  
  if (tm.Hour > timeOnStart && tm.Hour < timeOffStart && onFlag == false) { // If started after timeOnStart, turn on lights
    analogWrite(pwmPin, maxPWM);
    Serial.println(maxPWM);
    onFlag = true;
  }
  
  if (tm.Hour == timeOffStart) {
    digitalWrite(ledPin, HIGH);                                   // turn the LED on
    pwmDelay = ((timeOffEnd - timeOffStart) * 3600000) / maxPWM;  // calculate the correct delay for the ramp time
    for (valuePWM = maxPWM; valuePWM >= 0; valuePWM--) {          // Ramp off lights
      analogWrite(pwmPin, valuePWM);
      Serial.println(valuePWM);
      delay (pwmDelay);
    }
    onFlag = false;
    digitalWrite(ledPin, LOW);                                    // turn the LED off
  }
  
  delay(60000);
}
The lid was made with some scrap acrylic and black Krylon paint. I used super glue and epoxy to keep it all together.




Plant list left to right
Flame Moss on the shrimp breeder tube.
Echinodorus Reni - Tropica
Pogostemon Helferi
Staurogyne Repens
Fissidens Fontanus
Anubias Barteri var. Nana - Tropica
Ludwigia Palustris
Alternanthera Reineckii Mini
Microsorum Pteropus Narrow - Tropica

Hardscape
Seiryu Stone
Hardwood branch from the backyard

Livestock
8 x Neon Tetras
2 x Otocinclus
1 x Amano Shrimp
10 x Yellow Fire Neocaridina Heteropoda Shrimp





Chiumanfu is offline  
Sponsored Links
Advertisement
 
post #2 of 23 (permalink) Old 12-15-2014, 05:25 PM
Planted Member
 
TheAnswerIs42's Avatar
 
PTrader: (0/0%)
Join Date: Jul 2014
Location: Vancouver
Posts: 239
Love your setup and light mod. I have a 12g Edge that wouldn't really grow much, added another 14w of LED lights to a light bar that rests on the glass and now growing plants like crazy. Love my Edge, even with the challenges that come with it.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
TheAnswerIs42 is offline  
post #3 of 23 (permalink) Old 12-15-2014, 05:32 PM
Planted Tank Enthusiast
 
Vancat2's Avatar
 
PTrader: (3/100%)
Join Date: Jun 2010
Location: Vernon, CT
Posts: 612
Nice job!!!
Vancat2 is offline  
 
post #4 of 23 (permalink) Old 01-15-2015, 05:59 AM
Planted Tank Guru
 
kman's Avatar
 
PTrader: (1/100%)
Join Date: Dec 2013
Location: Los Angeles
Posts: 2,350
Tagged. Fabulous work on that light mod.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

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

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
kman is offline  
post #5 of 23 (permalink) Old 01-15-2015, 07:29 AM
Planted Member
 
PTrader: (0/0%)
Join Date: Jan 2015
Location: Sudbury, Ontario
Posts: 245
Send a message via Skype™ to Mitashade
Beautiful tank! Love the plant placement, should look amazing when they're grown in.

I'm deciding what to do with my Fluvial 6g right now. Thinking planted more and more, only...

I'm probably skilled enough to make this kind of setup if I put my mind to it, but I don't have access to any of these materials very readily. Man I wish I could order this somewhere!


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Mitashade is offline  
post #6 of 23 (permalink) Old 01-15-2015, 09:40 AM
Newbie
 
PTrader: (0/0%)
Join Date: Nov 2014
Location: Croatia
Posts: 4
Nice.
You don't have splashguard?
Do you have problems with water splash on led's?
vlatx is offline  
post #7 of 23 (permalink) Old 01-16-2015, 03:48 AM Thread Starter
Algae Grower
 
PTrader: (0/0%)
Join Date: Nov 2014
Location: Vancouver Canada
Posts: 17
Quote:
Originally Posted by Mitashade View Post
I'm probably skilled enough to make this kind of setup if I put my mind to it, but I don't have access to any of these materials very readily. Man I wish I could order this somewhere!
RapidLED only charged me $7 for shipping to Canada. Mind you that was a very long time ago. The rest of the parts are from eBy and my junk box.

Quote:
Originally Posted by vlatx
Do you have problems with water splash on led's?
I had some condensation in the morning when I had my water level very high in the neck of the edge. When I lowered it to half way up the neck (where is it supposed to be anyways), there was not a drop of condensation. I've been keeping an eye on it and have not had any issues over the past couple months but only time will tell.
Chiumanfu is offline  
post #8 of 23 (permalink) Old 01-16-2015, 02:14 PM
Algae Grower
 
PTrader: (0/0%)
Join Date: Dec 2014
Location: Toronto
Posts: 107
Very nicely done!


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
renesis is offline  
post #9 of 23 (permalink) Old 03-30-2015, 07:38 PM Thread Starter
Algae Grower
 
PTrader: (0/0%)
Join Date: Nov 2014
Location: Vancouver Canada
Posts: 17
Finally build a proper PCB with LCD display and added a user menu to the code.





Here is the Arduino code. This controller uses high resolution PWM ramping so the transitions are much smoother than simply using the basic analogWrite() function (1024 steps in lighting intensity vs 256 steps). The menu system is pretty simple. Button 1 sets the maximum light level. Button 2 sets the on time. Button 3 sets the off time. Button 4 sets the fade duration. When you are in one of the settings, button one is "up", button 2 is "down", and button 4 is "set".

Code:
// Aquarium Light Controller by Chiu Fang

// Include Libraries
#include <Wire.h>              // For DS1307 Real Time Clock
#include <DS1307RTC.h>         // For DS1307 Real Time Clock
#include <Time.h>              // For Time functions
#include <LiquidCrystalFast.h> // For 16x1 LCD Display
#include <Keypad.h>            // For Keypad
#include <EEPROMex.h>          // For EEPROM
#include <TimerOne.h>          // For 16-bit PWM

// Set constants
const byte pwmPin = 10;        // PWM light control pin
const byte blPin = 9;          // Backlight pin
                               // Pin A4 → I2C SDA, Pin A5 → I2C SCL
LiquidCrystalFast lcd (2, 3, 4, 5, 6, 7, 8); // rs,rw,en1,d4,d5,d6,d7 Init LCD
const byte ROWS = 1; // Keypad one rows
const byte COLS = 4; // Keypad four columns
char keys[ROWS][COLS] = {
  {'1','2','3','4'}
};
byte rowPins[ROWS] = {12}; // Row pinouts of the keypad
byte colPins[COLS] = {15, 14, 17, 16}; // Column pinouts of the keypad (A0, A1, A2, A3)
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS ); // Initialize keypad

// Set Parameter Values
int maxPWM;              // Brightest light level
byte timeOnStart;         // Time that the lights start to ramp on
byte timeOffStart;        // Time that the lights start to ramp off
byte fadeTime;            // Time that the fade takes


// Declare Variables
int valuePWM = 0;
unsigned long blDelay = 0;
unsigned long pwmDelay = 0;
unsigned long timer = 0;
boolean onFlag = false;
boolean offFlag = false;
boolean onFinishFlag = false;
boolean offFinishFlag = false;
char key;

void setup () {
  maxPWM = EEPROM.readInt(0);
  timeOnStart = EEPROM.readByte(2);
  timeOffStart = EEPROM.readByte(3);
  fadeTime = EEPROM.readByte(4);
  
//  Serial.begin(115200);       // For debug
  lcd.begin(8, 2); //Config LCD
  Timer1.initialize(2000); //500Hz PWM
  Timer1.pwm(pwmPin, valuePWM);
  pinMode(blPin, OUTPUT);
}

void loop () {
  
/***** Real Time Clock *****/

  lcd.setCursor(0, 0);
  tmElements_t tm;           // Calls RTC lib
  if (RTC.read(tm)) {        // Read DS1307
    if (tm.Hour >= 0 && tm.Hour < 10) {
      lcd.print('0');
    }
    lcd.print(tm.Hour);
    lcd.print(':');
    if (tm.Minute >= 0 && tm.Minute < 10) {
      lcd.print('0');
    }
    lcd.print(tm.Minute);
    lcd.print(':');
    if (tm.Second >= 0 && tm.Second < 10) {
      lcd.print('0');
    }
    lcd.print(tm.Second);
    lcd.setCursor(0, 1);
    lcd.print(" ->     ");
    lcd.setCursor(4, 1);
    lcd.print(valuePWM);
  } else {
    if (RTC.chipPresent()) {
      lcd.print(F("RTC Stop"));
    } else {
      lcd.print(F("RTC Err "));
    }
  }


/***** Backlight Timer *****/

if ((millis() - blDelay) >= 60000){    // 1 minute
  digitalWrite(blPin, LOW);
}


/***** Lights ON if powered on after timeOnStart *****/

  if (tm.Hour > timeOnStart && tm.Hour < timeOffStart && onFinishFlag == false) {
    valuePWM = maxPWM;
    Timer1.setPwmDuty(pwmPin, valuePWM);
    onFlag = false;
    onFinishFlag = true;
  }


/***** Lights ON *****/
  
  if (tm.Hour == timeOnStart && onFlag == false && onFinishFlag == false) { //tm.Hour
    pwmDelay = (fadeTime * 60000) / maxPWM;    // calculate the correct delay for the ramp time
    onFlag = true;
    onFinishFlag = false;
    valuePWM ++;
    Timer1.setPwmDuty(pwmPin, valuePWM);
    timer = millis();
  }

  if (valuePWM == maxPWM && onFinishFlag == false) {
    onFlag = false;
    onFinishFlag = true;
    offFinishFlag = false;
  }

  if (onFlag == true) {
    if ((millis() - timer) >= pwmDelay){
      valuePWM ++;
      Timer1.setPwmDuty(pwmPin, valuePWM);
      timer = millis();
    }
  }


/***** Lights OFF *****/

  if (tm.Hour == timeOffStart && offFlag == false && offFinishFlag == false && onFinishFlag == true) {
    pwmDelay = (fadeTime * 60000) / maxPWM;    // calculate the correct delay for the ramp time
    offFlag = true;
    offFinishFlag = false;
    valuePWM --;
    Timer1.setPwmDuty(pwmPin, valuePWM);
    timer = millis();
  }

  if (valuePWM == 0 && offFinishFlag == false){
    offFlag = false;
    offFinishFlag = true;
    onFinishFlag = false;
  }
  
  if (offFlag == true) {
    if ((millis() - timer) >= pwmDelay){
      valuePWM --;
      Timer1.setPwmDuty(pwmPin, valuePWM);
      timer = millis();
    }
  }


/***** Menu System *****/

  key = keypad.getKey();
  if(key) {
    digitalWrite(blPin, HIGH);
    switch(key) {
    
    case '1':
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print(F("Max PWM "));
      lcd.setCursor(0, 1);
      lcd.print(F("=       "));
      lcd.setCursor(2, 1);
      lcd.print(maxPWM);
      do {
        key = keypad.waitForKey();
        if(key == '1' && maxPWM < 1023) {
          maxPWM++;
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(F("Max PWM "));
          lcd.setCursor(0, 1);
          lcd.print(F("=       "));
          lcd.setCursor(2, 1);
          lcd.print(maxPWM);
        } else if(key == '1' && maxPWM >= 1023) {
          maxPWM = 0;
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(F("Max PWM "));
          lcd.setCursor(0, 1);
          lcd.print(F("=       "));
          lcd.setCursor(2, 1);
          lcd.print(maxPWM);
        } else if(key == '2' && maxPWM > 0) {
          maxPWM--;
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(F("Max PWM "));
          lcd.setCursor(0, 1);
          lcd.print(F("=       "));
          lcd.setCursor(2, 1);
          lcd.print(maxPWM);
        } else if(key == '2' && maxPWM == 0) {
          maxPWM = 1023;
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(F("Max PWM "));
          lcd.setCursor(0, 1);
          lcd.print(F("=       "));
          lcd.setCursor(2, 1);
          lcd.print(maxPWM);
        }
      } while(key != '4');
      EEPROM.updateInt(0,maxPWM);
      valuePWM = maxPWM;
      Timer1.setPwmDuty(pwmPin, valuePWM);
      blDelay = millis();
      break;

    case '2':
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print(F("On Time "));
      lcd.setCursor(0, 1);
      lcd.print(F("=       "));
      lcd.setCursor(2, 1);
      lcd.print(timeOnStart);
      do {
        key = keypad.waitForKey();
        if(key == '1' && timeOnStart < 23) {
          timeOnStart++;
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(F("On Time "));
          lcd.setCursor(0, 1);
          lcd.print(F("=       "));
          lcd.setCursor(2, 1);
          lcd.print(timeOnStart);
        } else if(key == '1' && timeOnStart == 23) {
          timeOnStart = 0;
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(F("On Time "));
          lcd.setCursor(0, 1);
          lcd.print(F("=       "));
          lcd.setCursor(2, 1);
          lcd.print(timeOnStart);
        } else if(key == '2' && timeOnStart > 0) {
          timeOnStart--;
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(F("On Time "));
          lcd.setCursor(0, 1);
          lcd.print(F("=       "));
          lcd.setCursor(2, 1);
          lcd.print(timeOnStart);
        } else if(key == '2' && timeOnStart == 0) {
          timeOnStart = 23;
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(F("On Time "));
          lcd.setCursor(0, 1);
          lcd.print(F("=       "));
          lcd.setCursor(2, 1);
          lcd.print(timeOnStart);
        }
      } while(key != '4');
      EEPROM.updateByte(2,timeOnStart);
      blDelay = millis();
      break;

    case '3':
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print(F("Off Time"));
      lcd.setCursor(0, 1);
      lcd.print(F(" =      "));
      lcd.setCursor(3, 1);
      lcd.print(timeOffStart);
      do {
        key = keypad.waitForKey();
        if(key == '1' && timeOffStart < 23) {
          timeOffStart++;
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(F("Off Time"));
          lcd.setCursor(0, 1);
          lcd.print(F(" =      "));
          lcd.setCursor(3, 1);
          lcd.print(timeOffStart);
        }else if(key == '1' && timeOffStart == 23) {
          timeOffStart = 0;
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(F("Off Time"));
          lcd.setCursor(0, 1);
          lcd.print(F(" =      "));
          lcd.setCursor(3, 1);
          lcd.print(timeOffStart);
        } else if(key == '2' && timeOffStart > 0) {
          timeOffStart--;
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(F("Off Time"));
          lcd.setCursor(0, 1);
          lcd.print(F(" =      "));
          lcd.setCursor(3, 1);
          lcd.print(timeOffStart);
        } else if(key == '2' && timeOffStart == 0) {
          timeOffStart = 23;
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(F("Off Time"));
          lcd.setCursor(0, 1);
          lcd.print(F(" =      "));
          lcd.setCursor(3, 1);
          lcd.print(timeOffStart);
        }
      } while(key != '4');
      EEPROM.updateByte(3,timeOffStart);
      blDelay = millis();
      break;
    
    case '4':
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print(F("Fade Tim"));
      lcd.setCursor(0, 1);
      lcd.print(F("e =     "));
      lcd.setCursor(4, 1);
      lcd.print(fadeTime);
      do {
        key = keypad.waitForKey();
        if(key == '1') {
          fadeTime++;
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(F("Fade Tim"));
          lcd.setCursor(0, 1);
          lcd.print(F("e =     "));
          lcd.setCursor(4, 1);
          lcd.print(fadeTime);
        } else if(key == '2') {
          fadeTime--;
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(F("Fade Tim"));
          lcd.setCursor(0, 1);
          lcd.print(F("e =     "));
          lcd.setCursor(4, 1);
          lcd.print(fadeTime);
        }
      } while(key != '4');
      EEPROM.updateByte(4,fadeTime);
      blDelay = millis();
      break;
    }
  }
}
Here is the Fritzing diagram showing how everything is wired. The LCD I used is actually a 16x1 and these are not addressed like most other LCDs. The first 8 characters are adddressed as the first line and the last 8 characters are line 2. Keep this in mind if you are customizing the code. Also, the keypad is 4x1 not 4x3 as shown. Everything else is pretty straight forward.
Chiumanfu is offline  
post #10 of 23 (permalink) Old 03-31-2015, 06:55 AM
Planted Tank Guru
 
kman's Avatar
 
PTrader: (1/100%)
Join Date: Dec 2013
Location: Los Angeles
Posts: 2,350
Nicely done! Tagged for reading when I have time...


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

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

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
kman is offline  
post #11 of 23 (permalink) Old 09-07-2015, 09:51 PM
Algae Grower
 
PTrader: (0/0%)
Join Date: Feb 2012
Location: Victoria, Canada
Posts: 44
I have set up my arduino and wiring exactly to what you have, except for I am using a 12v 5A power adapter for my led. The arduino ramps up correctly at 10am to 12pm but the mean well driver outputs a constant 12v. Do you know what could be causing this?
yoshi3k is offline  
post #12 of 23 (permalink) Old 09-08-2015, 03:46 PM
Banned
 
PTrader: (0/0%)
Join Date: Jun 2013
Location: WI
Posts: 11,794
Quote:
Originally Posted by yoshi3k View Post
I have set up my arduino and wiring exactly to what you have, except for I am using a 12v 5A power adapter for my led. The arduino ramps up correctly at 10am to 12pm but the mean well driver outputs a constant 12v. Do you know what could be causing this?
first if you are using 4 3W diodes 12V may not be enough voltage to "fire" them.
That would be 12V /4 or 3V per diode..
LDD sounds like it is maxing voltage before hitting it's current level.
That is one thing.
Next is if they are lit why isn't it pulsing the voltage (dimming)

first things first, number and elect. characteristics of the diodes.

as a test just cut the the string to 3 diodes..

Suspended for 30 days for being awful to other forum members
jeffkrol is offline  
post #13 of 23 (permalink) Old 09-16-2015, 07:27 PM Thread Starter
Algae Grower
 
PTrader: (0/0%)
Join Date: Nov 2014
Location: Vancouver Canada
Posts: 17
Quote:
Originally Posted by yoshi3k View Post
I have set up my arduino and wiring exactly to what you have, except for I am using a 12v 5A power adapter for my led. The arduino ramps up correctly at 10am to 12pm but the mean well driver outputs a constant 12v. Do you know what could be causing this?
Could be as jeffkrol suggested. 12VDC is just at the edge of what's required to drive 4 LEDs.

Can you elaborate as to what you mean by "outputs a constant 12V"? Do you mean the LEDs never ramp down? What did you set the OFF time to?
Chiumanfu is offline  
post #14 of 23 (permalink) Old 09-17-2015, 12:26 AM
Algae Grower
 
PTrader: (0/0%)
Join Date: Feb 2012
Location: Victoria, Canada
Posts: 44
I am waiting for my new 24V 5A power supply to come in. I tried an old laptop supply that was 19V 5A. I hooked it up to the input on the meanwell driver, my adruino pwm on the dim and the multimeter on the output and got no dimming.
yoshi3k is offline  
post #15 of 23 (permalink) Old 09-17-2015, 01:57 AM
Banned
 
PTrader: (0/0%)
Join Date: Jun 2013
Location: WI
Posts: 11,794
Quote:
Originally Posted by yoshi3k View Post
I am waiting for my new 24V 5A power supply to come in. I tried an old laptop supply that was 19V 5A. I hooked it up to the input on the meanwell driver, my adruino pwm on the dim and the multimeter on the output and got no dimming.
you need the power supply ground and the Aduino ground in common..

Typhon is just a pre config Aduino
See the image
http://www.nano-reef.com/topic/35636...on-controller/

See this.. The 19V is big enough for what you have BTW..

Suspended for 30 days for being awful to other forum members
jeffkrol is offline  
Reply

Tags
None

Quick Reply
Message:
Options

Register Now



In order to be able to post messages on the The Planted Tank Forum forums, you must first register.
Please enter your desired user name, your email address and other required details in the form below.

User Name:
Password
Please enter a password for your user account. Note that passwords are case-sensitive.

Password:


Confirm Password:
Email Address
Please enter a valid email address for yourself.

Email Address:
OR

Log-in










Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page
Display Modes
Linear Mode Linear Mode



Posting Rules  
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

 
For the best viewing experience please update your browser to Google Chrome