Transmisor DCF77 con ESP32

Construcción de un pequeño transmisor de 77,5 KHz, para poder poner en hora los relojes DCF77 que no reciban correctamente la señal del transmisor de Alemania. Este transmisor es portátil, funciona con una batería de 3,7V y es muy preciso, ya que toma la información de la fecha y hora sincronizando previamente su reloj a través de un servidor NTP. Este transmisor está construído a partir del módulo ESP32, acoplando un pequeño display OLED de 64×48 pixel y 0,66 pulgadas.

ESP32 + OLED

Sistemas de sincronización horaria

Actualmente existen muchos métodos para mantener la hora exacta en cualquier dispositivo electrónico, ya sea través de un receptor GPS, o la recepción de la señales horarias en onda larga que se emiten desde diferentes países: 77,5 kHz desde Frankfurt en Alemania, 40 y 60 kHz desde Japón, 60 KHz desde Colorado en EE.UU, 66,66 kHz desde Taldom en Rusia, 68,5 kHz desde Lington en China, 60 kHz desde Anthorn en Reino Unido, o 162 kHz desde Allouis en Francia.

Cobertura DCF77

La mayoría de los relojes sincronizados por radio que se venden en Europa, utilizan la recepción de las señales horarias que envía el transmisor DCF77 desde Frankfurt, en Alemania.  Como sucede con cualquier transmisión por radio en Onda Larga, su cobertura varía en función de la distancia, climatología y el umbral de ruido electromagnético existente en el punto de recepción.

Con el fin de poder utilizar algunos relojes DCF77 que no disponen de ajuste de hora manual, hace algo más de un año publiqué una información para construir un pequeño transmisor que simulara la emisión DCF77. Este transmisor constaba de dos partes: una hardware construida con Arduino, junto con un software que funcionaba bajo Windows, encargado de suministrar los códigos de tiempo al transmisor.

Transmisor experimental DCF77

Tiempo UNIX

Tiempo Unix  se define como la cantidad de segundos transcurridos desde la medianoche UTC del 1 de enero de 1970, sin contar segundos intercalares. El tiempo que representa es UTC, pero no tiene forma de representar segundos bisiestos de UTC (por ejemplo, 1998-12-31 23:59:60).

Cualquier dispositivo que disponga de una conexión a Internet, podría sincronizar su fecha y hora con gran precisión en cuestión de segundos. Sólo es necesario  conectarse a un servidor NTP para recibir el código de tiempo, y luego introducir los comandos en una librería para que nos entregue la fecha y hora local en la zona que queramos .

D1 mini ESP32

Para hacer este nuevo transmisor DCF77, he utilizado una placa ESP32 y un pequeño display OLED de 64×48 pixel, 0,66 pulgadas. El módulo ESP32 dispone de todo lo se necesita para hacer un transmisor DCF77  completo.

Bloques ESP32
ESP32
  • Procesador de 32 bit, que permite generar la frecuencia de 77,5 kHz con mucha más precisión que Arduino.
  • Reloj en tiempo real (RTC) para gestionar el envío de los códigos de tiempo DCF77
  • Interface WiFi, para conectar a un servidor NTP y sincronizar la fecha y hora con gran precisión.

LIVE D1 mini ESP32

El módulo ESP32 es capaz de sincronizar cualquier reloj DCF77 por si solo, incluso se podría prescindir del display. Sólo sería necesario conectar un trozo de cable en el pin IO25 (antena) y acercarlo al reloj, aunque su alcance sería muy limitado.

MiniKit ES32

HW-699 0.66″ OLED display (64×48)

Con este display, además de mostrar la fecha y hora, es posible saber qué está haciendo el transmisor DCF77 en cada momento. El display  HW-699 se comunica con el módulo ESP32 mediante su interface I2C, y es posible configurarlo con dos direcciones diferentes (0x3C / 0x3D). Por defecto utiliza la dirección 0x3C, y así es como lo he utilizado para hacer este montaje.

Display OLED 0,66"

Módulo ESP32, dentro del transmisor DCF77

Aprovechando que ya tenía un transmisor DCF77 con Arduino, he montado dentro de su caja el módulo ESP32, junto con el display OLED. De esta manera aprovecho además de la caja su fuente de alimentación (batería 3,7V + StepUp 5V + módulo de carga), los indicaciones LED y el amplificador de potencia junto con su bobina de antena.

Esquema: Transmisor DCF77

Firmware:

Repositorio GitHub:
https://github.com/J-RPM/DCF77-Transmitter

El archivo que necesitas para programar el ATmega328P, lo puedes descargar de forma gratuita desde el siguiente enlace: TX_DCF77.rar

El archivo que necesitas para programar el ESP32, lo puedes descargar de forma gratuita desde el siguiente enlace: DFC77_ESP32_JR.rar

Soporte 3D (ESP32+Display)

Soporte OLED

El fichero .stl que necesitas para fabricar esta soporte, lo puedes descargar desde el siguiente enlace: DCF77 transmitter with ESP32

¿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/

Control-Medidor de Ozono en el aire, con Arduino

Construcción de un medidor de ozono en el aire con Arduino. Al mismo tiempo, este medidor se encargará de controlar el encendido y apagado del equipo generador de ozono, manteniendo así un nivel de concentración prefijado, dentro de un compartimento destinado a la desinfección de objetos. El sensor de gas ozono tipo MQ-131, de baja concentración, permite medir concentraciones de ozono en el aire comprendidas entre 0,01 y 1 ppm.

Medidor de la concentración de ozono en el aire

 

Concentración de Ozono en el aire

El ozono es muy bueno para desinfectar locales, ropa de trabajo, mascarillas y también alimentos. Debido a la situación actual, se están vendiendo generadores de ozono de todo tipo, y muchos de ellos orientados al uso doméstico.  El ozono, al igual que cualquier producto desinfectante, hay que utilizarlo con precaución. Es importante destacar que el ozono es un gas tóxico para los pulmones. Los generadores de ozono hay que utilizarlos en sitios cerrados y sin gente dentro.

Concentración máxima de ozono en el aire durante 8 horas

El problema que tiene el ozono frente a otros productos desinfectantes, es que es muy difícil de dosificar. El ozono es un gas muy inestable y no se puede envasar, debido a que las moléculas del ozono se recombinan muy rápidamente, convirtiéndose de nuevo en oxígeno. Cuando se utiliza el ozono como desinfectante, lo más importante es calcular el tiempo que debería estar funcionando el equipo generador. Ese tiempo dependerá del valor de concentración de ozono que necesitemos alcanzar (ppm), y varía en función de los metros cúbicos desinfectar (volumen) y de la potencia del generador.

Desinfectantes

Teniendo en cuenta que la producción de ozono de un generador varía en función de la calidad del aire (temperatura, humedad…) y además depende del rendimiento de su elemento reactor, el cual se envejece y no es muy lineal; la única manera de calcular ese tiempo sería mediante un equipo de medida, que a su vez controlara el encendido y apagado del equipo generador de ozono. Este interruptor funcionaría como el termostato de una calefacción, conectando y desconectando el generador en función de la concentración de ozono en el aire que se quisiera alcanzar.

Sensores de gas MQ

MQ  es una familia de sensores de gas, orientados a medir diferentes compuestos químicos dependiendo del modelo de sensor que se utilice. Los sensores MQ están compuestos por un elemento semiconductor (óxidos metálicos) sensible a cada tipo de gas, el cuál varía su resistencia en función de la concentración de gas en el aire.

Sensores de gas de la serie MQ

Estabilidad y Precisión de los sensores MQ

Para obtener una mayor estabilidad, los sensores MQ incorporan una resistencia calefactora, lo cual supone un consumo extra y una falta de precisión en las medidas que se realicen al poco tiempo de alimentar el sensor. Otro punto importante a considerar, es que cada modelo de sensor MQ tienen alta sensibilidad a un gas específico, pero en menor medida también reaccionan o otros gases, y esto provoca una mayor imprecisión. Por ejemplo, el sensor de ozono MQ-131 tiene una alta sensibilidad al ozono, pero también es sensible a otros gases oxidantes como el cloro y el dióxido de nitrógeno.

Módulo sensor de gas ozono MQ-131

Para obtener una precisión mínima, es necesario calibrar cada sensor, y almacenar su valor de resistencia sin presencia de gas, dentro del firmware encargado de calcular las medidas. La precisión de estos sensores depende muchos factores internos y externos difíciles de controlar (temperatura de trabajo, humedad, envejecimiento del sensor), y nunca deberían utilizarse como elemento de control en lugares críticos.

Detalles del módulo sensor de gas ozono MQ-131

Con la ayuda de un controlador programado, por ejemplo con Arduino, los sensores MQ los podemos utilizar para medir la concentración de un gas determinado, dependiendo del modelo de sensor que elijamos.  Los sensores de gas MQ pueden comprarse sueltos, pero es muy común conseguirlos ya montados en un pequeño PCB, en el cuál se incluye un circuito comparador que nos proporciona una salida digital extra, además de la propia salida analógica del sensor. A través de la resistencia variable (trimmer) que incluyen estos circuitos , podríamos prefijar un umbral máximo de gas, y disparar una alarma.

Esquema genérico, para utilizar con los sensores de tipo MQ

Medidor-Controlador de Ozono

En el caso del sensor MQ-131, muy sensible al gas Ozono, mediante esta salida digital podríamos controlar el encendido y apagado de un generador de ozono. Esto sería muy útil para mantener un nivel alto de ozono dentro de un compartimento cerrado (cabina, caja, etc.) con el fin de desinfectar objetos personales, utensilios de trabajo, ropa, etc.

Esquema del Medidor-Controlador de ozono.

Descargar el firmware

El firmware que necesitas para programar el ATMEGA328P (Arduino UNO),  los puedes descargar desde el siguiente enlace:  MQ-131_JR.rar

Cubierta del sensor, impresa en 3D

La cubierta de protección del sensor gas la he fabricado con PLA. El PCB del sensor se fija a esta cubierta sin tornillos,  calentando con un soldador los 4 resaltes de PLA que sobresalen por los orificios del PCB, una vez encajado en la cubierta.

Carcasa 3D, para el sensor de gas MQ

Los archivos que necesitas para imprimir esta cubierta de protección, los puedes descargar desde el siguiente enlace: Cover for MQ gas sensor

¿Necesitas fabricar un 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. Hasta un 30% de descuento para PCBs especiales, con fabricación en 24 horas.

Logo: PCBWay
Ahora el servicio de montaje en PCBWay por tan solo 30$, con tiempo de entrega rápido: https://www.pcbway.es/

 

 

 

 

Avisador para Smartphone

Construcción de un sencillo avisador acústico/luminoso, para amplificar las llamadas y avisos de un teléfono móvil. Este circuito entrega en una clavija la tensión de red cada vez que suena el teléfono, y podría suministrar hasta un máximo de 10 amperios.

El escuchar las llamadas de un teléfono móvil,  es un problema muy común en las personas de avanzada edad. La presbiacusia, o pérdida de audición, ocurre en la mayoría de las personas al envejecer, aunque también sucede con personas más jóvenes, cuando están expuestas a sonidos demasiado fuertes durante mucho tiempo.

Deficiencia auditivaPara teléfonos fijos existen muchos avisadores de tipo comercial… timbres de potencia, avisadores luminosos para sordos, etc. Estos dispositivos normalmente van conectados a la roseta del propio teléfono, aunque antiguamente existían algunos dispositivos que utilizaban una bobina captadora con una ventosa, que se pegaba en las proximidades del timbre del teléfono. Es complicado hacer algo parecido y fiable para un teléfono móvil, porque hay mucha variedad de dispositivos, y además la tecnología va cambiando. Mi idea es buscar algo que sirva para cualquier teléfono móvil de última generación, y sin tener que conectar nada al teléfono.

Posibles opciones

Una forma sencilla de hacerlo, sería activando el vibrador del teléfono con las llamadas; y detectar esa vibración para activar un timbre o una luz auxiliar. Hice bastantes pruebas con diferentes sensores, y al final lo descarté por ser poco fiable. El sistema de vibración de algunos dispositivos es muy leve, y al aumentar la sensibilidad del circuito se producen falsos avisos debido a las vibraciones del propio entorno.

Sensores de vibración

Buscando un poco en el Play Store, encontré muchas aplicaciones que permiten encender la luz/linterna trasera del teléfono cuando reciben llamadas o mensajes en redes sociales… y además todo esto es configurable!

Alert Flash en PlayStore
Pensando en uno de los últimos montajes que realicé, y con el fin de aprovechar los circuitos impresos que ya tenía, decidí construir una base de carga para el teléfono móvil, en la que se incluye la detección del encendido de la luz/linterna del móvil.

Interruptor inteligente

Funcionamiento del avisador

Cada vez que se encienda la luz del móvil, el circuito suministrará una tensión de red con un consumo máximo de 10A. Así en esta salida se podría conectar un timbre de potencia, una luz, o cualquier cosa que se nos ocurra.

Esquema: Avisador para Smartphone

Además, este circuito dispone un LED indicador de estado, que nos permitirá saber si ha habido alguna llamada o notificación desde que dejamos el teléfono móvil apoyado en la base.

El archivo que necesitas para programar el ATtiny85, lo puedes descargar de forma gratuita desde el siguiente enlace: Alert_Mobile.rar

Caja impresa en 3D

La caja la he fabricado en PLA, a medida del teléfono Xiaomi Mi A1.

Caja 3D: Avisador para Smartphone

Los archivos que necesitas para imprimir esta caja,los puedes descargar desde el siguiente enlace:

Call signaling for Smartphone

¿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. Hasta un 30% de descuento para PCBs especiales, con fabricación en 24 horas.

Logo: PCBWay

https://www.pcbway.es/

Ahora el servicio de montaje en PCBWay por 30$, con envío GRATUITO mundial:
https://www.pcbway.es/quotesmt.aspx

 

Transmisor experimental DCF77

Construcción de un sencillo transmisor de 77,5 KHz, para poder poner en hora los relojes DCF77 que no reciban correctamente la señal del transmisor de Alemania. DCF77 es una estación de radio situada en Alemania, que transmite en onda larga (LW). Comenzó a funcionar como una estación de frecuencia estándar el 1 de enero de 1959, y a partir de junio de 1973 se incorporó en la transmisión la información de la fecha y la hora. La señal DCF77 utiliza la codificación de cambio de amplitud para transmitir información de tiempo, codificada digitalmente al reducir la amplitud de la portadora hasta un 15% de su nivel nominal durante 0,1 o 0,2 segundos, al comienzo de cada segundo. Una reducción de 0,1 segundos indica un 0 binario; y una reducción de 0,2 segundos indica un 1 binario.

En hora con DCF77

Diseño de un transmisor DCF77

A pesar de la gran precisión en frecuencia y fase con la que se transmiten las señales DCF77 desde el transmisor de Alemania, los relojes de uso doméstico no comprueban la información que reciben con tanta precisión.

Modulación en amplitud y fase del transmisor DCF77

Un reloj DCF77 sólo necesita recibir una portadora de 77,5 KHz, con amplitud variable al ritmo de cada segundo y la codificación de tiempo adecuada. Si colocamos un pequeño transmisor de 77,5 KHz en las proximidades de un reloj DCF77, la portadora podría tener una deriva en frecuencia de +/-300 Hz, no incluir la modulación en fase, y aumentar la profundidad de modulación en amplitud hasta el 100%. Así es posible transmitir la información DCF77 con una modulación ASK.

Modulación ASK

Todo esto facilita mucho la construcción de un transmisor experimental, que nos permita actualizar la hora de los relojes DCF77 que no estén situados en un lugar favorable para recibir las señales horarias desde el transmisor de Alemania.

Cobertura DCF77

Otra ventaja de disponer de un pequeño transmisor DCF77, es que podríamos utilizar estos relojes en lugares en los que nunca podrían funcionar… en América, Asia, etc.

Transmisor DCF77

Desde hace años estoy utilizando pequeños transmisores para sincronizar relojes DCF77, pero los dos transmisores que tengo están diseñados con algunos componentes electrónicos que actualmente son difíciles de encontrar. Por ese motivo voy a construir un nuevo transmisor DCF77, barato y muy sencillo de construir. El nuevo transmisor está construido a partir del microprocesador ATmega328P, utilizado en las placas de desarrollo Arduino UNO.

Esquema: Transmisor DCF77

El transmisor se encarga de generar la frecuencia portadora (77,5 KHz) y controlar su modulación, interrumpiendo la señal de RF (ASK). Con el fin de facilitar el transporte y ubicación en el lugar más favorable al reloj o relojes a sincronizar, el transmisor es de baja potencia y está alimentado con una batería de Li-ion (3,7V).

Interface: USB-RS232
Interface: USB-RS232

La codificación DCF77 la genera una aplicación para PC, y la envía al transmisor mediante el hilo RTS de un puerto serie. Actualmente ningún PC dispone de un puerto serie (DB9), pero es muy fácil y barato conseguir un interface USB-RS232.

 

(Actualizado: Septiembre 2020)

El archivo que necesitas para programar el ATmega328P, lo puedes descargar de forma gratuita desde el siguiente enlace: TX_DCF77.rar

Software de control DCF77

Con el fin de poder programar y controlar el reloj LED de esfera rotante, he creado una aplicación para Windows (DCF77.exe),  la cuál también incluye la funcionalidad de generar  las señales DCF77. El software DCF77.exe puede controlar de forma simultánea el reloj LED de esfera rotante y el transmisor DCF77.

El software DCF77.exe lo puedes descargar de forma gratuita y con seguridad desde el siguiente enlace:  Install_DCF77.rar

New version in english: Install_DCF77_eng.rar

Caja para el transmisor

La caja se considera como un complemento de cualquier montaje electrónico, y además suele ser lo más laborioso de realizar, debido a su mecanizado. Actualmente es más fácil conseguir una caja a medida y mecanizada a buen precio, utilizando una impresora 3D.  El trabajo más laborioso es el realizar el diseño, pero una vez hecho, se pueden hacer todas las cajas que quieras sin la necesidad de perder más tiempo en realizar sus mecanizados.

Caja 3D: Transmisor DCF77

Los ficheros que necesitas para fabricar esta caja, los puedes descargar desde el siguiente enlace:

DCF77 experimental transmitter

¿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://www.pcbway.es/

Ahora el servicio de montaje en PCBWay por $ 30, con envío GRATUITO mundial:
https://www.pcbway.es/quotesmt.aspx

PCB: TX_DCF77

Acceso a los GERBER de este PCB

PCB from PCBWay

Link of my shared project

 

Interruptor inteligente

Diseño y construcción de un interruptor inteligente, capaz de cortar la alimentación de todos los dispositivos conectados en una regleta de enchufes. El circuito detecta el consumo en una toma de red (Master), y desconecta todo (incluido el propio controlador) cuando se apaga el dispositivo conectado a la toma ‘Master’. Así en reposo (Standby), el consumo total de todo el conjunto será nulo.

Regletas de RED inteligentes

Buscando un poco por Internet, podemos encontrar regletas de alimentación inteligentes. La mayoría de ellas nos permiten conectar y desconectar la alimentación de todos los enchufes desde un dispositivo móvil, programar la hora de encendido y apagado, incluso medir el consumo y  calcular su coste.

Regletas inteligentes en Internet

El uso de regletas inteligentes podría suponer un gran ahorro energético, pero hay que tener en cuenta que estas regletas de por sí ya incorporan un consumo extra… y su circuito de control consume energía las 24 horas del día.

Interruptor inteligente

La idea de este montaje, es la de conseguir el apagado automático de una serie de dispositivos, al detectar el apagado del equipo principal (Master). Por ejemplo, si conectamos a la toma principal  de este circuito la CPU de nuestro PC,  y el resto de dispositivos (monitor, impresora, escáner, etc)  a la toma auxiliar; al desconectar la CPU se desconectaría la alimentación de todo el conjunto… incluso la del propio circuito de control. De esta manera no quedaría ningún equipo consumiendo en modo ‘Standby’, y el consumo total sería nulo.

Interruptor inteligente montado

A continuación se muestra el esquema del circuito de control, encargado de cortar la alimentación en todas las tomas de red, cuando detecte un caída de consumo en la toma ‘Master’.

Esquema: Interruptor inteligente

Las tensiones que obtendremos como muestra en la entrada del ATtiny cambiarán dependiendo de la inductancia y características del transformador que utilicemos (filtro EMI), además del tipo de carga que conectemos en la toma ‘Master’ (carga reactiva o lineal).

Principio de funcionamiento

El circuito está basado en la transferencia de tensión que aporta una de los dos  bobinas de un filtro EMI, al paso de la corriente de RED por el otro devanado.  Este montaje funciona como un transformador de corriente, entregando una tensión en el devanado secundario, proporcional a la corriente que circule por el primario. En este caso, la transferencia de tensión no es lineal con la potencia, pues dependerá del tipo de carga que conectemos en la toma ‘Master’. Si la carga se comporta como una resistencia pura,  la transferencia de tensión será menor que si tuviera una componente reactiva.

Medidas de tensión con diferentes cargas

El circuito detector de umbral está construido con Arduino, utilizando un ATtiny 85. Este pequeño micro controlador tiene sólo 8 pines y puede funcionar con un oscilador interno, lo que permite hacer uso de casi todos sus terminales.

Calibración y ajuste de los umbrales

En este montaje se han dedicado dos pines del ATtiny para poder configurar hasta 4 umbrales distintos de funcionamiento. Así podemos elegir el umbral de detección más adecuado al equipo que vayamos a conectar en la toma ‘Master’. Como es lógico suponer, los 4 umbrales los podremos calibrar y modificar con Arduino, antes de programar el ATtiny.

Ajuste y calibrado de los umbrales

Para facilitar el ajuste de los umbrales y la calibración de la escala, podemos cargar el código ‘Regleta_TEST.ino’ que se adjunta en la descarga, y utilizar la placa de desarrollo Arduino UNO. Para realizar este ajuste, colocamos un potenciómetro de 10K entre el positivo y negativo de la fuente de 5V, y conectamos el cursor del potenciómetro con la entrada A2 de Arduino UNO. El proceso a seguir para la calibración de la escala y fijación de los umbrales. se explica en el video final.

Los archivos que necesitas para programar el Arduino UNO y el ATtiny, lo puedes descargar de forma gratuita desde el siguiente enlace:

Interruptor_I.rar

¿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://www.pcbway.es/

PCB: Interruptor inteligente

 

Acceso a los GERBER de este PCB

PCB from PCBWay

Link of my shared project

Descarga del ficheros 3D:

Intelligent switch

Diseño 3D