Tutorial de Uso del MAX31865 con un Sensor Pt100 - Tecneu

Introducción

El MAX31865 es un chip de interfaz diseñado para simplificar la lectura de sensores de temperatura de resistencia (RTDs), como el Pt100, conectándolos a microcontroladores y otros sistemas digitales. Los RTDs, como el Pt100, son sensores que cambian su resistencia en función de la temperatura. En particular, el Pt100 tiene una resistencia de 100 ohmios a 0 grados Celsius.

En este tutorial, veremos cómo usar el MAX31865 para leer un sensor Pt100 con un Arduino.

Materiales necesarios

  1. Un chip MAX31865.
  2. Un sensor Pt100.
  3. Una placa Arduino (o similar).
  4. Cables y protoboard, según sea necesario.

Conexión del Sensor Pt100 al MAX31865

-PT100 de 4 cables

Un RTD de 4 cables se usa para mediciones de temperatura precisas. La resistencia adicional introducida por los cables en RTDs puede afectar la precisión de las mediciones de temperatura. Sin embargo, al usar un esquema de 4 cables, cada lado del RTD tiene dos cables conectados, permitiendo al amplificador medir la resistencia tanto del RTD como de los pares de cables. Al restar la resistencia del cable, se obtiene una lectura más precisa de la resistencia del RTD y, por lo tanto, de la temperatura.

La conexión de un sensor RTD de 4 hilos implica enlazar los cuatro cables a sus respectivas almohadillas. Usando un multímetro, puedes identificar los pares de cables que están directamente conectados entre sí. Estos pares se conectan a los bloques de terminales correspondientes a cada lado, sin importar el orden. No se requiere soldar ni cortar ningún jumper para este tipo de sensor.

-PT100 de 3 cables

La configuración de un RTD de 3 cables es similar a la de 4, pero con un solo par de cables conectados. Dado que los cables son generalmente idénticos, el amplificador mide un solo par y asume la misma resistencia para ambos, simplificando el sistema sin comprometer en gran medida la precisión.
Para conectar un sensor RTD de 3 hilos, une los tres cables a los tres contactos más a la derecha. Identifica los dos cables que están directamente conectados usando un multímetro y conéctalos a los bloques etiquetados como F+ y RTD+. El tercer cable, que está conectado al RTD, va a la izquierda, en los bloques marcados como F- o RTD-. El orden específico no es importante en cada par.

Además de las conexiones de cable, necesitarás hacer algunas modificaciones en la placa del sensor para que funcione correctamente con un RTD de 3 hilos.

  1. Corta el fino trazo entre el puente de 2 vías en el lado derecho de la placa.

  2. A continuación, suelda cerrada la soldadura en el lado derecho de la misma área.

  3. Al lado del bloque de terminales en el lado izquierdo, también suelda cerrado ese puente. Como alternativa, puedes insertar un pedazo de alambre en los bloques de terminales para 'cortocircuitarlos'.

-PT100 de 2 cables

Un RTD de 2 cables es la configuración más simple, con un cable en cada lado del sensor. Sin embargo, la resistencia adicional de los cables puede afectar la precisión. Para corregir esto, puedes calibrar el sensor en un baño de hielo, medir la resistencia a 0°C, y luego restar 100Ω para estimar la resistencia de los cables, que puede ser tenida en cuenta en las mediciones posteriores.
  1. Conecta cada cable del sensor a cualquiera de los bloques de terminales en los lados del módulo RTD.

  2. Luego, tienes dos opciones para completar el circuito. Puedes soldar los puentes (jumper) que se encuentran al lado del bloque de terminales del RTD, lo que cerrará el circuito. Alternativamente, puedes colocar pequeños cables en los bloques de terminales de la derecha y de la izquierda para conectarlos y cerrar el circuito.

Conexión del MAX31865 al Arduino

  1. Conecta 3.3V del módulo a la entrada de 3.3V en el Arduino.
  2. Conecta GND al suelo común de alimentación/datos.
  3. Conecta el pin CLK a Digital #13 (puedes cambiar este pin más tarde si es necesario).
  4. Conecta el pin SDO a Digital #12 (también puedes cambiar este pin más tarde si es necesario).
  5. Conecta el pin SDI a Digital #11 (este pin puede ser cambiado más tarde si es necesario).
  6. Conecta el pin CS a Digital #10 (este pin también puede ser cambiado más tarde si es necesario).

Programación del Arduino

Instalar librería 

La biblioteca PT100RTD de Arduino convierte eficazmente la resistencia del sensor de temperatura Pt100 en grados Celsius, utilizando una tabla de búsqueda basada en el documento DIN 43760 / IEC 751. Su precisión es tal que puede ser utilizada como referencia para validar otros métodos computacionales. Esta biblioteca es particularmente útil en Arduinos de 8 bits, donde el cálculo de la temperatura Callendar-Van Dusen puede ser computacionalmente costoso. Debido a su alta precisión y eficiencia, utilizaremos esta biblioteca en el tutorial para manejar los datos del sensor Pt100.

La instalación de la biblioteca PT100RTD en tu entorno Arduino IDE puede hacerse siguiendo estos pasos:

  1. Descargar la biblioteca: Puedes descargar la biblioteca desde el repositorio oficial en GitHub. 

  2. Abrir Arduino IDE: Inicia tu entorno de desarrollo Arduino IDE.

  3. Instalar la biblioteca: Ve a Sketch > Include Library > Add .ZIP Library. Navega hasta el lugar donde guardaste el archivo .zip de la biblioteca PT100RTD y selecciona ese archivo.

La biblioteca incluye múltiples métodos de conversión de resistencia a temperatura: Callendar-Van Dusen, cúbico, polinomial y polinomial racional. Aunque son útiles para fines educativos y de comparación, estas funciones consumen memoria en tu Arduino. Por lo tanto, una vez que hayas determinado el método más adecuado para tu aplicación, se recomienda comentar o eliminar las funciones innecesarias para ahorrar espacio.

Código

Para empezar a usar la biblioteca PT100RTD con tu sensor de temperatura Pt100, necesitarás abrir el ejemplo proporcionado llamado "pt100_temperature". Este ejemplo contiene un código que muestra cómo utilizar la biblioteca para convertir las lecturas de resistencia de tu sensor Pt100 en grados Celsius.

Aquí están los pasos para abrir el ejemplo:

  1. En el entorno de desarrollo de Arduino (IDE), ve al menú "Archivo" en la parte superior de la pantalla.

  2. Selecciona "Ejemplos" en el menú desplegable.

  3. Busca la biblioteca PT100RTD en la lista de bibliotecas instaladas. 

  4. Haz clic en "pt100_temperature" para abrir el ejemplo.

 

En el código de ejemplo "pt100_temperature", hay tres líneas que inicializan el MAX31865, dependiendo de la configuración de cables de tu sensor Pt100, necesitarás descomentar la línea correspondiente. 

Una vez que hayas personalizado el código para tu sensor Pt100, puedes subirlo a tu Arduino conectándolo a tu computadora y seleccionando "Subir" en el IDE de Arduino. Después de subirlo, abre el Monitor Serial desde el menú "Herramientas" y asegúrate de configurar la tasa de baudios a 57600. Con estos pasos, deberías ser capaz de ver los datos del sensor en el Monitor Serial.

Cuando ejecutas el código y abres el Monitor Serial, podrás ver los resultados del método TLUT (Tabla de Búsqueda de Temperatura), de Callendar-Van Dusen (cuadrático), cúbico, polinomial y polinomial racional.

Al imprimir los resultados de cada método, puedes comparar la precisión y la eficiencia de cada uno, lo que te puede ayudar a decidir qué método utilizar en tus propias aplicaciones.

A continuación, presentamos una versión simplificada del código que calcula la resistencia usando únicamente la Tabla de Búsqueda (LookUp Table). Este enfoque reduce la complejidad y maximiza la eficiencia del código para tu sensor Pt100.

 

 

Conclusiones

Este tutorial ha cubierto cómo utilizar un sensor de temperatura Pt100 con el chip de interfaz MAX31865, y cómo la biblioteca PT100RTD de Arduino facilita las conversiones de resistencia a temperatura. Hemos destacado la importancia de la correcta configuración del cableado y de la calibración del sensor. Con estas herramientas y entendimiento, estás listo para usar el MAX31865 y el sensor Pt100 en tus propios proyectos de manera precisa y eficiente. 

Productos Relacionados

Ver artículo

Ver artículo

Ver artículo

ArduinoTemperatura

Deja un comentario