Termómetro e higrómetro para PC

Termómetro e higrometro para el PC, se conecta al puerto serie o al USB mediante un adaptador y no necesita alimentación ya que la toma del mismo PC. Usa el sensor digital de la empresa Sensirion SHT71 o SHT11 que tiene integrados un termómetro y un higrómetro en la misma cápsula así como la lógica de control. En el conector DB9 vá un pequeño microcontrolador que hace de interface entre el sensor y el PC.

Características:

  • Rango de temperatura desde -40 a +123 grados centígrados.
  • Rango de humedad desde 0 a 100 %
  • Resolución de una décima tanto para temperatura como para la humedad
  • Precisión de la temperatura: e +/- 1 grado en el rango de 0 a 50 grados
  • Precisión de la humedad: +/- 3 en el rango de 20 a 80 %
  • Conexión al PC mediante un puerto serie o un adaptador USB/serie
  • No necesita pilas ni alimentación externa, la toma del PC
  • Tamaño compacto, el circuito va metido en el conector DB9 de conexión al PC
  • Graba los datos en un archivo con la fecha y la hora en que se han tomado
  • Protocolo de diálogo sencillo que permite hacer un programa a medida en VB, Delphi, C++, etc.

 

Sensor:

Sensores SHT71 y SHT11El sensor usado puede ser un SHT71(izda.) o un SHT11(dcha.), los dos son iguales en cuanto a prestaciones aunque difieren en la forma como se puede ver en la imagen. Son sensores digitales fabricados por la empresa Sensirion (http://www.sensirion.com/), tienen integrado un sensor de temperatura y otro de humedad en la misma cápsula así como el circuito electrónico que permite comunicar con ellos mediante un protocolo parecido al del bus I2C . También disponen de un calentador integrado que se puede activar para evitar la condensación en entornos de niebla o similares. El rango de temperatura admitido va desde -40 a +123 grados y la precisión es de +/- 1 grado en el rango de 0 a 50 grados. En cuanto a la humedad, la precisión es de +/- 10 en el rango de 20 a 80%. La humedad leída necesita ser linearizada para obtener una mejor precisión usando las fórmulas suministradas por el fabricante, esto ya lo hace el microcontrolador antes de enviar los datos al PC.

Esquema:

Esquema del termómetro e higrómetro

El esquema se ha reducido al máximo y es muy fácil de construir, usa el microcontrolador PIC10F202 de Microchip que hace de interface entre el PC y el sensor, la comunicación con el PC se hace a través de las resistencias R1 y R2 a 1200 bps, sin paridad y con un bit de stop. El pin 5 del microcontrolador envía la señal de clock y el 4 es la entrada o salida de datos, funciona de una forma parecida al protocolo del bus I2C desarrollado por Philips.

La alimentación se toma del puerto serie del PC a través de los diodos Schottky BAT85, se han usado estos ya que tienen una caída de tensión menor que los 0,6 V habituales en otros diodos como los 1N4148 aunque pueden usarse estos últimos sin ningún problema, solo podría ocurrir que con algún tipo de PC que no cumpla el estándar RS232 no tengamos suficiente tensión a la entrada del circuito estabilizador IC2 y por tanto no tengamos 5V a la salida, en este caso tendríamos que usar un alimentador externo, pero esto nunca ha ocurrido en los PC's en que se ha probado.

El consumo total es de aproximadamente 4 mA. por lo que no debe haber problema incluso si se activa el calefactor del sensor que hace que el consumo suba a 10 mA. ya que el puerto serie puede suministrar hasta 20 mA.

El programa que se ha hecho para leer el sensor, abre el puerto serie durante aproximadamente un segundo, lee los datos y deja desactivado el puerto hasta la siguiente lectura programada. Este tiempo entre lecturas se puede seleccionar entre 5 segundos y 5 minutos.

Protocolo:

HyperTerminal

Para comunicarnos con el termómetro e higrómetro, solo es necesario enviar un carácter ascii a 1200 bps, sin paridad y un bit de stop y el microcontrolador nos responderá con los datos solicitados. Por ejemplo, si usamos el Hyper Terminal de Windows(previamente configurado con los datos anteriores) y enviamos el carácter "L"(lectura), nos responderá con los datos de temperatura y humedad que aparecen en la imagen.

 

Los comandos que se pueden enviar desde el PC son los siguientes:

"O" Prueba de comunicación, el termómetro/higrómetro contesta con "K" si la comunicación es correcta, si no lo es dará: "error de comunicación".

"L" Lectura de la temperatura y la humedad, contesta con 10 caracteres con la temperatura y la humedad convertida en caracteres ascii tal como se puede ver en la imagen anterior.

"H" Activa el calentador interno que hace subir la temperatura unos grados, así se evita la condensación en ambientes muy húmedos, este calentador quedará activado hasta que se desactive con el comando "N".

"N" Desactiva el calentador, después de desactivar el calentador, la temperatura será unos grados más alta de lo normal hasta que pasen unos segundos y se enfrie.

"R" Lectura de la temperatura y humedad en formato binario. Envía al PC 6 bytes que contienen: la temperatura(2 bytes), la humedad(2 bytes), un byte indicador de errores si los hubo y un byte de checksum que es la suma de los anteriores para que el PC pueda verificar que la transmisión fue correcta. En este modo los datos se envían al PC sin adaptar, se envía el valor de la temperatura y la humedad en 12 bits cada uno tal como es leído del sensor.

 

Programa de control desde el PC:

Programa de control desde el PCUsando los comandos que se han descrito anteriormente, se ha hecho el siguiente programa para el PC, en él se muestran la temperatura y la humedad de forma analógica y digital, además se van mostrando los dos valores en un gráfico. También se pueden ir guardando los datos en un archivo con la fecha y hora en que fueron tomados. Las lecturas se van tomando con un periodo de tiempo entre cada una de ellas seleccionable entre 5 segundos y 5 minutos.

El programa de lectura de datos desde el PC se puede descargar aquí.

El programa va guardando en la memoria en un buffer circular las mil últimas lecturas hechas con el nº de lectura, la fecha, la hora, la temperatura y la humedad.
También se puede seleccionar un archivo de texto en el que se van grabando los datos cada cierto tiempo, como por ejemplo en la imagen se han ido grabando cada 5 segundos.
Quien esté interesado en este termómetro e higrómetro puede solicitar por e-mail el microcontrolador programado o el dispositivo ya montado.