DIY LED driver for reef lighting

There's no exact science to picking pullup resistors. The way an I2C bus works is that the pullup resistors keep the line(s) high. Devices on the bus pull the lines down. This is a digital application so the ideal waveform is perfect squares. Too high a value for the pullup and the pull will be "weak" meaning the squares' edges will be rounded off. Too much rounding and communication will fail. This is what can happen with the internal pullups on the ATMega in your Arduino.

Too strong a pullup (i.e. too low a resistance) and the devices will have to draw a lot of current to pull a line down, which can damage the devices. If you look for max currents on the various IC's I2C pins, you can get an idea of the smallest resistor you can use.

But, in the end, if you just stick to an acceptable, normal range, you'll get good performance. I've seen recommendations between 1k and 10k. Most people probably use something between 2k and 5k, so I stick with that range. On the Hydra project, I spec'd 2.7k. It's a bit towards the "strong" end of the range, which should provide for good performance if people have longer bus runs (i.e. put an I2C device on a different PCB a few feet away). But it's well within the safe limits, and the device will be running off wall power (not a battery pack) so we don't care TOO much about a few extra mA of current.
 
Hello der,
Do you know a way to make the output of the driver to 8v or 9v to connect to the arduino?? Because at 5v the lcd is pretty dim, it's like that it doesnt have enough v. Thank you!
 
The LCD is wiring to arduino and the arduino is using the 5v output of the CAT4101 Led driver. The lcd is really dim you can barely read the letter on it. But if I power the arduino with USB everything is good.
 
The LCD is wiring to arduino and the arduino is using the 5v output of the CAT4101 Led driver. The lcd is really dim you can barely read the letter on it. But if I power the arduino with USB everything is good.

Titeo, have you adjusted the brightness setting on your LCD? It sounds a lot like it is turned down. What is the model of the LCD you use?
 
I'm using the board from TheFishMan65, it has a 5v output using the L7805cv.
terahz: I have a 20x4 LCD I tried to set the backlight and contrast.
 
Check the output of the regulator with a multimeter. Feel and see how hot it gets. I bet you're pushing it too hard, trying to run the Arduino and LCD on it with such a large voltage drop. Especially since above you said it works fine on a known stable power source (the USB connection).
 
I would add a heat sink to the 7805 if you have all that on it. I posted apicture where I actually decided to put a heat sink on the 4101s also. Not sure it is requred, but heat is the biggest killer of electronics IMHO. I asked but either didn't get any or missed them if anyone else was having heat issue with the CAT4101.
 
ok here is what i got with the multimeter. USB connect to arduino: arduino input = 3.16v and input for LCD = 4.81v. Now with the 5v output from the driver: arduino input = 5.5v and input for LCD = 3.31v. The 7805 is warm,I can hold it for 1min, just a bit warmer then room temp. What bother me is the input for USB is lower but the input for LCD is higher.
 
You must be measuring something wrong. There's nothing on the Arduino or the LCD to boost voltage, so if it's getting only 3.16v from the USB, the ATMega wouldn't even be running - much less would the LCD have 4.81v.

Also - how are you wiring the 5v source to the Arduino? Are you using the "raw" voltage connections (i.e. as if it were an unregulated wall wart)? If you have a solid regulated 5v source to power your Arduino, you can/should connect it to the Arduino AFTER the onboard regulator, i.e. connect it to any "5v" pin, or to the 5v pin on the USB connector.

Thirdly, get a reading on the 7805 without the Arduino attached, and try to get a reading with no load at all. 5.5v is out of spec. Should be more like 5.25v, MAX, even on a low-end part.
 
Sorry it was a mistype it's 5.05v and i measure a second time the result is. USB: arduino output 5v and ground = 4.72v and LCD input = 4.72v. With 5v output on driver: arduino input = 5.05v, arduino output = 3,27v and the LCD input = 3.27v.
 
Ok, I just test an external power supply 12v and the LCD work good, the result from measurement is. Arduino input = 12v, Arduino output = 5v, LCD input = 5v. So I think the output from driver is too low only 5v. If i change the L7805cv for a L7809c or L7812c it will result my problem???

Btw, TheFishMan65 I send you an email.
 
Ah, the problem is you're feeding 5V to the regulator. You need to feed it at least 7.5V (the L7805cv has a 2.5V max, 2V typ dropout voltage). That's why with the 12V all looks good.
 
Or, like I suggested above, feed the known-good 5v source to any "5v" pin on the Arduino, and you will essentially bypass it's onboard power circuit - which you don't need, since you've got a well regulated 5v source!
 
YOU CAN NOT REPLACE 7805ON MY BORD WIH THE 7809 OR 7812. If you did you would supply 9 or 12 volt (if I remember the specs) to the 5 volt pin of the CAT4101. DWZM has the correct idea supply the 5 volt to the 5 volts on the arduino (the outputof the Arduino on baord regulator) not the inout.
 
I feed the regulator with the 24v power supply for my LED

That's fine as long as you don't draw too much current from it. The thing we're talking about is how you're connecting the regulator's output (5v) from the CAT4101 board to the Arduino. You need to connect it "downstream" of the onboard reg on the Arduino. Otherwise, the polarity circuitry and regulator on the Arduino will drop it down to some unstable voltage and cause the erratic behavior you're seeing.
 
Back
Top