Termostato de precisión #1

Construcción de un termostato digital, para controlar temperaturas con una precisión de 0,1ºC. Este termostato utiliza el sensor DS18B20, está controlado con el microprocesador AT89S52, y permite regular temperaturas entre -40 y +100ºC. También es posible controlar de forma simultánea los dos circuitos de un climatizador, el de frío y calor. Este termostato podría utilizarse como climatizador en un automóvil, controlar la temperatura de un edificio, la del agua de una piscina, incluso la de una incubadora. En esta primera parte, se muestra el diseño y construcción del termostato.

Descripción de funcionamiento

Este termostato permite calibrar su sensor de temperatura (DS18B20) en saltos de 1ºC, permitiendo un Offset entre -5 y +4ºC sobre el valor medido. Este valor de calibrado, junto con el valor de temperatura de referencia del termostato, también configurable mediante los pulsadores, son almacenados en la memoria RAM del propio micro controlador (AT89S52). Para evitar la pérdida de dichos valores en caso de perder la alimentación mientras está funcionando, el circuito incorpora una pequeña batería recargable de 3,6V Ni-MH.

Esquema: Termostato de precisión

Salidas de control

El termostato permite controlar los dos circuitos de  un climatizador de forma simultánea, el circuito de frío y el de calor. El micro controlador dispone de 2 salidas con estado lógico ‘0’ y otras 2 con estado lógico ‘1’. De esta forma es posible conectar cualquier driver en sus salidas. En este circuito he utilizado un módulo compuesto por 2 relés de 5V, de disparo con estado lógico ‘0’ y entradas optoacopladas (ver imagen).

2 Relay Module

Power Down Mode

La activación del ‘modo apagado’ (Power Down) del micro controlador permite minimizar al máximo su consumo. La detección de dicha caída de tensión se realiza mediante la lectura del nivel lógico 1/0 en el pin 39 (P0.0) del micro controlador. A pesar de que se podría simplificar el circuito intercalando una resistencia entre dicho pin (P0.0) y la entrada +5V, es mucho más eficaz entregar un nivel lógico en su entrada fijando su umbral de decisión. El circuito detector del umbral de apagado, está fijado por el valor del diodo Zener montado entre la base del transistor BC557 y masa (ver el esquema). En lugar del diodo Zener, puede utilizarse un diodo LED que tenga un umbral de encendido próximo a 3V.

A pesar de que el consumo del micro controlador se reduce bastante, es conveniente conectar la batería únicamente cuando el termostato esté en uso. De otra manera, la batería acabaría por descargarse. La finalidad de la batería es la de mantener los valores de configuración mientras el termostato está funcionando, y no cuando esté almacenado sin uso. En el esquema podemos ver que la desconexión de la batería se realiza mediante la extracción de un puente (jumper) entre el polo negativo de la batería  y masa. Este puente puede sustituirse por un pequeño interruptor deslizante, para poder accionarlo sin la necesidad de tener que abrir la caja.

Circuito impreso

Para la realización de este termostato he utilizado un circuito impreso de tipo universal. Es cierto que el acabado queda mucho mejor si se monta en un circuito impreso hecho a medida. Sin embargo, muchos aficionados a la electrónica son reacios a ‘perder el tiempo’ en fabricar un circuito impreso, y prefieren utilizar placas de tipo universal. Además, la fiabilidad del circuito impreso sólo depende del cuidado que se ponga durante el montaje y soldadura de sus componentes… el aspecto no mejora la fiabilidad.

Circuito impreso universal

Firmware

Termostato de precisión (v1.00)

Caja y frontal

He utilizado una caja de plástico de tipo comercial, de tamaño 130×130 mm y 35 mm de altura. Para darle un mejor acabado, he utilizado un trozo de Polimetilmetacrilato (Plexiglas).

Frontal delTermostato

El mecanizado y serigrafía lo he realizado con la CNC.

 

Reloj FC-209 – RECOPILACIÓN

Recopilación de todos los videos relacionados con el reloj LED (FC-209), explicando por encima lo que se puede encontrar en cada uno de ellos. Además se presenta la última actualización del firmware, tanto para el kit FC-209 como para el reloj de pared. También se crean ambas versiones de firmware con los textos en inglés.

RECOPILACIÓN

Construye un Reloj LED – EC1204B

Se describe el montaje del kit de reloj en una carcasa de plástico semitransparente, en la cual se alberga una batería de litio (recuperada de un PC), con el fin de alimentar el reloj de forma autónoma. Se empieza describiendo con el esquema y de forma básica el funcionamiento del reloj. Posteriormente se explica el funcionamiento del módulo ‘Step Up’, utilizado para elevar la tensión de la batería de litio y conseguir los 5V estabilizados que  alimentan el reloj. También se instala un módulo de carga TP4056 con protección, el cual se explicó con detalles entre el video Power Bank #1 y Linterna LED #2 – MEJORAS. Se mide el consumo del reloj, y se calcula la autonomía máxima de la batería, a partir de su capacidad. Finalmente se muestra la construcción de la serigrafía frontal, realizada con una CNC y se describe el funcionamiento y ajustes de este kit de reloj, utilizando el firmware con el que viene programado el reloj de fábrica.

Firmware para el Reloj LED: EC1204B

Se realiza un nuevo firmware para sustituirlo por el que viene instalado de fábrica, es la versión 1. Después de realizar un estudio de todo el hardware, se decide elevar la frecuencia del reloj de cuarzo, y sustituir el sensor de temperatura original DS18B20, por otro de mayor precisión. Al realizar estos cambios, la versión 1 del firmware no es compatible con el kit original, porque sería necesario sustituir estos dos componentes. Posteriormente se detalla a fondo el funcionamiento del chip DS1302, RTC o reloj en tiempo real, y se explica el proceso a seguir para reprogramar el micro-controlador utilizando el puerto ICSP (In-Circuit Serial Programming) que incorpora dicho kit. Finalmente se detallan todas las funciones y mejoras incorporadas en el nuevo firmware, explicando el modo de configuración y su funcionamiento.

Firmware Reloj LED #2 (Temperatura, Hora de Verano)

Se actualiza el firmware anterior, incorporando la posibilidad de que el reloj realice el cambio automático de la hora inverno/verano. Esta es la versión 2, y tampoco es compatible con el kit original. Se analiza a fondo el funcionamiento y comunicaciones entre el sensor de temperatura y el micro-controlador, comparando las diferencias que existen entre el sensor original DS18B20 y el instalado. Finalmente se calibra el sensor de temperatura mediante el menú de configuración y se detalla el proceso que sigue el reloj cuando tiene que actualizar la hora, estando apagado y encendido, comprobando también su funcionamiento.

Firmware Reloj LED #3 (Brillo nocturno)

Se actualiza de nuevo el firmware, incorporando la posibilidad de programar las horas en las que el display reduce su brillo. Con esto se evitan las molestias por exceso de iluminación, cuando se utiliza como despertador en una habitación oscura. Esta es la versión 3, y tampoco es compatible con el kit original. Se realizan de nuevo medidas de consumo del reloj, pero ahora con bajo brillo, y se calcula el incremento de la autonomía de su batería, debido a la reducción del consumo.

Firmware Reloj #4 (Compatible FC-209)

Debido a las numerosas peticiones que recibo, realizo un nuevo firmware totalmente compatible con el kit de reloj FC-209. Esta es la versión 4, y es la primera que se puede utilizar con el kit original. A pesar de que el sensor de temperatura original es menos preciso, con el DS18B20 se amplía el rango de medidas, pudiendo mostrar temperaturas entre -10 y 125ºC. Como existe la posibilidad de sustituir el chip de temperatura por otro externo con encapsulado metálico, es posible utilizar un sensor externo para medir la temperatura de componentes electrónicos o fluidos.

Cronómetro LED #5 (FC-209)

Se incorpora la posibilidad de utilizar el kit FC-209 como reloj o cronómetro. La opción de cronómetro se debe habilitar pulsando el botón central MODE, en la fase de arranque. En caso de no tocar nada, el módulo arrancará en modo reloj y tendrá las mismas funciones que tenía en la versión anterior, versión 4. Esta es la versión 5, y también es compatible con el kit FC-209. Una vez que se entra en el modo cronómetro, es posible configurar el modo del contador, pudiendo contar el tiempo hacia delante o hacia atrás. La resolución del cronómetro es de centésimas de segundos, mostrando este valor al final, en modo alterno cuando se detiene la cuenta.

Reloj LED de pared #1

Se muestra un nuevo diseño de reloj, utilizando las mismas características del kit FC-209, pero ampliando su tamaño para que pueda utilizarse como reloj de pared. Este firmware NO es compatible con el kit de reloj FC-209. Esta es la versión 6, exclusiva para este modelo de reloj, pero funciona exactamente igual que la versión 5 en el kit FC-209.

Al ampliar de tamaño el display, es mejor construir todo el frontal con diodos LED, en lugar de utilizar display’s de 7 segmentos. Con este aumento de tamaño se acentúa el efecto de parpadeo, provocado por la baja velocidad del procesador, por lo que se aumenta la frecuencia del cristal de cuarzo, igual que se hizo en  las 3 primeras versiones del firmware, pero en este caso se mantiene el mismo modelo de sensor de temperatura. Otra modificación, es el uso de una batería recargable en lugar de la pila de botón. En este firmware se habilita el control de carga de la batería tampón, a través del chip DS1302. Para poder alimentar más de dos diodos en serie, como es el caso, se necesita subir la tensión de alimentación por encima de 5V, por lo que también se necesita instalar un módulo Step-UP.

En el video se muestran los detalles de construcción del circuito impreso que se necesita, así como el ensamblado de los diodos led en el frontal y sus cableados. Finalmente se realizan las pruebas de funcionamiento.

Reloj LED de pared #2

Se construye la carcasa frontal del reloj de pared, y se monta un anclaje para poder colgarlo. También se muestra el grabado de la serigrafía y mecanizado del frontal, realizado todo con una CNC. Luego se pinta la serigrafía, y se muestra el reloj ya colgado y funcionando.

Termómetro digital para fluidos

Se utiliza un nuevo kit de reloj, para poder utilizarlo principalmente como medidor de temperatura de componentes electrónicos y fluidos. Se sustituye el chip de temperatura original, por otro externo del mismo modelo, pero encapsulado en acero inoxidable. También se realiza el mecanizado con la CNC, pero como en este caso se utilizará el kit con un  alimentador externo de 5V, su tamaño es bastante reducido y fácil de transportar. Finalmente se realiza el calibrado del sensor de temperatura, utilizando como referencia los 0ºC que tiene el hielo en fusión.

Firmware for LED Clock – ENGLISH

Debido a las múltiples peticiones que recibí de algunos seguidores no hispanos, hice una versión del último firmware del kit FC-209, pero traduciendo todos sus textos en inglés.

Última actualización del firmware del reloj LED

Se incorporan un par de sugerencias que he recibido en los últimos meses. La primera de ellas y la más solicitada, es la posibilidad de presentar la temperatura en modo alterno con la hora, y la otra es la opción de poder mostrar los CEROS de las decenas de hora en el display, es decir, que se encienda el cero de la izquierda de las horas entre las 0 y las 9 de la mañana. Ambas opciones serán configurables, de manera que se podrá elegir entre la presentación anterior o la nueva.

Existe una variante entre el firmware del kit de reloj FC-209 y el reloj de pared, aunque sus prestaciones son las mismas. De manera que hay dos modelos de firmware, uno para cada modelo.

·        Kit FC-209: J_RPM_v5B_EC1204B.HEX

·        Reloj de pared: J_RPM_v6B_EC1204B.HEX

Configuración del Reloj LED (v5B-v6B)
Configuración del Reloj LED (v5B-v6B)

 

También he creado dos versiones con los textos en inglés:

·        Kit FC-209:  J_RPM_v5eB_EC1204B.HEX

·        Reloj de pared: J_RPM_v6eB_EC1204B.HEX

Flow diagram (v5B-v6B)
Flow diagram (v5B-v6B)

Detalles de la presentación alterna

Cuando se active el modo de presentación alterno, la temperatura se mostrará de forma síncrona con el reloj, y lo hará cada 5 segundos. Entre el segundo 5 y el 55 de cada minuto, nunca se mostrará en el segundo ‘0’ de cada minuto, y lo hago así con el fin de mostrar siempre el cambio del minuto al paso por el segundo ‘0’ y no interrumpir la escucha de las señales horarias en caso de que estuvieran activadas. La temperatura sólo aparecerá durante un segundo de cada 5, en total 11 veces en cada minuto.

Por otra parte, como la lectura de la temperatura requiere de un tiempo y no es conveniente utilizar interrupciones cuando se está realizando la lectura, la presentación del display se detiene durante ese período de tiempo, siempre inferior a 1 segundo, pero provoca que la aparición de la temperatura en el display sea inferior a 1 segundo. Dependiendo de la velocidad del sensor de temperatura ese efecto podría pasar desapercibido, cosa que no sucede con el chip original que se incluye en el kit, ya que es demasiado lento. Me refiero al sensor de temperatura DS18B20 que se incluye en el kit de reloj.

Por ese motivo, con el fin de mejorar la visibilidad de la temperatura, la lectura sólo se realizará cada 10 segundos, de manera que entre dos presentaciones sucesivas, una de ellas siempre será instantánea y aparecerá durante 1 segundo completo. Dependiendo del segundo en el que se arranque el reloj, la lectura podría coincidir en los segundos acabados en ‘0’ o en ‘5’, ya que la primera vez que pase por alguno de ellos tendrá que leer el valor, pero al paso por el segundo ‘0’ se sincronizará y siempre leerá en los segundos acabados en ‘5’. Los segundos acabados en ‘0’ mostrarán la temperatura leída anteriormente, excepto en el segundo ‘0’ de cada minuto como ya he mencionado antes. Por otra parte, en el caso de que la temperatura sobrepase alguno de los dos umbrales de alarma, el aviso acústico se realizará sólo cuando el valor acaba de ser leído. Es decir, la alarma de temperatura sólo sonará en los segundos acabados en ‘5’

Firmware for LED Clock – ENGLISH

Firmware for FC-209 kit in English, LED clock with rotating sphere. This video is dedicated to fans of channel who don’t understand Spanish language, but they’re interested in some assemblies that have presented on the channel.

Flow diagram
Flow diagram

English firmware: J_RPM_v5e_EC1204B.HEX

The explanation about how working of all components contained in this circuit, not going to repeat in English, because the manufacturers documentation is already in English … and is much fuller than that I could explain here.

 

Reloj-Temperatura de abanico

Stick de 16 LEDVeremos la hora y temperatura en el kit Shake Stick Flash, de 16 LED por columna. El circuito original incluye el micro controlador AT89S52, y aunque ya viene programado con 4 imágenes diferentes, lo reprogramaremos para darle una mayor versatilidad. Este kit incluye un conector ISP (In-system programming), y esto facilita su uso como plataforma de desarrollo para realizar prácticas con este tipo de micro controladores.

Sensor: DS18B20
Sensor: DS18B20

Después de añadir al kit un sensor de temperatura (DS18B20) y un pequeño módulo de reloj en tiempo real (DS1302), sólo necesitaremos actualizar el firmware (se adjunta de forma gratuita) para ampliar las funcionalidades que ya le hicimos en la versión anterior. Este firmware permitirá la presentación de la Fecha y Hora, así como 15 imágenes diferentes (gráficos o textos). Uno de sus mensajes podrá reprogramarse a través del puerto serie, los otros 14 mensajes están almacenados en ROM, y podrán modificarse editando el archivo del firmware de forma muy simple.

Módulo RTC: DS1302
Módulo RTC: DS1302

El montaje de estos dos sensores en el kit es muy sencillo. En el siguiente esquema podemos ver las conexiones que se deben realizar. El módulo RTC (DS1302) se puede montar de forma opcional; si no se instala, el Stick mostrará solamente la temperatura cuando esté seleccionada la presentación 1ª. En caso de que se instalen ambos sensores, se alternará la presentación de la hora y temperatura.

Equema: Reloj-Temperatura
Equema: Reloj-Temperatura

IMPORTANTE: Para que aparezca la hora en el Stick, es imprescindible programar el módulo RTC, utilizando el software que se adjunta, o mediante la conexión de dicho módulo con el reloj de esfera rotante (ver la explicación en el video).

En los dos videos anteriores, podrás encontrar todos los detalles de funcionamiento y programación:

Stick LED programable #1
Stick LED programable #2

Stick.exe (v1.0.5)
Stick.exe (v1.0.5)

El nuevo firmware se puede descargar de forma gratuita desde el siguiente enlace: J_RPM_v2_STICK.HEX

Nueva versión del software de control, para programar los textos de la memoria RAM y actualizar la hora: Install_Stick_v1.05.zip

 

Termómetro digital para fluidos

Utilizar el kit de reloj LED FC-209, como medidor de temperatura para fluidos. Para realizar esta modificación, sólo tenemos que sustituir el sensor de temperatura DS18B20 por otro del mismo tipo, pero con encapsulado en acero inoxidable. DS18B20A pesar de que el nuevo sensor que instalemos sea del mismo modelo que el original, es muy posible que no funcione con el firmware que viene cargado al comprar el kit… y será necesario actualizarlo. Si cargamos la versión 5 del firmware (disponible en el blog), además de disponer de un termómetro para fluidos, también dispondremos de las funciones de reloj con cambio automático de hora, despertador, cronómetro y alarmas.

Sensor: DS18B20 (pineado)
Sensor: DS18B20 (pineado)

Es muy importante no equivocarse al conectar el sensor de temperatura, porque si lo alimentamos al revés nos quedaremos sin sensor. Si no viene información técnica con la correspondencia entre los colores del cable y los pines de conexión del sensor, tendremos que averiguar su correspondencia haciendo medidas comparativas con otro sensor del  mismo modelo.

La versión 5 del firmware, instalada en este montaje, puedes descargarla de forma gratuita desde el siguiente enlace:

J_RPM_v5_EC1204B.HEX

Configuración del Reloj LED (v5)
Configuración del Reloj LED (v5)

Los menús de configuración y manejo de este Termómetro-Reloj, los puedes ver en la imagen anterior.