DÍA 288 DE 365

Fase 5: Diseño Industrial y Hardware

📖 Teoría a Estudiar

Inspección Óptica Automatizada (AOI)

En las fábricas, las placas que salen del horno de reflujo entran a una máquina de Inspección Óptica Automatizada (AOI). Esta máquina toma fotografías de alta resolución con iluminación multi-ángulo y compara la reflexión de la soldadura contra la de una "placa dorada" (Golden Board) perfecta. En el laboratorio, tus ojos bajo un microscopio estereoscópico o una lupa de joyero serán el sistema AOI.

La Tríada de la Muerte (Defectos Comunes)

  1. El Puente de Soldadura (Solder Bridge): Ocurre cuando dos pines adyacentes de un chip se fusionan en un solo charco de estaño. Es común en empaquetados de paso fino (Fine-Pitch) como el LQFP-64 de tu STM32. La causa principal es depositar demasiada pasta de soldar (Stencil muy grueso) o empujar el chip hacia abajo con demasiada fuerza.
  2. El Efecto Lápida (Tombstoning): Un componente SMD de dos pines (como una resistencia 0805) se levanta verticalmente y solo queda soldado de un lado. Causa: Un lado se calentó y fundió el estaño antes que el otro. La tensión superficial del estaño líquido tiró del componente, levantándolo. Esto ocurre cuando un lado está conectado a una enorme pista de poder y el otro a una pista delgada, violando el DFM térmico del Día 277.
  3. Soldadura Fría (Cold Solder Joint): El estaño tiene un aspecto opaco, granulado o agrietado en lugar de cóncavo y brillante. Causa: El horno no alcanzó la temperatura de reflujo (240°C), o la placa se movió o vibró durante la fase crítica de enfriamiento. La unión fallará bajo vibración.
DEFECTOLOGÍA Y VISIÓN ÓPTICA (AOI) PUENTE DE SOLDADURA (Cortocircuito) STM32 PA2 (TX) VCC (3.3V) Cortocircuito Lógico Exceso de estaño / Presión EFECTO LÁPIDA (Tombstoning) Pad Vacío Tensión Superficial Pad derecho se calentó antes. EL PROCESO DE REWORK (MALLA DESOLDADORA Y FLUX) Malla de Cobre Cautín (350°C) 1. Aplicar abundante FLUX químico (Esencial). 2. Apoyar la malla de cobre sobre el puente (Nunca frotar el pad). 3. Presionar suavemente con el cautín caliente. 4. La malla absorberá el exceso por capilaridad, reparando el corto.

⚙️ Práctica: Detección Activa (Hardware & Software)

Paso 1: La Prueba Humana del Multímetro (Cold Test).
Antes de siquiera pensar en conectar la batería de 24V, coloca tu multímetro en modo "Continuidad" (Bip). Pon una punta en el pin `GND` de la bornera principal y la otra en el pin de `3.3V` del procesador. Si el multímetro pita, tienes un puente de soldadura fatal debajo de un capacitor o del procesador. Tienes que encontrarlo y limpiarlo con malla desoldadora (Rework) antes de encender.

Paso 2: El Rework (Malla y Flux).
Si encuentras un puente visible en el STM32, no intentes "rasparlo" con la punta del cautín en seco; destruirás los frágiles pines. Añade una gota de Flux en gel sobre el puente. Coloca un trozo de Malla Desoldadora (Desoldering Braid) sobre el estaño. Presiona el cautín sobre la malla. El calor fundirá el estaño y la malla de cobre lo absorberá como una esponja por acción capilar. Los pines quedarán separados y limpios.

Paso 3: POST (Power-On Self-Test) en Firmware.
La inspección visual no detecta puentes escondidos *debajo* del chip. Por lo tanto, escribimos una rutina en C que se ejecuta en los primeros microsegundos tras encender el chip, donde el hardware se "auto-diagnostica" forzando estados en los pines de las Válvulas y verificando si otro pin cambia inesperadamente por culpa de un cortocircuito.


/**
 * @file hw_selftest.c
 * @brief Rutina POST (Power-On Self-Test) para detección de cortocircuitos en PCBA
 */

#include "stm32f401xe.h"
#include <stdint.h>
#include <stdbool.h>

// Mapeo hipotético: Válvula 1 en PA1, Válvula 2 en PA2 (Pines adyacentes físicamente)
#define VALVE_PORT          GPIOA
#define VALVE_1_PIN         GPIO_PIN_1
#define VALVE_2_PIN         GPIO_PIN_2

/**
 * @brief Evalúa si existe un puente de soldadura físico entre dos pines adyacentes.
 * @retval bool: TRUE si el hardware está libre de cortos, FALSE si hay un puente.
 */
bool SelfTest_Check_GPIO_Shorts(void) {
    bool hardware_ok = true;

    // 1. Configurar pines adyacentes como Entradas con Pull-Down (Seguridad inicial)
    // En GPIO_Init, PA1 y PA2 se configuran internamente con resistores hacia GND.
    
    // 2. Configurar temporalmente la Válvula 1 (PA1) como SALIDA
    GPIO_InitTypeDef GPIO_InitStruct = {0};
    GPIO_InitStruct.Pin = VALVE_1_PIN;
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
    HAL_GPIO_Init(VALVE_PORT, &GPIO_InitStruct);

    // Mantenemos Válvula 2 (PA2) como ENTRADA leyendo el bus.

    // 3. LA PRUEBA DE CORTO (Stimulus & Response)
    // Ponemos ALTO el PA1.
    HAL_GPIO_WritePin(VALVE_PORT, VALVE_1_PIN, GPIO_PIN_SET);
    
    // Un pequeño retardo para estabilización eléctrica
    __asm("nop"); __asm("nop"); __asm("nop"); __asm("nop");

    // 4. LECTURA DIAGNÓSTICA
    // Si PA2 (Entrada) lee un '1' lógico cuando debería estar en '0' por su Pull-Down,
    // significa que la corriente está "cruzando" físicamente por un puente de estaño
    // desde el PA1 hacia el PA2.
    if (HAL_GPIO_ReadPin(VALVE_PORT, VALVE_2_PIN) == GPIO_PIN_SET) {
        // Cortocircuito detectado entre Valve 1 y Valve 2.
        hardware_ok = false;
    }

    // 5. RESTAURAR ESTADO SEGURO
    HAL_GPIO_WritePin(VALVE_PORT, VALVE_1_PIN, GPIO_PIN_RESET);
    
    // Regresar PA1 a su configuración operativa normal...
    
    // Si hay un error, el sistema debe bloquearse en un estado seguro (Failsafe)
    // y emitir un código de parpadeo de LED de diagnóstico de hardware.
    return hardware_ok;
}
        

🚀 Avance del Proyecto Tesis: Despachador de Gas LP

Objetivo del día: Validación de Manufactura (PCBA) y Aseguramiento de Calidad (QA).

El puente de soldadura es el asesino silencioso de la automatización industrial. Supongamos que en tu Despachador de Gas LP, los pines de control del microcontrolador que activan la "Válvula de Llenado Rápido" y la "Válvula de Cierre Lento" están ruteados en pines adyacentes. Durante el reflujo SMD, un minúsculo hilo de estaño une ambos pines. Físicamente, has creado una compuerta OR inmutable.

Cuando tu algoritmo de metrología intente cerrar la válvula rápida para hacer un ajuste final (Fine Dispensing), la señal de control de la válvula lenta se propagará a través del cortocircuito, manteniendo la válvula rápida abierta. El gas seguirá fluyendo a máxima presión, derramándose sobre el cliente o llenando el tanque más allá de su capacidad de ruptura del 80%. Este no es un error de software; es un error metalúrgico. Al combinar la **Inspección Visual Meticulosa (AOI/Microscopio)** con una agresiva **Rutina POST en Firmware** que inyecta señales eléctricas cruzadas para detectar cortocircuitos antes de habilitar el flujo de gas, has diseñado un hardware auto-consciente. Tu despachador es capaz de negarse a operar y encender una alarma si detecta que sus propios nervios de cobre están comprometidos, cumpliendo el estándar más alto de protección humana e industrial.

📝 Resumen del Día