En el mercado existe una gran variedad dispositivos capaces de trabajar como termómetro – termostato y un ejemplo claro de ello es el ya conocido LM92, que hemos visto con anterioridad en NeoTeo. Una particularidad del dispositivo que utilizaremos hoy es la propiedad de trabajar en forma autónoma (sin microcontrolador) gracias a que sus registros (máximo y mínimo) se pueden almacenar en una pequeña memoria no volátil (NV) interna. De este modo, la producción en serie, de equipos específicos, se vuelve más sencilla y económica. Podemos hablar de un componente programable que simplifica el hardware de manera notable. Sin necesidad de un microcontrolador y con una resolución de 9 bits; simple, económico e ideal para peceras, criaderos de aves, terrarios o cualquier aplicación donde un termostato sea necesario, el DS1620 es una interesante elección.
Termostato Autónomo
En el montaje de hoy no estaremos hablando del mejor producto del mercado, ni el último lanzamiento, ni el más económico sino de un circuito integrado que nos permitirá tener acceso a un termostato de precisión, capaz de funcionar sin controladores externos. Por supuesto, si a partir de este dispositivo deseas obtener mediciones de temperatura y ajustes permanentes de los registros de las mismas, puedes construir un completo y específico termómetro – termostato con un error de sólo 0,5°C en los intervalos de 0°C a 70°C. Luego, hasta los -55°C y los 125°C, el error se eleva hasta 2°C, niveles más que suficientes para cualquier tipo de aplicación doméstica que pueda abarcar desde refrigeración hasta calefacción controlada de pequeños ámbitos, partes o elementos. Como mencionamos en el título, el DS1620 de Maxim será nuestro dispositivo fundamental en este desarrollo y como siempre, intentando utilizar componentes que se encuentren al alcance de todos, éste es uno de los tantos dispositivos que puedes obtener como muestra gratis (Sample) con sólo registrarte y ser usuario de la web de Maxim. Siguiendo la línea de desarrollo utilizada con el LM92 puedes extenderte hacia la utilización del DS1620 como un completo sistema de gestión térmica, pero si sólo deseas un termostato de precisión, este artículo puede resultarte muy útil.
Como puedes apreciar en el gráfico, el funcionamiento es muy simple y fácil de comprender. La línea continua de color azul representa una variación de temperatura (exagerada) en el tiempo y los límites TH y TL los márgenes sobre los cuales se activa la salida del termostato. Siguiendo el análisis presentado, mientras la temperatura no supera el umbral de TH, la salida del termostato permanece en estado bajo y apenas se supera el mencionado nivel, la salida pasa a un estado alto, activando los circuitos que sean necesarios. En nuestra aplicación, que estará apuntada a una incubadora básica (y muy elemental), sólo colocaremos un LED indicador de estado y activaremos una salida a relé para encender una carga que será una lámpara incandescente. Se puede activar también una resistencia calefactora para incrementar la velocidad de aumento de la temperatura, pero eso lo dejaremos librado a tu criterio y necesidad. Avanzando con el trabajo a realizar, utilizaremos un microcontrolador (cualquiera) para grabar los registros TH y TL. Esto es; al activarse el termostato, la salida pasará a estado alto y viceversa. Este es el circuito propuesto para la aplicación.
El análisis del circuito nos presenta dos etapas bien definidas, con una fuente de alimentación en la parte superior, de la que obtendremos la energía suficiente como para activar RLY1 que es un relé encargado de conectar la carga cuando el pin Tcom, en el DS1620, tenga un estado lógico alto. En esta condición, el LED1 enciende indicando que se ha sobrepasado el nivel máximo de temperatura programada, T2 conduce y la base de T3 pasa a tener una polarización (baja) que corta el transistor, quita la energía a la bobina de RLY1, provocando que X1, la lámpara que utilizaremos para activar la calefacción del espacio, se apague. SW1 es un interruptor general para desconectar el equipo por períodos prolongados (que en nuestro prototipo no hemos colocado, pero tú puedes instalar en el gabinete final) y TR1 es el transformador que nos brindará la tensión de trabajo de DS1620 y el relé, ésta última a través del diodo D4. Luego, para obtener los 5Volts no necesitamos más que un simple diodo zener y un transistor regulador serie de encapsulado TO92 y baja corriente de trabajo (T1). Es decir, aquí sería innecesario el gasto en un regulador de tensión para una aplicación tan sencilla y de bajo consumo energético.
El LED1 puede ser del color que desees y su encendido coincidirá con el apagado de X1. Esto, como mencionamos antes, significará que habremos superado el umbral de temperatura TH y debemos esperar a que la misma descienda por debajo del nivel TL para volver a encender la lámpara y reiniciar el ciclo. Finalmente, el conector “Sil Header” J1 está ubicado para conectar a una entrenadora, placa de desarrollo, o cualquier arreglo en el que intervenga un microcontrolador y pueda conectarse al DS1620 a través de la modalidad 3-Wire. Para realizar la tarea de programar los registros, tenemos la posibilidad de alimentar el DS1620 aprovechando su posibilidad de trabajo desde 2,7Volts (o Voltios) hasta 5Volts y así poder emplear microcontroladores que trabajen a cualquier tensión. En nuestro caso, tenemos acceso a utilizar la Entrenadora NeoTeo (18F2550) que trabaja a 5Volts o cualquier arreglo sencillo armado con un 18F25K20 y AMICUS, que trabajan con una alimentación de 3,3Volts. Es decir, aunque utilices cualquier familia de microcontroladores, siempre tendrás algo disponible para programar los registros del DS1620, de acuerdo al protocolo mostrado en las páginas 9 y 10, de sus hojas de datos. Por su parte, J2 se utiliza para conectar el sensor a la placa de relé. Aquí son sólo 3 conexiones: alimentación + activación de T2 por pin 4.
Una vez instalados los componentes en la placa del DS1620 del modo en que puedes ver en la imagen superior, pasamos a ensayarlo como te mostramos en el siguiente video. Utilizando las conexiones de J2, conectamos una batería CR2032 o similar (del tipo botón) que nos provea de 3Volts (o Voltios) y debes observar que el LED1 se enciende. Esto es lógico y correcto ya que los registros TH y TL del DS1620 vienen “cargados” de fábrica con valores de 15°C para TH y 10°C para TL. En virtud de que estamos hablando de temperaturas muy bajas, lo que más se acercaba a ella para realizar el ensayo era un poco de carne picada congelada. En parte quisimos usar esto para que veas que no necesitas utilizar técnicas especiales y que con elementos domésticos puedes iniciar los trabajos de comprobación. Otro aspecto importante de la maniobra es que no te olvides de colocar el pin 2 del DS1620 (CLK/CONV) a GND para activar el modo autónomo de medición continua (Stand-Alone).
Luego, para programarlo o utilizarlo junto a un microcontrolador, este puente a GND no se utiliza y es el procesador el que se encarga de gobernar los momentos de medición y actualización de lectura del dispositivo. Como última recomendación, podemos agregar que las lecturas no son instantáneas. Tienen un tiempo de proceso, de conversión y de adaptación térmica. Aplicarle frío intenso no significa una respuesta inmediata, al menos en el DS1620, sino que debes esperar a que el dispositivo se enfríe y por supuesto, el mismo razonamiento vale para los aumentos de temperatura. En condiciones normales, los cambios no son bruscos como en el video y esta demora no es notable, ni molesta. Observa:
Una vez realizada la comprobación de funcionamiento, pasamos a la etapa de programación de los registros TH y TL para utilizar, como te mencionamos antes, el DS1620 como un termostato autónomo. Para eso, armamos en un protoboard un circuito elemental basado en el 18F25K20. Tú puedes utilizar el lenguaje de programación que creas apropiado, nosotros lo haremos con AMICUS por tratarse de un software gratuito y muy poderoso. En él encontramos la instrucción SHOUT que representa la conjunción de las palabras SHIFT y OUT y que sirve para enviar datos a un dispositivo que posea una conectividad serie y sincrónica (synchronous serial device)(shift registers). Si nuestro objetivo fuera una completa estación de gestión térmica, también sería necesario el agregado de un LCD alfanumérico para visualizar los valores de ajuste y de temperatura a cada momento y el uso de la instrucción SHIN (Shift – In) para leer desde el DS1620; sin embargo, nuestro objetivo es sólo programar los registros TH y TL para un funcionamiento autónomo y nada de eso es necesario.
Siguiendo las recomendaciones de las hojas de datos del DS1620 (enlace al final del artículo), el pin RESET del dispositivo debe colocarse en estado alto y luego se activa el pin de reloj (CLK) y se envían los datos para programar los registros a través del pin correspondiente (DQ). Por último, el pin RESET se vuelve a un estado bajo y se termina de este modo la programación. AMICUS es tan potente y tan simple de usar, que sólo tres líneas de programación son suficientes para lograr la carga de un registro. En el siguiente video te mostramos los pasos que seguimos para la programación del PIC y luego con éste, la programación del DS1620. Te recomendamos que te detengas a leer la sintaxis y los comentarios del código cargado en el microcontrolador y descubrirás que es un lenguaje muy ameno y sencillo de usar. Esto es, si recién te inicias en el mundo de los microcontroladores, AMICUS es una herramienta muy poderosa para obtener grandes resultados en tus primeros pasos.
Por último, sólo nos resta colocar el DS1620 “grabado” o dicho de otro modo, con los registros que nos interesan (TH y TL) cargados, en la placa del relé. En esta pequeña placa, que vimos su circuito más arriba, el esquemático es muy fácil de comprender y los componentes se ubican de la manera que te mostramos en la siguiente imagen. Sobre esta placa no hay muchas recomendaciones especiales. Si ya tienes algo de práctica en montajes será muy sencillo construirla con los archivos que te dejamos para descargar y que te permitirán construir los PCB de manera rápida y eficiente. Si recién te inicias, puedes darte una vuelta por el artículo donde explicamos el “Método de la Plancha” y aprenderás un método muy fácil de llevar adelante, con el que sólo necesitas elementos de uso doméstico para realizar los PCB.
Una vez que tienes todo montado, al conectar el sistema a la tensión de red, el relé se activará y sólo cortará su acción al aplicar un puente entre los pines 4 y 5 del conector; esto es, al polarizar la base de T2. Esta tensión, en la práctica proviene del DS1620 al ser conectado a esta placa y cuando la temperatura sobrepasa el umbral máximo cargado en el registro TH. De este modo, al iniciar el sistema, se activa la carga conectada al relé (en nuestro video es una lámpara), comienza a tomar temperatura el DS1620 y cuando supera el nivel del registro TH, se activa la salida Tcom, se enciende el LED que posee la placa del termostato y esta tensión se envía a T2 mediante R3 para des-energizar el relé. Con esta acción, el LED permanecerá encendido hasta que la temperatura cruce el límite inferior estipulado por el registro TL. Luego de esto, la salida Tcom cambia de estado, el LED se apaga y el relé se activa para volver a comenzar el ciclo infinito de mantener la temperatura tan estable como sea posible. Obsérvalo en este video:
De este modo, tendremos construido un desarrollo elemental de control de temperatura para cualquier sistema que necesite el mantenimiento de valores estables y constantes. No siempre es necesario que esto sea calor, puede ser frío también, recuerda que el DS1620 es capaz de trabajar entre -55°C y +125°C.