Drogheda/03-Architecture-Hardware/2026-10-28_Drogheda_T42b-HV24_V5.6-V5.7_ES_v1.0.md
Leopoldo Rodríguez 31ef68669e T42b: clase HV24 completa en V5.6/V5.7 (Leo, 28-oct: «yes»); bump kicad 8b0a23a y hbox-docs
- 03-Architecture-Hardware/2026-10-28_Drogheda_T42b-HV24_V5.6-V5.7_ES_v1.0.md (+3 figuras en img/).
- Documentos de diseño V5.6/V5.7 v1.5, victorias rápidas T42a (§4 hecho), instrucciones para Leo v1.3.
- CLAUDE.md: entrada de T42b, con la lección de las vías «libres» y tools/gerber_netcheck.py como compuerta.
- kicad 8b0a23a: reglas F-01 y arreglos de cobre; Rev6/Rev7 regenerados (mismo BOM, CPL y designadores).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QCy5VHMVLkAmftYM6swWmx
2026-10-28 14:25:23 -06:00

12 KiB
Raw Blame History

title tags project author date version status audience
T42b: la clase HV24 completa en la V5.6 y la V5.7, antes del piloto
project-drogheda
hardware
hbox
einarboard
v5.6
v5.7
drc
hv24
piloto
t42b
Project Drogheda Helgen Technologies (redacción y scripts: Claude; decide: Leo) 2026-10-28 1.0 HECHO — HBox_PCB 8b0a23a (28-oct). Los paquetes HBOX_v5_Rev6_PROD y Rev7_PROD del piloto ya llevan T42b Leo, Michelle, Aldair

T42b: la clase HV24 completa en la V5.6 y la V5.7

!!! success "Hecho el 28-oct (Leo: «yes», 12:57). El piloto prueba el mismo cobre que llevarán las 135/365" - El error: en la V5.6 y la V5.7 la clase de red HV24 (las redes de 24 V) solo atrapaba /24V_IN. A los patrones 24V, IGN_IN y Q6_GATE les faltaba la «/» inicial, así que /24V, /IGN_IN, /Q6_GATE (y en la V5.7 /VIN_FUSED, /SW_PWRIN y /BOOT_PWRIN; en la V5.6 el nodo del buck del ventilador) se revisaban a 0.15 mm y no con la regla del equipo. Se encontró el 22-oct (victorias rápidas, §4). - Lo que se hizo: patrones con «/» y las reglas F-01 de la v6 (0.2 mm entre redes HV24, 0.3 mm en las caras y 0.5 mm en capas internas). Salieron 14 errores en la V5.6 (y una isla de GND que quedaba sin conectar) y 16 en la V5.7 (15 de separación y un capacitor con un solo rayo de relleno). Se arreglaron por script (tools/t42b_v5.py), y en las dos tarjetas la isla de GND de la parte baja del divisor de la ignición lleva 2 vías de costura. - El que más importaba (V5.7): la línea EN del regulador U15 (TPS54360B, 8.4 V como máximo) pasaba a 0.15–0.28 mm de /24V, junto a los pads sin montar de R79. Ahora va a 0.38 mm o más. - Resultado: DRC igual que antes (solo los 3 errores conocidos de MOD1), 0 sin conectar y paridad limpia. BOM, CPL y designadores idénticos byte por byte; en el Gerber cambian solo las 4 capas de cobre y los barrenos. Revisión independiente en dos rondas: la primera encontró una vía de costura que el paquete sacaba con otra red (§4); ya está corregido y la segunda dio GO. - Para el pedido no cambia nada: son los mismos archivos (HBOX_v5_Rev6_PROD y HBOX_v5_Rev7_PROD), regenerados. Los pasos siguen en las instrucciones para Leo. Michelle no tiene que hacer nada en la V5.6 ni en la V5.7.

1. Qué estaba mal y por qué importa

KiCad compara cada patrón de clase de red contra el nombre completo de la red, que empieza con «/». Las clases PWR_HI y PWR_MID tienen cada patrón con y sin diagonal; HV24 no. Por eso solo /24V_IN era HV24.

Red de 24 V V5.6 V5.7 Se revisaba a
/24V, /IGN_IN, /Q6_GATE sí sí 0.15 mm
/VIN_FUSED, /SW_PWRIN, /BOOT_PWRIN — sí 0.15 mm
/SW_FAN, /BST_FAN (buck del ventilador, U15 de la V5.6) sí — 0.15 mm

A 32 V o menos, IPC-2221 pide de 0.05 a 0.13 mm bajo máscara, así que no era un riesgo eléctrico inmediato. El problema es que la regla de 0.5 mm que el equipo puso después del corto del 23-jul no se aplicaba a esas redes, y nadie lo sabía. En una caja sellada en el puerto, con humedad y sal, lo que más cuenta son los pads expuestos: por ejemplo, los pads sin montar de R79 (V5.7), con /24V en un lado y la línea EN en el otro.

2. Las reglas nuevas (las mismas de la v6)

  • .kicad_pro. HV24 = /24V_IN, /24V, /IGN_IN, /Q6_GATE, /VIN_FUSED, /SW_PWRIN, /BOOT_PWRIN, /SW_FAN y /BST_FAN. Las que no existen en una tarjeta no atrapan nada; la lista es la misma en las dos. /SW_FAN sale de PWR_MID (una red, una clase). La separación de la clase queda en 0.3 mm, como en la v6.
  • .kicad_dru. Las reglas F-01 de la v6 en lugar del «HV24 clearance» de 0.5 mm:
    • 0.15 mm entre redes que no son HV24;
    • 0.2 mm entre redes HV24;
    • 0.3 mm de HV24 a lo demás en F.Cu y B.Cu (bajo máscara);
    • 0.5 mm de HV24 a lo demás en In1 y In2 (margen contra defectos y CAF, por el corto del 23-jul);
    • entre pads del mismo CI (U15) manda la huella del fabricante.
  • Consecuencia que conviene saber: /24V_IN pasa de 0.5 a 0.3 mm en las caras, porque así lo pide F-01. El relleno de GND se acerca 0.2 mm a la entrada (J15, Q6, D18).

3. Los arreglos de cobre

V5.7: 16 errores

T42b, V5.7: EN de U15 lejos de 24 V

Dónde Antes Con T42b
EN de U15 (/EN_PWRIN, TPS54360B) junto a C79.1, C35.1 y R79.1 (/24V) 10 puntos a 0.15–0.28 mm Ruta nueva de 0.3 mm por x = 183.52 y y = 75.05: ≥ 0.38 mm de /24V (y 0.23 mm del pad RT de U15, 0.30 mm de /VEH5V). EN no lleva corriente (R78/R79 sin montar)
Colita de /24V que salía 0.1 mm del pad C79.1 hacia EN 0.15 mm de EN Se quitó (estaba dentro del pad)
Vías de GND junto al /24V de B.Cu (186.0, 74.4) y (187.88, 73.12) 0.28 y 0.15 mm Movidas 0.14 y 0.28 mm: ≥ 0.42 mm
Vía de /IGN_IN (131.6, 54.75) 0.40 mm de una vía de GND y 0.30 mm de /NTC_CELL (In2) Vía de GND de 0.6 mm, 0.05 mm a la izquierda: 0.55 mm. /NTC_CELL baja 0.2 mm con 0.3 mm de ancho junto a la vía: 0.60 mm
C80.2 (39 pF, compensación de U15) Con un solo rayo de relleno: el brazo que llegaba a C78.2 ya no pasa a 0.3 mm de /SW_PWRIN C78.2 a la vía de GND de (192.1, 65.2) y C80.2 directo a R77.2 (GND), entre los pads de R76
Isla de GND en F.Cu con C12.2, R16.2 y R6.2 (la parte baja del divisor de la ignición) Al pedir 0.3 mm alrededor de /IGN_IN, el cuello que la unía se cierra y queda con una sola vía, en (118.0, 50.0), a 16 mm de R16 (lo vio la revisión independiente; el DRC no lo marca) Las mismas 2 vías de costura «libres» que en la V5.6

V5.6: 14 errores y una isla

T42b, V5.6: buck del ventilador y /24V de In2

Dónde Antes Con T42b
/24V de C35.1 a la vertical de x = 182.6 (entrada del buck del ventilador, < 0.1 A) 1.0 mm, a 0.15 mm de C35.2 (GND) 0.6 mm: 0.35 mm
/SW_FAN junto a C75.1 (/BST_FAN) 0.18 mm (entre HV24 se pide 0.2) La horizontal baja 0.1 mm: 0.28 mm
Vía de GND (179.9, 68.55) 0.24 mm de /24V 0.15 mm a la izquierda: 0.39 mm
Vía de GND (185.03, 73.155) y su tramo hacia /24V 0.15 mm (3 puntos) Vía a (185.2, 72.95), «libre»: 0.355 mm, y tramo nuevo hacia el otro lado: sin él, KiCad borraba como isla 16 mm² de relleno de GND entre /SW_FAN y /24V
Vías de /MODEM_LED_MCU, /3V3 y /RGBR_K junto al /24V de In2 0.46, 0.39 y 0.495 mm Movidas 0.12–0.2 mm: ≥ 0.59 mm
Isla de GND en F.Cu con C12.2, R16.2 y R6.2 (la parte baja del divisor de la ignición) Al pedir 0.3 mm alrededor de /IGN_IN, el cuello que la unía se cerraba: «sin conectar» 2 vías de costura «libres», en (136.6, 55.3) y (142.1, 54.65)
Vía de /IGN_IN Igual que en la V5.7 Igual que en la V5.7

T42b: zona de /IGN_IN y tierras

4. Cómo se probó

  • Script tools/t42b_v5.py (por omisión, en seco). Antes de escribir:

    • revisa que cada tramo y vía sea el esperado;
    • todo lo nuevo o movido queda dentro de las reglas con 0.045 mm de sobra como mínimo;
    • el cobre fijo (sin zonas) que no cumple con HV24 pasa de 13 a 0 en la V5.6 y de 14 a 0 en la V5.7 (los mismos pares que marca KiCad);
    • la conectividad de las redes tocadas no cambia;
    • revisa barrenos y orilla.

    El resultado es idéntico byte por byte en la nube y en la Mac.

  • DRC (KiCad 10.0.4, con el relleno guardado y paridad):

    • V5.6: 3 errores (los de MOD1, conocidos) y 96 avisos, igual que antes;
    • V5.7: 3 errores y 98 avisos, igual que antes;
    • en las dos, 0 sin conectar y paridad limpia.
  • Paquete (Fabrication Toolkit, tools/fab_package.py), contra el de bdda3fd:

    • BOM, CPL y designadores idénticos byte por byte;
    • máscaras, pasta, serigrafía, contorno y NPTH idénticos;
    • cambian las 4 capas de cobre y los barrenos PTH: de 539 a 541 en la V5.6 y de 545 a 547 en la V5.7 (las 2 vías de costura de cada una).
  • La red de cada vía, pista y pad en el Gerber (tools/gerber_netcheck.py, nuevo). La revisión independiente encontró que el paquete de la primera corrida sacaba la vía de costura de (136.6, 55.3) como /3V3 en las 4 capas, aunque en el PCB es GND. Así, la isla de C12.2, R16.2 y R6.2 quedaba con una sola vía. KiCad le cambia la red a una vía que no es «libre» y no tiene pistas, según el cobre que encuentra junto a ella al armar la conectividad; aquí era el relleno viejo de /3V3 en In2, porque el paquete se generó antes de guardar el relleno nuevo. El DRC de kicad-cli no lo ve. Arreglo: las vías de costura nuevas y la vía de GND movida que solo sostiene un tramo (185.2, 72.95) van «libres» (free), como las 175 de costura que ya tiene cada tarjeta, y el paquete sale del PCB ya rellenado y guardado. gerber_netcheck.py compara contra el Gerber las 397 / 405 vías, ≈ 2 260 pistas y ≈ 840 pads de cada tarjeta: 0 diferencias en las dos.

  • De dónde sale cada cambio de cobre (por capa, F.Cu / In1 / In2 / B.Cu: V5.6 52.3 / 95.1 / 51.9 / 31.0 mm²; V5.7 42.5 / 89.4 / 13.7 / 27.8 mm²). Es el relleno de GND que se aparta de las redes de 24 V (de 0.15 a 0.3 mm en las caras y a 0.5 mm adentro; lo más grande es /IGN_IN en In1 y /24V en In2), el que se acerca a /24V_IN en las caras, y lo que rodea a lo editado. La revisión independiente lo midió red por red en el Gerber: todo queda a la regla + 0.25 mm de cobre HV24 o junto a lo editado; el relleno solo crece junto a /24V_IN, y los cuellos de relleno que se pierden son de 1.2 mm² o menos, sin pads.

  • Revisión independiente (otro agente, que no vio mi análisis; 2 rondas). Revisó las reglas, las clases de red, cada arreglo de cobre y el Gerber red por red. 1.ª ronda: NO-GO por la vía que salía como /3V3 y porque el paquete no venía del relleno guardado; además propuso las 2 vías de costura de la V5.7. 2.ª ronda, sobre los archivos que se subieron: GO. 0 diferencias de red en vías, pistas y pads; cada red queda en una sola pieza y ningún barreno toca dos redes; F-01 y el piso de 0.15 mm se cumplen en todo el cobre, rellenos incluidos; el relleno guardado es idéntico al del Gerber. Dejó como opcional: 8 vías viejas en la V5.6 y 3 en la V5.7 no son «libres» ni llegan a una pista; hoy salen con su red, y gerber_netcheck.py queda como compuerta de cada paquete.

5. Lo que sigue

  • Pedido del piloto (bloqueado por el pago): con HBOX_v5_Rev6_PROD y HBOX_v5_Rev7_PROD de HBox_PCB 8b0a23a, siguiendo los mismos pasos. En el visor de JLC no cambia nada que revisar.
  • Las 135/365 llevan los mismos archivos.
  • En la v6 las reglas F-01 ya estaban; nada de esto la toca. Para su paquete (G1) se corre también tools/gerber_netcheck.py.
  • Para la siguiente revisión, no para el piloto: con 0.5 mm en capas internas, la ranura que /IGN_IN abre en el plano de GND de In1 (116 mm) pasa de 0.6 a 1.3 mm, y por encima cruzan USB y el cristal. A 12 Mbps y con cruces en ángulo recto no se espera nada medible, pero conviene rutear /IGN_IN por otro lado. Ojo: la excepción de pads de U15 no se usa (todas sus separaciones son de 0.3 mm o más); se deja igual que en la v6.

Archivos: HBox_PCB bdda3fd (antes) y 8b0a23a (con T42b). Respaldos de antes en kicad/_to_delete/t42b/ (no se suben).