Ir al contenido

← Todas las funcionalidades

Piso móvil hidráulico (app BLE)ESP32 PLC 38RGPIOAdquisición

Lectura de sensores de presión y temperatura 4-20 mA en un PLC ESP32

Los transmisores industriales hablan 4-20 mA por buenas razones: inmunidad al ruido en cables largos y detección de fallos integrada. Este ejemplo, extraído de un despliegue real en una máquina hidráulica móvil, lee un transmisor de presión de 0-250 bar y una sonda de temperatura de 5-90 °C en las entradas analógicas de un ESP32 PLC 38R, convierte las lecturas en bruto a unidades de ingeniería con un mapeo lineal de dos líneas y marca cualquier sensor cuya corriente de lazo haya caído por debajo de 4 mA.

La conversión en dos líneas

El PLC digitaliza el lazo de 4-20 mA como 0-1023, donde 0 corresponde a 4 mA y el fondo de escala a 20 mA. Convertir a unidades físicas es entonces value = min + raw/1023 * (max - min): una única fórmula reutilizada para ambos sensores con rangos distintos. Mantener los rangos como constantes con nombre hace que cambiar un transmisor de 250 bar por uno de 400 bar sea un cambio de una sola línea.

Detección de rotura de cable gratis

Un lazo de 4-20 mA sano nunca baja de 4 mA, así que una lectura casi nula solo puede significar un cable cortado o un transmisor sin alimentación. El ejemplo convierte esa condición en un flag de validez en lugar de reportar un engañoso "0 bar". En una máquina que circula por carretera y vibra constantemente, esta distinción llega al teléfono del operario antes de convertirse en una avería.

Filtrado junto a electrónica de potencia

Las electroválvulas que conmutan cerca del cableado analógico inyectan picos en las lecturas, y en una máquina móvil compacta rara vez puedes permitirte separar correctamente los cables de potencia y de señal. Una media de diez muestras por medida basta para estabilizar los valores mostrados sin añadir un retardo apreciable. Los valores filtrados se transmiten después por BLE como tramas [T] y [P], y la misma lectura de presión gobierna una parada por sobrepresión que funciona con independencia de la app móvil.

Un fragmento de la implementación

Tal cual del ejemplo desplegado en el ESP32 PLC 38R — cópialo libremente:

void setup() {
  Serial.begin(115200);
  pinMode(INPUT_TEMP, INPUT);
  pinMode(INPUT_PRESSURE, INPUT);
  Serial.println("4-20 mA reading ready (ESP32 PLC 38R)");
}

El ejemplo completo es un programa entero — cabecera de conexionado, setup y bucle principal — listo para adaptar a tu aplicación.

Preguntas frecuentes

¿Por qué usar 4-20 mA en lugar de sensores de 0-10 V?

Los lazos de corriente son inmunes a la caída de tensión a lo largo del cable y a la mayor parte del ruido eléctrico, y el cero vivo en 4 mA permite al PLC detectar un cable roto. En máquinas móviles con mazos de cables largos y sometidos a vibración, esto es decisivo.

¿Qué significa una lectura por debajo de 4 mA?

Un lazo roto: cable cortado, borne flojo o transmisor sin alimentación. El firmware debe marcar el valor como no válido en lugar de tratarlo como el mínimo del rango de medida.

¿Qué precisión tiene la entrada analógica del PLC ESP32 para 4-20 mA?

Las entradas dedicadas de 4-20 mA del PLC 38R ofrecen una resolución útil de unos 10 bits, alrededor de 0,25 bar por cuenta con un transmisor de 250 bar. Con promediado, es de sobra para tareas de monitorización y protección.

Funcionalidades relacionadas