8.2 KiB
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:
/24Vllega al ánodo (pad 1)./Q10_GATEllega 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.