Lectura de sensores de presión y temperatura 4-20 mA en un PLC ESP32
La conversión en dos líneas
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
Filtrado junto a electrónica de potencia
[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.