INFORMACIÓN
El MAX31865 es un convertidor analógico a digital especializado diseñado para trabajar con sensores de temperatura de resistencia de platino del tipo PT100 o PT1000, que son sensores RTD (Resistance Temperature Detector). Su función principal es traducir la variación de resistencia del sensor, causada por los cambios de temperatura, en una señal digital que puede ser interpretada fácilmente por microcontroladores. Este módulo integra un amplificador de precisión, un filtro de paso bajo y un convertidor ADC de 15 bits, ofreciendo lecturas precisas y estables. El MAX31865 funciona midiendo la resistencia del sensor PT100/PT1000 mediante un puente de Wheatstone interno y aplicando una corriente constante, compensando errores por auto-calentamiento. Además, permite configurar el tipo de conexión del RTD: de 2, 3 o 4 hilos, lo cual mejora la precisión al minimizar los errores causados por la resistencia de los cables. Se comunica mediante el protocolo SPI.
El MAX31865 se utiliza principalmente en aplicaciones donde se requiere una medición de temperatura precisa y confiable, aprovechando la alta estabilidad y exactitud de los sensores RTD tipo PT100 o PT1000. Sus usos y aplicaciones más comunes incluyen sistemas de control industrial, monitoreo térmico en procesos químicos, automatización en laboratorios, sistemas HVAC (calefacción, ventilación y aire acondicionado), control de temperatura en impresoras 3D de alta gama y equipos médicos. Gracias a su interfaz SPI, el MAX31865 es compatible con una amplia variedad de tarjetas de desarrollo, como Arduino Uno, Mega, Nano, ESP32, ESP8266, STM32, Raspberry Pi y Teensy, entre otras. Su capacidad para trabajar con sensores de 2, 3 y 4 hilos le permite adaptarse a distintos niveles de precisión y entornos exigentes, siendo una opción robusta y profesional para aplicaciones donde los sensores comunes como termistores o sensores digitales no ofrecen el nivel de precisión requerido.
ESPECIFICACIONES TÉCNICAS
- Voltaje de Operación: 3.3 a 5 VDC.
- Resolución: 15 bits (0.03125 °C).
- Precisión: 0.5 °C.
- Tiempo de conversión: 21 ms (máx.).
- Protección de entrada: ± 45 V.
- Comunicación: Protocolo SPI.
- RTD Soportados: PT100, PT1000.
- No. De Hilos: 2, 3, 4.
- Posee agujeros para montaje.
- El color de la PCB puede variar (Morado, Negro).
- Dimensiones: 28 mm x 25 mm x 3 mm.
- Peso: 5 g.
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
¿Cómo se configura el MAX31865?
El módulo MAX31865 se puede configurar para trabajar con sensores PT100 o PT1000 de 2, 3 o 4 hilos.
- La configuración por defecto es para sensores de 4 hilos.
- Para usar sensores de 3 hilos se deben hacer las siguientes modificaciones: soldar los “pads” etiquetados como “2/3 Wire”, cortar el puente entre los pads “24” y finalmente soldar el pad central con el pad “3”.
- Para usar sensores de 2 hilos se debe soldar los pads etiquetados como “2/3 Wire” y “2 Wire”.
Código Prueba.
A continuación te presentamos el siguiente código para que lo puedas recrear en el IDE de Arduino, compila y cárgalo a tu ESP32, también puedes usar un Arduino, pero debes hacer el cambio en la conexión de los pines, una vez cargado lograras ver en la pantalla serial como se te va desplegando la temperatura que está registrando el sensor.
Este es un código sencillo, pero te puedes dar una idea de como funciona o como debe ser el código para poder realizar un proyecto más grande.
Recuerda que necesitaras la librería para hacer funcionar el MAX31865, lo puedes encontrar ¡Aquí!
//Controlador utilizado ESP32 //////////Datos de configuración MAX31865 #include <Adafruit_MAX31865.h> // Protocolo SPI: CS, DI, DO, CLK Adafruit_MAX31865 thermo = Adafruit_MAX31865(5, 2, 3, 4); /////////////Variables Sensor de temperatura #define RREF 430.0 //definida por max #define RNOMINAL 100.0 //definida por max void setup() { Serial.begin(115200); // Definir baudrate Serial.println("Prueba MAX y PT100"); thermo.begin(MAX31865_2WIRE); // Definir la cantidad de cables 2Wire o 3Wire o 4Wire } void loop (){ Serial.print("Temperatura"); Serial.println(Leer_temperatura()); delay(1000); } ////Lectura de sensor float Leer_temperatura (){ uint16_t rtd = thermo.readRTD(); float ratio = rtd; ratio /= 32768; return (thermo.temperature(RNOMINAL, RREF)); }



























Valoraciones
No hay valoraciones aún.