Utilizando el sensor DS18B20

Vamos a aprender a utilizar el módulo “Sensor DS18B20” para medir temperaturas, almacenar los datos obtenidos en un registro y posteriormente mostrar en tiempo real los valores en un display LCD.

NIPLE incorpora entre sus sensores un termómetro digital DS18B20 que utiliza solo un pin para comunicarse con el microcontrolador mediante el bus 1-Wire®. Esta solución nos permite capturar registros de temperatura en un amplio rango de medidas, incluso armar redes de sensores para obtener varias muestras de manera simultánea.

El termómetro digital DS18B20 provee mediciones de temperatura en grados Celsius en formato digital utilizando una comunicación mediante el bus “1-Wire®”, ocupando solo una línea de datos del microcontrolador. Su rango de operación es de -55°C a +125°C con una precisión de ±0.5°C sobre el rango -10°C / +85°C. Cada DS18B20 tiene un número de serie único de 64-bit, que permite utilizar múltiples dispositivos en el mismo bus 1-Wire®. Es posible armar redes de sensores gracias a esta característica y distribuirlos en conveniencia para cada aplicación.

Principales características: requiere solo un pin de comunicación, número de serie de 64-Bit unico almacenado en ROM, puede ser alimentado desde la linea de datos (3.0V a 5.5V).

Aplicaciones típicas: controles termostáticos, sistemas industriales, productos de consumo, termómetros, o cualquier sistema sensible térmicamente.

PINOUT:

pinout

GND: masa
VDD: alimentación
DQ: pin de datos

Configuración del módulo

Para poder utilizar el sensor es necesario declararlo. Para esto seguimos la ruta: DECLARACIÓN DE DISPOSITIVOS >>> NUEVO DISPOSITIVO >>> SENSORES >>> TEMPERATURA DS18B20.

Los parámetros a configurar son:

  • PIN DQ: definir pin de datos del microcontrolador.
  • CONEXIÓN: único o red. Dependiendo si vamos a utilizar uno o más sensores.

MODO ÚNICO. Utilizamos un solo sensor en nuestra aplicación. Es necesario conectar una resistencia pull-up de 1k en el pin DQ.

config_1

MODO RED. Utilizamos varios sensores en nuestra aplicación. Es necesario conectar una resistencia pull-up de 150 ohms en el pin DQ por cada sensor.

config_2

Programación

Al insertar el bloque del sensor vamos a configurar:

  • ID DISP.: elección del sensor.
  • ACCESO: leer temperura o código ROM.

modulo_1

La lectura se guarda en un registro de 16 bits con una resolución de 0.1ºC. El valor almacenado tiene el formato “temperatura x 10”, es decir que el decimal 205 representa un valor de 20.5ºC. Además debido al rango de medidas del sensor es necesario declarar y utilizar un bit para el signo negativo. Este bit adoptará el valor 0 para temperaturas negativas y 1 para temperaturas positivas.

bloque_1

El bloque incluye la posibilidad de convertir el registro automáticamente a BCD para utilizar en mensajes de una pantalla LCD.

En el caso de leer el código ROM debemos utilizar 8 registros de 8 bits para almacenar el resultado.

modulo_2

bloque_2

Puede descargar los archivos que complementan al tutorial (código fuente, esquemas y datasheets) haciendo clic AQUÍ.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on TumblrPin on PinterestDigg thisShare on RedditEmail this to someonePrint this page

One thought on “Utilizando el sensor DS18B20”

Los comentarios están cerrados.