Drogheda/03-Architecture-Hardware/2026-08-20_Drogheda_EinarBoard-v5_Pre-Audit-Checks_v1.0.md

8.2 KiB
Raw Blame History

EinarBoard v5 (hbox-watchdog-v5) — pre-audit checks

Fecha: 2026-08-20 · Archivos analizados: hbox-watchdog-v5.kicad_sch (guardado 18-Ago 04:22) y hbox-watchdog-v5.kicad_pcb (guardado 20-Ago 02:43) · Placa: 155.0 × 100.1 mm, 229 huellas, 1852 segmentos, 199 vías, 5 zonas.

Alcance: sólo las dudas planteadas (Q1/Q2/Q4/Q10, Q2 sin señales, capacitores sueltos, los 12 errores de DRC, U13 en 3D). La auditoría completa va aparte.


1. Q1, Q2, Q4, Q10 — pads sin red: causa raíz

No es un problema de ruteo. Es un desajuste símbolo↔huella.

Los cuatro usan Device:Q_PMOS / Device:Q_NMOS, cuyos pines están numerados con letras (G, D, S). Las huellas SOT-23 y TO-252-2 tienen pads 1, 2, 3. Ningún número coincide → KiCad no puede mapear ningún pin a ningún pad → los tres pads quedan sin red y sin pinfunction. Por eso aparecen "unconnected" y sin etiqueta.

Q5/Q6 (Transistor_BJT:Q_NPN_BEC, pines 1/2/3) y Q7 (Drogheda-sym:AO4406A) sí mapean bien.

El esquemático SÍ está correcto — estas son las redes que les tocan

Ref Parte Encapsulado Gate Source Drain
Q1 AO3401A (P-ch) SOT-23 /GATE_LS /SW_IN /SW_5V
Q2 AO3400A (N-ch) SOT-23 /FAN_GATE GND /FAN_RET
Q4 AO3400A (N-ch) SOT-23 /EXT_LED GND /LED_K
Q10 IRFR5305 (P-ch) TO-252-2 /Q10_GATE /24V /24V_IN

(Q10 D=24V_IN / S=24V es lo correcto para protección de polaridad inversa: el diodo de cuerpo conduce con polaridad buena y bloquea con polaridad invertida.)

Corrección

Los símbolos de reemplazo tienen la misma geometría de pines que los actuales, así que es un cambio "drop-in": los cables y las etiquetas del esquemático se quedan donde están.

Ref Cambiar de Cambiar a Numeración resultante
Q1 Device:Q_PMOS Transistor_FET:Q_PMOS_GSD 1=G, 2=S, 3=D ✔ AO3401A
Q2 Device:Q_NMOS Transistor_FET:Q_NMOS_GSD 1=G, 2=S, 3=D ✔ AO3400A
Q4 Device:Q_NMOS Transistor_FET:Q_NMOS_GSD 1=G, 2=S, 3=D ✔ AO3400A
Q10 Device:Q_PMOS Transistor_FET:Q_PMOS_GDS 1=G, 2=D(tab), 3=S ✔ IRFR5305 DPAK

Después: Tools → Update PCB from Schematic. Esto también elimina 6 de los 12 errores de DRC (ver §5).


2. DzG1 (BZX84C15) — el clamp de gate NO existe físicamente ⚠ CRÍTICO

DzG1 usa Device:D_Zener (2 pines: 1=K, 2=A) sobre Package_TO_SOT_SMD:SOT-23 (3 pads). KiCad mapeó K→pad 1 y A→pad 2, dejando el pad 3 sin red.

El BZX84C15 real en SOT-23 es: pad 1 = Ánodo · pad 2 = NC · pad 3 = Cátodo.

Consecuencia en la placa fabricada:

  • /24V llega al ánodo (pad 1).
  • /Q10_GATE llega a un pin NC (pad 2) → no va a ningún lado.
  • El cátodo (pad 3) queda flotando.
  • → El zener no clampa nada.

Y eso importa: Rrp1 (10 k) jala /Q10_GATE a GND mientras el source de Q10 está en 24 V. Sin clamp, Vgs = −24 V contra el máximo del IRFR5305 de ±20 V → ruptura de óxido de compuerta en cuanto se energice en una máquina de 24 V (RTG, Reach Stacker, Empty Handler son todas 24 V).

Corrección: cambiar el símbolo a Diode:BZX84Cxx (300 mW zener SOT-23; pin 1=A, 2=NC, 3=K) y conectar pin 3 (K) → /24V, pin 1 (A) → /Q10_GATE.


3. U13 (PCF8574) — el 3D tiene razón, la huella está mal

  • Huella en la placa: Package_SO:SOIC-16W_7.5x10.3mm_P1.27mm (cuerpo ancho, 7.5 mm).
  • Modelo 3D asignado: SOIC-16_3.9x9.9mm_P1.27mm.step (cuerpo angosto, 3.9 mm).
  • Parte real: LCSC C7605 = NXP PCF8574T/3,518, encapsulado NXP SOT109-1 = SO16, ancho de cuerpo 3.9 mm, largo 9.9 mm, paso 1.27 mm.

LCSC lo etiqueta "SOIC-16-300mil", que es lo que engañó; la hoja de datos de NXP y la huella sugerida por la base JLCPCB coinciden en el angosto.

Corrección: U13 → Package_SO:SOIC-16_3.9x9.9mm_P1.27mm. Es un cambio de huella, así que hay que volver a rutear la zona de U13 (el ancho de pads a pads baja de ~10.3 mm a ~6.0 mm).


4. MP1584EN ×3 (U2, U7, U12) — pad expuesto sin red ⚠

El símbolo Drogheda-sym:MP1584EN tiene 8 pines; la huella SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.29x3mm tiene pad 9 (exposed pad). En los tres reguladores el pad 9 está sin red.

En el MP1584 el EP es el camino térmico a GND. Tres bucks de 3 A sin disipación, dentro de una caja ASA sellada, dentro de un gabinete ABS IP67 sellado — es literalmente el modo de falla del RCA de junio.

Comparar: U6 (LTC4040, QFN-24-1EP) sí tiene su pad 25 = GND_EP correctamente conectado.

Corrección: agregar pin 9 (EP, tipo power_in) al símbolo Drogheda-sym:MP1584EN, atarlo a GND en el esquemático, y poner un campo de vías térmicas bajo cada EP.


5. Los 12 errores de DRC (del archivo guardado)

# Tipo Ubicación (mm) Causa
1–3 clearance 0.140 vs 0.150 mm (161.65, 120.39) · (150.21, 120.39) · (150.21, 115.13) Cerca de C31 / RS1 / JP2 — faltan 10 µm. Empujar la pista.
4–6 shorting_items /EXT_LED ↔ (sin red) (124.04, 51.44) · (123.62, 51.86) ×2 Q4 — es el §1. Se corrige solo.
7–9 solder_mask_bridge (123.62, 51.86) · (124.04, 51.44) · (122.25, 53.23) Misma causa: Q4. Se corrige solo.
10–12 npth_inside_courtyard MH9 (77.90, 81.64) · MH7 (76.63, 129.90) · MH10 (128.70, 96.88) Los barrenos M2.5 caen dentro del courtyard de MOD1 (Module:Arduino_UNO_R3). Es por diseño (bolt-down del shield). Excepcionar la regla o recortar el courtyard de MOD1.

Neto: 6 de 12 desaparecen al arreglar Q4. Los 3 de MH son waivables. Sólo 3 son ruteo real.

Advertencias que valen la pena (no errores): track_dangling 27, via_dangling 20, lib_footprint_mismatch 85, text_height 144, silk_over_copper 11.


6. Planos internos — nombre y red intercambiados

Zona (nombre) Capa Red asignada
P3V3_PLANE_IN1 In1.Cu GND
GND_PLANE_IN2 In2.Cu /3V3

Los nombres y las redes están cruzados. Si las redes son las buenas, sólo hay que renombrar las zonas; si los nombres son los buenos, el stackup está invertido. Cualquiera de las dos, hay que resolverlo antes de generar plots — quien lea In1/In2 va a asumir lo que dice el nombre.


7. Rig2 existe sólo en el PCB (no está en el esquemático)

Rig2 (22 k, /IGN_SENSE → GND) es una huella sin símbolo y con redes asignadas a mano (no tiene path al esquemático). Es la única de las 9 huellas huérfanas que no es un barreno.

Efectos:

  • No aparece en el BOM.
  • El próximo Update PCB from Schematic con «delete extra footprints» la borra.
  • La pata baja del divisor de ignición queda entonces sólo con Rigb1 (3.3 k).

Cálculo del divisor a /IGN_SENSE → PA5 (pin 21 del F411RET6), con Rig1 = 22 k arriba:

Escenario Pata baja 24 V → PA5 12 V → PA5
Con Rig2 22 k ∥ 3.3 k = 2.87 k 2.77 V 1.39 V
Sin Rig2 3.3 k 3.13 V 1.57 V

Ambos quedan bajo 3.3 V (y D5 BAT54 clampa de todos modos), así que no es un paro de línea — pero sí es una discrepancia de BOM y contra la documentación, que dice divisor 22k/10k. Decidir cuál es el valor bueno y meterlo al esquemático.


8. Pendiente: la lista exacta de "unconnected"

El .kicad_pcb en disco es de las 02:43 de hoy. Contra ese archivo cuento ~100 pads de señal sin cobre encima — no 28. Además las 5 zonas tienen el relleno viejo: los pads de GND quedan a ~0.62 mm del pour, sin thermal spokes.

Es decir: el archivo guardado va atrás de tu sesión viva de KiCad.

Para darte la lista exacta de los 28 y de cada capacitor suelto con su red de destino: Ctrl+S en pcbnew (KiCad rellena las zonas al guardar / al correr DRC) y vuelvo a correr el análisis. Ningún capacitor de la placa está sin red asignada — todos tienen su net; es puramente cuestión de ruteo, así que en cuanto vea el archivo fresco te doy pad por pad a dónde va cada uno.