Cargador DeWalt (DCB115) averiado

Reparación del cargador de baterías DCB115 de la marca DeWalt. El cargador DCB115 está diseñado para cargar las baterías de iones de litio entre 10,8 y 18V de la marca DeWalt. Esto significa que dispone en su interior de un control BMS adaptable a los módulos que contenga cada paquete, entre 3 y 5 celdas de iones de litio.

Cargador de baterías DeWalt, modelo: DCB115

Cargador de baterías DeWalt, modelo: DCB115

Este cargador sólo funciona cuando su electrónica detecta que se conecta un módulo DeWalt o compatible, y se encuentra en buen estado. En caso contrario, el cargador permanece en reposo con un consumo bajo.

Cargador de baterías DeWalt, modelo: DCB115

El cargador DCB115 dispone de 2 indicadores LED. El LED de la izquierda indica el estado de carga de la batería. El LED de la derecha se ilumina cuando la temperatura de la batería es demasiado alta o baja, reduciendo la intensidad de carga con el fin de proteger la batería.

El cargador DCB115 se debe enchufar a la red eléctrica antes de conectar la batería en su alojamiento. Cuando se inserta la batería en el cargador, el indicador LED de la izquierda se encenderá mostrando el estado de la batería:

  • Parpadea mientras se carga la batería
  • Se ilumina de forma continua cuando finaliza la carga

Reparación del cargador

El cargador me lo entregaron cerrado pero sin los tornillos, y al moverlo sonaba por dentro. Al abrirlo comprobé que alguien había intentado repararlo. Tenía el condensador electrolítico de la fuente de alimentación suelto y prolongado con unos cables. Al mover el condensador se soltó uno de los cables, porque el terminal del condensador se había sulfatado por dentro y se rompió. También se apreciaba un fogonazo al lado del transistor de potencia, y habían reparado una pista del circuito impreso. Posiblemente porque el transistor de potencia se pusiera en cortocircuito.

Buscando un poco por Internet, encontré el esquema del cargador DCB115, pero del modelo que va alimentado a 110VAC.  Así  los valores de algunos componentes no son los mismos para el cargador de 230VAC, pero el esquema me sirvió para poderlo reparar. Por ejemplo, el condensador electrolítico de la fuente de alimentación, en el esquema (C2) es de 220uF/200V y el de la fuente de 230VAC tiene que ser de 150uF/400V.

La resistencia SMD que estaba fundida y no pude comprobar su valor, la R16, es de 100 ohmios. El transistor MOSFET (Q1) es el K12A60, la resistencia ‘Shunt’ de potencia (R17) es de 0,47 Ohmios y el circuito integrado PWM (IC1) es el IW-710.

Componentes mal, en el cargador DCB115

En la imagen anterior se ve una parte del esquema con los componentes que tuve que sustituir, resaltados en color amarillo. Las 2 resistencias SMD enmarcadas en color rojo (R15 y R31) no estaban abiertas, pero su valor resistivo era superior a 2 MOhmios.

El origen de estas averías casi siempre es el mismo: el condensador electrolítico. Cuando el condensador electrolítico de la fuente de alimentación pierde capacidad o aumenta su valor ESR, el MOSFET trabaja con más corriente y aumenta la tensión de los picos de conmutación. Así es muy fácil que en cualquier momento se pongan los 3 terminales del transistor MOSFET en cortocircuito. Esto provoca que los 310VDC de la fuente entren en todos los componentes del circuito de control PWM, principalmente los que tengan una resistencia a masa más baja. Algunos componentes se queman de inmediato, y los componentes de un valor resistivo más alto tardan un poco más. Si se funde el fusible pronto, antes de quemarse las resistencias que se habían recalentado, las  de película metálica se carbonizan, y su valor resistivo aumenta.

Condensadores electrolíticos en paralelo

Como el origen principal de todas las averías de las fuentes conmutadas suele ser su condensador electrolítico, cuando se realiza una reparación es conveniente sustituirlo por otro de buena calidad y bajo valor ESR.

Condensadores en paralelo

Una forma fácil de reducir el valor ESR de los condensadores electrolíticos, es montar varios condensadores en paralelo de menor capacidad, pero de la misma tensión. Al montar condensadores en paralelo su capacidad se suma, pero el valor ESR resultante disminuye.

Cable comprobador de cargas

Cuando se reparan circuitos electrónicos que funcionan con fuentes conmutadas (actualmente son casi todos), es conveniente hacer las comprobaciones intercalando en serie con la alimentación de la red, una bombilla de filamento. Así en caso de que se produjera un cortocircuito, toda la tensión de la red iría a parar a la bombilla y evitaríamos más averías.

Cable comprobador de cargas

La imagen anterior se muestra el montaje que utilizo entre la toma de red y el equipo, para comprobar sus fuentes conmutadas durante la reparación. La bombilla que utilizo es de 40W, con el fin de limitar la corriente al máximo, pero se podría sustituir por otra de 60 o 100W, en caso de que el circuito a comprobar tuviese un consumo elevado en reposo.

La clavija de red se enchufa a una toma de 230V, y la bombilla está intercalada en serie, como si fuera un interruptor. A la salida hay una clema de conexión eléctrica gorda, con los terminales separados como una clavija de red Europea. Así se puede conectar una clavija de red o cables en puntas. En paralelo con la salida hay un LED con una resistencia limitadora de 100K y un diodo 1N4007 en paralelo con el LED, pero con los polos invertidos. El diodo 1N4007 absorve los picos de tensión inversa que le llegarían al LED, y lo protege.

El LED se ilumina cuando hay tensión en la clema de salida, indicando que la bombilla no está fundida y está correctamente apretada en su casquillo. Al conectar la alimentación de red a una fuente conmutada con la bombilla en serie, se producirá un destello luminoso fuerte, coincidiendo con el pico de consume de encendido. Después el filamento de la bombilla tiene que iluminar un poco, con mayor o menor intensidad dependiendo del consumo que hayamos conectado.

ANÁLISIS

  • La bombilla ilumina sólo al conectar la carga: es muy posible que la fuente conmutada este en reposo o su consumo sea muy bajo.
  • La bombilla se enciende al máximo desde el inicio: indicará que la fuente conmutada consume demasiado o está en cortocircuito.

¿Dónde fabricar el PCB?

Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos, pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.

Logo: PCBWay

 

Plata Coloidal, PCB y Firmware

Actualización del firmware del generador de Plata Coloidal y diseño de su PCB. En la nueva versión del firmware (v1.3), el generador sigue midiendo la conductividad del agua al principio para calcular el tiempo de la electrolisis, pero cada 5 minutos realiza una nueva medida para corregir de forma automática el tiempo restante, en función del nuevo valor TDS que haya medido. Este reajuste también se puede hacer en modo manual en cualquier momento, mediante el pulsador. Aprovechando que este generador mide la conductividad del agua, ahora incluye una tabla con los valores TDS del agua y puede mostrar su valor en el display.

Generador de Plata Coloidal con Arduino

Para ensamblar los componentes  electrónicos del Generador de Plata Colidal que monté hace unas semanas, utilicé 2 PCBs de tipo universal. Realicé todas las conexiones por debajo, estañando hilos y siguiendo el esquema del montaje.  Como entiendo que esto muy laborioso para gente que no acostumbra a utilizar el soldador, he diseñado un PCB con el fin de facilitar su construcción y mejorar su acabado final. Y de paso, también le he dedicado un poco más de tiempo al firmware para mejorar sus prestaciones.

PCBs del Generador de Plata Coloidal

Nuevo firmware (v1.3)

En la versión anterior (v1.2), el generador realizaba una medida de la conductividad del agua al iniciar el proceso, con el fin de ajustar el tiempo total de la electrolisis en función de las PPM de la Plata Coloidal que queramos obtener.

Esquema del diseño: Generador de Plata Coloidal

Como pudimos comprobar en artículo anterior, la conductividad del agua aumentaba con la temperatura. Además, el valor TDS del agua también iba subiendo durante la electrolisis. Así la conductividad del agua irá subiendo durante la electrolisis, pero al mismo tiempo también irá bajando si hemos calentado el agua al empezar, hasta alcanzar la temperatura ambiente.

Aunque no es tan importante conseguir la medida exacta de las PPM en la Plata Coloidal, es muy sencillo corregir este problema. En la nueva versión del firmware (v1.3), el generador sigue midiendo la conductividad del agua al principio para calcular el tiempo de la electrolisis, pero cada 5 minutos realiza una nueva medida para corregir de forma automática  el tiempo restante, en función del nuevo valor TDS que haya medido. Este reajuste también se puede hacer en modo manual en cualquier momento, mediante el pulsador. Esto sería útil si se interrumpiera el proceso de la electrolisis, con el fin de remover el contenido o limpiar los electrodos, porque en estos casos suele variar ligeramente la conductividad del agua.

Aprovechando que este generador mide la conductividad del agua, he añadido en el firmware una tabla  con los valores TDS para poder mostrarlos en el display. Así no sería necesario comprar un medidor TDS, y podremos comprobar siempre la calidad del agua que vayamos a utilizar. Hay que tener en cuenta que esta medida TDS sólo es válida si se respetan todas las características de este montaje: el tipo de electrodos, separación entre ellos y su circuito limitador de corriente.

El rango de medidas TDS que permite mostrar este generador no es muy amplio, porque su circuito limitador de corriente interfiere en la medida comprimiendo su escala. De todas formas tiene una buena resolución con valores bajos del TDS,  entre 0 y 16ppm.

Ahora también, durante el proceso de la electrolisis, cada 30 segundos el generador mide el valor TDS del agua y lo muestra en la línea superior del display. Esta medida se alterna con el valor PPM actual de la Plata Coloidal.

Fuente de alimentación

Durante el montaje del primer generador me encontré con un problema en la alimentación, porque al conectar el relé que alimenta el circuito Step-Up se producía un pico de consumo, y en algunas ocasiones se bloqueaba o reiniciaba el micro controlador. Este problema se solucionó cuando monté 2 condensadores de 1000uF en la línea de alimentación de 5V. Lo extraño, es que se sigue apreciando una pequeña fluctuación en la iluminación del display cuando se conecta el relé.

Para salir de dudas, antes de elegir la fuente de alimentación a montar en el nuevo PCB, hice algunas medidas de consumo con el osciloscopio.

Medida de consumos con dos fuentes de alimentación conmutadas

Para obtener una gráfica de corriente al alimentar el relé y el circuito Step-Up a la vez, puse una resistencia de 0,8  Ohmios en serie con la alimentación de 5V.

Las puntas del osciloscopio del canal 1 las puse en la salida de la fuente de alimentación que estaba midiendo, con el fin de comprobar el comportamiento de cada fuente, con carga y sin carga. Y las puntas del canal 2 del osciloscopio las puse en paralelo con la resistencia de 0,8 ohmios.

Para obtener el valor de la corriente, sólo hay que dividir la tensión que muestre el osciloscopio entre el valor de la resistencia.

Si observamos las gráficas de corriente:

  • Con la fuente antigua se produce un pico de corriente de 1,67A de muy corta duración, pero suficiente para que la fuente de alimentación pudiese cortar su salida, ya que esta fuente es de 700mA. Después consume 288mA durante 81mS, el tiempo que tarda el módulo Step-Up en cargar sus condensadores y estabilizar la tensión de salida. El consumo en funcionamiento del relé y el módulo Step-Up, alimentados con la fuente de 5V es de 116mA.
  • Con la fuente pequeña, que es la versión moderna y también de 700mA según el fabricante, la gráfica de corriente es muy parecida. El pico de arranque es de 1,1A (también de muy corta duración) baja a 250mA y se mantiene durante 97mS, tiempo muy parecido al de la otra fuente, luego baja la corriente a 118 mA. que sería la corriente de funcionamiento con la fuente cargada.

Si comparamos ahora lo que ha sucedido con la tensión en ambas fuentes al conectar la carga:

  • Con la fuente antigua la tensión cae desde 5,1V hasta 4,49V y con la nueva desde 4,9V hasta 3,7V. Cuando se estabiliza el consumo, la caída de tensión de la fuente antigua es de 50mV, y si lo dividimos por el consumo de 116mA -> Ri =  0,43 Ohm.
  • Con la fuente nueva, la caída de tensión es de 120mV, y si lo dividimos por el consumo de 118mA -> Ri = 1 Ohm.

Lo que también se aprecia, es que la nueva versión de la fuente filtra mucho más las frecuencias transitorias que se montan sobre la tensión continua, pero a cambio su tensión de salida es menos estable.   

Teniendo en cuenta que el transformador de la fuente de alimentación nueva es más pequeño que el de la antigua, no parece muy lógico que ambas fuentes sean de 3,5W.

Test con el nuevo PCB

Durante las pruebas iniciales que hice en este nuevo montaje, se volvió a repetir el mismo problema que tuve en el montaje anterior. Al cerrarse relé, en algunas ocasiones se reiniciaba el ATMega328P. Como lo único que cambia con respecto al montaje anterior es el PCB, lo primero que hice es revisar las vías de alimentación y sus desacoplos.

Red +5V en el PCB

En el diseño de este PCB coloqué los dos condensadores de 1000uF separados en dos zonas, uno a la salida de la fuente de alimentación y el otro en las proximidades del relé, porque son los dos puntos de mayor consumo de todo el circuito.  Así la poca resistencia de la línea de positivo que une ambos condensadores, junto con ellos, forman un filtro PI. A continuación del segundo condensador de 1000uF está la vía que alimenta el display, el transistor de control del relé, el circuito Reset y la alimentación del ATMega328P.

El condensador de desacoplo de 100nF del ATMega328P lo puse al final de la red de +5V del PCB, para suprimir cualquier posible inducción entre el segundo condensador electrolítico y el final de la red de +5V. Lo único que cambia con respecto al montaje anterior, es que los dos condensadores electrolíticos de 1000uF están muy cerca del ATMega328P, y además sus conexiones las hice con hilo y estaño, y su sección es mucho mayor que la vía de este circuito impreso.

Medida VCC en ATmega328P

Aunque ya había hecho las pruebas del comportamiento de la fuente de alimentación, me faltaba por comprobar qué sucede con la tensión que le llega al ATMega328P en el PCB, con los dos condensadores de 1000uF conectados y todo funcionando.

Pico de consumo

Al medir con el osciloscopio me encontré con algo que no esperaba. El pico de consumo tan alto que se produce al alimentar el circuito Step-Up, descarga los condensadores y provoca que la tensión baje hasta 2,93V durante 27,4mS., hasta que se recupera la fuente y se vuelven a cargar los condensadores. Como el umbral de indecisión del microcontrolador está en el 50% de su tensión de alimentación, 2,93V están muy próximos al punto donde actúa el circuito reset del ATMega328P.

En estos casos el problema se debería resolver donde se produce, y se debería sustituir la fuente de alimentación por otra que soportara mejor los picos de consumo. Este es el problema de la fuentes de alimentación conmutadas, que se protegen y provocan cortes a su salida.

Como el pico de caída de tensión cambiaría muy poco aunque se aumentase la capacidad de los condensadores electrolíticos, colocando un condensador de 10uF entre los pines 7 y 8 del ATMega328P, se evita que entre cualquier pico transitorio y se reinicie, porque al estar alimentado con 5V no debería reiniciarse hasta que bajara su tensión a 2,5V.

Piezas 3D

La base de la caja ahora está hecha con una sola pieza, porque la serigrafía inferior apenas se daña con los soportes de impresión 3D, y así se simplifica el montaje.

Con el fin de facilitar la inserción y ajuste de los soportes de los electrodos en la base de la caja, he diseñado otra pieza 3D. Es una guía para alinear correctamente los electrodos, y mantener su inclinación de 5º durante el montaje.  Después también servirá para proteger los electrodos cuando no se use el generador, y no será necesario desmontar siempre los electrodos  después de cada uso.

Pieza guía 3D para los electrodos del generador

El diseño de las piezas 3D que necesitas para fabricar la caja y el soporte de este montaje, las puedes descargar de forma gratuita desde el siguiente link:

https://www.thingiverse.com/thing:6403044

¿Dónde fabricar el PCB?

Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos, pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.

Logo: PCBWay

 

PCBs del Generador de Plata Coloidal

Los dos PCBs que he utilizado en este montaje, los puedes conseguir a través de los siguientes enlaces:

Colloidal Silver Generator

Adapter for 2×16 LCD

Generador de Plata Coloidal con Arduino

Construcción de un generador de Plata Coloidal con Arduino. El generador está programado para producir 200mL de plata coloidal, con concentraciones a elegir entre 10 y 100 ppm. La plata coloidal está compuesta por nanopartículas de plata de alta pureza, que se mantienen suspendidas en agua purificada. Las nanopartículas de plata miden entre 5 y 100nm, y tienen una carga eléctrica positiva debido al proceso de electrolisis que se utiliza en su producción. La plata coloidal se podría considerar como un antibiótico casero, quizás por su falta de interés comercial de las empresas farmacéuticas.

Generador de Plata Coloidal

Plata Coloidal

El uso de plata en sus diversas formas ha sido frecuente desde la antigüedad, para tratar infecciones y todo tipo de enfermedades. Aunque su popularidad decreció a partir de los años ’40, cuando aparecieron los antibióticos.

La plata coloidal se podría considerar como un antibiótico casero, quizás por su falta de interés comercial de las empresas farmacéuticas. Actualmente la plata coloidal se utiliza y se acepta como segura para uso externo, pero existen serios recelos por parte de la comunidad científica acerca de su seguridad por vía oral.

La comunidad científica siempre aplica el principio de la precaución: No se puede autorizar el uso  de la plata coloidal por vía oral hasta que se demuestre que sus resultados son seguros. Sin embargo, aplicando el conocimiento de nuestros antepasados podríamos considerar que: La plata coloidal por vía oral es segura mientras no se demuestre lo contrario.

El principal problema que tiene la ingesta de la plata coloidal, es que es muy difícil comprobar su calidad y cantidad de plata (ppm) que contiene el producto, y siempre hay que fiarse del vendedor. Actualmente es muy fácil comprar plata coloidal por Internet, porque se ha puesto de moda y hay mucha gente que se dedica a fabricarla. Para comprobar las ‘ppm’ que contiene la plata coloidal no sirve un medidor TDS. Los medidores TDS miden la conductividad del agua para calcular y mostrar el valor de los sólidos disueltos que contiene.

Medidor TDS

La plata coloidal está compuesta por nanopartículas de plata de alta pureza, que se mantienen suspendidas en agua purificada. Las nanopartículas de plata miden entre 5 y 100nm, y tienen una carga eléctrica positiva debido al proceso de electrolisis que se utiliza en su producción. Los iones de plata se mantienen separados entre sí, debido a su repulsión al disponer de la misma polaridad, y su concentración apenas altera la conductividad del agua. Los iones de plata no están disueltos en el agua, permanecen flotando sin entrar en contacto entre ellos.

Iones de Plata Coloidal

Dependiendo de la concentración de plata en el agua, el color de la plata coloidal varía. Empezando por un color amarillento pálido con bajas concentraciones de plata, pasando por el color ámbar hasta el rojo cereza para concentraciones muy altas.

Para estar seguros de que la plata coloidal es de buena calidad, la forma más sencilla es fabricarla uno mismo. Lo más importante es utilizar electrodos de plata de alta pureza y agua de calidad. Normalmente se aconseja utilizar agua bidestilada para fabricar la plata coloidal, pero el proceso de fabricación es muy largo debido a su baja conductividad. Algunos aconsejan mezclar sales con el agua bidestilada para acelerar el proceso de la electrolisis, pero con esto se empeora notablemente la calidad del producto final.

Ósmosis Inversa de 5 Etapas

La mejor opción sería utilizar agua potable de calidad, después de pasar por un filtro de ósmosis inversa. No es aconsejable utilizar directamente el agua del grifo, porque su valor TDS siempre estará por encima de 10ppm. y además podría contener metales. Cuanto mayor sea la concentración de sales en el agua (ppm), más rápida será la producción de plata coloidal, pero podría llegar a ser perjudicial en lugar de beneficiosa. Lo ideal es utilizar agua purificada con un valor TDS < 10ppm.

Calidad del agua & Ósmosis Inversa

Fabricar Plata Coloidal

Cuando se fabrica un generador de Plata Coloidal, hay que tener en cuenta la corriente que circula entre los electrodos,  para ajustar con precisión el tiempo del proceso de la electrolisis. Como la corriente varía en función de la conductividad del agua que utilicemos (TDS), es conveniente que nuestro generador realice todo el proceso con una corriente constante. Como es lógico, el tiempo total de la producción varía en función de los mL de agua que utilicemos y de la concentración de plata que queramos obtener. Si no se hacen estos cálculos y se ajustan en el generador que fabriquemos, no sabremos las partes por millón (ppm) de plata coloidal que contiene el producto final.

Plata Coloidal por electrolisis

Así la calidad de la plata coloidal cambiará en función de la calidad del agua y la pureza de la plata que utilicemos, pero la concentración de plata en el agua (ppm) siempre la podremos controlar.

Calibrar el generador

Para calibrar un generador de plata coloidal, sería necesario disponer de una pequeña báscula de precisión. Yo utilicé una báscula digital electrónica muy barata, se puede conseguir por Internet por menos de 5€. Esta báscula puede pesar hasta 200 gramos con una resolución de 10mg.

El calibrado del generador consiste en pesar los electrodos de plata antes de empezar, y realizar varios procesos utilizando el mismo tiempo a una corriente constante. La precisión del calibrado será mejor si los cálculos se hacen después de fabricar mucha cantidad de Plata Coloidal. Yo lo hice repitiendo 10 veces el mismo proceso con 200mL de agua purificada, circulando una corriente constante de 2mA durante 70 minutos en cada proceso.

Peso de los electrodos de plata

Después de esto, desmonté los electrodos y los volví a pesar. El único electrodo que se consume es el que se conecta al positivo de la fuente de alimentación, el ánodo. Para conocer las partes por millón de Plata Coloidal de los 2 litros de agua, sabiendo la cantidad de plata que se ha utilizado en la electrolisis, sólo hay que hacer un cálculo matemático. En mi caso se perdieron exactamente 100mg de plata en 2 litros de agua (2Kg).

Después podemos asociar el tiempo de cada proceso con una ppm, para que nuestro generador calcule y ajuste los tiempos de forma automática en función de las ppm que queramos obtener en el futuro.

70 minutos / 50 ppm = 1,4 minutos/ppm

Por último, para que el generador pueda ajustar correctamente los tiempos de la electrolisis con agua de bajo valor TDS, sin la necesidad de tener que calentarla para alcanzar los 2mA del ajuste que tomé como referencia, al iniciar el proceso el generador mide la conductividad del agua y reajusta de forma automática el tiempo de la electrolisis. Para que no se eternice el proceso de la producción, al arrancar se comprueba que la corriente de la electrolisis sea >1mA, y la corriente máxima se limita a 2,25 mA. De la limitación de corriente máxima se encarga el regulador 78L05, no se programa por software.

Si el valor de corriente que muestra el display fuese >2,2mA, sería porque la conductividad del agua es muy alta, y sería conveniente medir el valor TDS del agua antes de iniciar el proceso. El circuito limitador de corriente máxima de este generador (78L05) empieza a actuar cuando el TDS del agua supera aproximadamente las 10ppm .

Esquema de montaje

Este generador incluye una fuente alimentación conmutada de 5V, para conectarlo directamente a la red eléctrica. La tensión de 5V alimenta el microcontrolador, el display y también el módulo conversor DC/DC  que permite elevar la tensión hasta 45V. En este caso se ajusta a 35V, con el fin de no superar la tensión máxima de funcionamiento del regulador 78L05, encargado de limitar la corriente máxima de la electrolisis.

Esquema: Generador de Plata Coloidal

El microcontrolador es un ATmega328P, y podría utilizarse un Arduino UNO,  pero así queda todo más reducido. La temporización de la electrolisis la controla el ATmega328P, en función de la conductividad del agua que mide al inicio, y la concentración de plata que elijamos. Con el pulsador se pueden seleccionar concentraciones entre 10 y 100ppm antes de iniciar el proceso.

A través del pin 5 del ATmega328P, D3 en Arduino, se controla el relé que conecta y desconecta la tensión de 35 voltios a los electrodos. Añadí 2 condensadores de 1000uF en la fuente de 5V, para evitar que el microcontrolador se bloquease con los picos de consumo del relé cuando se activa. La tensión de la electrolisis se corta a la entrada del módulo conversor DC-DC (5V), porque no tiene sentido que el módulo permanezca alimentado cuando no se utiliza.

La tensión de 35V se conecta al electrodo de plata que hace de ánodo, este electrodo es el único que pierde plata durante la electrolisis. Así el circuito queda interrumpido hasta que no se llene de agua el envase y circule la corriente a través de ella hacia el segundo electrodo, el cátodo.

Dependiendo de la conductividad del agua -el valor TDS- la corriente será mayor o menor. El circuito se cierra a través del LED indicador de corriente, el regulador 78L05 que limita la corriente de la electrolisis y la resistencia de 1K que hace de ‘shunt’. Esta resistencia de 1k medirá una tensión entre sus extremos cuando circule corriente, y la tensión subirá en función de la corriente que circule entre los electrodos de plata, porque es un circuito serie. En paralelo con la resistencia ‘shunt’ hay un condensador de 100nF, para evitar falsas medidas por inducción.

El pin 28 del ATmega328P, A5 en Arduino, mide la tensión y la traduce en corriente. Para que la medida de corriente sea precisa, es necesario ajustar el valor de una variable en el software antes de programar  el chip.

Display LCD 2×16

El display muestra el estado de funcionamiento del generador y sus valores:

Display del Generador de Plata Coloidal

  • La concentración de plata coloidal actual durante el proceso
  • El valor ppm objetivo
  • La corriente que circula entre los electrodos
  • Y el tiempo restante que falta para finalizar

Si se sacan del agua los electrodos durante el proceso de la electrolisis, por ejemplo para remover el contenido, la temporización se detiene hasta que se vuelvan a introducir los electrodos en el agua. Este umbral de detección se configura en el software. Puse un valor de 50 en la medida del ADC, para fijarlo a una corriente de 250uA aproximadamente. En la parte inferior izquierda del display se muestra de forma gráfica el proceso de la electrolisis, animado cuando se detecta que está funcionando, y fijo si la corriente de la electrolisis no supera el umbral mínimo que hayamos fijado.

Conservación de la Plata Coloidal

La plata coloidal se podría conservar hasta 1 año, siempre que se haga en condiciones óptimas:

  • La plata coloidal debe almacenarse en botellas de cristal tintado y cerradas, evitar las botellas de plástico.
  • Hay que guardarla en un lugar oscuro y alejada de radiaciones electromagnéticas. Lejos de las tomas de enchufe, electrodomésticos, teléfonos móviles, etc.
  • Se almacena a temperatura ambiente, no en la nevera, y no debe entrar en contacto con elementos metálicos, como las cucharillas.
  • Antes de cada uso es conveniente agitar la botella, para mantener su homogeneidad.

Color

El color de la plata coloidal no es el mejor indicador de su concentración, porque varía dependiendo de muchos factores. Principalmente por la intensidad y temperatura de color de la luz que se utilice. También depende de la temperatura del agua durante la electrolisis.

PPM

Las partes por millón (ppm) de la plata coloidal no se puede medir con un medidor TDS. Hice plata coloidal de 50ppm utilizando agua filtrada con un valor TDS de 3ppm. Después del procesado el valor TDS subió a 14ppm, ligeramente superior, pero este incremento del TDS no sirve para saber la concentración de plata que contiene.

Transparencia del agua

Para comparar la transparencia del agua, se puede utilizar un puntero láser. Al atravesar la luz del láser desde un lateral hacia el otro,  desde el frente se verá con mayor intensidad o menor el haz de luz del láser, en función de las partículas y sales disueltas en el agua.

Transparencia del agua con un puntero láser

Piezas 3D

Piezas 3D para el Generador de Plata Coloidal

El diseño de las piezas 3D que necesitas para fabricar la caja y el soporte de este montaje, las puedes descargar de forma gratuita desde el siguiente link:

https://www.thingiverse.com/thing:6403044

¿Dónde fabricar el PCB?

Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos, pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.

Logo: PCBWay

ESP32 con EleksTubeHAX

Actualización del reloj «RGB Glow Tube DIY Clock» (EleksTube IPS) con el firmware: EleksTubeHAX. Con este firmware, el reloj sincroniza automáticamente la hora a través de un servidor NTP. También consulta por Internet su localización, para ajustar de forma automática la hora local, actualizando el offset horario de invierno y verano. Además incluye el protocolo MQTT, y es posible controlar el reloj de forma remota desde un PC o dispositivo móvil con acceso a Internet. Este reloj, con el firmware original, se puede comprar en PCBWay por menos de 50€ … https://pcbway.com/s/8SNBE7

Reloj de estilo retro, con ESP32

Puntos separadores HH:MM:SS

Una de las cosas que se echa de menos en este reloj, es que no muestra los puntos separadores de las horas, minutos y segundos. Hice varias pruebas para intercalar los puntos, pero todas ellas de forma pasiva, utilizando como fuente de luz la iluminación RGB trasera de los 6 tubos.

La idea era montar algo sencillo, y que se pudiese desmontar sin tocar nada del interior.  Hice dos soportes con PLA de color negro, de la altura de los zócalos sobre los que se encajan los tubos de cristal. Los dos soportes los fijé al cristal con cinta adhesiva de doble cara, en la parte trasera de los tubos. Una pieza va pegada entre los tubos de las unidades de hora y la decena de los minutos, y la otra entre los tubos que muestran las unidades de minutos y la decena de segundos.

Luego me faltaba decidir cómo iba a hacer la pieza que mostrase los dos puntos. Empecé las pruebas con metacrilato transparente y plástico blanco, cortando con la CNC unas placas que reflejaran la luz trasera de los LED RGB, pintando los dos puntos de color negro. En ambos casos, el aspecto del reloj quedaba muy feo.

Al final utilicé PTEG de color blanco para hacer los dos puntos con la impresora 3D. Los hice alargados con forma de cono, y luego pinté con rotulador indeleble de color negro el soporte y el frente de los conos. Así la luz trasera de los tubos iluminan los laterales blancos de los conos, y visto el reloj de frente destacan mucho más los puntos negros.

EleksTube IPS con los puntos separadores

Piezas 3D

https://www.thingiverse.com/thing:6242912

Diseño 3D, con los puntos separadores para el reloj EleksTube

¿Actualizar el firmware?

En la revisión que hice del reloj con el firmware de fábrica, me di cuenta que la gestión de sus pulsadores era muy confusa, y además se le podría sacar más rendimiento al ESP32 que utiliza como procesador.

Buscando en el repositorio GitHub, encontré dos versiones de firmware muy elaboradas, que podrían ser compatibles con este reloj. Revisando el código de ambas versiones, comprobé que ha colaborado mucha gente en este desarrollo, pero la actualización final proviene del mismo autor: Aljaz Ogrin.

Cambios con respecto al firmware original

– La configuración con los pulsadores es extremadamente sencilla, porque la hora se ajusta automáticamente por Internet y los 4 pulsadores siempre realizan los cambios al presionar el botón, no al soltarlo. Es necesario pulsar y soltar por producir un cambio.

Configuración mediante los pulsadores, con el firmware: EleksTubeHAX

– El reloj sincroniza la hora a través de un servidor NTP, pudiendo conectar con cualquier router WiFi que disponga de la opción WPS. El reloj detecta respuestas del servidor NTP erróneas, y no se actualiza con una hora errónea. La versión 0.3 de firmware permite también escribir el SSID y PASSWORD de la red WiFi dentro del firmware. La versión 0.7 sólo permite la conexión WPS, pero esta opción es la más segura, porque las credenciales de la red WiFi no son visibles al leer el archivo binario (firmware). Otra ventaja de la conexión WPS, es que permite cambiar la red WiFi sin tener que modificar el firmware.

– El reloj detecta su ubicación a través de Internet, para seleccionar de forma automática su zona horaria y mostrar la hora local, corrigiendo automáticamente el Offset horario de invierno y verano.

– Las imágenes con los números de la hora son archivos BMP de 24 bit. Estos archivos se comprimen y convierten a binario desde una aplicación hecha a medida del firmware. Este formato permite  reducir el tamaño de los archivos, porque el firmware del reloj se encargará de centrar las imágenes pequeñas. Así es posible cargar y gestionar más de 3 fuentes de caracteres desde el reloj.

– El nuevo firmware hace una precarga de la siguiente imagen a mostrar en el búfer, para hacer una actualización más rápida. El tiempo del cambio de imagen se ha reducido de los 150 ms originales a aproximadamente 30 ms. Como el reloj refresca los dígitos de forma secuencial desde la unidad de segundos hasta la decena de horas, el segundo que provoca un cambio en la decena de horas presenta un efecto barrido de los números desde la derecha hacia la izquierda de (150×6) 900ms, y ahora se reduce a (30×6) 180 ms. Cuando se realiza un cambio de estilo, las imágenes guardadas en el búfer ya ni sirven y se borran. En este caso, el tiempo de carga de los 6 dígitos es el mismo que antes.

– Incorpora el modo nocturno, configurable antes de compilar el firmware, para atenuar el brillo de las pantallas y la luz de fondo de forma automática durante las horas nocturnas.

– Se incorpora la compatibilidad con MQTT (IoT): Desde un teléfono móvil se pueden cambiar las fuentes del reloj  y controlar el encendido/apagado del reloj. El protocolo MQTT es compatible con: SmartNest, SmartThings, Google Assistant, Alexa, etc… y también puede incluirse en la red de automatización del hogar.

– Los errores de conexión WiFi y MQTT se muestran con un texto de color rojo, insertado en la parte inferior de los dígitos de los segundos. Al apagar el reloj desde el pulsador se mantiene todo funcionando, sólo se apagan los displays y la iluminación RGB, manteniendo la conexión WiFi y la gestión remota a través del protocolo MQTT.

– El firmware cuenta de forma automática el número de estilos de reloj que tiene cargados, y no es necesario volver a programar el reloj cuando se actualizan las imágenes.

– La versión v0.7 puede configurarse para funcionar con  el reloj «EleksTube IPS» original y el reloj «SI HAI» (imitación china). La versión v0.3 incluye también el reloj «NovelLife SE» (otra imitación). El cambio que existe entre los diferentes fabricantes de este reloj, es la asignación de los pines de ESP32.


Esto es lo que se pierde con respecto a la versión del firmware original:

  • No permite mostrar el mes y día, siempre se muestra la hora.
  • No se puede elegir un color diferente para cada LED RGB y tampoco modificar la velocidad de cambio de sus efectos.
  • El efecto ‘Chasing’ de los LED RGB no existe, pero a cambio se  incluyen 2 efectos nuevos y un modo Test.
  • No dispone de la opción de mostrar 6 imágenes fijas.

Programar con el IDE Arduino

Antes de modificar el firmware del reloj, es muy importante disponer de  un archivo de respaldo por si algo falla. En el artículo y video anterior mostraba los detalles de todo el proceso, lo único que tendría que añadir, es que lugar de hacerlo a 115200 bps lo hagáis a 921.600 bps. El ESP32 funciona perfectamente a esa velocidad, y así el tiempo que tardará será inferior a 1 minuto.

He hecho un resumen para simplificar todo el proceso de configuración que hay que hacer en el IDE de Arduino, para que funcione con el ESP32 y sea compatible con el firmware: EleksTubeHAX.

Lo he probado con las versiones de Arduino (v1.8.12) y (v1.8.13)… es posible que con otras versiones se produzcan errores al compilar el programa 

1 –  El primer paso sería cargar las librerías del ESP32 en el IDE de Arduino. En la pestaña: Archivo/Preferencias, habría que desplegar el Gestor de URLs para comprobar si ya tenemos o no el link que apunta a las librerías de espressif:

https://dl.espressif.com/dl/package_esp32_index.json

Si no estaba en la lista, habría que añadir la URL y guardar los cambios

2 – Acceder al Gestor de tarjetas desde el menú: Herramientas/Placa/. Cuando finalice la carga de datos, escribir en la línea superior ‘esp32’. Buscar: esp32 by Espressif Systems. Aunque ya tengáis esta librería instalada, es importante actualizar a la versión 1.0.6. Yo tenía instalada la última versión, la 2.0.11,  y me costó mucho tiempo encontrar el problema. Al compilar aparecían errores en algunas instrucciones del WiFi y también en la librería TFT_eSPI.

3 – Para que sea posible cargar las imágenes en el reloj desde el IDE de Arduino, es necesario incluir el archivo: esp32fs.jar dentro de la carpeta ‘tool’ de la instalación. A continuación os pongo el link de descarga de la versión 1.1, porque la versión 1.0 no funciona.

Link de descarga de la versión 1.1

Detalles del lugar donde hay que copiar el archivo

Después de copiar el archivo y reiniciar el IDE de Arduino, tendría que aparecer la opción: ESP32 Sketch Data Upload. Si la versión del archivo es la correcta, al hacer click aparecerá otra ventana con un desplegable que muestra 4 opciones.

Las imágenes del reloj son los  archivos binarios que se encuentran en la carpeta ‘data’ del programa EleksTubeHEX. Para cargar estos archivos en el reloj, habría que seleccionar la opción: SPIFFS.

Las imágenes del reloj contienen los diferentes estilos de  las fuentes numéricas que se utilizan para mostrar la hora. Estas imágenes se pueden actualizar cuando se quiera, y no es necesario volver a cargar el firmware.

4 – Lo siguiente sería instalar las 7 librerías que se muestran en la gráfica enmarcados en rojo, seleccionando el nombre y comprobando que sea el mismo autor. Las versiones que se utilizaron en el desarrollo son las que están entre paréntesis, pero yo he actualizado todas a la versión más alta y no he tenido problemas.

5-  Ya por último, tendríamos que seleccionar la placa: ESP32 Dev Module y configurar todos los parámetros que se muestran en la gráfica enmarcados en rojo. El puerto ‘Com’ habría que seleccionar al que estuviera conectado vuestro reloj. Se puede comprobar si el reloj responde,  al hacer click en la opción: Obtén información de la placa

Librería: TFT_eSPI

Después de instalar todas las librerías, habría que modificar dos archivos que se encuentran dentro de la carpeta TFT_eSPI, y siempre que se actualice la librería TFT_eSPI habría que hacer lo mismo.

Son los archivos:  User_Setup_Select.h y User_Setup.h, y se pueden editar  con cualquier editor de texto que no introduzca formatos, por ejemplo con el Notepad de Windows.

En ambos archivos, User_Setup_Select.h y User_Setup.h,  hay que añadir la misma línea. Para que se incluya la librería GLOBAL_DEFINES.h que se encuentra dentro de la misma carpeta del programa EleksTubeHAX.

Además de esto, en el archivo User_Setup_Select.h se deja todo como está, pero al final del archivo hay que comentar la definición de todos los pines.

En el archivo User_Setup.h, hay que añadir la misma línea que en el otro archivo y mantener #define USER_SETUP_INFO «User_Setup». El resto del archivo hasta el final, tiene que estar todo comentado.

… ver más detalles en el video del final

SPIFFS (Serial Peripheral Interface Flash Fail System)

SPIFFS es un sistema de archivos muy simple, creado para microcontroladores con memoria flash.  Se accede mediante el bus SPI y los datos se guardan directamente en la estructura de la memoria. SPIFFS permite acceder a la memoria flash del ESP32, pudiendo leer, escribir y eliminar datos.

MQTT

MQTT (Message Queing Telemetry Transport) es un protocolo de mensajería simple, diseñado para dispositivos con poca memoria y con bajo ancho de banda. Permite enviar comandos para controlar salidas digitales, o leer y escribir datos en dispositivos electrónicos con tecnología IoT (Internet de las cosas).

MQTT fue creado por el Dr. Andy Stanford-Clark de IBM y Arlen Nipper de Arcom (ahora Eurotech) en 1999 como un mecanismo para conectar dispositivos empleados en la industria petrolera.

Gestión de los mensajes MQTT

En los mensajes MQTT hay 3 apartados separados por una barra, como si se tratara del Path de acceso a cualquier archivo del PC. A este conjunto Path, en MQTT se denomina Topic, o Tema en español. A continuación del Topic se enviaría la orden a ejecutar, denominado Mensaje en MQTT. Por ejemplo, un mensaje MQTT podría ser:

MiCasa/Cocina/Lavadora/Encender

Para que funcione el sistema MQTT es necesario un gestor que reciba y distribuya los mensajes, en MQTT sería el Broker.

Broker es el dispositivo central que permite y restringe las conexiones; y también recibe, filtra, redirige y publica mensajes a todos los dispositivos conectados. Los clientes inician una conexión TCP/IP con el Broker, el cual mantiene un registro de los clientes conectados. Esta conexión se mantiene abierta hasta que el cliente la finaliza. Por defecto, MQTT emplea el puerto 1883 y el 8883 cuando funciona sobre TLS.

Si se está enviando un mensaje a un Broker de Internet, la primera parte del tema/topic debe ser el ID del dispositivo que está enviando el mensaje, y el usuario puede personalizar las siguientes partes del tema. Cuando se da de alta algún dispositivo IoT en Smartnest, se le asigna un ID único para evitar conflictos entre dispositivos que pudieran tener el mismo Topic. En este nuevo firmware del reloj, el Broker es un servidor alojado en la Web de Smartnest.

El Broker de Smartnest define los Topic y Mensajes en lugar del usuario, con el fin de generar un interface gráfico común para todos los clientes, y dar acceso a través de Internet. Por ese motivo es necesario elegir el Tema que mejor se adapte a las necesidades de cada dispositivo. Por ejemplo, este reloj utiliza el Topic de un termostato.

Conversión de los grados recibidos por MQTT, al estilo de gráficos a mostrar

La temperatura de ajuste del termostato se puede modificar entre 10 y 40 grados, con saltos de 0,5º. Estos valores son interpretados por el reloj para seleccionar el estilo del gráfico a mostrar. Para hacer esto el firmware aplica internamente una fórmula al mensaje MQTT, dividiendo el valor recibido entre 5, sin decimales y restando 1. Si recibe un valor entre 10 y 14,5 grados, selecciona el estilo 1 (los saltos son de 5 en 5 grados). Si se fija la temperatura del termostato al máximo, 40 grados, el reloj mostraría el estilo 7. El reloj permite almacenar un máximo de 16 estilos. En caso de recibir un número mayor al número de estilos que tiene en memoria, seleccionaría el último. En caso de recibir un valor de temperatura igual o mayor de 90º, elegiría de forma aleatoria uno de los estilos de su memoria.

Para utilizar el Broker de Smartnest es necesario registrarse en www.smartnest.cz, pero es gratis para los primeros 5 dispositivos.

Cofiguración con el Broker Smartnest

Para habilitar la conexión MQTT en el reloj, es necesario personalizar los datos del archivo de configuración del reloj. En la versión v0.3 es el archivo USER_DEFINES.h  y en la versión v0.7 es el archivo GLOBAL_DEFINES.h.

Yo he cargado la última versión (v0.7), porque se han corregido algunos errores y además se incluye la gestión del sensor de temperatura DS18B20, aunque yo no lo voy a usar. Para que el reloj envíe la temperatura real por MQTT, habría que conectar el sensor a un pin del ESP32, y luego habilitarlo en el archivo de configuración.

Estos son los datos MQTT que hay modificar en el archivo de configuración:

  • Descomentar la línea: #define MQTT_ENABLED
  • Luego copiaremos ID del dispositivo que hemos dado de alta en Smartnest, el termostato, y lo pegaremos entre comillas a continuación de: #define MQTT_CLIENT
  • El nombre de usuario con el que nos hemos dado de alta, lo escribiremos entre comillas al final de:  #define MQTT_USERNAME
  • La contraseña con el que nos hemos dado de alta en Smartnest, la escribiremos entre comillas a continuación de: #define MQTT_PASSWORD. En lugar de escribir la contraseña en el firmware, es mejor poner el API-Key que asigna Smartnest a cada usuario.

COntrol remoto desde Smartnest

Con estos datos ya se recibiría la información que envía el reloj en la Web de Smartnest. Pero si queremos también enviar órdenes al reloj, tendremos que configurar el router WiFi  al que se conecta el reloj.

  • Lo primero es asociar la MAC del reloj con una IP fija, para que el router le asigne siempre la misma.
  • Luego habría que abrir el puerto TCP 1883, y asociarlo con la dirección IP que le hayamos asignado al reloj.

Configuración final

Para terminar de configurar el reloj, abrimos el archivo de configuración: GLOBAL_DEFINES.h para la versión 0.7.

  • Dejamos comentado el modelo de reloj HAI_CLOCK, para compilar con los datos de EleksTube.
  • Las horas de inicio y fin en la que el reloj cambiará a modo nocturno, se pueden modificar a nuestro gusto. También los segundos para detectar la pérdida de conexión con Internet y su reconexión.
  • No hace falta registrarse para disponer de un acceso a la geolocalización, accedemos a este link:

https://app.abstractapi.com/api/ip-geolocation/tester

Allí vemos nuestro código de consulta, y debajo una  URL para comprobar la información que devuelve. Podemos hacer hasta 5000 peticiones al mes con el mismo código si pagar.  Copiamos nuestro código de acceso, y lo pegamos entre las comillas a continuación de: #define GEOLOCATION_API_KEY

Ahora solo queda guardar los cambios del archivo: GLOBAL_DEFINES.h, y ya podemos compilar el programa en el IDE de Arduino y actualizar su firmware… pero recuerda que también hay que cargar las imágenes, para que el reloj pueda mostrar la hora.

Cargar las imágenes al reloj

Además de actualizar el firmware, es necesario cargar las 10 imágenes de cada estilo. El nuevo firmware necesita un archivo binario (.clk) por cada imagen.

Todos los archivos tienen que estar en la carpeta ‘data’ de ‘EleksTubeHAX’ …\Arduino\EleksTubeHAX\data

  • Los archivos se identifican con 2 dígitos y su extenxión .clk
  • La unidad del número del archivo se corresponde con la imágen que contiene, y la decena es el número de estilo. Los estilos del reloj van en orden ascendente, empezando por el estilo 1 (10.clk , 11.clk, 12.clk, etc.). No se puede crear el estilo 3 y enviar, si la carpeta ‘data’ no contiene también los estilos 1 y 2.
  • El número de estilos máximos a cargar depende del tamaño de los archivos. La capacidad máxima disponible para almacenar las imágenes en el reloj es 2,2MB aproximadamente.
  • Los archivos binarios se generan con un software hecho a medida para este firmware, y ya no se puede utilizar el software: EleksTube IPS.exe para actualizar las imágenes. En la descarga de archivos del repositorio GitHub, se incluye el software conversor de imágenes BMP a CLK:

…\Prepare_images\Convert_BMP_to_CLK.exe

Convert_BMP_to_CLK.exe

La cabecera de los archivos binarios que genera este conversor de imágenes, es de 6 Bytes: Las letras ASCII ‘CK ‘ los pixeles de ancho de la imagen, su origen X, los pixeles de alto y su posición Y.

Antes de colocar cada imagen en su display, el firmware lee sus cabeceras, y aplicando las fórmulas que se muestran en la imagen siguiente, desplaza el inicio donde tiene que empezar a cargar los datos del archivo, para centrar la imagen en el display.

Paso 1, para el centrado de imágenes del reloj EleksTube

De esta forma todos los bordes de la imagen que sean de color negro, se pueden recortar del archivo BMP,  antes de cargarlos en el software para convertirlos a código binario.

Paso 2, para el centrado de imágenes del reloj EleksTube

Al reducir el tamaño de las imágenes, es posible almacenar fuentes más pequeñas en la memoria del ESP32, y ampliar el número de estilos a elegir.

Conversor de imágenes BMP a CLK

Con el firmware de fábrica, el archivo binario que se carga en el reloj contiene las 30 imágenes de los 3 estilos, y tiene un tamaño de 1.507.328 Bytes. Si hacemos las cuentas, el mapa de color de las imágenes que se muestran en el reloj, es de 12 bits.

Ahora las imágenes BMP de 24 bit se comprimen a 16 bits. Por lo tanto, con la actualización del firmware también se mejora en la calidad de las imágenes.

En la siguiente imagen, he simulando el degradado de tonos azules que podríamos ver en el cielo al atardecer.

Comparativa del color RGB

De izquierda a derecha, se puede comparar la calidad con la que se mostraría en los displays del reloj.

  • La imagen original BMP de 24 bits, sin comprimir
  • Comprimida a 16 bits, como se mostraría con esta actualización
  • Comprimida a 12 bits, como se mostraría con el software de fábrica

Convertir imágenes BMP a CLK

En la siguiente imagen se muestra la carpeta de trabajo, para convertir las imágenes BMP en archivos CLK.

Archivos BMP y convertidos a binario, del estilo 3 del reloj

  • Crea una carpeta de trabajo, para utilizarla con el software: Convert_BMP_to_CLK.exe
  • Copia en la carpeta de trabajo las 10 imágenes BMP de 135×240 pixel y 24 bits, del estilo que quieras convertir a binario. Renombra los archivos poniendo como nombre el número de estilo (decena), y el valor numérico que contiene la imagen (unidad). En el ejemplo serían los 10 números del estilo 3.
  • Si los bordes de las imágenes no son negros, como es el caso del ejemplo, las imágenes no se pueden recortar. En el caso contrario puedes recortar los bordes negros, teniendo en cuenta que el contenido de la imagen resultante se centrará sobre la pantalla negra del reloj.
  • Abre los 10 archivos BMP de uno en uno con el software conversor, y conviértelos a binario.
  • Copia o mueve los 10 archivos .clk a la carpeta ‘data’ del firmware: EleksTubeHAX.

…\Arduino\EleksTubeHAX\data

¿Dónde fabricar el PCB?

Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos, pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.

Logo: PCBWay

Concurso de creadores 2023

El plazo para presentar los proyectos finaliza el 15 de Enero de 2024

PCBWay abre de nuevo la participación al concurso de creadores. Por el simple hecho de participar, se asignarán 500 beans (créditos) en tu cuenta de PCBWay, los cuales podrás canjear en la tienda por un Raspberry Pi Pico.

Además del premio por la participación, PCBWay repartirá un total de 16 premios: 1 primer premio al mejor proyecto, 2 segundos premios, 3 premios para los clasificados como terceros y 10 premios más para los proyectos más populares.

Consulta todos los detalles y las bases del concurso, pulsando el siguiente link:

Acceso al concurso de creadores PCBWay 

 

Reloj de estilo retro, con ESP32

RGB Glow Tube DIY Clock es un reloj de estilo retro, porque simula los números en 6 displays LCD-IPS cerrados en tubos de cristal, para darles el aspecto de tubos de vacío NIXIE o NUMITRON. Este reloj se compra en kit, pero viene prácticamente montado. Sólo es necesario insertar los 6 displays LCD-IPS en sus zócalos y colocar los tubos de cristal. Este reloj funciona con el microcontrolador ESP32, y permite cambiar su aspecto desde el propio reloj, eligiendo una de las 3 fuentes de caracteres que tiene en memoria. Las fuentes de caracteres se pueden personalizar, utilizando el software ElecksTube IPS.exe.

Link de acceso para la compra y descarga del software

Display’s numéricos de vacío

Los primeros display’s numéricos que se fabricaron estaban construidos con tubos de vacío. Se conocían como  Tubos Nixie, y se utilizaron en equipos electrónicos a partir del año 1955.

Tubo NIXIE

El tubo Nixie está formado por un ánodo, construido con una rejilla montada delante de una serie de cátodos. Los cátodos tienen la forma del símbolo que se quiere representar, y se sitúan apilados tras el ánodo, pero sin contacto galvánico entre ellos. Todo el conjunto va encerrado en una ampolla de vidrio llena de gas a baja presión, normalmente neón. Cuando se aplica una tensión entre uno de los cátodos y el ánodo, alrededor de 170V, el cátodo se ilumina en sus proximidades al ionizarse el gas, haciendo visible así su número.

El esquema superior está simplificado. Habría que añadir una resistencia en serie con la alimentación, para limitar la corriente de trabajo del tubo NIXIE, como si se tratara de un diodo zener.

Los tubos Nixie son muy sencillos de utilizar y no necesitan caldeo, pero tienen algunos inconvenientes:

  • Su peso y volumen.
  • Necesita una tensión alta.
  • Los símbolos no están todos en el mismo plano, lo que reduce su ángulo de visibilidad.
  • Son frágiles.

Con el fin de solucionar algunos de estos problemas, aparecieron los tubos de vacío Numitrón. Estos tubos son los antecesores a los displays LED de 7 segmentos que ahora conocemos. La diferencia es que sus segmentos no eran LED, sino filamentos. Los Numitrón se podían fabricar en tamaños más reducidos que los tubos Nixie, y podían funcionar con tensiones más bajas, alrededor de 5 voltios. Otra ventaja es que todos los símbolos se forman con los 7 segmentos, y al estar en el mismo plano su ángulo de visión es mejor que en los tubos Nixie. A cambio, los tubos Numitrón consumen más que los tubos Nixie, su tiempo de vida es menor y el trazado de los símbolos no es continuo ni tan perfecto, comparado con los NIXIE

Tanto los tubos Nixie como los Numitrón hace años que dejaron de utilizarse, pero por nostalgia muchos aficionados a la electrónica actualmente los siguen utilizando en sus proyectos, normalmente para fabricar relojes con aspecto retro. Debido a esta tendencia, ahora se pueden comprar algunos kit de reloj con el mismo aspecto de los tubos Nixie.

Aternativa a los tubos de vacío

El problema principal de los tubos Nixie/Numitrón es que no son baratos, pero existe una alternativa: sustituyendo cada tubo de vacío por un display LCD-IPS y colocando encima una ampolla de cristal. Así se puede fabricar un reloj con el mismo aspecto retro, reduciendo notablemente su consumo y mejorando sus prestaciones. Con un display LCD-IPS se puede simular un tubo Nixie o Numitrón, y modificar su aspecto y color de forma rápida sencilla. Ahora se puede conseguir por menos de 50€ un reloj con diseño retro, por ejemplo el kit: RGB Glow Tube.

Contenido del Kit

RGB Glow Tube DIY Clock

Este reloj se compra en kit, pero viene prácticamente montado. Sólo es necesario insertar los 6 displays LCD-IPS en sus zócalos y colocar los tubos de cristal.

Es aconsejable añadir un trozo de cinta adhesiva de doble cara en la base de los tubos de cristal,  para fijarlos con el metacrilato transparente superior. Con esto se evita que los tubos se suelten y rompan cuando se manipula el reloj

El PCB está sujeto a una base plástica con 5 separadores y tornillos M3. La caja se monta atornillando sus dos laterales de plástico con dos perfiles de aluminio ranurado. Utiliza 4 tornillos ALLEN M3 para fijar las tapas laterales con los dos perfiles de aluminio, colocando previamente el plexiglás transparente superior. En la parte superior, el PCB lleva 5 separadores M3, que sirven como apoyo del plexiglás transparente superior, no necesita los tornillos.

Muestra de 3 fuentes en el display OLED

Para simular los tubos Nixie/Numitrón, se utilizan 6 displays LCD-IPS de 210×82 mm. Las imágenes se pueden crear en un PC con cualquier programa de diseño gráfico, en formato JPG, con una resolución de 135 pixel de ancho por 240 pixel de alto y color de 24 bits. El software EleksTube IPS.exe se encarga de convertir todas las imágenes JPG en un solo archivo binario, para luego enviarlas a la memoria del reloj (ESP32).

Glow Tube Clock funciona con un microcontrolador ESP32. Lleva un 74HC595, que es un registro de desplazamiento de 8 bits, con 8 salidas en paralelo de tres estados. El interface de USB a UART es un CH340, necesario para conectar el reloj con un PC y actualizar el firmware, o personalizar sus fuentes de caracteres. El reloj lleva un conector USB-C en el lateral, utilizado para conectar el PC y también para su alimentación de 5VDC. El kit incluye un alimentador de tensión 110-240 VAC a 5 VDC/1A (estándar USA, no EU), con conector USB-A hembra. También se incluye el cable USB macho-macho de conexión con el PC y alimentador, con protección de tela y conectores USB-A / USB-C acodado.

El patrón de la hora (RTC) es el chip DS3231,  que está controlado por I2C y es muy preciso. Este chip RTC incluye en su interior un oscilador a cristal con compensación de temperatura (TCXO). Para mantener la hora del chip RTC cuando se interrumpe la alimentación, utiliza una pila de litio exterior tipo CR1220.

Configuración del Reloj

El kit del reloj incluye una cartulina en color, con las instrucciones en inglés por una cara y en chino por la otra. Cuando empecé a configurar el reloj, me costó bastante tiempo interpretar el manual y configurar el reloj. Provocado principalmente por los cambios de comportamiento que tienen los pulsadores en cada menú. La gestión de los pulsadores que hace el firmware de este reloj es muy confusa.

Configuración: RGB Glow Tube Clock

Gestión de los pulsadores

En cualquier dispositivo electrónico que tenga pulsadores, el fabricante decide la funcionalidad y comportamiento de cada pulsador, y lo programa en su firmware.

Gestión de los pulsadores

El comportamiento de un pulsador se puede hacer de dos formas:

  1. Detectando el flanco de subida o bajada, de la tensión que recibe un pin del microcontrolador. Así los cambios son lentos, porque es necesario pulsar y soltar el pulsador para provocar un cambio.
  2. Comprobando el cambio 1-0 en un pin del microcontrolador, para arrancar un reloj de muestreo y encadenar cambios sucesivos, mientras el pulsador permanezca cerrado. Así los cambios pueden ser más rápidos que en el caso anterior, pero también más imprecisos. Es importante ajustar el tiempo de muestreo, en función del número máximo de cambios que se tengan que realizar en cada menú. Con esta gestión temporizada, la precisión del ajuste dependerá de la destreza que tenga el usuario para ajustar el tiempo de sus pulsaciones con los del muestreo.

Comportamiento de los pulsadores

Con el fin de minimizar los costes de producción de los equipos electrónicos, los pulsadores suelen tener asociadas diferentes funciones en cada menú. Lo que no suele ser habitual y sucede en este reloj, es que también cambia el comportamiento de un mismo pulsador, en función del menú en el que esté funcionando.

El comportamiento que tienen los pulsadores en este reloj,  se identifica en las gráficas con el color que he añadido en cada pulsador y menú.

  • ROJO: Se realizan los cambios al soltar el pulsador.
  • VERDE: Realiza cambios sucesivos al pulsar, al ritmo de la frecuencia de muestreo.

Observar que a excepción del pulsador [POWER], los demás  pueden tener un comportamiento diferente, en función del menú en el que estén funcionando.

Tengo que aclarar que esto sucede con la versión del  firmware que tiene el reloj que he probado, y esto podría cambiar con otras versiones

La memoria del reloj puede almacenar y gestionar 3 fuentes de caracteres diferentes, con 10 gráficos cada una. Al inicio, los gráficos de las 3 fuentes contienen los 10 números del sistema decimal, ordenados desde el cero hasta el nueve. De esta forma es posible cambiar el aspecto del reloj en cualquier momento, eligiendo una de las 3 fuentes de caracteres.

El firmware de este reloj asocia un nombre a cada una las fuentes que tiene en su memoria: RETRO, PUNK, DIY. Estos nombres no se puede cambiar, pero sí su contenido. Conectado el USB-C del reloj con un PC y abriendo el software del fabricante EleksTube IPS.exe, es posible modificar el contenido de las 3 fuentes del reloj.

Fuentes gráficas de fábrica

Las dos primeras fuentes de caracteres, RETRO y PUNK,  deberían contener siempre los 10 dígitos del sistema decimal, porque siempre están asociadas con la presentación de la fecha y hora. La última fuente de caracteres es la fuente del usuario (DIY), y podría asociarse al reloj, o utilizarse para almacenar y mostrar un gráfico diferente en los 6 tubos, en lugar de la hora… menú INICIO pulsador [>>>]

Fuentes gráficas modificadas

Menús de configuración: Inicio

Menú INICIO

Al alimentar el reloj, los 4 pulsadores realizan su función al soltar el pulsador.

  • POWER: Enciende y apaga el reloj.
  • Izquierda: Muestra la hora o la fecha.
  • Derecha: Muestra la hora o los 6 primeros gráficos almacenados en la fuente de caracteres asociada al usuario (DIY). La imagen fija podría mostrar los números entre el 0 y el 5, o 6 gráficos de 135 píxeles de ancho por 240 de alto cada uno.
  • MODE: Da acceso al  menú principal de configuración.

Menú principal

Menú Principal

En el menú principal, los 4 pulsadores realizan su función al soltar el pulsador.

  • POWER: Salir del menú sin realizar cambios.
  • Izquierda/Derecha: Para desplazar el cursor y elegir alguna de las 6 opciones de este menú.
  • MODE: Ejecuta  opción que apunta el cursor.

En la gráfica, hay 3 opciones enmarcadas en rojo y las otras 3 con un número inferior (1,2 y 3):

MARCO: Los 3 menús enmarcados en rojo son de 2 estados (binarios), y cada vez que se pulsa el botón [MODE] cambian sus valores:

  • SET: Selecciona el formato de presentación de la hora, en 12 o 24 horas.
  • RGB: Habilita o deshabilita el LED RGB de iluminación de los 6 tubos
  • LIGHT: Limita el brillo máximo de los LED RGB en los 6 tubos.

NÚMERO: El número indica el submenú al que se accede.

Submenú 1: SET TIME

Menú: SET TIME

Este submenú es para configurar la fecha y hora. Los 3 botones de la izquierda realizan los cambios muy rápidos. Hay que realizar pulsaciones muy cortas, para conseguir que los saltos sean de uno en uno.

  • POWER: Vuelve al inicio para mostrar la hora, sin realizar cambios.
  • Izquierda: Reduce rápidamente el valor del número apuntado, mientras se mantenga el pulsador cerrado.
  • Derecha: Incrementa rápidamente el valor del número apuntado, mientras se mantenga el pulsador cerrado.
  • MODE: Guarda el valor de forma provisional, y desplaza el cursor a la derecha. En caso de haber guardado algún valor erróneo, como no se puede volver atrás, es mejor salir del menú pulsando el botón [POWER] y volver a empezar Si el cursor estaba apuntando los segundos, al pulsar [MODE] se guardan en el chip RTC todos los valores de fecha y hora que muestran los tubos, y se vuelve al inicio mostrando la hora.

Submenú 2: SET STYLE

El submenú STYLE permite seleccionar el aspecto de los dígitos. En este submenú, los 4 pulsadores realizan su función al soltar el pulsador.

  • POWER: Vuelve al inicio para mostrar la hora, sin realizar cambios.
  • Izquierda/Derecha: Desplaza el cursor para apuntar a alguno de los 3 estilos.
  • MODE: Selecciona el estilo apuntado, y vuelve al inicio mostrando la hora. Si la fuente de caracteres del usuario (DIY) no contiene los 10 números del sistema decimal, no se debería asociar con el reloj.

Submenú 3: SET RGB

Menú SET RGB

El submenú SET RGB permite configurar el comportamiento de los LED RGB que iluminan los 6 tubos. En este submenú, los 4 pulsadores realizan su función al soltar el pulsador.

  • POWER: Vuelve al menú principal sin realizar cambios.
  • Izquierda/Derecha: Mueve el cursor para apuntar a alguna de las 6 opciones de este menú.
  • MODE: Acceso a la opción que apunta el cursor.

En la gráfica hay 4 opciones enmarcadas en rojo y las otras 2 con un número inferior (4 y 5):

MARCO: Los 4 menús enmarcados en rojo, cambian su valor cada vez que se pulsa y suelta el botón [MODE].

  • RainBow: Utiliza el mismo color en los 6 tubos, y modifica gradualmente su color.
  • Chasing: Distribuye los colores entre los 6 tubos, y al cambiar su color de forma gradual (igual que lo hace RainBow) se produce un efecto de rotación.
  • Breath: Mantiene el color seleccionado de cada tubo, y modifica gradualmente la luminosidad de los 6 tubos a la vez.
  • SPEED: Define la velocidad de cambio de los 3 efectos anteriores.

NÚMERO: Con los submenús 4 y 5 se define el color del LED RGB de los tubos. En ambos submenús, los pulsadores tienen un comportamiento diferente.

Tabla numérica de color

Los colores de los LED RGB están asociados a una tabla de 8 bit. Los valores de la tabla numérica comprendidos entre el 0 y el 200 se asocian con los colores del espectro visible. El valor 0 se asocia con el color rojo y el 200 con el color magenta. A partir del número 200 y hasta el 255, el color va cambiando desde el magenta hacia el rojo (valor 0).

Submenú 4: All Same MODE

En este submenú sólo funcionan 2 pulsadores, porque no se necesitan los cursores. El valor numérico asociado al color, cambia en los 6 tubos a la vez.

  • MODE: Incrementa rápidamente el valor numérico (color) en los 6 tubos,  mientras se mantenga el pulsador cerrado.
  • POWER: Al pulsar y soltar, se guarda el color que muestran los 6 tubos, y vuelve al menú SET RGB.

Submenú 5: Single MODE

Desde este submenú se puede configurar un color diferente en cada tubo.

  • Izquierda: Reduce rápidamente el valor del número apuntado (color), mientras se mantenga el pulsador cerrado.
  • Derecha: Incrementa rápidamente el valor del número apuntado (color), mientras se mantenga el pulsador cerrado.
  • MODE: Guarda el color para el tubo seleccionado y apunta al siguiente, mientras se mantenga el pulsador cerrado.
  • POWER: Al pulsar y soltar, se guarda el color que muestra cada uno de los 6 tubos, y vuelve al menú SET RGB.

Archivo de respaldo (Backup)

Antes de modificar algún dato del firmware original del ESP32, es conveniente hacer una copia de seguridad. Si por cualquier circunstancia fallara algo durante la actualización y el reloj dejara de funcionar, tendríamos un archivo con el  firmware original y podríamos recuperarlo.

Para crear un archivo de respaldo de este reloj, se puede utilizar ‘esptool.exe’ que se incluye dentro del paquete : EleksTube IPS.V1.1 (9).zip

esptool.exe se ejecuta abriendo una ventana de comandos en Windows,  modo administrador. La ventana de comandos tiene que apuntar a la carpeta donde se encuentre el programa  ejecutable ‘esptool.exe’

Comandos a ejecutar desde CMD

 # Copia de seguridad del firmware del ESP32:

esptool --baud 115200 --port COM6 read_flash 0x0 0x400000 EleksTube_fw-backup-4M.bin

La cadena contiene el nombre del ejecutable, la velocidad, el puerto COM (en mi caso es el 6), el comando de lectura, las direcciones primera y última que tiene que leer del ESP32, y a continuación el nombre del archivo que tiene que crear con su extensión. Yo he puesto al principio el nombre del programa y al final el tamaño del archivo que tiene que crear y la extensión… pero se puede poner cualquier nombre.

Si alguna vez necesitaras restaurar el reloj con el firmware de fábrica, tendrías que ejecutar este comando:

# Restaurar el firmware del esp32:

esptool --baud 115200 --port COM6 write_flash 0x0 EleksTube_fw-backup-4M.bin

La cadena contiene el nombre del ejecutable, la velocidad, el puerto COM, el comando de escritura, la dirección de inicio de la memoria y el nombre del archivo.

La dirección del final de la memoria del ESP32, no es necesario indicarla en la cadena, porque el software acabará cuando envé el último Byte del archivo de respaldo.

IMPORTANTE:

Para evitar errores cuando se trabaja con la ventana de comandos de Windows,  es importante que los nombres de las carpetas no contengan espacios ni caracteres UNICODE mayores a un Byte, por ejemplo caracteres chinos.

Software: EleksTube IPS.exe

Este software contiene un total de 23 fuentes de caracteres para elegir. En el software, cada fuente se muestra en una sola imagen con los 10 dígitos pegados. Cada imagen (fuente) es de 1350×240 pixel,  por lo que cabe suponer que al seleccionar una de ellas el software la trocea en 10 imágenes diferentes y las guarda en la carpeta .\EleksTube\esptool\data

Software: EleksTube IPS

Al principio suponía que al abrir el software se cargaban las 23 fuentes desde la carpeta EleckIPS_PIC_Picture, pero no es así. Aunque se modifique algo o se borre  esta carpeta, el software carga las mismas 23 fuentes al arrancar.

 .\EleksTube\esptool\bin

Esta carpeta contiene el último archivo que ha compilado el software Elekstube IPS.exe. El archivo binario contiene los 30 gráficos de 135x240 pixel, de las 3 fuentes de caracteres que puede manejar el reloj. Este archivo binaro, es lo único que se envía al reloj para actualizar las 3 fuentes de caracteres.

Contenido de la carpeta BIN

.\EleksTube\esptool\data

En esta carpeta se encuentran las 30 imágenes con formato JPG, que compilará el software para generar el archivo binario. Los nombres de los archivos JPG no se pueden cambiar, pero sí podemos modificar el contenido de todos los archivos, siempre que se respete su nombre, formato y resolución. Las imágenes que comienzan por RETRO y PUNK se tendrían que modificar 'a mano' antes de compilar el archivo, porque desde el software sólo se pueden cambiar las imágenes del usuario DIY; son las diez que tienen como nombre un número solo.
.\EleksTube\img

En esta carpeta se encuentran las 10 imágenes (Custom image) de la fuente  DIY del reloj. Cuando se abre el software Elekstube IPS.exe y no se selecciona alguna de las fuentes del menú inferior, las dos ventanas superiores muestran el mensaje: 'Custom image' y al pulsar el botón [Compile Custom Picture]: 

1 - El software copia las 10 imágenes de la carpeta .\EleksTube\img y las pega o reescribe por las que haya en la carpeta .\EleksTube\esptool\data

2 - Compila las 3 fuentes de la carpeta .\EleksTube\esptool\data generando un nuevo archivo binario, y lo sustituye por el que había en la carpeta .\EleksTube\esptool\bin

Imágenes personalizadas con ‘EleksTube IPS.exe’

Vista gráfica en los 6 tubos

Como el software ‘EleksTube IPS.exe’ no permite cargar imágenes nuevas y tampoco modificar las que tiene en su lista, la única forma de cargar imágenes nuevas al reloj utilizando este software sería siguiendo estos pasos:

  1. Con el software cerrado, borramos las 10 imágenes del usuario de la carpeta .EleksTube\esptool\data (este paso se puede omitir, no es imprescindible).
  2. Abrimos la carpeta .EleksTube\img y sustituimos las imágenes que contiene por las nuevas que hemos creado, pero respetando el formato y nombre de las que tenía. Se puede cambiar una sola imagen o las 10, teniendo en cuenta que el reloj mostrará de izquierda a derecha las 6 primeras (0..5).
  3. Abrimos el software, y sin seleccionar una fuente nueva del menú inferior, pulsamos el botón [Compile Custom Picture]. Así el programa copiará las imágenes de la carpeta .EleksTube\img en la carpeta .EleksTube\esptool\data,  y creará un nuevo  archivo binario con las 3 fuentes. Para hacer esta operación no es necesario que esté conectado el reloj con el PC,
  4.  Conectar el reloj al PC, seleccionar el puerto COM al que está conectado, y pulsar el botón: [Upload Image] para enviar el nuevo archivo binario al reloj y actualizar sus 3 fuentes de caracteres.

¿Dónde fabricar el PCB?

Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos, pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.

Logo: PCBWay

Concurso de creadores 2023

El plazo para presentar los proyectos finaliza el 15 de Enero de 2024

PCBWay abre de nuevo la participación al concurso de creadores. Por el simple hecho de participar, se asignarán 500 beans (créditos) en tu cuenta de PCBWay, los cuales podrás canjear en la tienda por un Raspberry Pi Pico.

Además del premio por la participación, PCBWay repartirá un total de 16 premios: 1 primer premio al mejor proyecto, 2 segundos premios, 3 premios para los clasificados como terceros y 10 premios más para los proyectos más populares.

Consulta todos los detalles y las bases del concurso, pulsando el siguiente link:

Acceso al concurso de creadores PCBWay 

 

 

Repetidor inalámbrico para el timbre

Instalación de un repetidor inalámbrico para el timbre de una vivienda. El conjunto se compone de un pequeño transmisor de RF y su receptor. El transmisor tiene un alcance entre 100 y 300 metros, y funciona con una pila de 12V. El receptor del timbre tiene el mismo formato que un cargador USB, se puede conectar en cualquier toma de red, y funcionará siempre que esté dentro de la zona de cobertura del transmisor. La ventaja de este repetidor de timbre, es que su receptor se puede instalar rápidamente en cualquier lugar de la casa, pudiendo elegir su melodía y volumen, o dejarlo desconectado cuando no sea necesario.

Timbre inalámbrico

A pesar de que  tengo dos timbres en casa conectados al pulsador de entrada, ambos cableados, en alguna ocasión no lo he oído.  Normalmente por estar  trabajando con los auriculares puestos, o por estar mecanizado alguna pieza con la CNC.

Este problema lo voy a solucionar instalando un repetidor de timbre inalámbrico. De esta forma me podré llevar el receptor cerca de donde esté trabajando, y así podré oír siempre el timbre.

Como económicamente nunca merece la pena fabricar algo que ya está comercializado, he comprado un timbre inalámbrico compuesto por un transmisor y 2 receptores. El segundo receptor no sería necesario, pero la diferencia del conjunto con dos receptores  es menor de 3€, y aunque no lo use me podría servir de repuesto. Este conjunto es un timbre completo y no funciona como repetidor, pero es muy sencillo integrarlo dentro de una instalación convencional para utilizarlo como repetidor.

El pulsador del timbre incorpora un transmisor de RF, funciona en la banda de los mandos a distancia, concretamente en 433,92MHz. Aunque la potencia del transmisor es inferior a 10mW, tiene un alcance entre 100 y 300 metros.

Montaje del timbre como repetidor

El transmisor funciona con una pila de 12V, pero como lo voy a utilizar de repetidor, lo alimentaré con una pequeña fuente conmutada, la cual tomará la tensión de red de uno de los timbres que ahora tengo instalados.

Esquema de montaje del timbre inalámbrico

El pulsador del transmisor lo dejaré siempre accionado, soldando un puente entre sus dos terminales. Así cuando alguien presione el pulsador exterior  del timbre, llegarán los 230V a los cables del  timbre, y al mismo tiempo a la fuente conmutada. Convirtiendo de esta forma tan sencilla, un timbre inalámbrico en un repetidor de timbre convencional.

Receptor del timbre

Receptor del timbre por RF

El receptor del timbre tiene el mismo formato que un cargador USB, se puede  conectar en cualquier toma de red, y funcionará siempre que esté dentro de la zona de cobertura del transmisor. La ventaja de este repetidor de timbre, es que su receptor se puede instalar rápidamente en cualquier lugar de la casa, pudiendo elegir su melodía y volumen, o dejarlo desconectado cuando no sea necesario.

Configuración y emparejado

El conjunto del timbre (Transmisor y Receptor-es) ya viene emparejado de fábrica. Pero si se quiere modificar la melodía del timbre, es necesario repetir de nuevo el proceso de emparejamiento. Con el pulsador superior se cambia la melodía, y con el pulsador inferior se puede modificar el volumen de escucha entre 3 niveles: Alto-Bajo-Medio.

El volumen de escucha inicial siempre será el más alto, y no se guarda al emaprejar los equipos. 

Emparejado y selección de la melodía

Emparejado y configuración del timbre inalámbrico

  1. Enchufar el receptor en una toma de red
  2. Elegir una melodía mediante pulsaciones cortas, con el pulsador superior
  3. Una vez elegida la melodía, mantener el pulsador durante 5″, hasta que el LED parpadee rápidamente
  4. Soltar el pulsador del receptor, y pulsar el botón del transmisor

¿Dónde fabricar el PCB?

Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos, pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.

Logo: PCBWay

Energía SOLAR, aprovechando los excedentes

Controlando la conexión y desconexión de una toma de enchufe, en función de los excedentes de energía eléctrica que genera una instalación solar, es posible adaptar los consumos de la vivienda de forma automática, y reducir el coste de la factura.

Toma de red inteligente

Hace unos días  monté un controlador de encendido y apagado automático en dos equipos de aire acondicionado, para aprovechar una parte de la potencia excedente que generan los paneles solares en mejorar la climatización de la vivienda.

Climatización GRATIS… automatizando los excedentes de energía Solar

Toma de enchufe inteligente

Ahora complementaré este sistema de control, añadiendo una toma de alimentación portátil.  Esta toma de red la utilizaré para conectar equipos auxiliares, los cuales no necesiten permanecer siempre encendidos, consiguiendo así un ahorro extra en la factura eléctrica.

La toma de red se podría conectar a una regleta múltiple, y controlar varios dispositivos a la vez. La corriente máxima que soporten los contactos del interruptor que utilice,  definirán la potencia máxima de uso. La electrónica de este controlador de red no varía en función de la potencia que maneja, sólo se necesita definir los umbrales de encendido y apagado en el firmware, antes de cargarlo en el módulo ESP32.

Los posibles usos que podría tener esta toma de red son muchos. Por ejemplo para alimentar un termo de agua caliente auxiliar, un calefactor o radiador portátil, la depuradora de una piscina y su climatización, el punto de carga para un coche eléctrico… y cualquier otra cosa que se nos ocurra. Para el uso que yo le voy a dar, he fijado sus dos preset de encendido por excedente de potencia solar en 1,2kW y 2,2kW. Una vez programado el módulo, se podrá elegir el preset de funcionamiento a través del interface Web del ESP32. La desconexión automática de ambos preset es la misma, y siempre desconectará la carga cuando la potencia solar excedente sea inferior a 100W.

PRESET de encendido y apagado

En el montaje anterior, como protección para el aire acondicionado, configuré el intervalo de tiempo mínimo entre dos conmutaciones automáticas consecutivas con 3 minutos. En este caso, como la toma de red la utilizaré para otros usos, he reducido el tiempo de protección a 1 minuto, consiguiendo así un control de encendido/apagado más rápido.

Configuración inicial del interruptor de red inteligente

Los interruptores de RED

Los interruptores de red más utilizados son los de tipo mecánico, principalmente por su bajo precio y gran aislamiento cuando los contactos están abiertos. Para automatizar la conexión y desconexión eléctrica de cualquier dispositivo se utilizan relés, también llamados contactores.

Los relés funcionan a partir de una tensión de control de baja corriente, normalmente suministrada por un autómata o circuito micro-controlador. El accionamiento que permite el paso de corriente a la salida de un relé, puede ser mecánico o electrónico.

Relé mecánico

El problema principal de un relé de tipo mecánico, es la degradación de sus contactos cuando trabaja con corrientes altas, pudiendo producir con el tiempo falsos contactos y chisporroteo. Otro inconveniente es que su tiempo de accionamiento, al ser mecánico es lento y su retardo no siempre es el mismo, quedando limitando su uso para controlar equipos que no requieran velocidad ni precisión en sus maniobras.

Relé de estado sólido (SSR)

Los relés de estado sólido, también conocidos por su abreviatura en inglés SSR, no tienen partes móviles, son silenciosos, rápidos y no sufren degradación. El inconveniente principal es que no soportan picos de corriente superior al definido por el fabricante, porque se averían. En caso de avería, los relés SSR  normalmente se quedan con sus dos salidas en cortocircuito, manteniendo la carga permanentemente conectada a la red eléctrica y consumiendo energía.

Esquema del relé SSR

Al igual que los relés electromecánicos, los SSR se accionan con una pequeña corriente en su entrada. La tensión y su rango de funcionamiento, tanto de entrada como salida, dependen del modelo de SSR que se elija.

Antes de comprar un relé de estado sólido (SSR) es importante saber que existen tres tipos, tienen diferentes rangos de tensión en su entrada y salida, y su corriente de trabajo máxima está limitada. Los SSR se identifican en su referencia con las dos letras finales, indicando si se activan con tensión continua o alterna:

  • DA: Tensión continua en la entrada y alterna en la salida
  • AA: Tensión alterna en la entrada y en la salida
  • DD: Tensión continua en la entrada y en la salida

Detalles del Montaje

Para hacer este interruptor automático, he utilizado un relé SSR-40 tipo DA. Es un relé sólido que se activa con una tensión continua en su entrada, y permite controlar el paso de una tensión alterna de 40A como máximo en sus dos terminales de salida. El inconveniente es que para soportar esa corriente máxima de 40A, sería necesario montarlo con un disipador.  Como voy a utilizar este SSR sin disipador, con el fin de reducir el tamaño del circuito, he limitado su carga máxima intercalado un fusible rápido de 15A. Con esta corriente se podrían controlar consumos de hasta 3kW sin problemas,  potencia más que suficiente para el uso que le quiero dar.

Esquema del interruptor de red inteligente

El rango de tensión de control de este SSR va desde 3 hasta 32V de tensión continua. Como lo voy a controlar con un ESP32 y funcionan a 3,3V, tensión muy próxima a la mínima de control de este SSR, he medido todo antes de diseñar el circuito. He comprobado que este SSR funciona conectando una tensión continua a partir de 2,5V, y consume aproximadamente 8mA. La corriente de control sube ligeramente a medida que sube la tensión de disparo, con 5V consume 10mA aproximadamente.  Así que no habría problema para controlarlo directamente con el ESP32. Para proteger el pin de control del módulo ESP32, he intercalado un transistor NPN configurado en modo seguidor de emisor, conectando el colector del transistor al +5V de la fuente de alimentación. Así la corriente de control del SSR la suministrará la fuente de alimentación, y no pasará a través del pin de salida del módulo ESP32.

Los componentes que hay que añadir  en este montaje son muy pocos, y al igual que hice con el controlador del aire acondicionado, los he montado y cableado todos en una placa aislante. He utilizado también los mismos pines del módulo ESP32, pero en este caso invirtiendo los pines de entrada y salida. He utilizado como salida el pin GIO2, porque así el LED azul del módulo ESP32 se encenderá cuando se esté disparando el control del SSR. Para disponer de esta indicación en el exterior y al mismo tiempo comprobar que el transistor funciona correctamente, he añadido otro LED junto con su resistencia limitadora, conectado en los terminales de entrada del SSR.

El pin TMS/GPIO14 está configurado como entrada en modo Pull-Up, y se utiliza con un interruptor a masa, para  forzar su funcionamiento a modo manual. Cuando el interruptor está cerrado, el módulo ESP32 mantendrá de forma indefinida la tensión de salida de 230VAC, aunque la potencia del excedente solar sea inferior a 100W. De la misma forma, también es posible conectar y desconectar la tensión de salida en cualquier momento a distancia, utilizando el interface Web del ESP32.

Interface WEB

A través del interface Web del ESP32 es posible deshabilitar por completo el circuito de control, evitando así que el módulo SSR entregue tensión a su salida, incluso aunque estuviera su interruptor en modo manual. Cuando se deshabilita el control del SSR, el módulo ESP32 deja de realizar consultas al inversor  y desaparecen las medidas de potencia, tanto en el interface Web como el display  OLED. En este caso el display OLED funcionaría en modo reloj, mostrando únicamente la fecha y hora local con precisión.

Interface WEB del interruptor inteligente

Para evitar las molestias que podría ocasionar la luz del display OLED durante la noche, he añadido la opción de su apagado nocturno. Cuando el display  OLED está configurado en modo día, nunca se apaga. Y si se configura en modo noche, el display  OLED se encenderá a partir de las 7:00 y se apagará a partir de las 23:00. Esta modificación también la he añadido en la última actualización del firmware del controlador del aire acondicionado (v1.54).

Firmware del ESP32

El firmware que necesitas para programar el microcontrolador ESP32, lo puedes descargar de forma gratuita desde el siguiente enlace:

https://github.com/J-RPM/Consumption-control-of-surplus-solar-energy

Caja 3D

Piezas 3D, para la toma de red automática

Los ficheros .stl que necesitas para fabricar estas piezas, lo puedes descargar desde el siguiente enlace: https://www.thingiverse.com/thing:6135400

¿Dónde fabricar el PCB?

Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos, pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.

Logo: PCBWay

https://pcbway.com/g/r7N1ct

 

Climatización GRATIS… automatizando los excedentes de energía Solar

Actualización del firmware del reloj de precisión (ESP32), para controlar el encendido y apagado automático de dos equipos de aire acondicionado. Automatizando el consumo eléctrico en función de los excedentes de energía Solar, se puede reforzar el sistema de climatización de una vivienda a coste cero.

Control AC, conectado en el evaporador SAMSUNG

Excedentes de energía Solar

Cuando se instalan paneles solares en una vivienda, es muy importante adaptar los hábitos del consumo con los de mayor producción solar, porque esta es la forma más rápida de amortizar la inversión.  Hay electrodomésticos que no se pueden adaptar a las horas de sol, como son los frigoríficos y cocinas, pero hay otros que sí. Por ejemplo: lavadora, lavaplatos, secadora, plancha y los equipos auxiliares de climatización.

Gráfica del consumo y potencia solar

La ventaja principal de una instalación solar orientada al autoconsumo de una vivienda, es que durante el día se podría disponer de una potencia de pico superior a la contratada. Además esta energía es  gratis, y se genera en los periodos en los que el precio de la electricidad es más cara, produciendo así un ahorro mayor en la factura.

Por otra parte, con la energía solar sobrante se podría mejorar el sistema de climatización de la vivienda, consiguiendo así un mayor confort a coste cero. La climatización de una vivienda siempre es mejorable, porque intentaremos reducir su coste al mínimo imprescindible, limitando el uso de la calefacción en el invierno y del aire acondicionado en verano.

Automatizar el consumo eléctrico

Hacer un uso eficiente de la energía solar sobrante para aplicarla a la climatización no parece complicado, el  problema es que la radiación solar es muy variable y podría provocar picos de consumo extra cuando cambian las condiciones meteorológicas. La solución sería automatizar la conexión y desconexión de  los sistemas de climatización y agua caliente auxiliares, adaptándolos a los excedentes de producción solar.  Así estos elementos de climatización auxiliar utilizarían la energía sobrante y se desconectarían rápidamente de forma automática. Por ejemplo al aumentar el consumo en la vivienda por haber conectado la lavadora, o debido a la caída de la producción solar al paso de nubes.

Hace unos meses hice una adaptación del reloj de precisión construido con un módulo ESP32, para poder visualizar los valores de producción solar en su display. Esta información es muy útil, porque muestra la energía sobrante que podríamos utilizar a coste cero.

Supervisor solar Fronius

En esta ocasión haré unas modificaciones sobre el firmware anterior, para poder controlar el encendido y apagado automático de dos equipos de aire acondicionado. En concreto lo voy a controlar los dos splitter de un equipo SAMSUNG, modelo AM18A1E09. A través del interface Web de control del ESP32,  es posible configurar los umbrales de encendido y apagado de forma  individual, configurando a uno de ellos como principal y al otro como secundario.

Interface WEB del ESP32

Así el equipo configurado como 1 será el principal,  se conectará el primero y se apagará el último, provocando menos cortes de encendido/apagado que el número 2. Según el fabricante SAMSUNG, cada splitter consume aproximadamente 0,87 kW. Así la configuración de encendido del equipo principal se hará cuando el excedente de potencia sea superior a 1,5 kW, y se desconectará cuando el excedente sea inferior a  100W. El equipo secundario se conectará cuando el excedente de potencia sea superior a 1,7 kW y se desconectará cuando el excedente sea inferior a  300W.

Compatibilidad con el funcinamiento en modo manual

Este controlador de encendido y apagado es totalmente compatible con el funcionamiento manual del aire acondicionada, ya sea a través del pulsador de encendido del splitter, o de su mando a distancia. Cuando se conecta el aire acondicionado utilizando el mando a distancia o su pulsador de encendido, el módulo de control detectará que está funcionando en modo manual, y no tomará el control del equipo.  Cuando se desconecte el equipo de forma manual, después de 3 minutos,  el módulo ESP32 tomará el control automático de encendido y apagado. En caso de que no se quisiera conectar  el aire acondicionado en ningún momento, por ejemplo en invierno, se podría deshabilitar la función de control mediante el interface Web del  ESP32, o desconectar la alimentación del módulo de control mediante su interruptor. Con el fin de proteger el compresor del equipo, he fijado el intervalo de tiempo mínimo entre dos maniobras en 3 minutos. Esta limitación es sólo en modo automático, porque desde el interface Web del ESP32,  el mando a distancia o el pulsador del splitter,  se podrá encender y apagar el equipo en cualquier momento.

Montaje del controlador y sus conexiones, en un equipo SAMSUNG modelo AM18A1E9

Aunque este equipo de aire acondicionado sea doble, cada evaporador funciona de forma independiente y habría que montar su propio controlador.

Conexiones entre el compresor y los 2 evaporadores SAMSUNG

Este control automático está construido con un módulo ESP32 y un pequeño display OLED. Como el firmware del módulo ESP32 es totalmente compatible con el reloj de precisión, sería posible montar  también el display de 8 dígitos y el amplificador de audio.

Esquema de conexiones del controlador en el evaporador SAMSUNG

Este circuito está formado por 3 bloques: el interface de entrada, el circuito de control (ESP32) y el interface de salida:

Interface de entrada

Es el circuito detector de estado del  evaporador o splitter, y es necesario para informar al módulo de control si el equipo está funcionando o parado. Como el ventilador del evaporador siempre estará alimentado cuando el equipo funciona, lo he tomado como referencia. El ventilador de este equipo tiene dos devanados, entre los hilos azul y amarillo he medido una tensión alterna de 120V aproximadamente, y entre los hilos azul y rojo de 160VAC. Ambas tensiones apenas varían con la velocidad del ventilador, pero he tomado como referencia la tensión de los hilos azul y rojo, porque me han parecido más estables. Para aislar la tensión de red del circuito de control, he intercalado el opto-transistor H2210. He utilizado este modelo  porque tengo varios, pero podría utilizarse cualquier otro. El LED del opto-transistor se encenderá al recibir la tensión alterna del ventilador, pero esta tensión alterna de 160V hay que convertirla a continua y reducirla a 1 voltio aproximadamente. De esto se encarga el rectificador de media onda junto con la resistencia limitadora y el condensador de filtro. Al rectificar en media onda, la disipación en la resistencia es menor  y con una resistencia de 47K 1/4W  funciona perfectamente. El condensador de filtro de 1000uF es muy importante, porque hay que evitar que el rizado de 50Hz se transmita al circuito de salida. El transistor de salida del opto-acoplador conducirá cuando el evaporador esté funcionando, provocando que el siguiente transistor deje de conducir y entregue un nivel alto en el pin IO2 del módulo ESP32. He utilizado este pin porque va conectado con el LED azul del módulo ESP32, y esta indicación es muy útil para hacer pruebas. Para evitar posibles transiciones de estado debido a ruidos de la fuente de alimentación o inducciones generadas por el propio módulo ESP32, he añadido en la propia placa del módulo un condensador cerámico de 100nF. A pesar de que el módulo ESP32 funciona con 3 voltios, no hay problema en conectar la resistencia de colector del transistor a 5V, porque hay una resistencia en serie de 10K y la corriente será muy baja.

Hay que tener en cuenta que la placa de control de este equipo de aire acondicionado realiza un test cada vez que se da la orden de puesta en marcha, y tarda alrededor de 8 segundos en alimentar el ventilador del evaporador. Al apagar no sucede lo mismo, porque corta la alimentación del ventilador de inmediato. Para gestionar adecuadamente los estados desde el controlador y no producir falsas maniobras, en el firmware se produce una pausa de 10 segundos desde que se da la orden de arranque, antes de comprobar si el ventilador está alimentado. Cuando se da la orden de apagado, esta pausa se reduce a 2 segundos, es el tiempo necesario para mostrar la orden en el display OLED, antes de presentar el estado de funcionamiento del equipo.

Módulo de control ESP32

Es el encargado de gestionar las órdenes de control y mostrar la información en el display OLED, y de forma opcional en otro de 8 dígitos de 7 segmentos. Durante las pruebas, en alguna ocasión se quedó colgado el módulo ESP32 al conectar su alimentación, pero sólo sucedía cuando lo alimentaba con la fuente conmutada. Para solucionar este problema, he colocado un condensador de 10uF en los terminales de entrada de 5V del módulo ESP32.

Interface de salida

Es el encargado de enviar la orden de cambio de estado al evaporador del equipo de aire acondicionado. He utilizado el pin rotulado como TMS, el cual se corresponde con el GPIO14.

MH-ET_LIVE_D1_mini_ESP32_pinout

Este circuito actúa como si se pulsara el botón de encendido/apagado del evaporador, y lo hace mediante un transistor NPN en modo Open-Collector. Si medimos la tensión en el PCB de control del evaporador, entre los dos terminales del pulsador hay 5V de tensión continua y uno de los dos terminales es GND. Así el transistor de este módulo de control puede conectarse en paralelo de forma permanente, sin interferir al funcionamiento normal del equipo. Es importante conectar cada terminal en su sitio, el colector del transistor de salida se conecta con el terminal  del pulsador en el que hemos medido +5V (terminal superior del pulsador).

Al alimentar el circuito de control me encontré con un problema, porque también se encendía el aire acondicionado. Cuando se reinicia el módulo ESP32 aparece una tensión alta en el pin TMS durante algo menos de 1 segundo, el tiempo que tarda el ESP32 en cargar los estados de inicio de sus pines,  pero este tiempo es suficiente para crear una pulsación y provocar un cambo de estado en el evaporador. Para evitar este problema, he añadido un circuito RC en la entrada del transistor de control, compuesto por una resistencia de 100K y un condensador de 100uF. De esta forma es necesario recibir una tensión alta durante 2 segundos como mínimo, para provocar que el transistor empiece a conducir y se genere el cambio de estado. Como es lógico, los impulsos de control del cambio de estado los he tenido que configurar a 3 segundos.

Fuente de alimentación

Este control automático se alimenta con 5 voltios de continua, tensión que podría haber tomado de la placa de control del evaporador, pero es más seguro y fiable montar una fuente de alimentación aparte.

Vista interior del evaporador SAMSUNG

Los 230VAC de la fuente de alimentación se toman de los terminales 1 y 2 del  evaporador, intercalando un pequeño interruptor en serie para poder desconectar por completo el circuito en cualquier momento.

Conexiones con el evaporador

He utilizado una placa aislante, para montar todos los componentes externos con el módulo ESP32. En un lateral está la clema de 4 conexiones, para conectar la alimentación de 5V (2 conexiones), la detección de encencido del evaporador GPIO2 y la salida TMS-GPIO14 para conectar con el transistor 2N2222 que contralará el encendido y apagado del evaporador (pulsador).

Vista interior del control automático

Las otras 3 clemas de 2 conexiones, son los 6 hilos que unen el controlador con el evaporador:

1 – Alimentación del controlador (230VAC)

  • Marrón: FASE
  • Azul: NEUTRO

2 – Tensión de los ventiladores (160VAC)

  • Naranja: FASE
  • Azul: NEUTRO

3 – Pulsador ON/OFF del evaporador

  • Rojo: +5
  • Negro: GND

Firmware del ESP32

El firmware que necesitas para programar el microcontrolador ESP32, lo puedes descargar de forma gratuita desde el siguiente enlace:

https://github.com/J-RPM/Solar-controller-with-ESP32

Caja 3D

Caja 3D, para el controlador del aire acondicionado

El fichero .stl que necesitas para fabricar esta caja, lo puedes descargar desde el siguiente enlace: https://www.thingiverse.com/thing:6118679

¿Dónde fabricar el PCB?

Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos, pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.

Logo: PCBWay

https://pcbway.com/g/r7N1ct

Privacidad-Domótica + Cierre automático

Pérdida de privacidad al instalar dispositivos conectados a Internet (Domótica). Construcción de un temporizador programable, para el cierre automático de una puerta de garaje. Este temporizador está construido con el micro controlador ATTiny, y puede acoplarse con cualquier sistema de control de acceso que disponga de un pulsador de apertura/cierre manual.

Contralador del cierre temporizado para la puerta del garaje

Control remoto

El control remoto de los dispositivos electrónicos facilita enormemente su uso. A nadie se le ocurriría ahora comprar un televisor sin su mando a distancia. Es muy cómodo acceder a una vivienda desde su garaje, abriendo la puerta con un mando a distancia y sin tener que bajar del coche.

Control remoto, para los dispositivos electrónicos

Pero esa comodidad no debería poner en riesgo la seguridad, porque si la puerta del garaje se quedase abierta, de nada serviría la puerta blindada de acceso a la vivienda. En la mayoría de los sistemas de apertura y cierre de puertas se incluye un cierre automático temporizado. Con esto se evita que la puerta se quedase abierta por olvido, o por haber pulsado su mando a distancia de forma accidental.

Domótica en la vivienda

Internet ha revolucionado la fabricación de dispositivos inteligentes, empezando por las cámaras de seguridad y llegando hasta las bombillas de iluminación. La tecnología actual permite la instalación de multitud de dispositivos inteligentes a un precio muy bajo, pudiendo convertir cualquier vivienda convencional en una casa domótica.

Domótica en la vivienda

El problema es que muchos fabricantes obligan a que su control remoto funcione a través de Internet, y la mayoría de ellos lo hacen a través de un servidor externo a la vivienda, normalmente ubicado en China.

Privacidad con la domótica

Sería conveniente que la legislación actual obligara a informar a los clientes de la pérdida de privacidad de cualquier dispositivo inteligente que esté comercializado, igual que lo hacen los fabricantes de tabaco en sus cajetillas.

La seguridad y privacidad de una vivienda, es inversamente proporcional al número de dispositivos inteligentes que contiene

Esquema

Del control de este circuito se encarga el micro controlador ATTiny85, funcionando con su oscilador interno de 16 MHz. El ATTiny monitoriza el estado alto/bajo del pin 3 (PB4) para detectar si la puerta está abierta o cerrada, por lo que será necesario montar un interruptor fin de carrera, que cierre su contacto cuando la puerta esté totalmente abierta. El interruptor que he pintado en el esquema es mecánico, pero podría utilizarse otro de tipo magnético.

Esquema del cierre temporizado para la puerta del garaje

Cada segundo se detecta el estado del pin 3 (PB4) del ATTiny. Cuando pasa de estado alto a bajo se inicia el descuento del temporizador, y el LED lo indica parpadeando muy rápido (5 destellos por segundo). En condiciones de reposo, cuando el circuito está conectado y el pin 3 (PB4) está a nivel alto, el LED hace un parpadeo cada segundo.

El tiempo de retardo se puede configurar entre 1 y 2,5 minutos, mediante la posición de los puentes J1 y J2. El valor del tiempo de retardo se actualiza y configura al alimentar el circuito, y se muestra su estado contando el número de destellos del LED = con 1 destello si el retardo es de  60 segundos, y 4 destellos para 150 segundos.

Cuando la puerta del garaje permanece abierta más tiempo del configurado en el temporizador, el pin 5 (PB0) del ATTiny envía un impulso alto de 1 segundo al transistor y se cierra el contacto del relé. Como los contactos del relé están libres de tensión, se pueden conectar con los 2 hilos del pulsador manual de apertura/cierre de la puerta, sin interferir al circuito controlador del motor.

Aunque la puerta en la que se monte este circuito ya disponga de un interruptor fin de carrera, no podría utilizarse y habría que montar un segundo interruptor, porque este circuito inyecta una tensión de 5V para detectar la posición del pulsador.

Para alimentar este temporizador he utilizado una pequeña fuente conmutada de 230VAC/5VDC. En la caja incorporé un interruptor que corte en la alimentación de entrada,  con el fin de poder anular fácilmente este automatismo de cierre.

Firmware

El firmware que necesitas para programar el ATTiny85, lo puedes descargar de forma gratuita desde el siguiente enlace:

https://github.com/J-RPM/ATTiny-Timer_Garage

Circuito impreso

Para hacer este montaje utilicé el mismo PCB que había encargado a PCBWay para montar el interruptor inteligente. En este circuito impreso están todos los componentes de este circuito, y sólo se tienen que adaptar las conexiones de entrada y salida para convertirlo en un temporizador.

Adaptar el PCB para el temporizador de cierre automático

Revisando las pistas de conexión por delante y por detrás, observamos que en los terminales del filtro de red están los hilos de alimentación, y estos llegan desde la conexión de salida máster del PCB. Para utilizar este PCB, es necesario cortar una pista del circuito impreso y realizar un puente por la cara superior.

¿Dónde fabricar el PCB?

Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos, pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.

Logo: PCBWay

https://pcbway.com/g/r7N1ct

PCB: Interruptor inteligente

Acceso a los GERBER de este PCB

PCB from PCBWay

Link of my shared project

Caja 3D:

Caja 3D, para el temporizador de la puerta del garaje

 

Supervisor solar Fronius

Desde hace unos meses tengo funcionando una instalación solar destinada al autoconsumo de la vivienda.  Como el proceso de instalación fue bastante largo debido a la falta de material, junto con algunos problemas con la empresa instaladora, me dio tiempo a modificar los cableados a mi gusto, y añadir algunos medidores de control en el nuevo cuadro eléctrico antes de que la empresa instaladora diera de alta la instalación.

Instalación del inversor y cuadros eléctricos

Detalles de la instalación solar

La instalación solar es trifásica, compuesta por un inversor Fronius Symo de 7KW  y 20 paneles solares de 380 W. Los paneles están repartidos en las dos caras del tejado, un string con 12 paneles conectados en serie y el otro con 8 paneles.

Distribución de los paneles solares

Conexión con Internet

En una instalación solar es muy importante que el inversor disponga de una conexión estable con Internet, con el fin de controlar su correcto funcionamiento y poder controlar su rendimiento. La mejor solución sería conectar el inversor con un cable Ethernet al router de la vivienda, a no ser que el nivel de la señal WiFi que le llegase al inversor fuera muy bueno.  En mi caso, como la distancia entre el inversor y el router es muy larga, junto con la tirada de los cables de continua  que conectan los paneles con el inversor, añadí un cable RG174 de bajas pérdidas, y conecté una antena doble BIQUAD en el tejado, muy cerca y orientada hacia el router WiFi.

Antena Biquad WiFi

Cuadro eléctrico DC

En el cuadro de continua de la instalación solar, he montado 2 voltímetros para medir la tensión que genera cada string de los paneles solares. Como los medidores de tensión son digitales, es necesario alimentarlos para que funcionen. He utilizado una pequeña fuente de alimentación conmutada de 230 VAC a 5 VDC. La entrada de la fuente de alimentación está conectada a la tensión continua que genera el string de 8 paneles, los cuales producen una tensión continua máxima de 320V, tensión inferior a la máxima permitida por la fuente conmutada. Ambos medidores están conectados directamente con los cables de bajada de los paneles, antes de los fusibles de protección de 15A, pero la fuente y los dos medidores están protegidos con dos fusibles de 100 mA.

Medidores DC

Cuadro eléctrico AC

En el cuadro de alterna he intercalado un relé trifásico de protección, el cual incluye un medidor de corriente y tensión por fase. Este relé contiene un pequeño microprocesador, pudiendo programar los umbrales de tensión y corriente máxima y mínima. Los medidores muestran la tensión y corriente que está generando el inversor en cada fase. Al ser un inversor trifásico, la potencia total generada se reparte de forma proporcional entre las 3 fases. Un inversor solar conectado a la red,  aumenta ligeramente la tensión de salida a medida que aumenta su producción solar. De esta forma no está de más disponer de un voltímetro que muestre en tiempo real  la tensión que hay en cada una de las fases.

Relé de protección trifásico

Smart Meter de Fronius

La conexión entre el inversor Fronius y su medidor Smart Meter utiliza 3 hilos, los dos hilos de datos y el hilo de masa. He utilizado los 5 hilos sobrantes de la manguera para conectar las 4 salidas GPIO del inversor y un hilo con la salida +12V. Así puedo controlar el encendido de los 4 indicadores LED que he montado junto al medidor.

Configuración GPIO Fronius

Las 4 salidas GPIO del inversor son Open-Collector  y las he configurado para que se cierren cuando se superen 4 umbrales de potencia. Los 3 primeros indicadores LED los he asociado a la producción solar: 1, 2 y 3 kW y el tercer indicador, el LED rojo, se enciende cuando exista un excedente superior a 1 kW. Es decir, cuando se esté vertiendo a la red una potencia superior a 1KW.

Smart Meter de Fronius

Reloj & Inverter

Para mostrar los datos de potencia del inversor he utilizado el reloj de precisión que hice con el módulo ESP32, el cual mostraba la fecha y hora en un display de 7 segmentos. Al diseño original le incorporé los avisos por voz, quedando la versión 1.46. A partir de ahí he ido depurando el código hasta optimizar al máximo las funcionalidades del nuevo display, llegando así a la versión que ahora publico, v1.51.

Esquema: Reloj-Inverter

Con la primera versión del reloj, sólo se necesitaba una conexión a Internet al conectar la alimentación, para que pudiera conectarse con el servidor NTP de Internet y sincronizara la fecha y hora local del ESP32. Después el display podía funcionar de forma indefinida mostrando la hora del módulo ESP32, y ya no importaba si se perdía la conexión WiFi.

Reloj de precisión, 8 x 7 segmentos LED

Ahora sí  es imprescindible mantener la conexión WiFi en todo momento,  para permitir la conexión con el inversor Fronius y poder mostrar los datos en el display. Por ese motivo ahora se chequea cada 30 segundos la conexión WiFi, y si el módulo perdiera en algún momento la conexión, automáticamente se reiniciaría y no volvería a funcionar hasta que se conectase de nuevo con el servidor NTP de Internet, y sincronizara de nuevo el reloj del ESP32.

Al igual que en la versión original, con este código también se puede mostrar la información en un display de 7 segmentos y otro OLED de forma simultánea. Así es posible hacer diferentes versiones utilizando el mismo firmware. Actualmente utilizo esta versión de 3 formas diferentes:

  1. Con un display de 7 segmentos y el módulo de voz.
  2. Con un display de 7 segmentos,  sin el módulo de voz y acoplando todo al reloj de pared de esfera rotante. En este caso el reloj del ESP32 también resincroniza la fecha y hora del reloj de esfera rotante. Lo hace a través del puerto serie y sincronizando la fecha y hora de forma alterna, entre los segundos 20 y 50 de cada minuto.
  3. Versión reducida, utilizando sólo un display OLED para mostrar los datos.

Medidas de potencia en el display

El módulo ESP32 interroga al inversor cada 3 segundos, así las medidas de potencia que muestra el display se actualizarán cada 3 segundos. El módulo ESP32 se puede configurar mediante su servidor Web desde cualquier dispositivo móvil, permitiendo así que muestre en su display  la información que más nos interese. Por defecto, entre los segundos 58 y 2 de cada minuto, el display de 7 segmentos siempre mostrará la hora, y cada 30 segundos comprobará la conexión WiFi. Aprovechando esta ventana de tiempo,  el display podría  mostrar la información de la fecha en caso de que estuviese habilitada su presentación. Si el módulo ESP32 está configurado para mostrar alguno de los valores de potencia del inversor, cada 30 segundos chequeará si el inversor presenta algún error o no ha respondido a la última consulta, para mostrar ese error si existe.

En condiciones normales durante el día, el display no debería mostrar ningún error, sólo de forma ocasional podría mostrar algún error de conexión, debido a la colisión en el tiempo de varios dispositivos que consultan al mismo tiempo.  En mi caso, estoy consultando los datos del inversor Fronius de forma local desde 4 equipos diferentes: la Raspberry y desde los 3 displays que tengo funcionando.

Cuando el display muestra alguno de los valores de potencia del inversor, la letra que indica el valor de potencia puede aparecer fija, o parpadeando si existe un excedente de potencia superior a 1kW.

Leer los datos del inversor Fronius

Los datos del inversor Fronius se pueden obtener de dos formas diferentes, mediante una conexión TCP utilizando el protocolo ModBus,  o realizando las consultas definidas en  la API de Fronius.  Yo he utilizado ambos métodos para obtener los datos más relevantes del inversor,  y luego almacenarlos  en una Raspberry PI que tengo conectada directamente en el router. Así dispongo de un archivo histórico muy completo, pudiendo generar gráficas y comprobar el rendimiento de la instalación en cualquier momento.

Para la consulta de los valores de potencia a través del módulo ESP32, he utilizado dos consultas de la API de Fronius. El inversor responderá a las consultas de la API enviando los datos formateados en un archivo JSON. Para facilitar la lectura de las respuestas que envía el inversor,  he utilizado la librería: ArduinoJson.h

Potencias del inversor

Esta es la consulta que realiza el módulo ESP32, para obtener los datos de potencia (la IP es la del inversor Fronius):

http://192.168.1.112/solar_api/v1/GetPowerFlowRealtimeData.fcgi

Potencias Fronius

Alarmas del Inversor

Esta es la consulta que realiza el módulo ESP32, cuando el inversor no genera potencia solar o su «StatusCode»  es diferente a 7 (la IP es la del inversor Fronius):

http://192.168.1.112/solar_api/v1/GetInverterInfo.cgi

Alarmas Fronius

A través de esta consulta se obtiene el estado de alarma del inversor. Durante la noche, podrían a parecer los códigos de error 306 o 307

  • 307: El valor de tensión DC que generan los paneles es demasiado bajo para arrancar el inversor.
  • 306: La tensión DC de los paneles solares es suficiente, pero falta potencia para poder arrancar el inversor.
  • Status:2 Error:0  >>> Cuando la consulta coincide en el momento que el inversor está chequeando los valores de tensión/potencia de los paneles solares.

Descargas del firmware

ESP32_Clock-Fronius

Reloj LED de pared

Reloj LED de pared, compatible con ESP32 (Reloj & Inverter):

Reloj_V6.1_(22MHz_15x15).HEX

¿Necesitas fabricar un circuito impreso?

Actualmente hay muchas empresas que se dedican a fabricar circuitos impresos (PCB), pero no en todas podemos conseguir pequeñas tiradas a buen precio. Por suerte, ahora disponemos de Internet y es mucho más fácil que antes. Podemos buscar empresas en cualquier parte del mundo, y es más fácil encontrar un fabricante que haga nuestros prototipos (PCB) a buen precio. Una de las empresas más grandes del sector es PCBWay.

Logo: PCBWay

https://www.pcbway.es/