Hace casi dos años hice un transmisor de DCF77 con un módulo ESP32, y lo acoplé dentro de otro transmisor que había hecho con anterioridad con Arduino. Ahora voy a montar otra versión del mismo transmisor DCF77, reduciendo al mínimo su tamaño y sin eliminar sus prestaciones.
Esquema
En la versión 2 del transmisor DCF77 con ESP32, he quitado el segundo controlador de Arduino, ya que sólo servía para complementar la información que muestra el display OLED. Pero he utilizado un trozo del PCB de ese transmisor, el que contiene los componentes del amplificador, y mediante 3 hilos lo he conectado con el módulo ESP32: los 2 hilos de alimentación y el hilo de salida DCF77 ya modulado. La salida de los impulsos DCF77 no se utiliza, pero se puede utilizar para hacer medidas.
Para comprobar que se está transmitiendo la señal por el amplificador, he montado un LED SMD en serie con una resistencia limitadora, en paralelo con el condensador de 1nF del circuito resonante de salida, la antena transmisora. La resistencia limitadora del LED la he puesto bastante alta, de 3k9, con el fin de que no se reduzca el nivel de RF radiado.
Nivel de salida DCF77
Con el fin de comprobar el correcto funcionamiento del amplificador de salida, y medir el nivel de tensión pico a pico de la portadora DCF77 (77,5 kHz), he conectado las puntas del osciloscopio en paralelo con la bobina del amplificador (antena). La punta de referencia del osciloscopio (GND) la he conectado a la toma de la bobina que va conectada a la alimentación de +5V, ya que para la señal de RF el +5 es lo mismo que el GND. Así en las medidas del osciloscopio, la referencia GND que muestre se corresponderá con la tensión +5 del amplificador.
El osciloscopio debería funcionar con batería, o estar aislado de la tensión de la red eléctrica
Analizando la gráfica que muestra el osciloscopio, la amplitud de la señal DCF77 ocupa 3 cuadros X 5V = 15Vpp. Se puede observar que desde el punto de referencia del osciloscopio (1→ de la izquierda) hacia abajo hay un cuadro = 5V, justo la tensión a la que está alimentado el amplificador. Al estar funcionando el amplificador en Clase C (se polariza con la señal de RF) el transistor deja de conducir cada segundo durante 100 o 200ms, dependiendo si se transmite un CERO o UNO lógico. En la imagen se muestran dos segundos consecutivos (10 divisiones de 200ms), con dos intervalos sin portadora de 100ms = dos ceros lógicos. La medida que muestra a la derecha la pantalla del osciloscopio de 10V, es la tensión ‘extra’ que produce la bobina de 4mH junto con el condensador de 1nF al estar en resonancia a la frecuencia de 77,5 kHz.
Firmware
Repositorio GitHub:
https://github.com/J-RPM/DCF77-Transmitter
El archivo que necesitas para programar el ESP32, lo puedes descargar de forma gratuita desde el siguiente enlace: DFC77_ESP32_JR.rar
Caja 3D (ESP32+Display)
El fichero .stl que necesitas para fabricar esta caja, lo puedes descargar desde el siguiente enlace: DCF77 transmitter with ESP32 (v2)
¿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.
Me encanta tu proyecto pero no encuentro la antena. Supongo que has usado la bobina de un tweeter. En aliexpress veo varias pero como mucho detallan los Ohm no más mH. ¿Sabes algún sitio donde pueda encontrarla?
AliExpress:
8,56€ | Bobina inductora de inducción, lector de tarjetas, 10 piezas, 4.26MH, 12x17x2 Mm
https://a.aliexpress.com/_EIkm4L3
Muchas gracias. En cuanto me lleguen las pruebo y diseño la placa.
Ayer compilé tu versión con el Core ESP32 2.0.14 y con un cable en el pin 25 sincronicé un reloj del Lidl sin problemas.
Quiero modificar el firmware que has hecho para que sea compatible con el nuevo Core ESP32 3.x (han cambiado cosas y no compila). También quiero modificar los datos WiFi y que no vayan harcodeados en el firmware. Tengo que darle una vuelta al cron y a la zona horaria, tampoco me gustan que vayan harcodeados.
Es un proyecto genial y modificando estas cosas conseguirías que llegase a mucha más gente sin conocimientos técnicos. (Es sólo una opinión).
Hola Fernando, me interesan esas reformas que comentas, y ya que le vas a meter mano hay un detalle que siempre me intereso, se trata de añadirle la posibilidad de sincronizar la hora cada x tiempo, porque con el tiempo hay que apagarlo y encenderlo para que tome la hora correcta.
Perdón, me confundí y pensé que te estabas refiriendo al proyecto del reloj pacman y no al DCF77, olvida mi anterior comentario.
Al contrario de lo que piensas, este firmware lo hize lo más sencillo posible, con el fin de que cualquiera que sepa programar el ESP32 lo pudiera montar. Editando tan solo dos líneas del firmware puedes configurar la red WiFi y la zona horaria. Como tampoco tiene sentido mantener el transmisor encendido las 24 horas del día, porque su finalidad principal es para sincronizar los relojes DCF77 de forma inmediata cuando hay un cambio horario, la hora se sincroniza sólo al principio.
Por otra parte, hice más proyectos con el ESP32 en los que creí conveniente incorporar algunas cosas de las que comentas, por ejemplo aquí: https://j-rpm.com/2021/03/reloj-pac-man-con-esp32-utf-8/
Estaba pensando en usuarios sin perfil técnico. Al que le entregas este dispositivo ya montado y programado para sincronizar sus relojes y tienen que configurar su red WiFi, su zona horaria o el crontab.
Imaginate que dentro de 5 años cambias de WiFi, no veo práctico reflashear el ESP32 por un cambio de credenciales WiFi. Tendrías que mantener las versiones de las librerías porque puede que hayan cambiado y no te compiles con las nuevas. Como ocurre ahora mismo.
Lo de sincronizar los relojes solo con los cambios de hora, pues si te da igual las desviaciones tras varios meses…Tengo relojes que se sincronizan 4 veces al día. La gracia de este sistema es tenerlos con la hora exacta.
Lo de la zona horaria, si es verdad que no cambia a menos que cambies de zona.
Hacer todo esto sin tener que reflashear el ESP, accediendo al ESP con un móvil o un ordenador, creo que es una gran ventaja. Y no afectaría a la señal DCF77 porque solo entraría en modo configuración al arrancar el ESP32. Después apagaria su WiFi.
Hola Fernando.
Este firmware lo hice pensando en los aficionados a la electrónica que buscan la manera de poner en hora un reloj DCF77, de forma ocasional y sencilla. Tanto este firmware como todos los que he publicado pueden ser modificados, ampliando sus prestaciones, o simplemente para adaptarlos a los gustos de cada ususario. Mi intención no es desarrollar un firmware comercial. Cualquier fabricante o aficionado puede copiar el firmware para fabricar y vender. No me importa dar la idea, pero no voy hacer todo el trabajo gratis. Por eso no me gusta hacer proyectos a medida… ya he pasado por ahí.
Saludos,
José Ramón
Hola
Mirando su proyecto me he liado a hacer emisores de DCF77.
He realizado varios:
El primero me costó bastante, está basado en ATMEGA328 (arduino)
http://seta43.blogspot.com/2024/10/dcf77-generador-de-senal-signal.html
El segundo con el ESP32.
http://seta43.blogspot.com/2024/10/dcf77-generador-de-senal-signal_10.html
Y el último con el ESP-12 , es un ESP8266 . Con este me aclaré completamente, prueba error.
http://seta43.blogspot.com/2024/10/dcf77-generador-de-senal-signal_13.html
Un saludo
JUAN
Hola Juan.
¡Muy buenos tus transmisores!
Aquí puedes ver otro transmisor que hice con un ESP32: https://j-rpm.com/2020/09/transmisor-dcf77-con-esp32/
Saludos,
José Ramón
Can you share the 4mH coil antenna design?
I bought the 4mH coil on AliExpress: https://es.aliexpress.com/item/32511377791.html
Yo lo tengo sin amplificador y va perfecto, el único comentario que se me ocurre es que supongo tienes las alimentaciones del esp32 y osciloscopio aisladas de tierra, de lo contrario te cargas el esp32 al conectar la tierra del osciloscopio a su +5v
Se me olvidó comentar ese detalle, pero lo acabo de hacer. Gracias!