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

Plato giratorio con motor paso a paso

Construcción de un plato giratorio, con un motor paso a paso unipolar de 5 hilos 28BYJ-48. Los platos giratorios se utilizan desde hace mucho tiempo en los escaparates como expositores, sobretodo en tiendas de relojes y joyerías. En mi caso, lo voy a utilizar para grabar algunas escenas de montajes electrónicos. Este plato puede girar en ambos sentidos con gran precisión, y a una velocidad configurable a elegir entre uno de sus 6 preset. El controlador del motor está hecho con un microcontrolador Atmega328P (Arduino). Aprovechando la gran precisión de giro de los motores paso a paso, este plato giratorio se podría utilizar como temporizador cíclico, montando levas en el plato para accionar uno o varios pulsadores.

Motores Paso a Paso

Un motor paso a paso convierte los impulsos eléctricos que recibe en sus bobinas, en movimiento de rotación, y se considera como un motor de corriente continua sin escobillas.

Motor Unipolar de 5 hilos

Un motor paso a paso funciona con tensión continua, y puede ser de casi cualquier tamaño y par. Cuando se le aplica energía en alguno de sus bobinados, da un «paso» en lugar de girar constantemente. Cada paso provoca una rotación con un ángulo especificado por el fabricante del motor, ya que depende del número de polos del motor y su demultiplicación interna.

Un motor paso a paso se comporta como un conversor Digital-Analógico (D/A), convirtiendo los impulsos digitales de tensión que recibe en giros analógicos de gran precisión. Estos motores se utilizan en cualquier dispositivo electrónico que requiera mover objetos con gran precisión: impresoras convencionales y 3D, escáner, plotter, fresadoras CNC, grabadores láser, etc.

Stepper motor 28BYJ-48

Model : 28BYJ-48
Rated voltage : 5VDC
Number of Phase : 4
Speed Variation Ratio : 1/64
Stepper Motor 5V 4-Phase 5-Wire & ULN2003 Driver Board
Stride Angle : 5.625° /64
Frequency : 100Hz
DC resistance : 50Ω±7% (25℃)
Idle In-traction Frequency : > 600Hz
Idle Out-traction Frequency : > 1000Hz
In-traction Torque >34.3mN.m (120Hz)
Self-positioning Torque >34.3mN.m
Friction torque : 600-1200 gf.cm
Pull in torque : 300 gf.cm
Insulated resistance >10MΩ (500V)
Insulated electricity power :600VAC/1mA/1s
Insulation grade :A
Rise in Temperature <40K (120Hz)
Noise <35dB (120Hz, No load, 10cm)

Control del plato giratorio

Para controlar los ángulos de giro y velocidad de un motor paso a paso, es necesario saber como mínimo el número de pasos por vuelta del motor, su tensión de alimentación y la frecuencia máxima de funcionamiento.

El motor 28BYJ-48 hace un giro completo cada 64 pasos, pero incluye una reducción de 1/64 . Como resultado tenemos 64×64 = 4096 pasos por vuelta. Como el motor se acopla al plato mediante un piñón y una corona de relación 1/7, los cálculos de giro los tendremos que calcular en función de 4096×7 = 28972 pasos por vuelta.

Al tratarse de un motor de 4 fases, es posible controlarlo en ciclos de 4 pasos. Aunque se pierda un poco de PAR, los fabricantes aconsejan hacer funcionar el motor en modo “Half Step Drive” (medio paso), haciendo los saltos menos bruscos y reduciendo su consumo.

Secuencia de 8 pasos, para mover el motor 28BYJ-48 en Half Step Drive:

Secuencia de 8 pasos, para alimentar el motor paso a paso unipolar de 5 hilos 28BYJ-48

Construcción del Plato giratorio

Para la construcción de este plato giratorio he utilizado el motor paso a paso unipolar de 5 hilos 28BYJ-4.  Este motor junto con su driver de control, se puede conseguir por Internet por menos de 5 Euros. Al tratarse de un motor unipolar, no es necesario utilizar un driver del tipo Puente H, necesario para controlar los motores bipolares de 4 hilos.

Driver para motor paso a paso unipolar de 5 hilos

El driver de este motor es muy sencillo, sólo necesita 4 transistores en montaje Open-Collector para suministrar la corriente necesaria a las bobinas del motor. El driver que se incluye con este motor utiliza 4 entradas-salidas del circuito integrado ULN2003, de las 7 que incluye el chip. También lleva 4 indicadores LED para señalizar cuando se está alimentado cada una de las 4 bobinas del motor.

El controlador del motor lo he montado aprovechando el PCB del Shield del programador ISP de Arduino UNO que hice hace unos años.

Shield programador ATmega/ATtiny (ARDUINO)

Sólo es necesario cortar una pista del circuito impreso, y unir 11 pines del ATmega328P con su puntos de conexión correspondiente, como si se tratase de un Arduino UNO.

Esquema del plato giratorio con Arduino

En el esquema de montaje se muestran todos los puentes que hay que hacer en color rojo, así como los componentes que hay que montar, resaltados en color verde. Para alimentar todo el circuito, he utilizado una pequeña fuente conmutada de 230VAC-5VDC de 500 mA.

Acceso a descargas

Firmware para cargar en Atmega328P:

Plato_28BYJ-48.rar

Caja y engranajes 3D – Thingiverse:

Turntable, with a 28BYJ-48 5-wire unipolar stepper motor

¿Necesitas fabricar un PCB?

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

Ahora también puedes encargar trabajos 3D, mecanizados con CNC y fabricación de cajas metálicas o de plástico inyectado.

https://www.pcbway.es/

Entrenador de Reflejos y Coordinación

Hace 6 años hice un entrenador de reflejos con 6 pulsadores.

ENTRENADOR DE REFLEJOS – IMPROVES YOUR REACTION TIME

Después hice un mural de madera, y cambié los pulsadores por otros de gran tamaño, pudiendo controlar todo desde un PC mediante un software hecho a medida.

Mural con pulsadores (Entrenador de reflejos)

Con el software Reflejos.exe es posible controlar los tiempos, mostrar los intervalos entre pulsaciones, modificar las secuencias de los pulsadores, almacenar los tiempos de hasta 25 jugadores y mostrar su progresión mediante gráficas.

Software:Reflejos.exe (Control del juego/Prácticas QWERTY)

Posteriormente  hice un reloj LED con tecnología SMD, diseñando los PCB’s de la CPU y los dígitos numéricos. El PCB de control del  reloj lo hice pensando en una placa de desarrollo, igual que Arduino, montando conectores en todos los pines del microcontrolador. La CPU del reloj está construída con el microcontrolador AT89S52, el mismo microcontralador que utilicé en el primer Entrenador de Reflejos que hice, pero con encapsulado SMD.

Construye un Reloj SMD

En esta ocasión he actualizado el firmware del Entrenador de Reflejos y el software de control, para adaptarlos a esta nueva CPU y mejorar su operatividad. El nuevo montaje también es diferente, más enfocado a la rehabilitación y coordinación de movimientos que al juego. En este caso, los 6 pulsadores se pueden accionar con las manos y con los pies, y la conexión entre la CPU y el software de control es inalámbrica,  utilizando el módulo Bluetooth HC-05.

Entrenador de Reflejos y Coordinación

Nuevo esquema del Entrenador de Reflejos

Este es el nuevo esquema del Entrenador de Reflejos, con todas las conexiones adaptas al PCB del Reloj:

Esquema: Entrenador de Reflejos y Coordinación

Debido a la gran versatilidad de este PCB, en la adaptación no ha sido necesario cortar ninguna pista del circuito impreso ni hacer puentes entre ellas. Este PCB ya dispone de terminales de conexión para todos los periféricos que se necesitan conectar: los LED de señalización, los pulsadores, el display LCD y el módulo Bluetooth. El avisador acústico ya se utilizaba con el reloj, y va montado en el mismo PCB.

PCB: CPU del Reloj SERIE (Modificada)

Para la señalización óptica de los pulsadores he utilizado 2 LED SMD blancos por pulsador, en paralelo y alimentados a 5V, intercalando en serie una resistencia limitadora de 220 Ohmios en cada LED. Así la corriente máxima de cada LED es de aproximadamente 10mA. Con el fin de proteger la alimentación frente a un posible cortocircuito en el cableado, los 5 voltios que van hacia los pulsadores se alimentan de dos hilos diferentes, cada línea alimenta 3 pulsadores, y cada uno de estos hilos limita el consumo máximo intercalando una resistencia de 22 Ohmios en serie.

Para alimentar todo el conjunto he utilizado un conector microUSB. Así es posible utilizar cualquier cargador USB que tengamos disponible en casa. El consumo máximo de todo el circuito es inferior a 200mA.

PCB: microUSB

La programación y actualización del firmware del microcontrolador AT89S52 se realiza una vez montados todos los componentes en la placa, a través del conector ICSP. Lo ideal sería utilizar un programador ICSP comercial, pero si no lo tienes, podrías convertir en un momento un módulo Arduino en programador ICSP:

Programador ICSP con ARDUINO

Bluetooth HC-05

El módulo Bluetooth HC-05 hay que configurarlo antes de montarlo en la CPU.

Módulo HC-05

Para su configuración es necesario conectarlo a través de un interface serie con un PC, y con cualquier software Terminal y mediante comandos AT configurar su modo de funcionamiento como esclavo, y la velocidad a 57600 bps. Si se quiere, también se pueden modificar el nombre del dispositivo y su PIN de acceso a la conexión. La manera más fácil de configurar todo esto es a través de Arduino, utilizando su interface de comunicaciones serie para enviar los comandos AT al módulo  HC-05 y configurarlo.

Conexiones Arduino y HC-05 (configuración)

Al principio del código de configuración del módulo HC-05 he anotado los comandos AT más importantes, así como el modo de entrar en modo comandos AT. Dependiendo del tipo de módulo HC-05, el acceso a modo comandos es diferente, porque algunos módulos llevan un pulsador y otros no.

Bluetooth HC-05: Comandos AT

Acceso a descargas

Firmware para cargar en AT89S52: REFLEJOS_SMD_v1_02.HEX 

Configuración del módulo HC-05 con Arduino – DropBox: HC-05.rar

PCB de la CPU – PCBWay: Multipurpose_CPU_with_AT89S52 

Software de control – DropBox: Install_Reflejos.zip

Caja 3D – Thingiverse: Reflexes and Coordination Trainer

¿Necesitas fabricar un PCB?

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

Ahora también puedes encargar trabajos 3D, mecanizados con CNC y fabricación de cajas metálicas o de plástico inyectado.

https://www.pcbway.es/

 

Monitor FM-RDS (v1.2)

Con este receptor es posible conocer los parámetros más importantes que se transmiten por la subportadora RDS. Con esta nueva actualización (v1.2), las librerías del RDS permiten analizar más información que antes, y todo el código está depurado para optimizar la memoria del ATMEGA328P, permitiendo así añadir más prestaciones en el receptor de radio, utilizando el mismo microprocesador.

Monitor FM-RDS v2

Tabla de caracteres del RDS

El sistema RDS transmite los textos codificando los caracteres con su propia tabla de 8 bits, y dispone de 3 tablas de caracteres diferentes, denominadas G0, G1 y G2. Por defecto, los receptores de radio traducen los 8 Bytes del PS y el Radio Texto (RT) utilizando la tabla de caracteres G0. La tabla GO incluye la mayoría de los caracteres utilizados por las diferentes lenguas de la zona EBU. Los receptores de radio tienen que leer el código de 8 bit que reciben por cada letra, y convertirlo al código que se corresponda con la tabla de caracteres que estén utilizando. En este caso sería necesario convertir los caracteres dos veces, una vez para adaptarlos a la tabla de caracteres gráficos de su display LCD, y otra más para codificarlos en UTF-8 y transmitirlos por el puerto serie.

Receptor RDS: tabla de caracteres

Los primeros 127 caracteres de la tabla del RDS siguen el estándar ISO, por lo tanto no hay que convertirlos. Sin embargo, los 127 caracteres más altos de la tabla del RDS no son estándar, y es necesario convertir sus códigos para mostrar correctamente las letras. En este receptor sólo se convierten los caracteres latinos más utilizados, son los caracteres enmarcados con color en la tabla del gráfico anterior.

El display LCD de este receptor dispone de una memoria RAM, que le permite almacenar un máximo de 8 caracteres gráficos diferentes. El display reserva las 16 primeras posiciones de su mapa de caracteres para almacenar gráficos, pero hay que tener en cuenta que el display sólo guardará 8 caracteres gráficos diferentes. Si se guardan los 8 caracteres en las primeras posiciones de la CGRAM (direcciones 0x00 a 0x07), estos mismos caracteres se copiarán también en las 8 posiciones siguientes (direcciones 0x08 a 0x0F). Debido a esta limitación, sólo se generan y guardan los gráficos de las 5 letras acentuadas en minúscula, y las letras: ü, ñ y ç. Cuando se reciban por RDS letras mayúsculas acentuadas, el programa las convertirá en letras mayúsculas sin acento.

Receptor FM-RDS con: SI4703

Este sencillo receptor de radio está basado en el módulo SI4703, de bajo coste y altas prestaciones. Este módulo incluye en su interior todo el receptor de radio, incluso el decodificador Estéreo, el decodificador RDS y un pequeño amplificador de audio. Para controlar este módulo, he utilizado el micro-controlador ATMEGA328P (Arduino).

Esquema: Radio LCD con SI4703

Descarga de ficheros

El firmware y librerías que necesitas para programar el ATMEGA328P,  los puedes descargar desde el siguiente enlace: RDS_Radio_SI4703 (v1.2)

¿Necesitas fabricar un PCB?

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

Ahora también puedes encargar trabajos 3D, mecanizados con CNC y fabricación de cajas metálicas o de plástico inyectado.

https://www.pcbway.es/

Reloj de precisión, 8 x 7 segmentos LED

Construcción de un reloj de precisión, con 8 dígitos LED de 7 segmentos. Este display se configura desde un teléfono móvil vía WiFi. La información de la fecha y hora se sincroniza a través de un servidor NTP, convirtiéndolo así en un reloj muy preciso. Este display está construido con el módulo ESP32 y 8 dígitos LED de 7 segmentos, pudiendo conectar también un segundo display OLED de 64×48 pixel (0,66 pulgadas).

 

8 dígitos de 7 segmentos con MAX7219

Hace unos meses monté un reloj de precisión, sincronizado desde un servidor NTP. Hice dos versiones distintas, y en ambas utilicé 4 matrices LED de 8×8 pixel.

Reloj de precisión, configurado por WiFi

El primer reloj tenía un display adicional de tipo OLED, y en el segundo sólo instalé las 4 matrices LED con el fin de reducir el tamaño de la caja.

Reloj y Texto en display LED, con ESP32

Ahora voy a montar otro reloj todavía más pequeño y barato, utilizando 8 dígitos LED de 7 segmentos.

8 dígitos LED de 7 segmentos

Este reloj tendrá la misma precisión y funcionalidades que los anteriores, sincronizando la fecha y hora a través de un servidor NTP, y controlando sus funciones mediante un interface Web, a través de una conexión WiFi.

Esquema de montaje

El montaje de este reloj es muy rápido y sencillo,  sólo hay que conectar 5 hilos entre un lateral del PCB de 8 dígitos y el módulo ESP32.

Esquema de montaje del reloj de 7 segmentos

Configuración con interface WEB

Este reloj LED se configura a través de su propio interface Web, tecleando la dirección IP que le asigna el Router WiFi, en la ventana de cualquier navegador de Internet que esté conectado a la misma red. Todos los cambios se guardan en la memoria EEPROM del módulo ESP32.

Configuración del reloj por WiFi

De esta forma el reloj siempre arrancará con los parámetros que tenía programados la última vez que se desconectó su alimentación.

Firmware

El archivo que necesitas para programar el ESP32, lo puedes descargar de forma gratuita desde el repositorio GitHub:

Precision_Clock_ESP32_7Segment

Y también desde Dropbox:

ESP32_Time_8BCD_JR.rar

Caja 3D (Reloj de 7 segmentos)

 

Caja 3D, para el PCB de 8 dígitos LED de 7 segmentos

El fichero .stl que necesitas para fabricar la caja de este reloj LED de 7 segmentos, lo puedes descargar desde el siguiente enlace: Precision clock on 7 segment LED display, configured by WiFi

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

PCB de prototipo gratis y con plazo de entrega rápido: https://www.pcbway.es/

Logo: PCBWay

 

 

Reparación foco LED para buceo

Reparación de un foco LED para buceo, alimentado con 4 baterías tipo 18650 de Li-Ion (3,7V) 3000mAh. Este foco tiene dos pulsadores, uno de ellos para iluminar en color rojo o azul, y el otro para la luz blanca. La luz blanca es de gran potencia, y permite utilizar 3 niveles diferentes de brillo: alto (12,6W), medio (6,5W) y bajo (4,2W). La luz roja puede funcionar en modo continuo o intermitente y su potencia es 4,7W. La luz azul es fija, y tiene una potencia 2,2W.

Foco LED de buceo

Análisis del circuito

Este foco LED dispone de dos pulsadores, uno para controlar el encendido de luz roja y azul, y el otro para la luz blanca. El control de todo el circuito se realiza a través de un circuito integrado, cuya referencia está borrada, pero podría ser un micro controlador.

Circuito del fofo LED

El driver de potencia para el encendido de los LED consiste en 4 transistores Mosfet de canal P.

  • ROJO: Con 2 transistores  MOSFET canal P de 2,5A (A19T)
  • AZUL: Con 1 transistor MOSFET canal P de 2,5A (A19T)

  • BLANCO: Con 1 transistor  MOSFET canal P de 50A (CMD50P03)

MOSFET: CMD50P03

Avería

Esta linterna tenía cortados los dos hilos del pulsador de encendido de la luz blanca. Después de soldarlos y comprobar que todo funcionaba correctamente, cerré la carcasa, pero la linterna seguía fallando de vez en cuando. Al desmontar la linterna de nuevo, comprobé que el cableado que controla el encendido de la luz blanca fallaba, dependiendo de la posición del cableado. La solución fue sustituir la cinta de conexión de 5 hilos del pulsador que controla el encendido de los LED blancos.

Potencia del foco LED

Al final comprobé que también estaban abiertas las dos resistencias limitadoras de los LED de los pulsadores. Son dos resistencias SMD de 1K, las cuales sustituí por otras de 910 Ohmios al no tener repuestos de 1K.

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

Desde ahora y hasta el 31 de Diciembre de 2020, PCBWay ofrece cupones de descuento entre 5 y 200$, dependiendo del importe de tu pedido.

PCBWay, sorteos hasta fin de año 2020

Además, todos los que ya sean clientes por haber realizado algún pedido, podrán participar en el sorteo de varios regalos, como un DRON DJI Mini2, una tarjeta de regalo de 50$ para compras en Amazon, un Arduino Mega, cupones de descuentos y algunos regalos más. Si necesitas hacer un PCB flexible, ahora los puedes conseguir con un 15% de descuento. Y si eres creativo, también puedes presentar tu proyecto de Navidad, y conseguir alguno de los premios que se entregarán a los 3 mejores proyectos.

PCB de prototipo gratis y con plazo de entrega rápido: https://www.pcbway.es/

Logo: PCBWay

Reloj y Texto en display LED, con ESP32

Construcción de un display LED de reloj y texto con matrices LED. Este display se configura desde un teléfono móvil vía WiFi. La información de la fecha y hora se sincroniza a través de un servidor NTP, convirtiéndolo así en un reloj muy preciso. Este display está construido con el módulo ESP32 y 4 matrices LED de 8×8 pixel. De forma opcional, también se puede montar un segundo display OLED de 64×48 pixel (0,66 pulgadas).

Este display lo he montado con un módulo LED que ya contiene las 4 matrices, en lugar de los 4 módulos independientes que utilicé en el montaje anterior:

Reloj de precisión, configurado por WiFi

Matrices LED de 8×8 pixel

En la construcción del último reloj LED que monté, lo hice conectando 4 matrices LED de 8×8 pixel. Estas matrices llevan las conexiones de entrada y salida por la cara inferior y superior, y esto obliga a que el tamaño del reloj sea más grande de lo necesario.

Matriz LED 8x8 pixel

En este caso voy a montar otro reloj con un display LED del mismo tamaño, pero será más pequeño que el anterior. Aunque el nuevo firmware también permite utilizar un segundo display OLED, en este caso no lo voy a montar, y además utilizaré 4 matrices LED interconectadas en un sólo PCB.

PCB con 4 matrices LED de 8x8

Esquema de montaje

El montaje de este reloj es muy rápido y sencillo,  sólo hay que conectar 5 hilos entre un lateral del display LED y el módulo ESP32.

Montaje del display: Reloj-Texto

Configuración con doble interface WEB

Ahora el display LED permite mostrar la hora, o textos rotantes de hasta 255 caracteres. Tanto el modo de funcionamiento como su configuración, se programa a través de una conexión WiFi, y se guarda en la memoria EEPROM del módulo ESP32. De esta forma el reloj arranca siempre en el modo en el que se dejó la última vez: modo texto, o modo reloj.

Doble interface WEB

Esta nueva versión de firmware incluye un menú WEB con nuevas opciones,  y también animaciones cada vez que se reciben datos desde el reloj.

Firmware

El archivo que necesitas para programar el ESP32, lo puedes descargar de forma gratuita desde el repositorio GitHub: Clock-Text_ESP32

Y también desde Dropbox: ESP32_Time_Text_Matrix_JR.rar

Caja 3D (Reloj-Texto)

Caja 3D, para el PCB de 4 matrices LED de 8x8

El fichero .stl que necesitas para fabricar la caja de este display LED, lo puedes descargar desde el siguiente enlace: Clock and Text on LED display, configured by WiFi

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

PCB de prototipo gratis y con plazo de entrega rápido: https://www.pcbway.es/

Logo: PCBWay

 

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/

Resistencias de carga para electrónica

Funcionamiento y usos de las cargas electrónicas, destinadas a comprobar los sistemas de alimentación cuando entregan su máxima potencia, ya sean conectados a la red eléctrica como a baterías. Las resistencias de carga permiten comprobar la corriente máxima que soporta un cargador de baterías, medir el rizado y ruido de una fuente de alimentación a plena carga, comprobar la capacidad real de baterías y pilas, etc. Se realizan pruebas y medidas con tres resistencias de carga diferentes, una resistencia de carga convencional, otra electrónica de construcción casera… y la última también electrónica, de 150W controlada por microprocesador.

Diferentes usos de las resistencias de carga

En un taller de electrónica, ya sea de tipo profesional o aficionado, son muy útiles las resistencias de carga. Las resistencias de carga permiten comprobar y ajustar equipos de RF, sin tener que montar una antena y radiar frecuencias no permitidas.

Cargas de RF

Pero no sólo son útiles este tipo de resistencias de carga, en este caso me voy a centrar en las resistencias de carga que se utilizan para simular consumos en sistemas de alimentación y comprobar su correcto funcionamiento, o su autonomía si se trata de un sistema de alimentación con baterías.

Cargas electrónicas de corriente constante

Cuando la resistencia de carga se va a utiliza para comprobar sistemas de alimentación, ya es posible incluir circuitos de control  por ancho de impulso (PWM) o analógicos, con el fin de mantener una corriente de descarga constante en baterías, sin importar que se vaya reduciendo su tensión con el tiempo.

Curvas de descarga de baterías Li-ion

Así  se podrá medir la capacidad real de una batería o pila, fijando un valor fijo de corriente de descarga, con tan sólo cronometrar el tiempo que ha tardado en alcanzar su tensión mínima (batería descargada). La capacidad de una batería es un parámetro muy importante, y los fabricantes  rotulan su valor en Amperios/hora (Ah) o miliamperios/hora (mAh), dependiendo de la capacidad y tipo de batería.

Hace tiempo medí la capacidad real de una serie de baterías nuevas, con el fin de comprobar la tolerancia que existía con el valor que declaraba el fabricante. Ya suponía que siendo unas baterías de origen chino, su capacidad real podría ser mucho más baja del valor que indicaban en la cubierta. Lo que no me imaginaba es que esa diferencia pudiera ser tan grande…

Medidas de la capacidad real de algunas baterías

Para hacer estas medidas construí una carga electrónica de corriente constante, que permite funcionar con tensiones que varíen entre 1 y 60 voltios, manteniendo la corriente constante al valor que se fije mediante sus dos potenciómetros de ajuste. En el diseño, la corriente máxima la limité a 3A, porque la disipación que le puse no era muy buena, a pesar de que el transistor que monté podría soportar hasta 15 amperios.

Carga de corriente constante, con valores máximos de 60V y 3A

Si estás interesado en conocer el funcionamiento de una carga electrónica de corriente constante, o quieres conocer más detalles para fabricarte una con muy pocos componentes, lee el siguiente artículo:

Construye una carga electrónica

Carga electrónica de 150W

Actualmente se pueden encontrar a la venta multitud de cargas electrónicas de corriente constante, a un precio muy asequible (<20€). En realidad no merece la pena comprar los componentes para montar una carga electrónica, cuando se pueden conseguir ya montadas a un precio inferior al que habría que pagar si se compran los componentes sueltos. Bajo mi punto de vista, el único interés que podría tener montar una carga electrónica componente a componente, sería por afición o con fines educativos. Como norma general, cualquier dispositivo electrónico que se pueda comprar en una tienda, siempre saldrá más barato comprarlo que fabricar uno igual… y eso dejando aparte el acabado final.

Carga electrónica de corriente constante, hasta 150W

Características

  • Tensión de alimentación: 6 ~ 12VDC
  • Medida de tensión: 0 ~ 150VDC   precisión: 0,05 V
  • Medida de corriente: 0 ~ 10A precisión: 0,05A
  • Medida de potencia:  0 ~ 150W
  • Medida de energía : 0 ~ 99999,9Wh precisión: 0,01Wh
  • Medida de potencia: 0 ~ 2999,9 W precisión: 0,01 W
  • Medida de Impedancia: 0 ~ 999,9Ω precisión: 0,01Ω
  • Rango de temperatura: 0 ~ 99 °C precisión: 1 ℃
  • Ajuste de tensión máxima y mínima con alarma: 0 ~ 150VDC
  • Ajuste de corriente máxima con alarma: 0 ~ 10A
  • Ajuste de potencia máxima con alarma:  0 ~ 150W
  • Medida de capacidad: 0 ~ 999,999Ah precisión: 0,001Ah
  • Tiempo máximo: 999:59:59 precisión: 1s
  • Potencia de refrigeración del ventilador: <150W
  • Temperatura para el arranque del ventilador: > 40 ℃

Configuración y funcionamiento

El manual de funcionamiento que se incluye en esta carga de 150W, se podría catalogar como suficiente, pero es mejorable. Después de practicar un rato con los menús y configuraciones, llegas a acostumbrarte, pero creo que el fabricante debería haber puesto como mínimo dos pulsadores en lugar de uno. Con un sólo pulsador para todo, es muy fácil confundirse y hacer justamente lo que no quieres. (Modo irónico: ON) Es posible que el diseñador de esta carga fuera en su juventud telegrafista, y está muy acostumbrado a codificar letras a base de pulsaciones (Modo irónico: OFF).

Con el fin de que no se me olvide el modo de acceder a todos los menús, hice un diagrama a modo resumen en una hoja, y la tengo guardada junto con la carga. Así será mucho más fácil cuando la tenga que utilizar dentro de un tiempo, y ya no me acuerde de nada.

Diagrama de funcionamiento y configuración, de la carga electrónica de 150W

Marco de sujeción para el LCD

Un fallo de diseño de esta carga, es la falta de sujeción del display LCD dentro de su alojamiento. Al girar la carga se desprende el display y se queda colgando de la cinta flexible de conexiones. Para solucionar este problema he fabricado un marco en PLA, con la impresora 3D, para sujetar el display en su soporte. Este marco entra a presión, evitando que se mueva el display de su alojamiento, protegiendo al mismo tiempo su cinta de conexión con el PCB.

Si quieres fabricar esta marco de protección con una impresora 3D, puedes descargar el fichero .STL desde el siguiente link:

Clamping frame for the LCD of the 150W electronic load resistor

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