DÍA 309 DE 365

Fase 5: Diseño Industrial y Hardware

📖 Teoría a Estudiar

El Arte de Defender (Trade-Offs)

Una Defensa de Tesis no es una clase teórica. Los sinodales ya saben qué es la Ley de Ohm y qué es un microcontrolador. Lo que están evaluando es tu Criterio de Ingeniería. Quieren saber por qué elegiste el Camino A sobre el Camino B. En ingeniería no hay soluciones perfectas, solo compromisos (Trade-Offs).

Tipos de Sinodales y sus Vectores de Ataque

  1. El Académico/Teórico: Atacará tus matemáticas. Preguntará sobre la transformada Z en tus filtros digitales, el cálculo de disipación térmica y por qué no usaste algoritmos más complejos.
  2. El Industrial/Normativo: Atacará la viabilidad de tu equipo en el mundo real. Preguntará sobre interferencia electromagnética (EMI), certificaciones NOM/IEC, aislamiento galvánico y seguridad humana.
  3. El Hacker/Arquitecto de Software: Atacará tu código. Preguntará qué pasa si la pila (Stack) se desborda, por qué usaste Bare-Metal en vez de RTOS (aún), y cómo evitas los cuelgues (Deadlocks).
MÉTODO DE RESPUESTA A SINODALES: EL ARBOL DE TRADE-OFFS "¿Por qué diseñó una PCB desde cero en lugar de usar un PLC comercial?" 1. EL CONTEXTO Definir restricciones del proyecto (Costo y Escala). 2. OPCIONES DESCARTADAS PLC: Muy caro ($500 USD), código cerrado, tamaño grande. 3. LA DECISIÓN Custom PCB (STM32): $35 USD, IP propia, integración IoT nativa. 4. CONCEDER EL TRADE-OFF (HUMILDAD) "El trade-off es un mayor tiempo de I+D inicial y certificar CE/FCC nosotros mismos."

⚙️ Simulador de Defensa: Preguntas y Respuestas Magistrales

Pregunta 1 (Sinodal Industrial): "Veo que usaste un STM32 alimentado a 3.3V en un ambiente petroquímico lleno de motores. Eso es muy ruidoso. Un Arduino Nano opera a 5V y tiene más margen de ruido. ¿Por qué te complicaste con 3.3V?"

Tu Defensa: "Es correcto, operar a 3.3V reduce el margen de inmunidad al ruido interno. Sin embargo, el Trade-Off valía la pena porque la industria actual exige telemetría IoT. El módulo ESP32 y las memorias Flash SPI modernas operan exclusivamente a 3.3V. Para compensar la vulnerabilidad de voltaje, aislé la lógica de la potencia mediante optoacopladores, diseñé un anillo de guarda en la PCB (Day 281), e instalé filtros de ferrita en las entradas analógicas. Preferí lidiar con el ruido mediante diseño de hardware robusto para obtener los beneficios de los microcontroladores de nueva generación."

Pregunta 2 (Sinodal de Software): "No entiendo tu código de metrología. Escribiste multiplicaciones extrañas y usaste tipos `uint64_t` en lugar de simplemente declarar `float` para el volumen y usar librerías estándar como `math.h`. ¿No estás reinventando la rueda?"

Tu Defensa: "La decisión de usar Fixed-Point Math (Matemáticas de Punto Fijo) fue deliberada. El STM32F401 tiene una unidad FPU para cálculos flotantes de precisión simple (32-bit), pero no de doble precisión. Al sumar acumuladores volumétricos que corren por horas, un float pierde resolución y causará truncamientos que significan pérdida de dinero para la gasera. Al usar enteros de 64 bits escalados (x1000), garantizo que 1 millón de pulsos se calcule de forma 100% determinista, en un solo ciclo de reloj de la ALU, sin el overhead de las librerías de C, y con precisión metrológica exacta exigida por la NOM-005."

💻 El Código de la Evidencia (El Argumento en Pantalla)

Si el sinodal duda de tu afirmación anterior, le presentas este extracto de tu Tesis. Le muestras exactamente por qué el código "Fácil" falla, y por qué tu código de ingeniería "Complejo" sobrevive.


/**
 * @file defense_float_vs_fixed.c
 * @brief Demostración para Sinodales: El Peligro del Float en Metrología
 */

#include <stdint.h>
#include <stdio.h>

// --- LO QUE HARÍA UN ESTUDIANTE (CON BUGS DE ACUMULACIÓN) ---
float k_factor_float = 100.0f; // 100 pulsos = 1 Litro
float volumen_acumulado_L = 0.0f; 

void Estudiante_Suma_Pulsos(uint32_t pulsos_nuevos) {
    // Si la máquina ha despachado 100,000 Litros históricos (un número grande)
    // sumar 0.01 Litros (un pulso) comenzará a fallar debido a que la mantisa 
    // de 23-bits del IEEE-754 no tiene resolución suficiente.
    float litros_nuevos = (float)pulsos_nuevos / k_factor_float;
    volumen_acumulado_L += litros_nuevos; 
    // EVENTUALMENTE: volumen_acumulado_L dejará de incrementar. ¡Pérdida de cobro!
}

// --- LO QUE HACE EL ARQUITECTO (TU TESIS - PUNTO FIJO SEGURO) ---
uint32_t k_factor_scaled = 100000; // Escalado x 1000
uint64_t volumen_acumulado_mL = 0; // Resolución en Mililitros, Límite enorme

void Arquitecto_Suma_Pulsos(uint32_t pulsos_nuevos) {
    // 1. Usar uint64_t previene desbordamiento en la multiplicación transitoria
    uint64_t mL_nuevos = ((uint64_t)pulsos_nuevos * 1000000ULL) / k_factor_scaled;
    
    // 2. Suma entera exacta, bit a bit. 
    // Un uint64_t puede almacenar hasta 18 trillones de mililitros.
    // Jamás perderá precisión sin importar el tamaño del historial.
    volumen_acumulado_mL += mL_nuevos;
}
        

🚀 Avance del Proyecto Tesis: Despachador de Gas LP

Objetivo del día: Habilidades de Comunicación Técnica y Defensa de Criterios (Engineering Trade-Offs).

Una Tesis de Ingeniería no se aprueba solo porque la placa parpadee; se aprueba porque el autor demuestra dominio absoluto sobre su creación. Si el sinodal cuestiona la falta de un Sistema Operativo, tu respuesta será: *"Hasta este día (309), la prioridad era garantizar el control duro de los actuadores de gas. El Bare-Metal y las interrupciones anidadas ofrecen la latencia más baja posible. Sin embargo, mi arquitectura es modular. La siguiente fase de mi investigación (Fase 6) introduce FreeRTOS para delegar las comunicaciones Wi-Fi y la pantalla a tareas de menor prioridad, manteniendo el núcleo metrológico en un Timer de hardware."*

Al dominar la respuesta basada en el contexto, las opciones descartadas y los compromisos asumidos, has desarmado al tribunal. Les has demostrado que cada resistencia, cada milímetro de Clearance en tu PCB y cada variable `uint64_t` en tu código no son accidentes copiados de un tutorial en internet; son decisiones deliberadas y calculadas para proteger la vida humana y las finanzas en una planta de Gas LP.

📝 Resumen del Día