DCF77
Generador de señal
Signal generator
LOLIN32 LITE y SSD1306 con I2C
Generador de señal
Signal generator
LOLIN32 LITE y SSD1306 con I2C
Después de haber realizado el Generador de DCF77 con el arduino, busque en internet algún montaje similar con el ESP32.
Encontré la página https://github.com/SensorsIot/DCF77-Transmitter-for-ESP32.
Intente montar el circuito y compilarlo con la última versión del compilador ESP32, me salio un error en la línea:
ledcSetup(0, 77500, 8); // DCF77 frequency
Está instrucción ya no existía en la actual versión, por lo que mirando por aquí y por allí encontré la solución.
ledcAttach(ANTENNAPIN, FRECUENCIA, RESOLUCION);
delay(1);
ledcWrite(ANTENNAPIN, 128); //configuramos el Duty Cycle al 50% del led LEDPWM1
Ahora compilaba bien, pero aún tenía un trabajo que hacer, adaptar el programa al I2C, mi SSD1303 funciona con I2C.
El problema que encontré fue que la placa LOLIN32 LITE no tenía los pin de I2C normales de la familia ESP32 , había que buscar otros.
Al final encontré la solución, modificar en la configurar Wire.begin() de la siguiente forma:
Wire.begin(23, 19); //Para esp32 lolin32 mini --Wire.begin(sda_pin, scl_pin)
Ahora el pin SDA es el 23, y SCL el 19.
Montado todo funcionaba bien, solo debía configurar mi red wifi cambiando los valores en:
// Wifi credentials
const char* ssid = "yourSSID";
const char* password = "yourPassword";
He simplificado el código y he añadido una opción para que funcione con interrupciones o mediante esp_timer_get_time(); .
Esto lo hace comentando o descomentado : #define MODO_INTERRUPCION
Para que tenga un poco de potencia la señal de 77,5 KHz he añadido un transistor que tiene en su colector un conjunto LC que está calculado para 77,5 KHz.
El LOLIN32 lite tiene un conector para alimentar el circuito con una batería 16850.
La señal obtenida es:
Con la prueba que he realizado me funcionan todos lo relojes radio-controlados.
Tuve algún problema un día que no sincronizaba ningún reloj, era el día del huracán. No sé el motivo.....
PROGRAMA
VIDEO
Espero que os haya gustado este pequeño circuito.
Saludos.
Juan Galaz
Bibliografía:
https://github.com/SensorsIot/DCF77-Transmitter-for-ESP32
PTB-Mitteilungen_2009_Heft_3_en
http://www.brettoliver.org.uk/DCF77_Analyzer_Clock_Mk2/Arduino_DCF77_Analyzer_MK2.htm
https://ednieuw.home.xs4all.nl/Woordklok/DCF77/DCF77_Arduino.html
https://es.wikipedia.org/wiki/DCF77
https://j-rpm.com/2019/05/transmisor-experimental-dcf77/
http://www.redesmadrid.com/?page_id=4
Radio watch sync en Google Play
No hay comentarios:
Publicar un comentario