Proyecto Panel de bombillas

Buenas, estamos construyendo entre varios una matriz de 250 bombillas LEDs de 1 W (10 filas por 25 columnas) para crear figuras encendiendo y apagándolas individualmente. Este proyecto lo desarrolló un grupo japonés que lo hacía con flashes de cámaras en vez de bombillas, y también utilizaron arduinos para controlarlas. Aquí podéis ver el resultado final:

Para ello, se nos ha ocurrido controlar las bombillas por medio de 4 arduinos megas conectados cada uno a 8 tiras de 8 relés cada una (63 salidas ocupadas por arduino). Cada arduino llevaría programado su submatriz de bombillas correspondiente por cada animación. De este modo, a través de un quinto arduino conectado por I2C a los demás, se mandaría simplemente el número de animación para que cada arduino esclavo encendiese sus correspondientes bombillas. Espero haber sido claro...
Haciendo pruebas a menor escala con LEDs normales y a través de la manipulación de puertos, hemos conseguido con éxito crear animaciones sincronizadas. Sin embargo, cuando hemos pasado a la instalación del panel de bombillas nos hemos dado cuenta de que los arduinos no pueden proporcionar la corriente suficiente para tener apagados a la vez más de 10-12 bombillas (los relés se apagan con un 1 lógico). Buscando por internet, al parecer un mega entrega una corriente máxima entre todos sus pines de unos 200 mA, siendo la corriente máxima por pin disponible de 40 mA. Si esto es cierto, es algo sorprendente que un chip que puede controlar hasta 70 salidas no sea capaz de activar a la vez más que la séptima parte de ellas.
Así pues, y sabiendo que los japoneses fueron capaces de hacer este mismo proyecto mediante arduinos, queríamos saber cuál es la forma de poder activar a la vez todas (o casi) las salidas del arduino.
PD: También hemos probado sin éxito poner a cada salida del arduino una resistencia de 1K y un transistor 2N222A para amplificar la corriente.
Un saludo y gracias!!!

Utiliza Par Darlingtons con TIP31 en vez de reles. Siempre es major activar LEDs con transistores que con reles. Con el TIP31 puedes poner una resistencia de base mucho mayor. Yo lo he probado con 4.7KOhm y con 10KOhm.

Hola arduinoadrian, gracias por contestar. Las bombillas son LEDs de 1W de corriente alterna de 220V, con lo que tenemos que usar a la fuerza relés.

Oh, Ok no habias aclarado.... pues bien, entonces utiliza transistores para manejar los reles y ahi si puedes utilizar los Darlingtons.

Yo usaria transistores MOSFET. Corriente de gate mínima y controla cargas de alto voltaje. Hay modelos de excitación a nivel lógico (5v), pero yo he usado los normales sin problemas. Para conmutación yo ya no uso otra cosa.

Jopapa
www.jopapa.me

El esta conmutando 220VAC, no puede usar los MOSFETs para conmutar la carga directamente aunque sean de alto voltage, aunque si para activar los reles.

Por que no utilizas LEDs de alta potencia que trabajen con DC en lugar de 220VAC? Esos LEDs existen en muchos colores, formas y tamanos y no creo que la iluminacion que suministran sea muy diferente de la de los de AC que mencionas. Eso te va a simplificar las cosas y el costo tremendamente.

Si insistes en 220VAC LEDs:

En realidad yo utilizaria TRIACs manejados con acopladores opticos para mantener el aislamiento entre los 220VAC y el Arduino. Son probablemente mas baratos que los reles y conmutan mucho mas rapido, requiriendo menos corriente para activarlos. Por otra parte, cuando los reles conmutan, producen ruido de alta frecuencia (EMI) que vas a necesitar eliminar de algun modo, probablemente usando "damping capacitors". De lo contrario, puedes interferir otros equipos cercanos y quizas hasta los mismos Arduinos que empleas en tu diseno. A los reles ademas, tienes que ponerles un "damper diode" por cada uno para no danar los transitores o Arduinos con los picos inversos de voltage que genera la conmutacion del coil. Tu diseno no es una conmutacion ahora y otra manana, sino son probablemente muchas por minuto para representar las imagenes.
El chip UA2003 es otra opcion que puedes usar para manejar los reles si por fin decides utilizarlos. Lo he visto empleado en muchos equipos con control automatico. Contiene un arreglo de 7 Darlingtons internamente. Como necesitas conmutar tantas salidas, utilizarlo te va a ahorrar muchos $$$. Sin embargo, primero debes verificar si es capaz de soportar la corriente de activacion que requieren tus reles (si ya los tienes).
Yo usaria LEDs que trabajen con DC de bajo voltage directamente.

Gracias a todos por contestar. Nuestro mayor problema es que ya hemos comprado tanto las bombillas como los LEDs, así que eso no se puede cambiar :frowning: . Los triacs hubieran sido una gran opción porque los relés ademas meten un ruido que no veas...
Hemos visto que la gente usa shift registers para controlar matrices de LEDs, en especial el TPIC6B595, que entrega 150 mA a cada salida y está especialmente indicado para usar con relés.
Ahora nuestra duda es saber cuántos shift registers podemos encadenar sin que haya nuevos problemas de potencia. Sería factible conectar varias cadenas de shift registers a varias salidas del arduino y conectar entre todos ellos la señal de reloj y la de latch?

Ahora nuestra duda es saber cuántos shift registers podemos encadenar sin que haya nuevos problemas de potencia. Sería factible conectar varias cadenas de shift registers a varias salidas del arduino y conectar entre todos ellos la señal de reloj y la de latch?

Los detalles no los conozco, pues hay que realizer algunos calculos que aunque muy sencillos requieren tiempo y eso es lo siempre escasea.. =(

En general, aunque podria haber mas a considerer, el metodo para encontrar respuesta a tu pregunta es el siguiente :
-Buscas la corriente que toman los dispositivos que quieres conectar a la salida de otro. Es decir, que carga representan en cuanto a corriente.
-Averiguas si el dispositivo que deseas conectar, que en tu caso es digital, es compatible en tecnologia con el que lo conectaras, es decir, si ambos on TTL o CMOS o ECL o cualquier otra. Si las tecnologias son compatibles puedes proseguir.
-Garantizas que ambos dispositivos tengan el mismo voltage de alimentacion o el que corresponda a tu aplicacion de forma tal que ello no afecte la compatibilidad de ambos.
-Averiguas cual es la corriente maxima que puede entregar el dispositivo que envia la senal. (fan out).
-Colocas solo una cantidad de dispositivos que demanden menos corriente que el maximo "fan out" del que entrega la senal.
-Si requires mas corriente, entonces tratas de utilizar buffers que suministren mas corriente. Hay buffers inversores y no inversores.
-Garantizas que los dispositivos que conectas no introduzcan demoras que afecten el tiempo de propagacion de la senal de forma inaceptable hasta el final de la cadena donde se realiza el trabajo. En tu caso, esto no debe ser un problema pues para la visualizacion, los tiempos de propagacion deben estar al menos en el orden de los milisegundos que el orden de tiempo de las percepciones humanas y cualquier dispositivo digital actual solo introduce demoras del orden de los nanosegundos. Sin embargo, el tiempo de conmutacion de los reles si puede representar un problema apreciable a la vista en la visualizacion de tus imagines. En general, estos son lentos y ruidosos como planteas.