Cómo utilizar la RTD PT100 con Arduino Cloud

Usar un RTD PT100 (Detector de Temperatura de Resistencia) con un Arduino y conectarlo a la Nube IoT de Arduino a través de Wi-Fi te permite monitorizar remotamente las temperaturas con alta precisión y fiabilidad. En este tutorial, te guiaremos a través del proceso de configuración de tu sensor PT100 con un Arduino que tenga capacidades Wi-Fi, y luego integraremos los datos en Arduino Cloud para la monitorización remota y el registro.

Qué necesitarás

  1. Sensor de temperatura RTD PT100
  2. Amplificador/Módulo RTD – Por ejemplo, un Amplificador Adafruit MAX31865, que está específicamente diseñado para RTDs.
  3. Arduino con capacidad Wi-Fi – Arduino MKR WiFi 1010 , ESP32, o similar.
  4. Cables puente
  5. Cuenta Arduino IoT Cloud

Comprender el sensor PT100 y el amplificador

Adafruit PT100 RTD Temperature Sensor Amplifier - MAX31865

El sensor RTD PT100 cambia de resistencia en respuesta a la temperatura. La resistencia del PT100 es de 100 ohmios a 0°C y cambia linealmente con la temperatura. Para interconectarlo con el Arduino, necesitas un amplificador como el MAX31865, que convierte los cambios de resistencia en señales digitales legibles por el Arduino.

Paso 1: Cableado de la RTD PT100 y el amplificador

Conecte la RTD PT100 al amplificador. La mayoría de los amplificadores RTD como el MAX31865 vienen con entradas etiquetadas para configuraciones RTD de 2, 3 o 4 hilos. He aquí cómo conectar una RTD PT100 de 3 hilos a un módulo MAX31865 y luego conectar el módulo al Arduino

Sensor PT100 a MAX31865:

  • Conecta un lado del RTD a la patilla RTD+.
  • Los otros dos cables van a las conexiones RTD- y RTD Middle (siga el etiquetado del módulo específico).

Amplificador MAX31865 a Arduino:

  • VCC del MAX31865 a 3,3V en el Arduino.
  • GND del MAX31865 a GND en el Arduino.
  • SDO (MISO) del MAX31865 a MISO en el Arduino.
  • SDI> (MOSI) del MAX31865 a MOSI en el Arduino.
  • SCK del MAX31865 a SCK en el Arduino.
  • CS> del MAX31865 a cualquier pin digital disponible en el Arduino (por ejemplo, D5).

Paso 2: Instalar las bibliotecas necesarias

Para simplificar tu código Arduino, instala las librerías necesarias:

Biblioteca MAX31865 de Adafruit

  • Abre el IDE de Arduino.
  • Vaya a Sketch > Incluir biblioteca > Gestionar bibliotecas.
  • Busca Adafruit MAX31865 e instálalo.

Biblioteca Arduino IoT Cloud

  • Ir a Sketch> Incluir Biblioteca> Gestionar Bibliotecas
  • Busca ArduinoIoTCloud e instálalo.

Paso 4: Crear una cuenta Arduino IoT Cloud y configurar una nueva cosa

  1. Vaya a Arduino IoT Cloud e inicie sesión o cree una cuenta.
  2. Crea un nuevo Thing en Arduino IoT Cloud, que será el objeto que contenga tus datos de temperatura.
  3. Defina una variable en la Cosa (por ejemplo, temperatura de tipo Float) que almacenará y mostrará las lecturas de temperatura del sensor PT100.
  4. Selecciona el tipo de dispositivo y configúralo para que se conecte a Wi-Fi.

Paso 5: Escribir el código Arduino

Aquí hay un fragmento de código de ejemplo para leer desde el sensor PT100 y subir los datos a Arduino Cloud.

#include <Adafruit_MAX31865.h>
#include <ArduinoIoTCloud.h>
#include <WiFiNINA.h>

// Wi-Fi credentials
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";

// MAX31865 configuration
#define MAX31865_CS_PIN 5  // Chip Select pin
Adafruit_MAX31865 max31865 = Adafruit_MAX31865(MAX31865_CS_PIN);

// Arduino Cloud variable
float temperature;

// Function to read temperature from the PT100 sensor
float readTemperature() {
  // Configure the RTD sensor type
  max31865.begin(MAX31865_3WIRE);  // Choose the right wiring configuration (2, 3, or 4 wire)
  float temp = max31865.temperature(100, 430);  // 100 ohms for PT100, 430 is the reference resistor
  return temp;
}

// IoT Cloud setup
void initProperties() {
  ArduinoCloud.addProperty(temperature, READ, ON_CHANGE, NULL);
}

void setup() {
  Serial.begin(9600);

  // Initialize MAX31865
  if (!max31865.begin(MAX31865_3WIRE)) {
    Serial.println("Failed to initialize MAX31865!");
    while (1);
  }
  
  // Connect to Wi-Fi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("Connected to WiFi!");

  // Arduino IoT Cloud setup
  initProperties();
  ArduinoCloud.begin(WiFi.status);
}

void loop() {
  // Update Arduino IoT Cloud
  ArduinoCloud.update();

  // Read temperature and print it to Serial
  temperature = readTemperature();
  Serial.print("Temperature: ");
  Serial.println(temperature);

  // Delay for stability
  delay(2000);
}

Explicación del Código

  1. Configuración Wi-Fi: El código se conecta a tu Wi-Fi usando WiFiNINA.h.
  2. Configuración RTD: La librería Adafruit_MAX31865 configura el sensor con max31865.begin(MAX31865_3WIRE).
  3. Lecturas de temperatura: temperature = readTemperature() obtiene la temperatura y la asigna a la variable de temperatura creada en Arduino Cloud.
  4. Envío de datos a la nube: ArduinoCloud.update() sincroniza los datos de temperatura con tu cuenta Arduino IoT Cloud.

Monitorización de datos en Arduino IoT Cloud

  1. Vuelve a Arduino IoT Cloud y abre el panel de control de tu Cosa.
  2. Añada un widget (como un Indicador o un Gráfico) para visualizar la variable de temperatura en tiempo real.

Despliegue y pruebas

  1. Carga el código en tu placa Arduino.
  2. Abra el monitor en serie para verificar si las lecturas de temperatura se muestran correctamente.
  3. Comprueba el panel de control de Arduino IoT Cloud para asegurarte de que los datos de temperatura se transmiten y actualizan en tiempo real.

Conclusión

Este tutorial muestra cómo conectar una RTD PT100 a un Arduino con capacidad Wi-Fi e integrarla en Arduino IoT Cloud. Esta configuración es adecuada para la monitorización remota, el registro de datos y la implementación de sistemas inteligentes de monitorización de la temperatura. Puedes personalizar aún más la configuración añadiendo más funciones, como alertas por correo electrónico o integración con otros servicios IoT.

 

Pin It on Pinterest

Shares