DÍA 276 DE 365

Fase 5: Diseño Industrial y Hardware

📖 Teoría a Estudiar

El Compilador del Hardware (ERC Matrix)

En el diseño de PCBs, cada pin de un componente tiene una "Propiedad Eléctrica" definida en su librería. Por ejemplo, el pin VDD de tu STM32 está clasificado como Power Input (Entrada de Poder). El pin 3 del regulador AMS1117 está clasificado como Power Output (Salida de Poder). El pin de una bornera genérica (Block Terminal) está clasificado como Passive (Pasivo).

Cuando presionas el botón de "Electrical Rule Check" (ERC), KiCad revisa la malla de conexiones (Nets) y cruza las propiedades de los pines conectados usando una Matriz de Conflictos. Reglas básicas:

El Mito del PWR_FLAG (Bandera de Poder)

El error de ERC más común que frustra a los novatos es: "Pin connected to some others pins but no pin to drive it" (Pin conectado a otros, pero ninguno lo alimenta). Esto ocurre típicamente en los conectores de entrada. Si conectas una bornera pasiva a la entrada de +24V, KiCad se quejará. ¿Por qué? Porque KiCad no sabe que tú conectarás una batería real a esa bornera; para KiCad, la bornera es un pedazo pasivo de metal. Para solucionar esto, debes colocar un símbolo especial llamado PWR_FLAG en el cable, diciéndole explícitamente a KiCad: "Confía en mí, aquí habrá una fuente de poder externa".

Electrical Rule Check (ERC) - Análisis de Nodos ESCENARIO 1: ERROR DE ERC J1 (Screw Term) Pin Type: PASSIVE +24V_IN U1 (LM2596) VIN Pin Type: PWR_IN Violación ERC: ErrType(3): Pin connected to some others pins but no pin to drive it. (Passive -> PWR_IN no provee energía real) ESCENARIO 2: SOLUCIÓN (PWR_FLAG) J1 (Screw Term) PWR_FLAG Pin Type: PWR_OUT ("Engaña" a KiCad inyectando poder virtual a la línea) U1 (LM2596) VIN Análisis ERC Exitoso: 0 Errores, 0 Advertencias. La ecuación se cumple: (PWR_OUT alimenta a PWR_IN)

⚙️ Pasos Prácticos en KiCad

Paso 1: Ejecutar el Inspector ERC.

  1. Abre tu Esquemático Maestro en KiCad.
  2. En la barra superior, haz clic en el ícono de la Catarina con la marca de verificación (Electrical Rules Checker), o ve a Inspect -> Electrical Rules Checker.
  3. Haz clic en "Run ERC". Te garantizo que la primera vez tendrás al menos 20 errores. No entres en pánico.

Paso 2: Solucionar Pines "Al Aire" (Unconnected Pins).
Todo pin de un microcontrolador que no vayas a usar DEBE tener una Cruz Azul (No Connect Flag - Tecla Q). Si dejas el pin PA15 flotando sin la cruz azul, KiCad te arrojará un error. Esto te obliga a justificar por qué un pin no está conectado, evitando olvidos fatales.

Paso 3: Domar las Banderas de Poder.
En tu hoja de la fuente de alimentación (01_PowerSupply.kicad_sch del Día 272):

  1. Presiona la tecla P (Add Power Symbol).
  2. Busca PWR_FLAG.
  3. Conecta uno en el cable de la bornera de entrada +24V_IN y otro en el cable del pin de tierra GND de esa misma bornera. Esto satisface las reglas termodinámicas del compilador.

💻 CI/CD de Hardware (El Script Definitivo)

Recordando nuestro Día 266 (CI/CD Embebidos), en la industria profesional el ingeniero no es el único que corre el ERC. Usaremos KiCad CLI (Command Line Interface) integrado en GitHub Actions. Si un ingeniero del equipo hace git push de un esquemático con un error eléctrico (ej. cortocircuito), el servidor rechazará el código de hardware automáticamente.


# ==============================================================================
# ARCHIVO: .github/workflows/hardware_erc.yml
# ==============================================================================
name: Hardware ERC Check (KiCad 8)

on:
  push:
    paths:
      - 'hardware/**/*.kicad_sch' # Solo corre si modificaron el esquemático

jobs:
  erc-validation:
    runs-on: ubuntu-latest
    container:
      # Usamos un contenedor Docker oficial con KiCad pre-instalado
      image: kicad/kicad:8.0

    steps:
    - name: Checkout del Diseño de Hardware
      uses: actions/checkout@v3

    - name: Ejecutar Electrical Rule Check (ERC)
      run: |
        echo "Iniciando validación industrial del Esquemático..."
        
        # El comando kicad-cli escupe un reporte. Si hay errores, retorna un código de fallo.
        # --strict fuerza a que las Advertencias (Warnings) también sean tratadas como Errores.
        kicad-cli sch erc hardware/DespachadorGasLP/Mainboard.kicad_pro --strict --output report_erc.txt
        
        echo "Validación exitosa. Cero cortocircuitos detectados."

    - name: Subir Reporte en caso de Fallo
      if: failure()
      uses: actions/upload-artifact@v3
      with:
        name: ERC-Error-Report
        path: report_erc.txt
        

🚀 Avance del Proyecto Tesis: Despachador de Gas LP

Objetivo del día: Validación Estática de Hardware y Prevención de Mermas de Manufactura.

El error más humillante para un ingeniero de hardware es recibir un lote de 100 placas de circuito impreso (PCB) desde la fábrica por valor de miles de dólares, soldarlas durante días, conectarlas a la corriente... y ver cómo sale humo porque conectó el pin de 3.3V al pin de GND en el esquemático. A diferencia del software, donde haces Ctrl+Z y recompilas gratis en 5 segundos, los errores de hardware cuestan dinero real y paralizan los proyectos durante semanas.

Al dominar el **Electrical Rule Check (ERC)** y usar correctamente los `PWR_FLAG`, has implementado un "Control de Calidad" matemático sobre tu topología eléctrica. KiCad ha analizado cada uno de los 300 pines de tu diseño, asegurando que ningún Output compita contra otro Output, y que cada entrada de poder tenga una fuente legítima que la respalde. Al integrar esto mediante el CLI de KiCad en tu **Pipeline de CI/CD**, transformas el diseño de hardware de un proceso "artesanal y propenso a errores" a una disciplina rigurosa, inmutable y verificada por software. Tu placa está lista para el ruteo físico (Layout).

📝 Resumen del Día