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
This commit is contained in:
parent
dbdde5a3da
commit
31ef68669e
@ -4,8 +4,8 @@ tags: [project-drogheda, hardware, hbox, einarboard, v5.6, documento-de-diseno,
|
||||
project: Project Drogheda
|
||||
author: "Helgen Technologies (redacción: Claude; revisión: Leo)"
|
||||
date: 2026-10-22
|
||||
version: 1.4
|
||||
status: "ACTIVO — estado al 27-oct-2026, después de T46 (CPL) y T47 (BOM del piloto) (HBox_PCB bdda3fd)"
|
||||
version: 1.5
|
||||
status: "ACTIVO — estado al 28-oct-2026, después de T42b (clase HV24 completa y reglas F-01 de la v6) (HBox_PCB 8b0a23a)"
|
||||
audience: "Leo, Michelle (layout), Jesús (banco), Aldair (fabricación), Adriana (PM), equipo de firmware"
|
||||
---
|
||||
|
||||
@ -729,20 +729,22 @@ El BOM del paquete `HBOX_v5_Rev6_PROD` coincide pieza por pieza con el esquemát
|
||||
| Clase | Ancho de pista | Separación | Vía (Ø / taladro) | Redes |
|
||||
|---|---:|---:|---|---|
|
||||
| **Default** | 0.20 mm | 0.20 mm | 0.60 / 0.30 mm | todas las demás |
|
||||
| **HV24** | 0.50 mm | 0.50 mm | 0.80 / 0.40 mm | `/24V_IN`, `24V`, `IGN_IN`, `Q6_GATE` |
|
||||
| **HV24** | 0.50 mm | 0.30 mm (0.5 mm en capas internas: reglas de abajo) | 0.80 / 0.40 mm | `/24V_IN`, `/24V`, `/IGN_IN`, `/Q6_GATE`, `/SW_FAN`, `/BST_FAN` (T42b; la lista de patrones es la misma en la V5.6 y la V5.7) |
|
||||
| **PWR_HI** | 1.50 mm | 0.20 mm | 0.80 / 0.40 mm | `BAT_PLUS`, `SW_BAT`, `MAIN5V`, `VEH5V`, `SYS5V`, `VIN_SW`, `/BAT_PLUS`, `/SW_BAT`, `/MAIN5V`, `/VEH5V`, `/SYS5V`, `/VIN_SW` |
|
||||
| **PWR_MID** | 1.00 mm | 0.20 mm | 0.80 / 0.40 mm | `SW_5V`, `3V3_MODEM`, `5V_FAN`, `SW_FAN`, `SW3_NODE`, `FAN_RET`, `SW_IN`, `/SW_5V`, `/3V3_MODEM`, `/5V_FAN`, `/SW_FAN`, `/SW3_NODE`, `/FAN_RET`, `/SW_IN`, `/3V3_ETH` |
|
||||
| **PWR_MID** | 1.00 mm | 0.20 mm | 0.80 / 0.40 mm | `SW_5V`, `3V3_MODEM`, `5V_FAN`, `SW3_NODE`, `FAN_RET`, `SW_IN`, `/SW_5V`, `/3V3_MODEM`, `/5V_FAN`, `/SW3_NODE`, `/FAN_RET`, `/SW_IN`, `/3V3_ETH` |
|
||||
|
||||
!!! warning "T42b: la clase HV24 casi no se aplica"
|
||||
Los patrones `24V`, `IGN_IN` y `Q6_GATE` no llevan la «/» inicial, así que en HV24 solo entra `/24V_IN`. `/24V`, `/IGN_IN` y `/Q6_GATE` se revisan con 0.15 mm, no con los 0.5 mm del equipo. Con ≤ 32 V no es un riesgo eléctrico (IPC pide 0.05–0.13 mm), pero la regla nunca se cumplió. T42b corrige los patrones por script y limpia lo que salga **antes de las 108** ([victorias rápidas, T42b](v56-v57-victorias-rapidas-22oct.md)).
|
||||
!!! success "T42b (28-oct): la clase HV24 ya se aplica"
|
||||
A los patrones `24V`, `IGN_IN` y `Q6_GATE` les faltaba la «/» inicial: solo `/24V_IN` era HV24 y las demás redes de 24 V se revisaban a 0.15 mm. Ahora la clase las lleva todas y las reglas son las F-01 de la v6 (tabla de abajo). Con eso salieron 14 errores de DRC y se arreglaron por script; además, 2 vías de costura «libres» para la isla de GND de C12.2/R16.2/R6.2, que quedaba sin conectar. DRC igual que antes, 0 sin conectar y paridad limpia; BOM, CPL y designadores del paquete, idénticos ([T42b](t42b-hv24-28oct.md)).
|
||||
|
||||
**Reglas personalizadas** (`.kicad_dru`):
|
||||
|
||||
| Regla (`.kicad_dru`) | Capa | Condición | Restricción |
|
||||
|---|---|---|---|
|
||||
| Minimum clearance 1 | todas | `A.NetClass != 'HV24' && B.NetClass != 'HV24'` | clearance min 0.15mm |
|
||||
| HV24 clearance | todas | `(A.NetClass == 'HV24' \|\| B.NetClass == 'HV24') && !(A.Type == 'Pad' && B.Type == 'Pad' && A.memberOfFootpri…` | clearance min 0.5mm |
|
||||
| HV24 exception: MP1584EN land pattern | todas | `A.Type == 'Pad' && B.Type == 'Pad' && A.memberOfFootprint('U15') && B.memberOfFootprint('U15')` | clearance min 0.15mm |
|
||||
| Floor 0.15 (non-HV24) | todas | `A.NetClass != 'HV24' && B.NetClass != 'HV24'` | clearance min 0.15mm |
|
||||
| HV24 to HV24 | todas | `A.NetClass == 'HV24' && B.NetClass == 'HV24'` | clearance min 0.2mm |
|
||||
| HV24 outer | F.Cu, B.Cu | `A.NetClass == 'HV24' && B.NetClass != 'HV24'` | clearance min 0.3mm |
|
||||
| HV24 inner | In1, In2 | `A.NetClass == 'HV24' && B.NetClass != 'HV24'` | clearance min 0.5mm |
|
||||
| HV24 IC land patterns | F.Cu, B.Cu | `A.Type == 'Pad' && B.Type == 'Pad' && A.memberOfFootprint('U15') && B.memberOfFootprint('U15')` | clearance min 0.15mm |
|
||||
| T44 texto en serigrafia F: 0.8 mm / 0.15 mm | F.Silkscreen | `—` | text_height min 0.8mm; text_thickness min 0.15mm |
|
||||
| T44 texto en serigrafia B: 0.8 mm / 0.15 mm | B.Silkscreen | `—` | text_height min 0.8mm; text_thickness min 0.15mm |
|
||||
|
||||
@ -810,7 +812,7 @@ De la [auditoría final del 22-oct](auditoria-final-22oct.md), en la numeración
|
||||
| E-13 | R27 (22 k en PA10) sostiene a medias el riel del módem apagado por K1/DIN | 0.7.0: pulso de MODEM_RST después de cada MODEM_EN | 0.7.0 |
|
||||
| E-14 | `/NTC_CELL` (PC5) solo vale con `/VEH5V` presente | Reportar «n/c» en batería; U12 y U8 cubren | 0.7.0 |
|
||||
| E-16 | *Inrush* de C68 (220 µF) y C69 al encender la etapa | 0.7.0: el módem después de la etapa; rampa de 20 ms en batería | 0.7.0 |
|
||||
| T42b | Clase HV24 con patrones sin «/» (§12) | Script antes de las 108 | Claude |
|
||||
| T42b | Clase HV24 con patrones sin «/» (§12) | **Hecho el 28-oct**, ya en el paquete del piloto ([T42b](t42b-hv24-28oct.md)) | Claude |
|
||||
| — | U15 (MP1584EN, ventilador) aguanta 28 V; D18 conduce hasta arriba de 33 V | Instalaciones a 24 V; para 12–32 V está la V5.7 | — |
|
||||
|
||||
### 13.3 Decisiones abiertas
|
||||
@ -874,11 +876,13 @@ Designadores de T43 en todo el historial, aunque los mensajes de los commits use
|
||||
| 23-oct, 09:08 | T44b: al menos 0.40 mm entre un designador y cualquier otro texto de la serigrafía (los gráficos siguen a 0.10 mm); 44 designadores más se recolocaron, ninguno sin lugar; DRC igual que con T44; paquete Rev6 regenerado (solo cambia `F_Silkscreen`) | `d19c832` · [T44](v6-t44-serigrafia.md#6-v56-v57) |
|
||||
| 27-oct, 10:52 | T46: «FT Rotation Offset» en 21 piezas y «FT Position Offset» en Q6; CPL regenerado (mismo Gerber y BOM) | `51dc51b` · [revisión del pedido](revision-pedido-26oct.md) |
|
||||
| 27-oct, 11:17 | T47: BOM del piloto sin faltantes en JLC (U3 RCT6, U13 AP64352Q, U1 LIS2DH12, Q7 de UMW, L2 3.3 µH, R23 y R77 de otro fabricante); paquete regenerado (mismo Gerber y CPL) | `bdda3fd` |
|
||||
| 28-oct, 14:20 | T42b: clase HV24 completa (`/24V`, `/IGN_IN`, `/Q6_GATE`, `/SW_FAN` y `/BST_FAN`) y reglas F-01 de la v6; arreglos por script para los 14 errores de DRC (`/24V` de C35.1 a 0.6 mm, `/SW_FAN` 0.1 mm abajo, 6 vías movidas, entre ellas la de GND junto a `/IGN_IN`, ahora de 0.6 mm) y 2 vías de costura «libres» para la isla de GND de C12.2/R16.2/R6.2; paquete Rev6 regenerado (mismo BOM, CPL y designadores; cambian cobre y barrenos) | `8b0a23a` · [T42b](t42b-hv24-28oct.md) |
|
||||
| 22-oct | Este documento, v1.0 | — |
|
||||
| 23-oct | Este documento, v1.1: serigrafía y vistas 3D de T44, reglas de texto y D-22-9 cerrada | — |
|
||||
| 23-oct | Este documento, v1.2: serigrafía y vistas 3D de T44b | — |
|
||||
| 23-oct | Este documento, v1.3 (revisión independiente): ventana de carga del NTC ≈ +8 … +60 °C (§2, §5 y árbol de alimentación), columna «Renglones del BOM» con los números LCSC distintos (§11), reglas del firmware en lista (§6) y encabezados de tabla legibles en el PDF | — |
|
||||
| 27-oct | Este documento, v1.4: T46 y T47 (MCU, U13, U1, L2 y BOM del piloto) | — |
|
||||
| 28-oct | Este documento, v1.5: T42b (§12 y §13) | — |
|
||||
|
||||
## 15. Referencias
|
||||
|
||||
|
||||
@ -4,8 +4,8 @@ tags: [project-drogheda, hardware, hbox, einarboard, v5.7, documento-de-diseno,
|
||||
project: Project Drogheda
|
||||
author: "Helgen Technologies (redacción: Claude; revisión: Leo)"
|
||||
date: 2026-10-22
|
||||
version: 1.4
|
||||
status: "ACTIVO — estado al 27-oct-2026, después de T46 (CPL) y T47 (BOM del piloto) (HBox_PCB bdda3fd)"
|
||||
version: 1.5
|
||||
status: "ACTIVO — estado al 28-oct-2026, después de T42b (clase HV24 completa y reglas F-01 de la v6) (HBox_PCB 8b0a23a)"
|
||||
audience: "Leo, Michelle (layout), Jesús (banco), Aldair (fabricación), Adriana (PM), equipo de firmware"
|
||||
---
|
||||
|
||||
@ -711,19 +711,22 @@ El BOM del paquete `HBOX_v5_Rev7_PROD` coincide pieza por pieza con el esquemát
|
||||
| Clase | Ancho de pista | Separación | Vía (Ø / taladro) | Redes |
|
||||
|---|---:|---:|---|---|
|
||||
| **Default** | 0.20 mm | 0.20 mm | 0.60 / 0.30 mm | todas las demás |
|
||||
| **HV24** | 0.50 mm | 0.50 mm | 0.80 / 0.40 mm | `/24V_IN`, `24V`, `IGN_IN`, `Q6_GATE` |
|
||||
| **HV24** | 0.50 mm | 0.30 mm (0.5 mm en capas internas: reglas de abajo) | 0.80 / 0.40 mm | `/24V_IN`, `/24V`, `/IGN_IN`, `/Q6_GATE`, `/VIN_FUSED`, `/SW_PWRIN`, `/BOOT_PWRIN` (T42b; la lista de patrones es la misma en la V5.6 y la V5.7) |
|
||||
| **PWR_HI** | 1.50 mm | 0.20 mm | 0.80 / 0.40 mm | `BAT_PLUS`, `SW_BAT`, `MAIN5V`, `VEH5V`, `SYS5V`, `VIN_SW`, `/BAT_PLUS`, `/SW_BAT`, `/MAIN5V`, `/VEH5V`, `/SYS5V`, `/VIN_SW` |
|
||||
| **PWR_MID** | 1.00 mm | 0.20 mm | 0.80 / 0.40 mm | `SW_5V`, `3V3_MODEM`, `5V_FAN`, `SW_FAN`, `SW3_NODE`, `FAN_RET`, `SW_IN`, `/SW_5V`, `/3V3_MODEM`, `/5V_FAN`, `/SW_FAN`, `/SW3_NODE`, `/FAN_RET`, `/SW_IN`, `/3V3_ETH` |
|
||||
| **PWR_MID** | 1.00 mm | 0.20 mm | 0.80 / 0.40 mm | `SW_5V`, `3V3_MODEM`, `5V_FAN`, `SW3_NODE`, `FAN_RET`, `SW_IN`, `/SW_5V`, `/3V3_MODEM`, `/5V_FAN`, `/SW3_NODE`, `/FAN_RET`, `/SW_IN`, `/3V3_ETH` |
|
||||
|
||||
!!! warning "T42b: la clase HV24 casi no se aplica"
|
||||
Los patrones `24V`, `IGN_IN` y `Q6_GATE` no llevan la «/» inicial, así que en HV24 solo entra `/24V_IN`. `/24V`, `/IGN_IN` y `/Q6_GATE`, y en la V5.7 también `/VIN_FUSED`, `/SW_PWRIN` y `/BOOT_PWRIN` (E-15), se revisan con 0.15 mm, no con los 0.5 mm del equipo. El que más importa es `/EN_PWRIN` cerca de `/24V`: el EN de U15 aguanta 8.4 V como máximo absoluto. Con ≤ 32 V no es un riesgo eléctrico (IPC pide 0.05–0.13 mm), pero la regla nunca se cumplió. T42b corrige los patrones por script y limpia lo que salga **antes de las 322** ([victorias rápidas, T42b](v56-v57-victorias-rapidas-22oct.md)).
|
||||
!!! success "T42b (28-oct): la clase HV24 ya se aplica"
|
||||
A los patrones `24V`, `IGN_IN` y `Q6_GATE` les faltaba la «/» inicial: solo `/24V_IN` era HV24 y las demás redes de 24 V se revisaban a 0.15 mm. Ahora la clase las lleva todas y las reglas son las F-01 de la v6 (tabla de abajo). Con eso salieron 16 errores de DRC (15 de separación y 1 de rayos de relleno en C80.2) y se arreglaron por script, con el que más importaba: la línea EN de U15 (8.4 V máx.) ya va a 0.38 mm o más de `/24V`; además, 2 vías de costura «libres» para la isla de GND de C12.2/R16.2/R6.2, que quedaba con una sola vía. DRC igual que antes, 0 sin conectar y paridad limpia; BOM, CPL y designadores del paquete, idénticos ([T42b](t42b-hv24-28oct.md)).
|
||||
|
||||
**Reglas personalizadas** (`.kicad_dru`):
|
||||
|
||||
| Regla (`.kicad_dru`) | Capa | Condición | Restricción |
|
||||
|---|---|---|---|
|
||||
| Minimum clearance 1 | todas | `A.NetClass != 'HV24' && B.NetClass != 'HV24'` | clearance min 0.15mm |
|
||||
| HV24 clearance | todas | `(A.NetClass == 'HV24' \|\| B.NetClass == 'HV24')` | clearance min 0.5mm |
|
||||
| Floor 0.15 (non-HV24) | todas | `A.NetClass != 'HV24' && B.NetClass != 'HV24'` | clearance min 0.15mm |
|
||||
| HV24 to HV24 | todas | `A.NetClass == 'HV24' && B.NetClass == 'HV24'` | clearance min 0.2mm |
|
||||
| HV24 outer | F.Cu, B.Cu | `A.NetClass == 'HV24' && B.NetClass != 'HV24'` | clearance min 0.3mm |
|
||||
| HV24 inner | In1, In2 | `A.NetClass == 'HV24' && B.NetClass != 'HV24'` | clearance min 0.5mm |
|
||||
| HV24 IC land patterns | F.Cu, B.Cu | `A.Type == 'Pad' && B.Type == 'Pad' && A.memberOfFootprint('U15') && B.memberOfFootprint('U15')` | clearance min 0.15mm |
|
||||
| T44 texto en serigrafia F: 0.8 mm / 0.15 mm | F.Silkscreen | `—` | text_height min 0.8mm; text_thickness min 0.15mm |
|
||||
| T44 texto en serigrafia B: 0.8 mm / 0.15 mm | B.Silkscreen | `—` | text_height min 0.8mm; text_thickness min 0.15mm |
|
||||
|
||||
@ -784,7 +787,7 @@ De la [auditoría final del 22-oct](auditoria-final-22oct.md), en la numeración
|
||||
| E-10 | Toda la entrada de U15 pasa por dos vías de 0.8/0.3 mm en serie | A 24 V no pasa nada (0.7 A); a 9 V, cámara térmica. 2.ª vía en la siguiente revisión | Jesús · siguiente revisión |
|
||||
| E-7 | Ignición a 12 V = 1.38 V en PA5, en la zona indefinida | 0.7.0: ADC con histéresis de 0.80 / 0.55 V | 0.7.0 |
|
||||
| E-8 | Entrada de 9–32 V con un fusible SMD (F2) | El breaker del gabinete sigue siendo la protección; va en el manual | Manual |
|
||||
| E-15 | `/VIN_FUSED` y `/SW_PWRIN` fuera de la clase HV24 | T42b | Claude |
|
||||
| E-15 | `/VIN_FUSED` y `/SW_PWRIN` fuera de la clase HV24 | **Hecho** con T42b (28-oct) | Claude |
|
||||
| P-5 | SP3485 (U7) sin receptor a prueba de bus abierto | 322: THVD1410DR, mismo pinout (U10 ya es TRS3232E desde T42a) | Adriana (pre-orden) |
|
||||
| P-7 | Los JST del borde norte se movieron 12–38 mm respecto a la V5.5, J10 68 mm, y los LEDs del medidor (D14–D17) quedaron en la orilla derecha | Medir los arneses con la primera tarjeta; tapa de la V5.7 si el medidor se ve por otro lado | Jesús (piloto) |
|
||||
| P-8 | Sin abrazadera de disipador para U14/L3 (se quitó el barreno de la V5.5) | Temperatura de U14 y L3 en banco a 1.4 A y 45 °C | Jesús (piloto) |
|
||||
@ -796,7 +799,7 @@ De la [auditoría final del 22-oct](auditoria-final-22oct.md), en la numeración
|
||||
| E-13 | R27 (22 k en PA10) sostiene a medias el riel del módem apagado por K1/DIN | 0.7.0: pulso de MODEM_RST después de cada MODEM_EN | 0.7.0 |
|
||||
| E-14 | `/NTC_CELL` (PC5) solo vale con `/VEH5V` presente | Reportar «n/c» en batería; U12 y U8 cubren | 0.7.0 |
|
||||
| E-16 | *Inrush* de C68 (220 µF) y C69 al encender la etapa | 0.7.0: el módem después de la etapa; rampa de 20 ms en batería | 0.7.0 |
|
||||
| T42b | Clase HV24 con patrones sin «/» (§12) | Script antes de las 322 | Claude |
|
||||
| T42b | Clase HV24 con patrones sin «/» (§12) | **Hecho el 28-oct**, ya en el paquete del piloto ([T42b](t42b-hv24-28oct.md)) | Claude |
|
||||
|
||||
E-11 (la 2.ª vía de `/SYS5V` hacia el LDO y U9) quedó cerrado con T42a.
|
||||
|
||||
@ -864,11 +867,13 @@ Designadores de T43 en todo el historial, aunque los mensajes de los commits use
|
||||
| 23-oct, 09:08 | T44b: al menos 0.40 mm entre un designador y cualquier otro texto de la serigrafía (los gráficos siguen a 0.10 mm); 44 designadores más se recolocaron, ninguno sin lugar; DRC igual que con T44; paquete Rev7 regenerado (solo cambia `F_Silkscreen`) | `d19c832` · [T44](v6-t44-serigrafia.md#6-v56-v57) |
|
||||
| 27-oct, 10:52 | T46: «FT Rotation Offset» en 20 piezas y «FT Position Offset» en Q6; CPL regenerado (mismo Gerber y BOM) | `51dc51b` · [revisión del pedido](revision-pedido-26oct.md) |
|
||||
| 27-oct, 11:17 | T47: BOM del piloto sin faltantes en JLC (U3 RCT6, U13 AP64352Q, U1 LIS2DH12, Q7 de UMW, L2 3.3 µH, R23 de otro fabricante y L4 15 µH); paquete regenerado (mismo Gerber y CPL) | `bdda3fd` |
|
||||
| 28-oct, 14:20 | T42b: clase HV24 completa (`/24V`, `/IGN_IN`, `/Q6_GATE`, `/VIN_FUSED`, `/SW_PWRIN` y `/BOOT_PWRIN`; cierra E-15) y reglas F-01 de la v6; arreglos por script para los 16 errores de DRC (EN de U15 a 0.38 mm o más de `/24V`, C80.2 directo a GND, 3 vías de GND movidas, entre ellas la de junto a `/IGN_IN`, ahora de 0.6 mm) y 2 vías de costura «libres» para la isla de GND de C12.2/R16.2/R6.2; paquete Rev7 regenerado (mismo BOM, CPL y designadores; cambian cobre y barrenos) | `8b0a23a` · [T42b](t42b-hv24-28oct.md) |
|
||||
| 22-oct | Este documento, v1.0 | — |
|
||||
| 23-oct | Este documento, v1.1: serigrafía y vistas 3D de T44, reglas de texto y D-22-9 cerrada | — |
|
||||
| 23-oct | Este documento, v1.2: serigrafía y vistas 3D de T44b | — |
|
||||
| 23-oct | Este documento, v1.3 (revisión independiente): ventana de carga del NTC ≈ +8 … +60 °C (§2, §5 y árbol de alimentación), columna «Renglones del BOM» con los números LCSC distintos (§11), reglas del firmware en lista (§6) y encabezados de tabla legibles en el PDF | — |
|
||||
| 27-oct | Este documento, v1.4: T46 y T47 (MCU, U13, U1, L2, L4 y BOM del piloto) | — |
|
||||
| 28-oct | Este documento, v1.5: T42b (§12 y §13) | — |
|
||||
|
||||
## 15. Referencias
|
||||
|
||||
|
||||
@ -105,6 +105,9 @@ No se movió ninguna pieza. E-10 (las dos vías en serie de la entrada de U25) s
|
||||
|
||||
## 4. Hallazgo: la clase HV24 solo atrapa `/24V_IN` (T42b)
|
||||
|
||||
!!! success "Hecho el 28-oct con T42b, antes del piloto"
|
||||
Patrones con «/», reglas F-01 y arreglos de cobre para los 14 errores de la V5.6 y los 16 de la V5.7, por script y con revisión independiente: [T42b](t42b-hv24-28oct.md).
|
||||
|
||||
En los dos `.kicad_pro`, los patrones de HV24 son `/24V_IN`, `24V`, `IGN_IN` y `Q10_GATE`. KiCad compara contra el
|
||||
nombre completo de la red, que empieza con «/», así que solo `/24V_IN` entra a la clase. Las otras clases (PWR_HI,
|
||||
PWR_MID) tienen cada patrón con y sin diagonal; HV24 no. La auditoría vio dos redes (E-15); son más:
|
||||
|
||||
@ -4,8 +4,8 @@ tags: [project-drogheda, hardware, hbox, v5.6, v5.7, v6, piloto, jlcpcb, sim, de
|
||||
project: Project Drogheda
|
||||
author: "Helgen Technologies (redacción: Claude)"
|
||||
date: 2026-10-27
|
||||
version: 1.2
|
||||
status: "ACTIVO — 27-oct-2026, 14:30: T46, T47, T48, T49 y T41 en HBox_PCB (15b956e). Leo decidió a las 13:06 D-26-1 (a), D-22-4 (b), FOTA sí y 60 v6. T45 listo y probado (R80 pasa abajo de Q7); la RF LTE pasa a T45b (30-oct). Lotes 2026-10-27_piloto-listo-una-sim, 2026-10-27_decisiones-leo-1306 y 2026-10-27_t45-lista"
|
||||
version: 1.3
|
||||
status: "ACTIVO — 28-oct-2026, 14:20: los paquetes del piloto ya llevan T42b (HBox_PCB 8b0a23a; mismo BOM, CPL y designadores). 27-oct, 14:30: T46, T47, T48, T49 y T41 en HBox_PCB (15b956e). Leo decidió a las 13:06 D-26-1 (a), D-22-4 (b), FOTA sí y 60 v6. T45 listo y probado (R80 pasa abajo de Q7); la RF LTE pasa a T45b (30-oct). Lotes 2026-10-27_piloto-listo-una-sim, 2026-10-27_decisiones-leo-1306 y 2026-10-27_t45-lista"
|
||||
audience: "Leo (decide y paga), Aldair (pedido), Adriana (compras)"
|
||||
---
|
||||
|
||||
@ -13,6 +13,10 @@ audience: "Leo (decide y paga), Aldair (pedido), Adriana (compras)"
|
||||
|
||||
**Lo que pediste a las 11:00:** resolver las piezas del piloto de la forma más fácil y rápida, dejar la v6 con una sola SIM, cargar la mezcla 135/365, quitar las tarjetas que bloqueaban el piloto, revisar el tablero e instrucciones al día para ti y para Michelle. Todo está hecho, salvo lo que solo tú puedes decidir o pagar.
|
||||
|
||||
!!! success "28-oct, 14:20: los paquetes del piloto ya llevan T42b"
|
||||
- **T42b (tu «yes» de las 12:57).** En la V5.6 y la V5.7 la clase HV24 ya lleva todas las redes de 24 V, con las reglas F-01 de la v6. Se arreglaron por script los 14 errores de la V5.6 y los 16 de la V5.7; el que más importaba, la línea EN de U15 en la V5.7 (8.4 V máx.), ya va a 0.38 mm o más de `/24V`. 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. [Qué cambió y cómo se probó](t42b-hv24-28oct.md).
|
||||
- **Para el pedido no cambia nada:** son los mismos archivos (§2.1), del commit `8b0a23a` o posterior. **BOM, CPL y designadores idénticos**; en el Gerber cambian solo las 4 capas de cobre y los barrenos. En el visor de JLC se revisa lo mismo de siempre.
|
||||
|
||||
!!! warning "27-oct, 14:30: T45 está lista y probada, con dos cambios"
|
||||
- **R80 se mueve.** Con la colocación de Michelle, R80.1 quedó encerrado por el anillo de `/MAIN5V` (Q7 → C77…C81 → U17.1/24): ninguna pista de F.Cu podía llegarle desde L5 sin cruzar `/MAIN5V`, y por eso su ruta iba por In2. T45 pasa R80 justo abajo de Q7: el pad 2 a los pines de Q7 y el pad 1 junto a C100. Así `/VEH5V` llega por F.Cu (≈ 7 mΩ desde L5.2; antes 31), `/VIN_SW` queda de 2 mm y las tomas VIN y CLN salen por el lado de adentro de R80 y van por B.Cu. En una copia de la tarjeta: DRC con 0 errores y 0 sin conectar, y la prueba de Kelvin pasa ([figura](instrucciones-michelle-27oct.md#2-despues-de-t45-martes-28-y-miercoles-29-bloque-b-y-r112)).
|
||||
- **La RF LTE sale de T45 y pasa a T45b** (jueves 30, sobre el commit de Michelle del bloque B). Para llevarla por F.Cu desde U6.60 hay que cruzar `/VBAT_MODEM`. El plan pide pasar ahí el VBAT a B.Cu (polígono de ≥ 3 mm y ≥ 6 vías por lado) y recorrer C14 o C15. Eso es el mismo cobre que el polígono de VBAT del bloque C, así que lo hago yo junto con la RF, y Michelle hace el VBAT solo de L1.2 a C13. **G1 sigue el lunes 2-nov.**
|
||||
@ -51,7 +55,7 @@ audience: "Leo (decide y paga), Aldair (pedido), Adriana (compras)"
|
||||
|
||||
### 2.1 Archivos
|
||||
|
||||
En HBox_PCB, carpeta `production/` (commit `bdda3fd` o posterior):
|
||||
En HBox_PCB, carpeta `production/` (commit `8b0a23a` o posterior, que ya trae T42b):
|
||||
|
||||
| | V5.6 (5 piezas) | V5.7 (5 piezas) |
|
||||
|---|---|---|
|
||||
|
||||
@ -0,0 +1,105 @@
|
||||
---
|
||||
title: "T42b: la clase HV24 completa en la V5.6 y la V5.7, antes del piloto"
|
||||
tags: [project-drogheda, hardware, hbox, einarboard, v5.6, v5.7, drc, hv24, piloto, t42b]
|
||||
project: Project Drogheda
|
||||
author: "Helgen Technologies (redacción y scripts: Claude; decide: Leo)"
|
||||
date: 2026-10-28
|
||||
version: 1.0
|
||||
status: "HECHO — HBox_PCB 8b0a23a (28-oct). Los paquetes HBOX_v5_Rev6_PROD y Rev7_PROD del piloto ya llevan T42b"
|
||||
audience: "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](v56-v57-victorias-rapidas-22oct.md#4-hallazgo-la-clase-hv24-solo-atrapa-24v_in-t42b)).
|
||||
- **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](instrucciones-leo-27oct.md). 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
|
||||
|
||||

|
||||
|
||||
| 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
|
||||
|
||||

|
||||
|
||||
| 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 |
|
||||
|
||||

|
||||
|
||||
## 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).*
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 331 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 310 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 214 KiB |
@ -1 +1 @@
|
||||
Subproject commit fb95d15a5d94339985cb5beba1bc1b4eaba59a0a
|
||||
Subproject commit 8b0a23a0cde5a1f6b17be69cad92d65012453f62
|
||||
@ -509,6 +509,8 @@ lote `2026-10-22_fota-4g`.
|
||||
|
||||
|
||||
**Site entry, incidents, standup and agents (2026-10-27; Leo: «failures in authentication: after resetting passwords the users cannot log in again (Adriana, yesterday)… an issues tracker in the portal, at the bottom and at login… an agent to look for these issues daily and act on them with fixes that won't require authorization… a scrum bot that asks every engineer what they did, what is missing, and gives each one instructions»).** Read-only diagnosis on the server: the 23-oct bulk reset left 15 of 19 on the initial password; at 09:15 on 27-oct Gibran (has sudo) reinstalled `/etc/systemd/system/actas-hbox.service` by hand — an OLD copy that added `ACTAS_ADMINS=leo,gibranlp` but dropped `prueba-ethernet-serie` from `ACTAS_REPETIBLES` — and at 09:18 reset Adriana's password from Mi cuenta, which unblocked her; backend code on the server = repo (md5). Likely cause (nginx error log needs sudo; the grep is in DESPLIEGUE §A11): HTTP Basic — browsers/phones resend the old saved password, Mi cuenta had no username field so password managers never updated, «Adriana» ≠ adriana for nginx, no logout, no attempt log. **Fix:** own login page — `backend/acceso.py` (nginx `auth_request` → `/api/_auth`; signed 30-day cookie whose version = hash of the user's htpasswd line, so a reset ends old sessions and Mi cuenta re-issues the cookie; login by user or Equipo email, case/space-insensitive; no HTTP Basic; unsafe methods same-origin only; attempts logged without passwords; lockout per user+IP 8 and per IP 20 per 15 min; reviewed by an independent security pass the same day: Basic brute-force path, open redirect, lockout DoS, CSRF, secret race, public-notice leak — all fixed), `docs/entrar.html` + `docs/publico/`, nginx `backend/nginx/drogheda.helgen.online.conf` installed by `cambiar-entrada.sh` (backup outside sites-enabled, $apr1$-only pre-check, `nginx -t`, 14 checks incl. a test session minted from the service secret, auto-rollback; `deshacer`); service in repo now = `leo,gibranlp` admins + full repetibles + gthread 2×8 + `Restart=always`. **Incidents** (`backend/incidencias.py`, footer `docs/js/incidencias.js` on every page incl. forms, public report + public notices at the entry page, browser/server error capture) · **standup bot** (`backend/standup.py`, `/tableros/standup/`, banner; answers can move the person's own cards) · **vigía** (`backend/vigia.py`, leo's crontab minute 7: login failures, 5xx/exceptions, repeated JS errors, htpasswd perms, disk, installed-vs-repo service drift) · **daily agent** (Claude scheduled task on Leo's Mac, Mon–Fri 18:37; runbook `hbox-docs/agentes/agente-diario.md`, team rules `docs/agentes.md`: level A = page-only fixes published after an rsync dry-run proves the server has nothing outside main; level B = branch + exact commands for Leo; API via `scripts/agente-api.sh`). Tests `backend/tests-1027.sh` (55) + nginx-level 35; tests-1013/1023/cuentas pass; tests-1014 has 6 pre-existing failures (seed count). Equipo emails from Gibran's 23-oct list as confirmed by Leo (`backend/cuentas/2026-10-27_correos.json`; daniel = daniel@helgen.tech, jesus = jesusr@, jesush = jesus@; danielf@/jesusd@ are other people; Leo's «otro correo» ceo@ is an alias → leo@helgen.services by hand). **Cotizador integration** (`t-cotizador-integracion` closed): `02-Architecture-Software/2026-10-27_Drogheda_Integracion-Cotizador-Inventario_ES_v1.0.md` + `…_Instrucciones-Cotizador-Integracion_ES_v1.0.md` (+ flow figure) — **D-27-1** receive in the portal, **D-27-2** SQLite (both Leo); proposed D-27-3 site codes VER·ZLO·ESE·LZC·QRO (the portal already accepts them as aliases), D-27-4 no amounts on the portal, D-27-5 only PRY-2026-0002-DRO; HMAC-signed push from Apps Script + 15-min pull of receipts (the portal cannot call the cotizador: its API needs a Google user token). One command: `hbox-docs/scripts/despliegue-1027.sh`. Lote `2026-10-27_entrada-incidencias-agentes`.
|
||||
**V5.6/V5.7 HV24 class — T42b (2026-10-28, 14:20; Leo 12:57: «yes», before ordering the pilot).** `kicad/tools/t42b_v5.py` (dry run by default; drift checks on every track and via it touches; `--apply` writes pcb + `.kicad_pro` + `.kicad_dru`, backups `_to_delete/t42b/*.T42bbak`) — **applied, kicad `8b0a23a`**. The HV24 patterns lacked the leading «/» (KiCad matches the full net name), so only `/24V_IN` was HV24. Now HV24 = /24V_IN, /24V, /IGN_IN, /Q6_GATE, /VIN_FUSED, /SW_PWRIN, /BOOT_PWRIN, /SW_FAN, /BST_FAN on both (absent nets match nothing; /SW_FAN left PWR_MID), class clearance 0.3, and the v6 F-01 rules in the `.kicad_dru` (0.15 non-HV24, 0.2 HV24↔HV24, 0.3 outer, 0.5 inner; U15 pad-to-pad 0.15). That raised 14 DRC errors on V5.6 (+ an F.Cu GND island with C12.2/R16.2/R6.2 cut off) and 16 on V5.7 (15 clearance + C80.2 starved thermal), all fixed by script: V5.7 EN of U15 (TPS54360B, 8.4 V abs max) rerouted ≥ 0.38 mm from /24V, C78.2/C80.2 tied to GND directly, 2 GND vias moved; V5.6 /24V from C35.1 at 0.6 mm, /SW_FAN 0.1 mm down, 5 vias moved, a GND anchor stub (without it KiCad drops a 16 mm² GND fill as an island); both: the GND via by the /IGN_IN via 0.8 → 0.6 mm, /NTC_CELL In2 jog, and **2 free GND stitching vias** (136.6, 55.3) + (142.1, 54.65) on the C12/R16/R6 island. **Lesson (independent review): a via with no tracks that is not `(free yes)` gets re-netted by KiCad from whatever copper it finds when connectivity is built — the first package plotted a new GND stitching via as /3V3 (stale In2 fill); kicad-cli DRC does not see it.** Rule now: stitching vias written by scripts carry `(free yes)`; refill + save with `kicad-cli pcb drc --refill-zones --save-board`, then build the package from that saved board, then `kicad/tools/gerber_netcheck.py BOARD.kicad_pcb production/PKG.zip` (every via, track and pad vs the Gerber TO.N/TO.P; must report 0). Result: DRC unchanged (3 errors MOD1 + 96/98 warnings, 0 unconnected, parity 0); Rev6/Rev7 BOM, CPL and designators byte-identical, only the 4 copper layers and PTH drill change (539 → 541, 545 → 547). /24V_IN outer clearance relaxes 0.5 → 0.3 (F-01). Next revision (not the pilot): /IGN_IN on In1 now cuts a 1.3 mm slot (was 0.6) in the In1 GND plane under USB and the crystal — reroute it. Independent review (separate agent, two rounds): round 1 NO-GO (the re-netted via, package not built from the saved fill), round 2 GO (0 net mismatches on vias, tracks and pads; F-01 and the 0.15 floor hold on all copper incl. pours); optional: 8 (V5.6) / 3 (V5.7) older vias are neither free nor on a track end — they plot right today, and the net check is the release gate. Doc `03-Architecture-Hardware/2026-10-28_Drogheda_T42b-HV24_V5.6-V5.7_ES_v1.0.md` (site `hardware/t42b-hv24-28oct`), design docs V5.6/V5.7 v1.5; lote `2026-10-28_t42b-hv24`.
|
||||
|
||||
---
|
||||
|
||||
## 1. System architecture (corrected from the BOM, 2026-06-20)
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit e62a7dec23c1db5f5784c1f76292c347f51f78ff
|
||||
Subproject commit a844fcd979923760ee95181d865a5babc77d47b6
|
||||
Loading…
Reference in New Issue
Block a user