Atenuación de la luz del hogar Arduino

10

El panel de yeso está comenzando a subir en el proyecto del sótano de mi familia. He estado buscando sistemas residenciales de control de luz. Algunos de los que he visto han sido más de $ 2,000. Estoy pensando que sería mucho más divertido (¡y rentable!) Implementar mi propio sistema basado en Arduino.

El verdadero problema radica en el control real de las luces. Cada grupo de luces necesitará ser controlado por un sistema de atenuación basado en interruptores. Sería mucho más simple si el microcontrolador fuera el único punto de control. Por desgracia, este no es el caso. Supongo que necesito usar un interruptor de atenuación que permita que un dispositivo externo interactúe con él. Eso evitaría el problema por completo, ya que tanto el interruptor como Arduino podían controlar las luces, el Arduino controlaría las luces a través del interruptor de atenuación.

¿Alguien puede recomendar una mejor solución / enfoque o sugerir un interruptor de atenuación que tenga algún tipo de interfaz "remota"?

Actualización 3/1/2013: finalmente elegí una solución basada en Insteon usando un escudo personalizado de Good Robot . Funciona muy bien y se puede usar para controlar cualquier cosa Insteon, no solo luces. Publicaré una respuesta aquí cuando tenga la oportunidad de escribir algo útil.

Kevin Mark
fuente

Respuestas:

4

Configuré una casa completa con X10 hace unos 10 años, y aunque funcionó, podría ser un poco escamosa. Si lo volviera a hacer, miraría productos más modernos como Insteon . Se supone que Insteon resuelve gran parte de la descamación que tiene X10.

No me molestaría en intentar construir los módulos de control de CA del dispositivo (atenuadores, interruptores remotos, etc.) ya que trabajar con voltajes de red es muy peligroso a menos que realmente sepa lo que está haciendo.

Ducksauz
fuente
Gracias por el enlace Insteon. Parece que hay algún tipo de protocolo Insteon que me permitiría interactuar con sus atenuadores. ¿Es alguna variación de X10?
Kevin Mark
Después de un poco más de investigación, los atenuadores Insteon realmente parecen ser el camino a seguir. Parece que al menos puedo enviarles señales X10. He estado buscando en Google para encontrar documentación o proyectos de ejemplo. Aún no he encontrado nada.
Kevin Mark
Leí una copia de seguridad del kit Insteon. Es compatible con X10, ya que coexistirá con X10. Tiene una velocidad de datos más alta, todos los dispositivos son repetidores y todos los mensajes son reconocidos.
ducksauz
Aquí hay un buen documento técnico: insteon.net/about-whitepapers.html
ducksauz
Gracias. Esto debería resultar útil en el desafortunado evento de que necesito interactuar manualmente con el protocolo INSTEON. ;)
Kevin Mark
4

DMX512 es ampliamente utilizado para controlar la iluminación del escenario. Como usa EIA-485, el hardware y el software deberían ser bastante fáciles de implementar en un Arduino con un escudo adecuado. Aquí hay un proyecto DMX de Arduino.

Están disponibles controladores de atenuadores DMX remotos de bajo costo, aquí hay uno que usa un AVR ATmega8515, un dispositivo similar al que se usa en el Arduino. Me inclinaría a usar un controlador mucho más pequeño y más barato. También se describe la interfaz del atenuador para las lámparas, la "unidad de potencia". Es un proyecto bastante agradable.

Leon Heller
fuente
Si bien esto es cierto, no creo que responda esta pregunta. Kevin necesitaría un "atenuador DMX" que toma el DMX y genera una onda de corte de fase.
Martin
1
Tiendo a escribir mis respuestas poco a poco, agregando a medida que pienso en más cosas.
Leon Heller
Es bastante bueno jugar con DMX, pero probablemente demostrará ser excesivo para lo que estoy haciendo. Especialmente porque este es un sistema empotrado.
Kevin Mark
4

Jugué con X10 e Insteon, funcionan, pero mi experiencia hackearlos fue decepcionante.

Así que estoy construyendo mi sistema de automatización del hogar completamente con radios XBee. los estándar ZigBee Home Automation es abierto y bastante fácil de implementar (si desea ser compatible con HW existente). Pero no tiene que ir por ese camino, puede implementar su propio protocolo (con json binario, por ejemplo, eso es lo que estoy haciendo). Las radios no son baratas (~ $ 25), pero la facilidad de uso vale la pena, en mi opinión. En muchos casos, ni siquiera necesita un microcontrolador: los XBee tienen su propia E / S digital y analógica. Hasta ahora he construido algunos dispositivos con XBee: termostato, sensor de movimiento, puerta de enlace X10 y asistente de estacionamiento en garaje / sensor de presencia de automóvil. Las radios ZigBee pueden formar redes de malla, por lo que la cobertura y el consumo de energía son excelentes.

Sin embargo, construir sus propios atenuadores sería costoso (la única opción que pude encontrar fue usar el módulo Velleman K8064 - ~ $ 35), por lo que si necesita un atenuador, iría con Insteon o X10. Tengo un par de módulos de lámpara X10 en mi casa y para controlarlos, uso la interfaz serial X10 PRO de PSC04 (por ~ $ 10 es difícil de superar) conectada a Arduino ( biblioteca X10 para Arduino ).

sudarkoff
fuente
Esta es una gran idea, en general, pero no estoy seguro de cómo podría implementar esto en una solución para mi problema. Desafortunadamente, necesito tanto un interruptor de atenuación físico como un control externo. Insteon cumple los requisitos, pero es bastante costoso. Como dije antes, estaba pensando en usar interruptores Insteon pero usando un Arduino para interceptar las señales Insteon. El controlador Insteon que puede comprar en su sitio web es primitivo y muy costoso.
Kevin Mark
Tengo un par de módulos de lámpara X10 en mi casa que controlo con Arduino conectado a un controlador serie X10. (Aquí está la biblioteca X10 Arduino que uso: arduino.cc/en/Tutorial/X10 ) AFAIK, Insteon es compatible con X10, por lo que debería poder lograr el mismo resultado.
sudarkoff
En efecto. Definitivamente eso es lo que haré para comenzar. Idealmente, usaría el protocolo Insteon en lugar del X10 antiguo y poco confiable.
Kevin Mark
2

Si de todos modos va a instalar cableado y luces nuevas, consideraría instalar lámparas LED. No solo ahorrará dinero a largo plazo debido a los menores costos de electricidad, sino que también ahorrará dinero en la instalación del cableado. Debido a que los LED usan voltajes por debajo de 24V, el código eléctrico es muy laxo. No tiene que instalar cables de cobre gruesos (costosos) en cada toma de corriente, sino un cableado mucho más económico de 20-18 AWG (incluso usé 23AWG en un cable CAT6). Hay muchas opciones para la conducción de LED de alta potencia desde un arduino. Mi favorito sería este. Se pueden controlar hasta 128 desde un solo arduino. El código para controlarlos es muy fácil. Después de hacerlo, agregue un escudo de ethernet al arduino y algunos javascript básicos y luego controlar sus luces será tan simple como visitar una página web en una computadora o teléfono inteligente. Incluso puede reenviar las solicitudes entrantes del puerto 80 al escudo y permitirle controlarlo mientras está fuera (tal vez para asustar a los delincuentes). Además, tendría un control de atenuación independiente sobre cada luz en el sótano (por ejemplo, si estaba viendo una película, solo podía encender dos luces en la parte posterior y dejarlas muy tenues).

charliehorse55
fuente
Esa es realmente una gran idea. Desafortunadamente, el cableado ya está hecho, por lo tanto, ya no se hace que la iluminación LED selectiva sea una opción viable. ¡Lo tendré en cuenta para futuros proyectos!
Kevin Mark
Toda la potencia de un circuito pasa por un interruptor (para que las luces sean controlables). ¿No podría simplemente poner el arduino por el interruptor y usar el cableado grueso para los LED (excesivo, pero aún funcionaría)? A menos que ya haya comprado accesorios de iluminación / bombillas?
charliehorse55
Supongo que eso podría funcionar. Como necesito tener interruptores de atenuación "tradicionales" y control de microcontrolador, ¿necesitaría hacer mis propios atenuadores de pared que se enganchen en el Arduino?
Kevin Mark
¿Desea ejecutar tanto luces incandescentes tradicionales como LED desde el arduino? Fácilmente hecho La mayoría de esos atenuadores de $ 6 que puedes comprar en la ferretería usan un bote de 10k para el dial del atenuador. Abra la unidad y reemplace los cables de la olla de 10k con cables a una olla digital. El bote digital se puede controlar desde el arduino a través de I2C. Si es un simple encendido / apagado, puede conducir un mosfet de 5v con el arduino para manejar un control de 24V para un solenoide.
charliehorse55
Bueno saber. Si implemento luces LED, probablemente usaré este o un método similar.
Kevin Mark
2

Solía ​​trabajar para una empresa que tenía atenuadores controlados por botón. Deberá reemplazar todos los interruptores de pared por botones con un contacto NO (normalmente abierto). La ventaja es que simplemente puede colocar todos los puntos de control en paralelo y alimentar una sola señal lógica al microcontrolador. Puede usar el voltaje de alimentación del microcontrolador y una resistencia pull-up, pero especialmente en los cables largos detectará mucho ruido y también puede tener una caída de voltaje. Mejor ejecute los botones en un voltaje más alto (por ejemplo, 24 V) y divida ese nivel para que coincida con el microcontrolador.

Una posible forma de operación:
presionar un botón durante más tiempo que, por ejemplo, medio segundo (re) comenzará un ciclo de atenuación. Mientras se presiona un botón, se atenúa a una velocidad determinada, espera un segundo al valor máximo y comienza a atenuarse, hasta que se apaga, después de lo cual se reinicia el ciclo. El microcontrolador debe recordar no solo el nivel actual, sino también si la última acción fue hacia arriba o hacia abajo.
Al presionar brevemente el botón (menos de medio segundo) se cambia entre apagado y el último valor atenuado.

Esta es solo una posible funcionalidad. Puede hacer variaciones a esto, solo tenga en cuenta que solo tiene un pulso (de longitud variable) como señal.

stevenvh
fuente
Me gusta la idea, y es una forma interesante de hacerlo, pero será un poco demasiado costosa (en cuanto al tiempo) para usar en mi sótano. Los atenuadores tradicionales que pueden utilizar X10 o INSTEON parecen ser la solución más favorable para mi proyecto.
Kevin Mark
@Kevin: francamente, a mí no me parece la solución más fácil de usar, pero el producto de mi empleador anterior parece venderse bien. La razón principal es probablemente el simple cableado, y no hay necesidad de inteligencia fuera del atenuador.
stevenvh
Estoy de acuerdo en que está lejos de ser fácil de usar o intuitivo, incluso, pero me parece interesante desde un punto de vista conceptual. Esencialmente simplifique el backend simplificando toda la operación física.
Kevin Mark
1

Es posible que desee ver X10. No lo he usado en mucho tiempo, pero desde que lo usé por última vez, sé que al menos ha habido una interfaz de puerto serie, tal vez incluso inalámbrica, para que no tenga que conectarse a las líneas de alimentación. con tu hardware Hay (fueron) módulos en los que cerró un relé y podría activarlo o desactivarlo todo. Para tenue o brillante, necesitará más control.

viejo contador de tiempo
fuente
Creo que mi mejor opción es encontrar un interruptor / regulador de luz compatible con X10.
Kevin Mark