Los ingenieros de hardware dibujamos esquemáticos en KiCad. Los ingenieros de procesos dibujan diagramas P&ID. Este plano no muestra cables, muestra tuberías, dirección del flujo, válvulas mecánicas, filtros y cómo la instrumentación (nuestros sensores) se acopla a las venas de acero del sistema.
A diferencia de las tuberías de agua domésticas, en hidrocarburos a alta presión (10 a 20 Bar) no se usa pegamento de PVC. Se utilizan uniones metálicas (Acero al Carbón o Acero Inoxidable) con roscas NPT (National Pipe Taper). Las roscas NPT son cónicas; a medida que las aprietas, los hilos se clavan unos contra otros bloqueando el fluido.
Sin embargo, el metal contra metal nunca sella al 100%. Existen micro-huecos en la espiral de la rosca. Para evitar fugas de gas letales, se debe aplicar un sellador. Los instaladores caseros usan "Cinta Teflón" blanca, la cual es ilegal y peligrosa para el Gas LP (se deshilacha, viaja por el tubo y atasca las electroválvulas). Para instrumentación crítica se debe usar:
Paso 1: Preparación de Roscas.
Limpia las roscas macho del sensor de presión y de las tuberías con un cepillo de alambre de bronce y desengrasante. Inspecciona visualmente que no haya hilos barridos ni virutas de metal. Una viruta de acero viajando a 10 Bar destruirá las aspas de tu caudalímetro o atorará el embolo de la electroválvula, dejándola permanentemente abierta.
Paso 2: Aplicación del Sellador Anaeróbico.
Aplica un hilo continuo de sellador líquido (ej. Loctite 567) en el segundo o tercer hilo de la rosca macho, dejando libre el primer hilo para que no ingrese fluido al sistema. Enrosca la pieza con la mano hasta donde sea posible, y luego finaliza con dos llaves de fuerza, aplicando el torque exacto dictado por el fabricante del sensor para no quebrar el cuello de latón/acero.
Paso 3: Prueba de Jabón (Snoop Test) Inicial.
Inyecta aire comprimido o nitrógeno a unos 3 Bar de presión al sistema con la electroválvula de salida cerrada. Usa un aspersor con solución de agua y jabón (o líquido detector de fugas especializado "Snoop") sobre cada junta NPT. Si ves formarse burbujas, por más pequeñas que sean, tienes una fuga microscópica. Despresuriza, desarma, limpia y vuelve a sellar.
Los humanos fallan; el software no. Integrarás una rutina en el STM32 que utilizará el sensor de presión (PT) 4-20mA que conectamos en el Día 273 para monitorear matemáticamente la hermeticidad de tus tuberías antes de permitir el cobro del primer litro de gas.
/**
* @file leak_test.c
* @brief Algoritmo de Prueba de Hermeticidad Hidrostática / Neumática
*/
#include "stm32f4xx_hal.h"
#include <stdbool.h>
#include <stdio.h>
// Dependencias de Hardware Externas
extern void Valve_Main_Close(void);
extern void Valve_Main_Open(void);
extern float ADC_Get_Pressure_Bar(void);
extern void Cloud_Telemetry_Log(const char* msg);
// Parámetros de la prueba de integridad
#define LEAK_TEST_DURATION_SEC (600U) // Prueba estática de 10 minutos
#define ALLOWED_PRESSURE_DROP_BAR (0.15f) // Caída máxima permisible (fugas microscópicas o térmicas)
#define MIN_STARTING_PRESSURE_BAR (8.00f) // El sistema debe estar presurizado para probar
/**
* @brief Ejecuta el protocolo de hermeticidad. Bloqueante por seguridad.
* @retval bool: TRUE si el sistema es hermético, FALSE si hay fuga.
*/
bool Hydraulic_Leak_Test_Routine(void) {
printf("[*] Iniciando Secuencia de Hermeticidad (10 Minutos)...\r\n");
// 1. AISLAR EL SISTEMA
// Asegurar que la válvula solenoide de despacho esté herméticamente cerrada
Valve_Main_Close();
// 2. LECTURA INICIAL DE ESTABILIZACIÓN
// Esperar unos segundos para que el golpe de ariete (ondas de choque) se disipe
HAL_Delay(5000);
float initial_pressure = ADC_Get_Pressure_Bar();
printf(" - Presión de Arranque: %.2f Bar\r\n", initial_pressure);
// Validación de pre-condición: Si no hay presión, no podemos probar fugas
if (initial_pressure < MIN_STARTING_PRESSURE_BAR) {
printf("[X] ERROR: Sistema no presurizado. Abortando prueba.\r\n");
return false;
}
// 3. CICLO DE MONITOREO TÉRMICO Y PRESIÓN
uint32_t elapsed_sec = 0;
float current_pressure = initial_pressure;
while (elapsed_sec < LEAK_TEST_DURATION_SEC) {
// Bloqueo simulado de 1 segundo (usando HAL_Delay en la FSM base)
HAL_Delay(1000);
elapsed_sec++;
current_pressure = ADC_Get_Pressure_Bar();
// Calcular la gradiente de caída: ΔP = P_inicial - P_actual
float pressure_drop = initial_pressure - current_pressure;
// Evaluación en tiempo real (Fallo temprano)
if (pressure_drop > ALLOWED_PRESSURE_DROP_BAR) {
printf("\r\n[!] FUGA DETECTADA a los %lu seg. Caída de %.2f Bar.\r\n",
elapsed_sec, pressure_drop);
Cloud_Telemetry_Log("CRITICAL: Falla en prueba de hermeticidad. Posible fuga en tubería.");
return false;
}
// Opcional: Imprimir un "heartbeat" cada minuto
if (elapsed_sec % 60 == 0) {
printf(" - Min %lu/10: %.2f Bar (Estable)\r\n", (elapsed_sec/60), current_pressure);
}
}
// 4. VEREDICTO FINAL EXITOSO
printf("[V] PRUEBA SUPERADA. Tuberías certificadas herméticamente.\r\n");
Cloud_Telemetry_Log("INFO: Prueba de hermeticidad hidrostática exitosa.");
return true;
}
Objetivo del día: Integración Electromecánica Segura e Inspección de Tuberías Físicas.
El código C que corra en tu STM32 puede ser perfecto, pero si la rosca del sensor de presión que instalaste en la línea principal de acero no está sellada correctamente, tu Despachador de Gas LP se convertirá en un peligro letal. Al utilizar roscas NPT en combinación con selladores anaeróbicos de grado industrial (y no simples cintas de fontanería para agua), aseguras que las altísimas vibraciones causadas por el choque de ariete al cerrar la electroválvula de despacho no aflojarán la instrumentación con el paso de los años.
Más allá del ensamblaje manual, como Arquitecto de Sistemas, has transferido la responsabilidad de la seguridad de la visión humana a la precisión del silicio. La función Hydraulic_Leak_Test_Routine() es una salvaguarda de grado petroquímico. Al encender el equipo tras el mantenimiento, el procesador lee el sensor 4-20mA (PT), cierra la válvula (XV) y vigila matemáticamente el gradiente de presión ($\Delta P$). Si detecta una fuga microscópica que un operador humano jamás habría notado con el "Snoop Test", el STM32 se niega a iniciar operaciones y emite una alerta a la nube. Tu hardware no solo opera el gas; vigila su propia infraestructura de contención.