Functiodomo-Sistema de automatización del hogar (domótica) sin cables

Principios del diseño de functiodomo. http://functionars.es/functiodomo_wp/?p=27

(Bueno, aquí comienzo la serie de post donde iré explicando cómo estoy desarrollando el sistema. Todos empezarán de la misma forma: con un enlace que llevará a una página web donde aparece más extendida la explicación. Así aquí podré ser conciso)

Comenzaré enumerando las bases del diseño para así que todo el mundo cuente con una visión completa del sistema.

Objetivo de diseño del sistema:

  • Fácil de instalar (mínima obra).
  • Rápido de instalar (relacionado con lo anterior).
  • Número mínimo de componentes a diseñar y fabricar (sí desde un principio está pensado para poder ser comercializable).
  • Adaptable a cualquier equipo o elemento ya disponible en casa.
  • Utilizable a través de cualquier equipo que pueda acceder a internet (independientemente de la marca).
  • Basado en estándares y tecnologías abiertas-> para que pueda su desarrollo pueda crecer.
  • Utilizar el número máximo de componentes comerciales (a ser posibles abiertos) en su fabricación.
  • Pensado para ser abierto y ampliado por los conocimientos de muchos.
  • Todo el sistema ha de estar ubicado físicamente en el hogar donde se use (nada de servidores de terceras compañías).

Con todos estos parámetros de diseño, y viendo la cantidad de excelentes aplicaciones web que ya existían pensé: ¿por qué no una aplicación web que me permita controlar y gestionar mi casa?

Y la respuesta es el desarrollo que me trae por aquí.

Próxima entrada: Componentes del sistema functiodomo.

NOTA: Para evitar dudas, la licencia de todo lo que vaya aportando en este hilo se puede encontrar en la página web a la que se hace referencia al inicio del comentario.

No quiero desviar mucho el tema pero @jray si que es verdad que a lo mejor algunas placas arduino no se pueden hacer en casa, ya sea por su componentes o por el USB con PID & VID propietarios, pero para eso tenemos la comunidad para hacer nuestros propios 'arduino' sino por ejemplo la vinciduino o la que he diseñdo yo para un cursillo que voy a dar ( http://goo.gl/D2FK0 ), pero si intentan cambiar al IDE o cualquier otra cosa para impedir que funcionen la placas que nos hacemos nosotros entonces si que empezare a desconfiar de arduino.

El tema de licencias para mi si quieras hacer open harware/software tiene que ser una creative commons o parecidas, yo utilizo "Reconocimiento, No Comercial y Compartir Igual 3.0" y la parte del "No Comercial" a mi no me importaría que alguien hiciera una tirada de placas y las vendiera, pero por ejemplo que venga sparkfun y coja mis diseños, se ponga a vender kits y ponga un precio con su porcentaje de beneficios entonces si que les diría ¡Eh yo quiero mi parte de ese beneficio!.

Un saludo!

castillo14: Lamento tu opinión. No voy a obligar a nadie a nada. Ojalá que con el tiempo pueda hacer algo que la haga cambiar.

OK, seguiré tus publicaciones.

jray:

castillo14: Lamento tu opinión. No voy a obligar a nadie a nada. Ojalá que con el tiempo pueda hacer algo que la haga cambiar.

OK, seguiré tus publicaciones.

Gracias. De verdad lo agradezco. Un saludo.

Conmutadores remotos. Paso de lo virtual a lo real. http://functionars.com/functiodomo_wp/?p=44

Conmutadores functiodomo. Concepto de instalación. http://functionars.com/functiodomo_wp/?p=47

En este caso he unido dos entradas del blog de functiodomo donde explico dos cosas: - Primera-> cuál es elemento clave del diseño del sistema: el conmutador remoto - Segunda-> concepto e instalación del conmutador remoto: esto es qué se necesita para convertir cualquier interruptor en un conmutador.

No incluyo aquí más imágenes para no cargar mucho el foro, pero si es necesario las añado más tarde.

@castillo14

Tu diseño es parecido al circuito de abajo??

yOPERO:
@castillo14

Tu diseño es parecido al circuito de abajo??

Este circuito es parecido al que utilizo para uno de los relés de la placa de actuación (asi llamo yo a la placa que preparé para “traducir” las señales DC en acciones AC), pero para que el funcionamiento como conmutador remoto fuese completo necesité otro relé más de salida y un circuito que funcionase como “relé inverso” para detectar los cambios de estado del interruptor.

Además, con mi desarrollo, la propia placa se “autoalimenta” de la misma fase que alimenta el equipo a controlar.

De todas formas, en una o dos entradas podré mostrar el circuito que utilizo como placa de actuación.

castillo estaria bien ver que hay dentro de esa cajita que has dibujado como "actuador sensor", a ver si en una de esas nuevas entradas lo explicas, estoy intrigado.

castillo14:

yOPERO:
@castillo14

Tu diseño es parecido al circuito de abajo??

Este circuito es parecido al que utilizo para uno de los relés de la placa de actuación (asi llamo yo a la placa que preparé para “traducir” las señales DC en acciones AC), pero para que el funcionamiento como conmutador remoto fuese completo necesité otro relé más de salida y un circuito que funcionase como “relé inverso” para detectar los cambios de estado del interruptor.

Además, con mi desarrollo, la propia placa se “autoalimenta” de la misma fase que alimenta el equipo a controlar.

De todas formas, en una o dos entradas podré mostrar el circuito que utilizo como placa de actuación.

Además habías comentado que la comunicación la habías hecho via xbee, no ¿? Cual es el coste aproximado en Euros de cada “actuador sensor” ¿? Porque me parece que se va de presupuesto, no ¿?

MAGNIFICO TRABAJO. :wink:

pepote97: Además habías comentado que la comunicación la habías hecho via xbee, no ¿? Cual es el coste aproximado en Euros de cada "actuador sensor" ¿? Porque me parece que se va de presupuesto, no ¿?

MAGNIFICO TRABAJO. ;)

Efectivamente, la comunicación entre las diferentes placas que forman una instalación es a través de Xbee.

En cuanto al precio, su valoración depende del punto de vista. El conjunto de placas necesarias para controlar un sistema (una bombilla o un sistema de refrigeración, para mí ambos son un sistema), junto con el cableado son unos 200 euros, lo cual se puede considerar mucho con respecto a otras soluciones.

A cambio, el coste de instalación de cada punto de control es equivalente al de instalar un enchufe, y esto es válido para 1 o para 20 actuadores. Sin embargo, con puntos que centralicen varios o todos los equipos, el coste del hardware es muy inferior, pero sin embargo, los costes de instalación son mucho más altos, teniendo un crecimiento exponencial conforme aumenta el numero de equipos a controlar.

Ahora estoy preparando el desarrollo de unas placas propias que sean 100 por cien compatibles con el control Arduino pero que faciliten su interconexión y abaraten el precio del conjunto.

Conmutadores functiodomo. Componentes. http://functionars.com/functiodomo_wp/?p=59

Aquí podemos ver los componentes del conmutador: placa de potencia (donde están instaladas la entrada y la salida de señal alterna), el transformador de 0,5W para alimentar toda la electrónica, la placa de control Arduino y la placa de comunicaciones XBee.

La única placa de diseño exclusivo de todo el sistema es la placa de potencia, diseño que explicaré en próximas entradas, ya que todas las demás son placas comerciales.

Para el que pueda estar interesado, el ruteo de cables viene explicado en la entrada del blog a la que hago referencia en la cabecera.

Esquema de la placa de potencia. Parte 1. http://functionars.com/functiodomo_wp/?p=63

En esta entrada explico con detalle el esquema conceptual de la placa de potencia que permite en el sistema el control remoto y manual de los equipos:

La placa tiene tres funciones que son: la activación/desactivación del modo manual (de lo que se encarga el relé NC) conectado a la salida de la fase que ha atravesado el interruptor), la alimentación/desconexión del equipo en modo remoto (a través del relé NA (alimentado por la fase antes de atravesar el interruptor) y que sólo se puede activar cuando el relé NC (manual) está activado) y la función de "relé inverso" para determinar el estado del interruptor.

Además está prevista la incorporación de un jumper (localizado con el número 2) que permite el corte de alimentación de la placa de control y de comunicaciones.

Bueno, tras unos días en los que no he podido publicar nada, parece ser que mañana tendré tiempo para publicar algo más. A ver si me da tempo a preparar los artículos sobre el diseño final de la placa de potencia, con su esquema de pistas y BOM, y sobre la conexión entre las diferentes placas del conjunto.

Esquema de la placa de potencia. Parte 2. http://functionars.com/functiodomo_wp/?p=81

En esta entrada aparece explicado el esquema final de la placa de control functiodomo. El esquema es el siguiente:

Resumiendo la entrada publicada, podemos ver en el esquema: - conector J4 para entrada y salida de conexiones AC, donde se encuentran la alimentación AC, la salida AC al equipo, la señal del interruptor manual y la salida AC al transformador; - conectores J1, J2, J4 relacionados con el retorno de la alimentación tras su paso por el transformador, y su salida para la alimentación de las placas de control y comunicaciones; - conectores J6, J7, J8 y J9, colocados para permitir una mayor facilidad a la hora de acoplar sensores al conjunto; - conector J5 que contiene todas las entradas y salidas relacionadas con el control del estado de los relés y la detección del estado del interruptor.

Las zonas de la placa se puede clasificar en: - relé LS1 (NC) que controla si el equipo se controla en modo manual o remoto; - relé LS2 (NA) que determina el estado (conectado o no) del modo remoto; - U1 componentes relacionados con la detección del estado del interruptor.

En la entrada del blog está todo más extensamente explicado y se puede ver también el esquema del diseño de pistas y el BOM correspondiente a los componentes de la placa.

Por cierto, ¿alguien podría decirme si se puede reducir el tamaño de la imagen que se publica en el foro? Como se puede ver, yo no lo sé, pero creo que escalándola un poco sería mucho más agradable de ver...

Hola,

En primer lugar felicitarte por tu trabajo, me parece muy interesante. Tengo algunas dudillas con respecto al apartado de la placa en la cual segun explicas detecta el estado del interruptor. No entiendo esa parte. Podrias explicarla un poco mas?

Gracias por anticipado.

Un saludo a todos

cacharreante: Hola,

En primer lugar felicitarte por tu trabajo, me parece muy interesante. Tengo algunas dudillas con respecto al apartado de la placa en la cual segun explicas detecta el estado del interruptor. No entiendo esa parte. Podrias explicarla un poco mas?

Gracias por anticipado.

Un saludo a todos

Hola cacharreante. Lo primero gracias por estar interesado en el proyecto. Eso cuanto menos es gratificante.

En cuanto a lo que preguntas, el concepto sobre cómo detectar el estado del interruptor manual (el interruptor que controla directamente el equipo sobre el que se instala en conmutador remoto) es básicamente un relé por cuya "bobina" pasaría corriente (AC) cuando el interruptor manual estuviese conectado, cambiando el estado del otro lado del "relé", lado en el que pasa la corriente suministrada desde uno de los pines digitales de arduino. Básicamente, su comportamiento es el siguiente:

a) interruptor manual en modo apagado -> no pasa corriente por la "bobina del relé"->"relé" Normalmente Abierto->la corriente suministrada por el pin digital de arduino no llega a ninguna parte.

b) interruptor manual en modo encendido-> pasa corriente por la "bobina"->"relé" cierra el circuito DC->la corriente suministrada por el pin digital de arduino llega a un pin de arduino en modo lectura.

Leyendo el valor de ese pin de entrada de arduino, puedo determinar, mediante la programación del chip, si el interruptor manual esta conectado o no, independientemente del estado en el que esté funcionando el conjunto. Además, al detectar un cambio en el estado del interruptor, por software igualmente, cambio el estado de todo el conjunto y lo paso a modo manual, motivo por el cual, el modo manual tiene preferencia sobre el remoto.

Bueno, éste era el concepto, pero a la hora de diseñar la placa final no se podía utilizar un relé para esto, por lo que se sustituyó por el circuito que forman los componentes D2, U1, R2 del esquema.

Lamento no poder ser más preciso con la terminología, pues con los componentes electro-electrónicos me defiendo para saber para lo que sirven, pero no tanto con su denominación. Es el problema de tener formación mecánica y no eléctrica . :~

Bueno, después de unas semanas un poco complejas, esta vez sí que voy a tratar de sacar tiempo para publicar las entradas restantes para completar el proyecto de documentación.

En los próximos días publicaré los artículos correspondientes a la conexión entre placas, la programación de arduino y la programación del sistema de control en el ordenador para su comunicación con los componentes del sistema.

Nos leemos.

Conectividad eléctrica entre placas del sistema functiodomo. http://functionars.com/functiodomo_wp/?p=93

En esta entrada explico la conexión entre el sistema a controlar y el conjunto del conmutador remoto, así como su "autoalimentación" de los cables propios del sistema.

También detallo la ruta que sigue la alimentación por las diferentes placas que componen el conmutador remoto

Su esquema de conexión es el siguiente:

Para tener la información completa de la conectividad entre placas falta únicamente la comunicación de datos entre la placa de potencia y la placa de control, detalles que explicaré en la próxima entrada del blog.

hola castillo14, he estado mirando tu trabajo y muy buena presentacion, asi mirandolo por encima me preguntaba el porque poner la diferenciación de estados, ya que sabiendo el estado del interruptor, pongamos que esta a ON y nos conectamos remotamente y ponemos OFF, no seria mas facil que el arduino compare el estado del pulsador y cambie el solo a estado remoto y si en remoto le pones otra vez a ON se cambie el solo a Manual, y no tengas tu que andar que si ahora manual que si ahora remoto. Tal vez me haya columpiado pero en el caso de montarlo yo me gustaria hacer los menos pasos posibles, seria posible hacerlo??, o lo has intentado y tiene que ser como dices??? Un saludo y felicidades por tu aportación al foro.

riscking: hola castillo14, he estado mirando tu trabajo y muy buena presentacion, asi mirandolo por encima me preguntaba el porque poner la diferenciación de estados, ya que sabiendo el estado del interruptor, pongamos que esta a ON y nos conectamos remotamente y ponemos OFF, no seria mas facil que el arduino compare el estado del pulsador y cambie el solo a estado remoto y si en remoto le pones otra vez a ON se cambie el solo a Manual, y no tengas tu que andar que si ahora manual que si ahora remoto. Tal vez me haya columpiado pero en el caso de montarlo yo me gustaria hacer los menos pasos posibles, seria posible hacerlo??, o lo has intentado y tiene que ser como dices??? Un saludo y felicidades por tu aportación al foro.

Hola risking:

A nivel de interface no hay problema en mostrar sólo el estado encendido o apagado. Como es una aplicación web se puede adaptar. De hecho tengo tengo algún otro modelo más de interface adaptado a pocos elementos y otro en el que no aparezca la ventana de encendido/apagado, sino que simplemente cambie de estado al pulsar el botón.

A nivel de hardware sí que se ha de mantener la diferenciación de encendido/apagado manual y encendido/apagado remoto, pues en el estado manual utilizo directamente la señal proveniente del interruptor, para minimizar el consumo del conmutador remoto.