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:
El
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:

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:
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:
Usando
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. |