Hello,
This is my first post on this forum and my first Arduino project. Before I get to the problem, please let me describe why I am trying to accomplish and to some degree have accomplished.
I have designed and built an Arduino controlled RGB lighting system. Yup, another one but still a bit different from most I'd say. I have not created a blog about it but will, as it is an ongoing project. However, you can see some computer craphic renderings that I created with Blender http://www.blender.org/ and rendered with Indigo http://www.indigorenderer.com/ and some photos of the 1st small prototype (1 RGB LED) and the larger prototype ( 5 RGB LEDs. I call it "The Lord of The Rings" or short LOTR) that now finally is hanging on my living room wall;
http://gallery.me.com/dangolboom#100126&bgcolor=black&view=grid
The Arduino in use is an original Arduino Uno. The LED's I used are Luxeon Endor Star RGB LED's from here http://www.ledsupply.com/07007-prgb0-0.php.
To drive the LED's I used the HPRGB shield from here http://neuroelec.com/, which BTW is a fabulous product!!!
Looking at the images of the LOTR (Either the photos or the CG image) there are 5 of these shields installed about 800mm apart. The center shield sits right on top of the Arduino but only connects to it through GND and the two I2C pins (4,5). So the I2C bus cables are each a little longer than 800mm and are CAT6 UTP cable. The wires that connect the shields to the LED are single stranded hookup wires (untwisted) that run from the back of the structure (hidden from view) through solid aluminum tubing except for the last 1.2 - 2.0 where they exit and connect to the shield. I've placed RF Chokes (Ferrite beads) on the individual power supply lines (12V from a switched power supply) to the each shield and to the Arduino.
Running the LED's at 100mA the sytem starts up fine and the LED's cycle through a color scheme for an entire day just fine. However, when I increase the current setting to say 350mA after a while (20min-30min) the system just stops. I placed a little Serial.print("something") in the script to see if it is the shields not responding to the Arduino output or if it is the Arduino and it appears it's the Arduino that just stops cycling the sketch. I can re-upload the sketch/program and it starts cycling but will stop again after a shorter time period.
the period it seems to depend on:
- The current setting - it's shorter if I run at 700mA and
- on the frequency with which I am updating the PWM settings in the shields.
The designer of the shields believes this to be an issue of signal integrity on the I2C bus but I am bio entirely sure that encompass the entire problem.
I'd appreciate help, comments etc.
Thanks!