Make your own Arduino based 12ch (or more) LED controller

knabbuziak

New member
Hi everyone! This is my first post here so I shall try to make it a good one! :D

I've made an Arduino-based LED light controller that first was meant to be a product for our company. However, I'm not a great salesman, so we never sold any, but I still think that it is a useful piece of equipment and I've always loved the open community, so I'm now releasing it to the public.

I've tried as far as possible to only use easy-to-get and easy-to-solder components such as:

- Atmega328P-PU with crystals
- TexasInstruments TLC5940
- 74HC04
- RTC1307
- 16x2 LCD with 44780 interface

The controller is capable of dimming 12 channels of high power LED's via MeanWell LDD-drivers in 4096 steps of intensity (12 bits).

I've also added temperature controll to controll fans and shut of the LED's if the heatsink is too hot.

A separate channel to dim the Moonlight


Since I'm from Sweden, I wrote all comments in the code in Swedish, so I'm currently working on the translation and optimization of the circuit.

I've put one computer in my co-owners own DT at his house, and it has been working perfectly for the last two years.


In the future I hope to expand it with pump control, lunar phace and tide simulation etc.


The picture is of my lab-computer that I've only used for testing, but my colleagues computer is very similar.

I also have a code for a much more simple comuter without the TLC if anyone is interested. I managed to build it on a very small board integrated into a Juwel 54L lid.


If anyone has suggestions on how to make it better, please let me know! I will try to update and translate the codes and get back soon with wiring diagrams etc.

I hope this will be useful for someone!


I've attached the code (messy), some of the libraries (the ones that I don't think is included in the arduino IDE) and a picture of my testing computer.

If I manage to get the scetch right, I will try to order a few machined PCB's
 

Attachments

  • LED_computer.zip
    LED_computer.zip
    61.1 KB · Views: 7
  • Tlc5940_r014_2.zip
    Tlc5940_r014_2.zip
    67.9 KB · Views: 7
  • 20150809_094442.jpg
    20150809_094442.jpg
    60.6 KB · Views: 7
I have translated the few lines of text that appears in the display of the arduino if someone wants to test it...

I also remembered that I forgot to add the EEPROM preparation sketch. Both are included in the attatched zip-archive

For the future, I will share the files directly from my Google-Drive, so that everyone can se the updates i realtime.

Forgot to mention a few things in my last post. All temperatures are in Celsius. I don't know if there are components more suitable for Farenheit which I guess that most of the people here prefers... It should not be too much of a hassle to edit the code though.

The other thing that I forgot to mention is that I've programmed this computer to dim all channels logarithmically (smaller steps in the beginning and larger steps at the end of the curve. The dimming now looks linear to the eye, I've compressed the scale to 100 steps, so the first stepchanges the intensity from 0% to 0.024% and the last step is between 95% and 100%. I hope that this makes sense to at least some of you. Please let me know if you try it out and if you have any questions.
 

Attachments

I've spent the last days trying to make a PCB-layout for the motherboard and I think I'm ready. I might do some small changes to it, but I believe that It will work. I will try to order three of these as "Pro MiniBoards" sometime in the future. However, you may use it to get the schematics out until I get around to finish that as well...

https://drive.google.com/file/d/0By_ex8Ia4SLfYWtwb1RsRkVJcFk/view?usp=sharing
The file opens with ExpressPCB software (I hope it is okay to post a link like this)


I'm also updating the program and translate as soon as I feel that I have the energy for it:
https://drive.google.com/folderview?id=0By_ex8Ia4SLfblU1cmU4cHhaSEU&usp=sharing
 
Forgot to add something to my last post regarding the PCB, please note that you also need a control-unit with display, RTC, rotary encoder and battery backup. If you want temperature protection, you will also need the sensors for that!

The computer presents a 976MHz 12bit 5V-signal that works excellent with the MeanWell LDD-drivers.
 
I would be so happy if just one person wanted to use this! I will order the PCB's hopefully in the nearest future. I will post results here as soon as possible!

Is it ok to post a link to an online company that sells items that will work with this controller?
 
Sorry, no... I know that is the "correct" way to do it, but I never got the hang of that part of the program, so for me it was easier to just get going with the pcb right away...
 
Do you need the wiring diagram? If so, most of it is in the code... I will try to create a proper wiring diagram as soon as I find time to...
 
Please do!!! :-)

I think I have some mad tetris-skills fitting everything to that limited space, but I guess there is always room for improvement... Physically, it is not possible to fit much more on that board

uploadfromtaptalk1439653766040.jpguploadfromtaptalk1439653794873.jpguploadfromtaptalk1439653814676.jpg
 
Back
Top