Bueno,
He tardado un poco más de tiempo de lo que esperaba... los líos familiares y ese tipo de cosas.
Como os comentaba en mi último post, ya he conseguido que funcione como yo quería gracias a vuestra ayuda.
En primer lugar el esquema de conexiones de los componentes de la PCB con fritzing:
y Esta es la PCB que he diseñado, a parte de mejorable, creo que un poco grande de más... finalmente he tenido que hacer otro boquete en la pared para poder encajarlo todo.
También he incluido los archivos gerber por si alguien quisiera reproducirla. Por cierto yo las he enviado a un sitio internet llamado www.allpcb.com, es una página china pero es muy muy económica y el tiempo de entrega es asombroso, solo 3 días, increible. Pedí 10 placas y me costó 5 dolares.
La placa montada
Montaje ya en la pared
Y esta es la página web que levanta el esp8266 desde la que se pueden enviar los comandos a la PCB para controlar los movimientos de la persiana.
El código del microcontrolador tiene estas funciones que se activan directamente desde un navegador web o un móvil con los siguientes comandos:
Ver la configuración completa
http://<ip_microcontrolador>/PERSIANAEstado
Control manual:
Subir Persiana: http://<ip_microcontrolador>/cmdEnviar?BajarManual=ON
Bajar Persiana: http://<ip_microcontrolador>/cmdEnviar?SubirManual=ON
Parar persiana: http://<ip_microcontrolador>cmdEnviar?PararManual=ON
Estados automáticos de la persiana
Con este comando podemos dejar la persiana en 5 posibles estados
Posibles valores: 0, 1, 2, 3, 4 --> 0:sube del todo(4/4), 1:baja del todo(0/4), 2:sube 1/4, 3:sube 2/4, 4:sube 3/4
http://<ip_microcontrolador>/cmdEnviar?EstadoPersiana=1
Estados de la persiana con programación horaria
Se pueden programar hasta cinco acciones distintas durante el día
Primera programación:
http://<ip_microcontrolador>/cmdEnviar?E1=0 (0/1) 0 no está activa y 1 la programación se ejecutará en la hora y minuto señalados
http://<ip_microcontrolador>/cmdEnviar?E1_Hora=30
http://<ip_microcontrolador>/cmdEnviar?E1_Minuto=18
http://<ip_microcontrolador>/cmdEnviar?E1_Operac=2 0:sube del todo(4/4), 1:baja del todo(0/4), 2:sube 1/4, 3:sube 2/4, 4:sube 3/4
Para el resto de programaciones solo hay que sustituir E1 por E2, E3, E4 y E5.
Configuración de tiempos para los distintos estados de la persiana (en milisegundos: 26000=26 segundos)
http://<ip_microcontrolador>/cmdEnviar?Tiempo0=26000 Tiempo de subida total
http://<ip_microcontrolador>/cmdEnviar?Tiempo1=26000 Tiempo de bajada total
http://<ip_microcontrolador>/cmdEnviar?Tiempo2=10000 Tiempo de subida a 1/4
http://<ip_microcontrolador>/cmdEnviar?Tiempo3=17000 Tiempo de subida a 2/4
http://<ip_microcontrolador>/cmdEnviar?Tiempo4=20000 Tiempo de subida a 3/4
Configuración de la fecha del microcontrolador
Esto será interesante en función de los cambios de hora
http://<ip_microcontrolador>/FECHAEstado -> Muestra los ajustes actuales de fecha
http://<ip_microcontrolador>/FECHASet?Timezone=2 -> Aqui hay que ajustar el correspondiente a cada país en mi caso es el 1 para invierno y 2 para verano
http://<ip_microcontrolador>/FECHASet?Dst=0 -> Con este parámetro creo que se puede controlar automáticamente el cambio horario pero no he logrado hacerlo funcionar con las librerias de arduino que he utilizado.
El código también está preparado para hacer un debug en distintas partes de ejecución del código, para acceder a este debug hay que establecer una conexión telnet por el puerto 23 hacia la ip del microcontrolador, si mirais el lcódigo vereis en que partes se puede hacer seguimiento. Esta función se puede activar o desactivar, yo la he activado por defecto para desactivarla simplemente hay que descomentar una línea
//#define PRODUCTION true
Del archivo Control_Persiana.ino
Tambien hay que modificar el archivo wifi_webserver.h para cambiar la ip del microcontrolador por la que querais y también debeis actualizar estas variables para conectar con vuestra wifi.
const char* ssid = "vuestro_ssid";
const char* password = "vuestra_password";
Pues esto creo que es todo.
Os comento un problema que he tenido con esto y es que aunque todas las pruebas que he realizado con este montaje han funcionado correctamente con todos los componentes conectados pero sin encajar del todo en la pared, al cerrar todo ha dejado de funcionar y al desmontarlo he visto que tanto la fuente de alimentación como el regulador de voltaje estaban ardiendo. Me imagino que todos los puntos de soldadura al estar pegadas a la pared de alguna forma han hecho contacto y este es el motivo, no se me ocurre otro, ya que al sacarlo de nuevo todo vuelve a funcionar bien, no se calienta y va correctamente.
Supongo que habrá algún tipo de aislante que se pueda aplicar a la cara de soldadura de la PCB. Si es así conoceis alguno?
No se si se entenderá todo lo que he comentado.... espero que si
Toda sugerencia será bienvenida.
El código lo podeis utilizar a vuestro antojo como querais no tengo ningún problema con nada de lo que hagais con él.
Un saludo.
He tardado un poco más de tiempo de lo que esperaba... los líos familiares y ese tipo de cosas.
Como os comentaba en mi último post, ya he conseguido que funcione como yo quería gracias a vuestra ayuda.
En primer lugar el esquema de conexiones de los componentes de la PCB con fritzing:
y Esta es la PCB que he diseñado, a parte de mejorable, creo que un poco grande de más... finalmente he tenido que hacer otro boquete en la pared para poder encajarlo todo.
También he incluido los archivos gerber por si alguien quisiera reproducirla. Por cierto yo las he enviado a un sitio internet llamado www.allpcb.com, es una página china pero es muy muy económica y el tiempo de entrega es asombroso, solo 3 días, increible. Pedí 10 placas y me costó 5 dolares.
La placa montada
Montaje ya en la pared
Y esta es la página web que levanta el esp8266 desde la que se pueden enviar los comandos a la PCB para controlar los movimientos de la persiana.
El código del microcontrolador tiene estas funciones que se activan directamente desde un navegador web o un móvil con los siguientes comandos:
Ver la configuración completa
http://<ip_microcontrolador>/PERSIANAEstado
Control manual:
Subir Persiana: http://<ip_microcontrolador>/cmdEnviar?BajarManual=ON
Bajar Persiana: http://<ip_microcontrolador>/cmdEnviar?SubirManual=ON
Parar persiana: http://<ip_microcontrolador>cmdEnviar?PararManual=ON
Estados automáticos de la persiana
Con este comando podemos dejar la persiana en 5 posibles estados
Posibles valores: 0, 1, 2, 3, 4 --> 0:sube del todo(4/4), 1:baja del todo(0/4), 2:sube 1/4, 3:sube 2/4, 4:sube 3/4
http://<ip_microcontrolador>/cmdEnviar?EstadoPersiana=1
Estados de la persiana con programación horaria
Se pueden programar hasta cinco acciones distintas durante el día
Primera programación:
http://<ip_microcontrolador>/cmdEnviar?E1=0 (0/1) 0 no está activa y 1 la programación se ejecutará en la hora y minuto señalados
http://<ip_microcontrolador>/cmdEnviar?E1_Hora=30
http://<ip_microcontrolador>/cmdEnviar?E1_Minuto=18
http://<ip_microcontrolador>/cmdEnviar?E1_Operac=2 0:sube del todo(4/4), 1:baja del todo(0/4), 2:sube 1/4, 3:sube 2/4, 4:sube 3/4
Para el resto de programaciones solo hay que sustituir E1 por E2, E3, E4 y E5.
Configuración de tiempos para los distintos estados de la persiana (en milisegundos: 26000=26 segundos)
http://<ip_microcontrolador>/cmdEnviar?Tiempo0=26000 Tiempo de subida total
http://<ip_microcontrolador>/cmdEnviar?Tiempo1=26000 Tiempo de bajada total
http://<ip_microcontrolador>/cmdEnviar?Tiempo2=10000 Tiempo de subida a 1/4
http://<ip_microcontrolador>/cmdEnviar?Tiempo3=17000 Tiempo de subida a 2/4
http://<ip_microcontrolador>/cmdEnviar?Tiempo4=20000 Tiempo de subida a 3/4
Configuración de la fecha del microcontrolador
Esto será interesante en función de los cambios de hora
http://<ip_microcontrolador>/FECHAEstado -> Muestra los ajustes actuales de fecha
http://<ip_microcontrolador>/FECHASet?Timezone=2 -> Aqui hay que ajustar el correspondiente a cada país en mi caso es el 1 para invierno y 2 para verano
http://<ip_microcontrolador>/FECHASet?Dst=0 -> Con este parámetro creo que se puede controlar automáticamente el cambio horario pero no he logrado hacerlo funcionar con las librerias de arduino que he utilizado.
El código también está preparado para hacer un debug en distintas partes de ejecución del código, para acceder a este debug hay que establecer una conexión telnet por el puerto 23 hacia la ip del microcontrolador, si mirais el lcódigo vereis en que partes se puede hacer seguimiento. Esta función se puede activar o desactivar, yo la he activado por defecto para desactivarla simplemente hay que descomentar una línea
//#define PRODUCTION true
Del archivo Control_Persiana.ino
Tambien hay que modificar el archivo wifi_webserver.h para cambiar la ip del microcontrolador por la que querais y también debeis actualizar estas variables para conectar con vuestra wifi.
const char* ssid = "vuestro_ssid";
const char* password = "vuestra_password";
Pues esto creo que es todo.
Os comento un problema que he tenido con esto y es que aunque todas las pruebas que he realizado con este montaje han funcionado correctamente con todos los componentes conectados pero sin encajar del todo en la pared, al cerrar todo ha dejado de funcionar y al desmontarlo he visto que tanto la fuente de alimentación como el regulador de voltaje estaban ardiendo. Me imagino que todos los puntos de soldadura al estar pegadas a la pared de alguna forma han hecho contacto y este es el motivo, no se me ocurre otro, ya que al sacarlo de nuevo todo vuelve a funcionar bien, no se calienta y va correctamente.
Supongo que habrá algún tipo de aislante que se pueda aplicar a la cara de soldadura de la PCB. Si es así conoceis alguno?
No se si se entenderá todo lo que he comentado.... espero que si
Toda sugerencia será bienvenida.
El código lo podeis utilizar a vuestro antojo como querais no tengo ningún problema con nada de lo que hagais con él.
Un saludo.
Adjuntos
Última edición: