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 segunda parte, se realizan los ajustes del termostato y se comprueba su funcionamiento.
CPU del termostato
La CPU del termostato la he montado en un circuito impreso de tipo universal. Para facilitar el montaje, todos los periféricos utilizan conectores. Se utilizan clemas de conexión para la entrada de alimentación (5 VDC), la conexión del sensor de temperatura DS18B20, los dos pulsadores y las dos salidas de control hacia los relés. Para el display LCD se utiliza un conector de 16 pines. El led de actividad utiliza la conexión de 2 pines macho y la otra conexión de 6 pines macho es para programar el micro controlador AT89S52 sin tener que extraerlo del circuito impreso, conexión ICSP.
Firmware
Antes de conectar el circuito a la alimentación, es necesario programar el micro controlador AT89S52. El archivo hexadecimal (firmware) lo puedes descargar de forma gratuita desde el siguiente enlace:
Termostato de precisión (v1.00)
Si no dispones de un programador, podrías utilizar Arduino:
Ajustes y calibración
El único ajuste de hardware que se necesita hacer es el del contraste del display, y se hace moviendo el ajuste del potenciómetro hasta conseguir un contraste óptimo. Luego se debería fijar la temperatura de trabajo del termostato, utilizando los dos pulsadores del frontal. El termostato permite fijar valores de temperatura entre -39,9 y +99,9ºC, con una precisión de 0,1ºC. Al menú de configuración se accede pulsando el botón SET, y mediante el otro pulsador se pueden recorrer todos los valores posibles. Para cambiar de posición el cursor y guardar el valor anterior, se pulsa nuevamente el botón SET. A continuación se accede al menú de calibración del sensor de temperatura DS18B20. Desde este menú es posible modificar la temperatura medida por el sensor con intervalos de 1ºC. Este ajuste permite seleccionar valores offset comprendidos entre -5 y +4ºC. Para realizar esta calibración, sería conveniente utilizar un termómetro de precisión.
Pruebas de funcionamiento
Para comprobar el correcto funcionamiento del termostato he simulado su conexión en una incubadora, fijando la temperatura de control en 24,0ºC. El sistema de calefacción (para estas pruebas) consiste en una bombilla de filamento de 40W, conectada a 230 VAC a través del circuito 2 del termostato. El sistema de refrigeración es un pequeño ventilador de 12 VDC, controlado por el circuito 1 del termostato. Dependiendo de la distancia que exista entre los sistemas frío/calor y el termostato, es posible que se generen ciclos de histéresis: sobrepasando levemente la temperatura cuando esté conectada la bombilla, o disminuyendo cuando esté conectado el ventilador. Estos ciclos de conexión/desconexión tendrán un intervalo mínimo de 5 segundos, ya que este es el intervalo de medida y refresco del termostato.
A continuación se prueba el sensor a temperaturas límites, con el fin de comprobar el correcto funcionamiento del circuito. El termostato guarda los valores de temperatura máxima-mínima, y también los puede mostrar en la línea superior del display LCD. Mediante la pulsación del botón verde, se alternan las dos presentaciones posibles en la línea superior del display, la presentación inferior no cambia. Los valores de máxima-mínima se reinician cada vez que se entra en el menú de configuración, o cuando baja la alimentación del pin 40 (VCC) del micro controlador por debajo de 2V. Para evitar la pérdida de los valores de configuración mientras está funcionando el termostato, es necesario mantener conectada la batería de 3,6 V NiMH que se incluye en el circuito. La conexión se realiza mediante un puente de conexión (jumper), o un pequeño interruptor deslizante con acceso desde el exterior.
En caso de no utilizar el termostato, es conveniente desconectar la batería del circuito.