La detección de fugas de aire comprimido convierte una pérdida invisible y permanente en una cifra que puedes seguir, comunicar y sobre la que puedes actuar. En esta guía diseñarás una configuración de monitorización con sensores de caudal y presión que publican por MQTT, calcularás las fugas a partir del consumo fuera de turno y de la caída de presión, y generarás alertas cuando la tasa de fugas vuelva a subir tras una campaña de reparación.
Por qué las fugas de aire comprimido merecen una monitorización continua
El aire comprimido es uno de los servicios más caros de una fábrica por unidad de energía útil entregada: el compresor convierte la electricidad sobre todo en calor, y solo una fracción acaba como trabajo en la herramienta. Las fugas lo empeoran porque consumen aire todas las horas de todos los días, incluidas las noches y los fines de semana en que no se produce nada.
La mayoría de las plantas ya saben que existen fugas. Los equipos de mantenimiento hacen inspecciones por ultrasonidos, etiquetan las fugas y las reparan. El problema es lo que ocurre después: sin medición, nadie puede decir cuánto ahorró la campaña, y en pocos meses aparecen nuevas fugas en acoplamientos rápidos, mangueras desgastadas, purgadores y juntas de cilindros. La monitorización continua cierra ese ciclo. Te dice la tasa de fugas actual, la compara con la que había tras la última reparación y avisa cuando toca la siguiente inspección.
Qué medir
No necesitas un sensor en cada máquina para empezar. Un pequeño conjunto de puntos de medición responde a las preguntas importantes.
| Punto de medición | Sensor | Qué responde |
|---|---|---|
| Colector principal después del secador | Caudalímetro másico térmico | Aire total consumido por la planta |
| Descarga del compresor | Transmisor de presión (4 a 20 mA o Modbus) | Presión de generación y banda de control |
| Extremo final de la red | Transmisor de presión | Caída de presión en tuberías, filtros y secadores |
| Cada compresor | Transformador de corriente o registros Modbus del controlador | Estados de carga, vacío y parada, potencia eléctrica |
| Grandes consumidores o zonas (opcional) | Caudalímetros de ramal | Qué área es responsable de la carga de fugas |
| Programa de producción | MES, PLC o un simple calendario de turnos | Cuándo se supone que la planta está parada |
Los caudalímetros másicos térmicos son la opción habitual para el colector porque miden directamente el caudal estándar y tienen una pérdida de carga baja. Muchos modelos actuales exponen las lecturas por Modbus RTU o Modbus TCP, algunos por 4 a 20 mA, y unos pocos hablan MQTT de forma nativa.
Arquitectura: del sensor a la cifra de fugas
El camino de los datos es el mismo patrón que en cualquier monitorización de servicios:
- Sensores y medidores instalados en la red de aire y en los compresores.
- Un gateway en el edge (un PC industrial, una Raspberry Pi con interfaz RS-485, un PLC con una librería MQTT o Node-RED) consulta registros Modbus o entradas analógicas cada pocos segundos.
- El gateway publica JSON por MQTT en un broker, con una estructura de topics basada en la jerarquía de la planta.
- Los consumidores se suscriben: un historiador escribe los valores en una base de datos de series temporales, un pequeño servicio calcula las métricas de fugas, y los dashboards y las alertas leen los resultados.
El broker desacopla a todos ellos. Si no tienes claro qué hace un broker MQTT en este esquema, piensa en él como la centralita a la que se conectan todos los productores y consumidores, de modo que añadir un dashboard nuevo nunca afecta al gateway.
Una estructura de topics que sigue ISA-95 mantiene todo legible y permite a ConnectMQ mostrar los dispositivos por nivel en su vista de dispositivos:
connectmq/plant1/utilities/compressed-air/header/flow {"ts":1760600000,"nm3_min":18.4}
connectmq/plant1/utilities/compressed-air/header/pressure {"ts":1760600000,"bar":6.9}
connectmq/plant1/utilities/compressed-air/end-of-line/pressure {"ts":1760600000,"bar":6.4}
connectmq/plant1/utilities/compressed-air/comp1/state {"ts":1760600000,"state":"load","kw":72.5}
connectmq/plant1/utilities/compressed-air/leak/offshift {"ts":1760600000,"nm3_min":4.1,"share_pct":22.3}
El último topic es un valor derivado, publicado como retenido para que un dashboard que se abra en cualquier momento vea de inmediato la última cifra de fugas.
Método 1: caudal base fuera de turno
La forma más sencilla y robusta de cuantificar las fugas de forma continua es observar el caudal cuando la producción está parada. Durante una ventana de parada planificada (turno de noche sin actividad, domingo, pausa de comida en una línea que se detiene por completo), casi todo lo que fluye por el colector son fugas más unos pocos usos legítimos permanentes, como el aire de purga o cuchillas de aire que no se apagaron.
El servicio siguiente se suscribe al caudal del colector, comprueba si la hora actual cae dentro de una ventana de parada configurada, promedia el caudal en esa ventana y publica el resultado. Usa el servidor MQTT público gratuito para la demo, que sirve solo para pruebas y prototipos; cambia a tus credenciales para producción.
#!/usr/bin/env python3
"""Off-shift compressed air leak estimator."""
import json
import statistics
import time
from datetime import datetime
import paho.mqtt.client as mqtt
BROKER = "broker.connectmq.com"
PREFIX = "connectmq/demo/air-7f3k/plant1/utilities/compressed-air"
FLOW_TOPIC = f"{PREFIX}/header/flow"
LEAK_TOPIC = f"{PREFIX}/leak/offshift"
IDLE_HOURS = range(1, 5) # 01:00-04:59 is a planned idle window
PRODUCTION_AVG_NM3_MIN = 18.0 # reference average flow during production
samples = []
window_open = False
def in_idle_window(now: datetime) -> bool:
return now.hour in IDLE_HOURS
def on_connect(client, userdata, flags, reason_code, properties):
print("Connected:", reason_code)
client.subscribe(FLOW_TOPIC, qos=1)
def on_message(client, userdata, msg):
global window_open
data = json.loads(msg.payload)
now = datetime.now()
if in_idle_window(now):
window_open = True
samples.append(float(data["nm3_min"]))
elif window_open and samples:
leak = statistics.median(samples)
result = {
"ts": int(time.time()),
"nm3_min": round(leak, 2),
"share_pct": round(100 * leak / PRODUCTION_AVG_NM3_MIN, 1),
"samples": len(samples),
}
client.publish(LEAK_TOPIC, json.dumps(result), qos=1, retain=True)
print("Published leak estimate:", result)
samples.clear()
window_open = False
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id="leak-estimator-7f3k")
client.on_connect = on_connect
client.on_message = on_message
client.connect(BROKER, 1883, keepalive=60)
client.loop_forever()
Usar la mediana en lugar de la media hace que la estimación resista a que alguien sople brevemente una pieza durante la noche. En una planta real tomarías la ventana de parada del programa de producción o de los estados de las máquinas en lugar de un rango horario fijo, y restarías los usos permanentes conocidos.
Método 2: prueba de caída de presión
Cuando aún no hay caudalímetro, o quieres validarlo, una prueba de caída de presión da una estimación directa de las fugas. Con todos los consumidores parados, se apagan los compresores y se registra cómo cae la presión del sistema. Como los transmisores de presión ya publican por MQTT, solo tienes que anotar el inicio y el fin de la prueba.
El caudal de fugas en aire libre es aproximadamente:
Q_leak [l/min free air] = V [l] x (p1 - p2) [bar] / (t [min] x 1.013 [bar])
V = total system volume (receivers + piping)
p1 = start pressure, p2 = end pressure (gauge)
t = time to fall from p1 to p2
Por ejemplo, con un sistema de 3.000 litros que cae de 7,0 a 6,0 bar en 2 minutos, las fugas son de unos 3.000 x 1,0 / (2 x 1,013), es decir, aproximadamente 1.480 l/min de aire libre. Algunos profesionales aplican un factor de corrección porque las fugas fluyen más rápido a plena presión que en el extremo inferior de la prueba; elijas la convención que elijas, aplícala de forma coherente para que los resultados sigan siendo comparables en el tiempo.
Haz la prueba en las mismas fechas cada mes y publica el resultado en un topic leak/decay-test, y obtendrás una segunda línea de tendencia que no depende del caudalímetro.
Alertas y KPI para la detección de fugas de aire comprimido
Las cifras solo cambian comportamientos cuando alguien las ve. Un conjunto práctico de alertas y KPI:
- Caudal de fugas fuera de turno por noche, con tendencia semanal. Es la cifra principal.
- Proporción de fugas como porcentaje del caudal medio de producción, útil para comparar plantas de distinto tamaño.
- Potencia específica (kW por m³/min) de la sala de compresores, que revela ciclos de carga/vacío ineficientes.
- Caída de presión entre la descarga del compresor y el final de la red, que a menudo explica por qué se subieron las consignas.
- Alerta cuando la proporción de fugas supera el nivel posterior a la reparación en el margen que elijas, señal de que toca una nueva inspección por ultrasonidos.
En el portal de ConnectMQ puedes crear una regla de alerta por umbral sobre el campo nm3_min o share_pct del topic de fugas; cada superación queda en el registro de alertas. Para notificaciones por correo, chat o SMS, un pequeño flujo de Node-RED o un suscriptor en Python conectado al broker reenvía el evento, ya que ConnectMQ no envía webhooks por sí mismo. La guía de alertas por umbral muestra ese patrón paso a paso.
Errores habituales
- Caudalímetro mal ubicado. Instalarlo antes del secador mide también las pérdidas de purga y de drenaje de condensados. Colócalo después del tratamiento del aire, salvo que quieras medir esas pérdidas expresamente.
- Ignorar los usos permanentes. Las cuchillas de aire, las boquillas de soplado y los refrigeradores de armarios que quedan funcionando por la noche no son fugas, pero son despilfarro. Identifícalos por separado para que la cifra de fugas sea honesta.
- Confundir caudal normal y estándar. Asegúrate de que todos los medidores informan en las mismas condiciones de referencia antes de comparar o sumar.
- Sin vínculo con el estado de producción. Sin saber cuándo está parada la planta, la línea base son conjeturas. Toma el estado de tus topics de monitorización del estado de las máquinas si ya los tienes.
- Proyectos puntuales. Un dashboard sin dueño se degrada rápido. Asigna el KPI de fugas a una persona y revísalo en la misma reunión que las demás cifras energéticas.
Encaje en el panorama energético general
El aire comprimido suele ser una partida dentro de un programa más amplio. El mismo broker y la misma estructura de topics transportan contadores eléctricos, gas y agua, de modo que el estimador de fugas anterior se sitúa junto a los datos descritos en la monitorización energética en fábrica y el desglose por máquina de la submedición eléctrica. Si te preparas para la ISO 50001, el aire comprimido se identifica con frecuencia como un uso significativo de la energía, y los datos continuos de fugas se convierten en evidencia de mejora. Para la visión estratégica de dónde encaja la energía entre otras iniciativas, consulta la guía de fabricación inteligente.
Gestionar el broker por tu cuenta es posible, pero los datos de servicios solo valen si están siempre disponibles. Un broker MQTT en la nube quita de la lista del equipo de mantenimiento los parches, los certificados y las preocupaciones por la disponibilidad, para que pueda centrarse en reparar fugas.
Monitoriza el aire comprimido con ConnectMQ
ConnectMQ es un broker MQTT gestionado con TLS, una vista de dispositivos que entiende ISA-95, un explorador de topics en directo y alertas por umbral. Crea el prototipo de tu monitorización de fugas en broker.connectmq.com y después crea un broker Serverless gratuito sin tarjeta de crédito y apunta tus gateways hacia él.
Preguntas frecuentes
¿Necesito un caudalímetro para empezar con la detección de fugas de aire comprimido?
No. Con solo transmisores de presión puedes hacer pruebas periódicas de caída de presión y registrar los resultados por MQTT. Un caudalímetro másico térmico en el colector principal hace que la medición sea continua y es el siguiente paso recomendado.
¿Con qué frecuencia debe calcularse la estimación de fugas?
Una vez por ventana de parada planificada suele bastar, normalmente cada noche o cada fin de semana. Sigue la tendencia de los valores semanalmente para que el ruido a corto plazo no provoque inspecciones innecesarias.
¿Pueden los controladores de compresores existentes proporcionar los datos?
A menudo sí. Muchos controladores de compresores exponen el estado de carga, la presión y las horas de funcionamiento por Modbus, que un gateway puede leer y publicar por MQTT junto a tus propios sensores.
¿El broker MQTT calcula por sí mismo la tasa de fugas?
No. ConnectMQ transporta los datos de los sensores y puede generar alertas por umbral sobre los valores publicados. El cálculo de fugas se ejecuta en un pequeño servicio, un flujo de Node-RED o un script en el edge que se conecta al broker como cliente MQTT.



