Pasada 3 rev C: T27 (pasos 1 y 2), docs y figura de RS1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QCy5VHMVLkAmftYM6swWmx
This commit is contained in:
Leopoldo Rodríguez 2026-10-16 15:36:32 -06:00
parent 8adab008f8
commit 8c405ea7d3
5 changed files with 165 additions and 50 deletions

View File

@ -4,8 +4,8 @@ tags: [project-drogheda, hardware, hbox, einarboard, v5.6, v5.7, v6, auditoria,
project: Project Drogheda project: Project Drogheda
author: Helgen Technologies (auditoría: Claude; revisión: Leo) author: Helgen Technologies (auditoría: Claude; revisión: Leo)
date: 2026-10-16 date: 2026-10-16
version: 1.0 version: 1.1
status: ACTIVO — sustituye a la auditoría del 13-oct (V5.6) y a la guía de colocación V5.7 del 14-oct status: ACTIVO — rev. C (16-oct, 14:00): MH11 se quita; pasos 1 y 2 con el script T27 · sustituye a la auditoría del 13-oct (V5.6) y a la guía de colocación V5.7 del 14-oct
audience: Leo, Michelle (layout), Jesús (banco), Aldair (fabricación), Adriana (PM) audience: Leo, Michelle (layout), Jesús (banco), Aldair (fabricación), Adriana (PM)
--- ---
@ -45,12 +45,12 @@ audience: Leo, Michelle (layout), Jesús (banco), Aldair (fabricación), Adriana
| Entrada de alimentación | 24 V → Mean Well SD-15B-05 externa → P2 (5 V) | igual | **fuente a bordo** U25 TPS54360B (5.32 V); sin P2 ni U2 | fuente a bordo (U25) | | Entrada de alimentación | 24 V → Mean Well SD-15B-05 externa → P2 (5 V) | igual | **fuente a bordo** U25 TPS54360B (5.32 V); sin P2 ni U2 | fuente a bordo (U25) |
| Rango de entrada | 18–28 V | 18–28 V (SD-15B 18–36 V; U2 del ventilador 28 V máx.) | **9–32 V** (§5) | 9–32 V (mismo bloque) | | Rango de entrada | 18–28 V | 18–28 V (SD-15B 18–36 V; U2 del ventilador 28 V máx.) | **9–32 V** (§5) | 9–32 V (mismo bloque) |
| Respaldo y carga | LTC4040, carga 2.4 A programada (Li-ion) | LTC4040, LFP, carga 1.4 A | igual que V5.6 | igual en esquemático; **en el PCB: JP2 en Li-ion y R52 sin GND** | | Respaldo y carga | LTC4040, carga 2.4 A programada (Li-ion) | LTC4040, LFP, carga 1.4 A | igual que V5.6 | igual en esquemático; **en el PCB: JP2 en Li-ion y R52 sin GND** |
| Límite de entrada real (§4) | ≈ 1 A (diseño 3.1 A) | ≈ 1 A (diseño 2.5 A) | ≈ 1 A | por corregir (L-19) | | Límite de entrada real (§4) | ≈ 1 A (diseño 3.1 A) | ≈ 1 A (diseño 2.5 A) → 2.5 A con T27 | ≈ 1 A → 2.5 A con T27 | por corregir (L-19) |
| Corte de 10 s en batería (§9) | ❌ el módem no arranca en frío sobre el boost | ✅ diseño · ❌ firmware · ❌ banco | igual que V5.6 | ✅ esquemático · ❌ PCB · ❌ firmware | | Corte de 10 s en batería (§9) | ❌ el módem no arranca en frío sobre el boost | ✅ diseño · ❌ firmware · ❌ banco | igual que V5.6 | ✅ esquemático · ❌ PCB · ❌ firmware |
| Ethernet (W5500 + J10) | solo build de banco `-eth` | hardware igual al de V5.5 (+ pull-down de reset); J10.8 al aire, LED de actividad invertido; sin firmware de campo | igual | esquemático corregido; PCB no | | Ethernet (W5500 + J10) | solo build de banco `-eth` | hardware igual al de V5.5 (+ pull-down de reset); J10.8 al aire, LED de actividad invertido; sin firmware de campo | igual | esquemático corregido; PCB no |
| RS-485 / RS-232 | solo prueba de presencia de U10 | hardware con 3 defectos (§10); firmware 0 % | igual | esquemático corregido (U32, D39, R147); PCB no; firmware 0 % | | RS-485 / RS-232 | solo prueba de presencia de U10 | hardware con 3 defectos (§10); firmware 0 % | igual | esquemático corregido (U32, D39, R147); PCB no; firmware 0 % |
| Acelerómetro | — | ✅ U26 SC7A20 (0x18, INT1 → PB9) | ✅ U26 (INT1 por In1 bajo el MCU) | ✅ U26 | | Acelerómetro | — | ✅ U26 SC7A20 (0x18, INT1 → PB9) | ✅ U26 (INT1 por In1 bajo el MCU) | ✅ U26 |
| Barrenos de la V5.5 (3 de caja + 3 ArduSimple + 1 abrazadera) | 7 | ❌ 0 de 7 | ❌ 0 de 7 | ⚠ 2 de 3 de caja + 2 nuevos en esquinas; se borran con «Actualizar PCB» | | Barrenos de la V5.5 (3 de caja + 3 ArduSimple; la V5.5 lleva además MH11, abrazadera) | 7 | ✅ 6 restaurados el 16-oct; MH11 se quita (T27) | ✅ 6 restaurados el 16-oct; MH11 se quita (T27) | ⚠ la actualización del 16-oct los borró; se reponen con `--set v6` |
| Corriente por capas internas | sí | casi limpio: 7.8 mm de `/BAT_PLUS` en In2 | ❌ como la V5.5 | ❌ (`/BAT_PLUS`, `/SW_BAT` 0.5 mm, RF LTE por In1) | | Corriente por capas internas | sí | casi limpio: 7.8 mm de `/BAT_PLUS` en In2 | ❌ como la V5.5 | ❌ (`/BAT_PLUS`, `/SW_BAT` 0.5 mm, RF LTE por In1) |
| DRC con paridad | — | 0 errores · 0 sin conectar · paridad OK · 6 cobres sueltos | 0 · 0 · paridad OK · 1 vía suelta | 0 · 0 · **70 diferencias de paridad** · 147 avisos de ancho | | DRC con paridad | — | 0 errores · 0 sin conectar · paridad OK · 6 cobres sueltos | 0 · 0 · paridad OK · 1 vía suelta | 0 · 0 · **70 diferencias de paridad** · 147 avisos de ancho |
| Firmware | 0.6.0 CAMPO · 0.6.3 banco | 0.7.0 (`board_v56.h`) **no existe** | el mismo 0.7.0 (mismos pines de MCU que V5.6) | 0.7.x (`board_v6.h` + NTRIP en el MCU) **no existe** | | Firmware | 0.6.0 CAMPO · 0.6.3 banco | 0.7.0 (`board_v56.h`) **no existe** | el mismo 0.7.0 (mismos pines de MCU que V5.6) | 0.7.x (`board_v6.h` + NTRIP en el MCU) **no existe** |
@ -69,7 +69,7 @@ Las correcciones de layout, con coordenadas, están en **[Pasada 3 para Michelle
| 4a · Ethernet | ⚠ Hardware funcional con 2 defectos menores; falta el modo de campo en firmware (§10) | ⚠ Igual | ⚠ Esquemático corregido; PCB con J10 cruzado | | 4a · Ethernet | ⚠ Hardware funcional con 2 defectos menores; falta el modo de campo en firmware (§10) | ⚠ Igual | ⚠ Esquemático corregido; PCB con J10 cruzado |
| 4b · RS-232 y RS-485 | ⚠ Hardware con 3 defectos (el RS-485 ocupa el bus después de cada reset); firmware 0 % | ⚠ Igual | ⚠ Esquemático corregido; PCB no; firmware 0 % | | 4b · RS-232 y RS-485 | ⚠ Hardware con 3 defectos (el RS-485 ocupa el bus después de cada reset); firmware 0 % | ⚠ Igual | ⚠ Esquemático corregido; PCB no; firmware 0 % |
| 5 · Acelerómetro | ✅ Hardware; falta el driver | ✅ Hardware (INT1 por In1); falta el driver | ✅ Hardware; falta el driver | | 5 · Acelerómetro | ✅ Hardware; falta el driver | ✅ Hardware (INT1 por In1); falta el driver | ✅ Hardware; falta el driver |
| 6 · Barrenos de la V5.5 | ❌ Faltan los 7; al ponerlos, la broca corta `/MODEM_RST_MCU` y cae sobre R107 | ❌ Faltan los 7; además cortarían `/24V`, `/I2C_SCL` y LEDs RGB | ⚠ Falta el del centro derecho y los que tiene se borrarían | | 6 · Barrenos de la V5.5 | ✅ Restaurados (16-oct); MH11 se quita y `/CHRG_STAT` se aparta de MH10 con T27 | ✅ Restaurados y liberados (16-oct); MH11 se quita con T27 | ⚠ La actualización del 16-oct los borró: se reponen con `--set v6` y hay que liberar MH4 |
## 3. Barrenos: los 7 de la V5.5 de producción ## 3. Barrenos: los 7 de la V5.5 de producción
@ -83,14 +83,14 @@ Fuente de verdad: Gerbers de producción de la V5.5 (`HBOX_v5_PROD.zip`, 21-ago:
| MH7 | ArduSimple (poste M2.5) | 2.75 mm | = barreno | (76.63, 129.90) | | MH7 | ArduSimple (poste M2.5) | 2.75 mm | = barreno | (76.63, 129.90) |
| MH9 | ArduSimple | 2.75 mm | = barreno | (77.90, 81.64) | | MH9 | ArduSimple | 2.75 mm | = barreno | (77.90, 81.64) |
| MH10 | ArduSimple | 2.75 mm | = barreno | (128.70, 96.88) | | MH10 | ArduSimple | 2.75 mm | = barreno | (128.70, 96.88) |
| MH11 | abrazadera del disipador | 2.75 mm | = barreno | (170.39, 83.80) | | MH11 | abrazadera del disipador — **solo V5.5; en V5.6/V5.7 se quita** (Leo, 16-oct) | 2.75 mm | = barreno | (170.39, 83.80) |
!!! warning "MH4 va en x = 185.2, no en 193.2" !!! warning "MH4 va en x = 185.2, no en 193.2"
En la V5.5 la huella de MH4 tenía el ancla en (193.2, 90.3) y el barreno desplazado −8 mm; el barreno real (Gerber) está en **(185.2, 90.3)**. El plan de corrección de la v6 (G-01 / L-40) pide «MH4 en (193.2, 90.3)»: esa es la coordenada del ancla, no del barreno. Con 193.2 el tornillo no entra en la placa base. En la V5.5 la huella de MH4 tenía el ancla en (193.2, 90.3) y el barreno desplazado −8 mm; el barreno real (Gerber) está en **(185.2, 90.3)**. El plan de corrección de la v6 (G-01 / L-40) pide «MH4 en (193.2, 90.3)»: esa es la coordenada del ancla, no del barreno. Con 193.2 el tornillo no entra en la placa base.
**Por qué se perdieron.** Los MH no tienen símbolo en el esquemático. Al pasar de V5.5 a V5.6, «Actualizar PCB desde esquemático» con «Eliminar huellas sin símbolo» los borró; la V5.7 salió de la V5.6 ya sin ellos. **Por qué se perdieron.** Los MH no tienen símbolo en el esquemático. Al pasar de V5.5 a V5.6, «Actualizar PCB desde esquemático» con «Eliminar huellas sin símbolo» los borró; la V5.7 salió de la V5.6 ya sin ellos.
**Cómo se restauran.** Script `03-Architecture-Hardware/kicad/tools/t25_mounting_holes_v55.py` (lo corre Leo con KiCad cerrado; comandos en la [pasada 3](v56-v57-layout-pasada-3.md#0-antes-de-empezar-leo-10-min)). Mete los 7 como huellas **«No en el esquemático»** (fuera de BOM y de la lista de posiciones), así ya no los borra ningún «Actualizar PCB», y deja MH4 con el ancla sobre el barreno. Se probó en copias: KiCad los abre y el DRC muestra exactamente los choques de abajo. **Cómo se restauran.** Script `03-Architecture-Hardware/kicad/tools/t25_mounting_holes_v55.py` (lo corre Leo con KiCad cerrado; comandos en la [pasada 3](v56-v57-layout-pasada-3.md#02-barrenos-con-el-script-t25-hecho-el-16-oct)). Mete los 7 como huellas **«No en el esquemático»** (fuera de BOM y de la lista de posiciones), así ya no los borra ningún «Actualizar PCB», y deja MH4 con el ancla sobre el barreno. Se probó en copias: KiCad los abre y el DRC muestra exactamente los choques de abajo.
**Lo que choca al ponerlos** (cobre que hoy está donde va el barreno): **Lo que choca al ponerlos** (cobre que hoy está donde va el barreno):
@ -103,6 +103,14 @@ Fuente de verdad: Gerbers de producción de la V5.5 (`HBOX_v5_PROD.zip`, 21-ago:
**La regla es la de la V5.5:** en su PCB de producción no hay ningún cobre que no sea GND, en ninguna capa, a menos de 3.1 mm del centro de MH4/MH5/MH6 ni a menos de 2.6 mm del centro de MH7/MH9/MH10/MH11. MH7, MH9 y MH10 quedan dentro del contorno de MOD1: es el ArduSimple y es por diseño (el DRC lo marca como «barreno dentro de courtyard»; se excluye). **La regla es la de la V5.5:** en su PCB de producción no hay ningún cobre que no sea GND, en ninguna capa, a menos de 3.1 mm del centro de MH4/MH5/MH6 ni a menos de 2.6 mm del centro de MH7/MH9/MH10/MH11. MH7, MH9 y MH10 quedan dentro del contorno de MOD1: es el ArduSimple y es por diseño (el DRC lo marca como «barreno dentro de courtyard»; se excluye).
!!! success "Actualización 16-oct, 11:35"
**V5.6 y V5.7:** barrenos restaurados (commit `15aad72`) y choques liberados (commit `ff5a8ed`); DRC con 0 errores salvo las 3 exclusiones de MOD1. Queda una decisión: para librar R107, **MH11 se movió** — (168.94, 85.44) en V5.6 y (167.58, 84.44) en V5.7 —, así que ya no coincide con la V5.5 ni entre las dos, y en V5.7 queda a 0.4 mm de `/MAIN5V`. Opciones en la [pasada 3, A1](v56-v57-layout-pasada-3.md). En V5.6, `/CHRG_STAT` sigue a 0.25 mm de MH10.
**v6:** ya se actualizó desde el esquemático (paridad limpia salvo los PF*), y como se advierte abajo, eso **borró sus barrenos**: hoy no tiene ninguno. Se reponen con `python3 tools/t25_mounting_holes_v55.py hbox-watchdog-v6.kicad_pcb --set v6 --apply` (KiCad cerrado): MH5, MH6 y MH4 en (185.2, 90.3) para la placa base de la V5.5, más las dos esquinas MH7/MH8 que tenía. Después hay que apartar D23, D24, `/SIM_CLK`, `/SIM_RST` y `/NTC` (In2) de MH4.
!!! success "Actualización 16-oct, 14:00 — barrenos cerrados con T27"
**Decisión de Leo: MH11 se quita de V5.6 y V5.7** (no llevan la abrazadera de la V5.5). El script `tools/t27_paso1_2_mh11_rs1_kelvin.py` lo borra y, solo en V5.6, desvía `/CHRG_STAT` (In2) para que quede a 2.7 mm del centro de MH10 (hoy 1.6 mm). Con eso, en las dos tarjetas: **MH5, MH6, MH7, MH9 y MH10 sin cobre ajeno a GND dentro de la zona de la V5.5**; en MH4 solo queda, en la V5.6, `/I2C_SCL` en In1 a 2.7 mm del centro (1.1 mm del borde, capa interna: se acepta). Probado en copias con DRC de KiCad 10.0.4: 0 infracciones nuevas, 0 sin conectar. Comandos: [pasada 3, paso 0](v56-v57-layout-pasada-3.md#0-antes-de-empezar-leo-15-min).
**v6.** Tiene MH5 y MH6 en su lugar y dos barrenos nuevos en las esquinas derechas, (195.2, 45.3) y (195.2, 135.3), que la placa base actual no tiene. **Le falta MH4 en (185.2, 90.3)**: ahí hoy está D23 (su pad quedaría dentro del barreno), D24 y `/NTC` en In2. Y sus MH tampoco están marcados «No en el esquemático»: el paso 3 de [Próximos pasos](v6-proximos-pasos.md) (Actualizar PCB con «Eliminar huellas sin símbolo») los borraría igual que en V5.6. Antes de ese paso hay que marcarlos. Si la v6 llevará placa base nueva con 4 esquinas, que se decida ya; si no, MH4 en 185.2. **v6.** Tiene MH5 y MH6 en su lugar y dos barrenos nuevos en las esquinas derechas, (195.2, 45.3) y (195.2, 135.3), que la placa base actual no tiene. **Le falta MH4 en (185.2, 90.3)**: ahí hoy está D23 (su pad quedaría dentro del barreno), D24 y `/NTC` en In2. Y sus MH tampoco están marcados «No en el esquemático»: el paso 3 de [Próximos pasos](v6-proximos-pasos.md) (Actualizar PCB con «Eliminar huellas sin símbolo») los borraría igual que en V5.6. Antes de ese paso hay que marcarlos. Si la v6 llevará placa base nueva con 4 esquinas, que se decida ya; si no, MH4 en 185.2.
## 4. Común a V5.5, V5.6 y V5.7: el límite de entrada del LTC4040 quedó en ≈ 1 A ## 4. Común a V5.5, V5.6 y V5.7: el límite de entrada del LTC4040 quedó en ≈ 1 A
@ -122,7 +130,7 @@ Así que el LTC4040 «ve» RS1 **más** ≈ 6 mΩ del rodeo **más** ≈ 12 mΩ
Con la etapa y el módem encendidos (≈ 0.6 A a 5 V) quedan ≈ 0.35 A para el cargador, que a la batería son **≈ 0.4–0.5 A en lugar de 1.4 A** (V5.6/V5.7) o de 2.4 A (V5.5). Con la etapa apagada carga casi normal. No hay riesgo de daño: la pista de 0.25 mm lleva ≤ 1 A y se calienta ~15 °C. En la v6 el mismo punto ya está en el plan de corrección (A-07 / L-19: sensado Kelvin en RS1). Con la etapa y el módem encendidos (≈ 0.6 A a 5 V) quedan ≈ 0.35 A para el cargador, que a la batería son **≈ 0.4–0.5 A en lugar de 1.4 A** (V5.6/V5.7) o de 2.4 A (V5.5). Con la etapa apagada carga casi normal. No hay riesgo de daño: la pista de 0.25 mm lleva ≤ 1 A y se calienta ~15 °C. En la v6 el mismo punto ya está en el plan de corrección (A-07 / L-19: sensado Kelvin en RS1).
Corrección (en la pasada 3): **sensado Kelvin** — la corriente pasa solo por RS1; U6.6 se conecta con pista propia al pad RS1.1 y U6.7 con pista propia al pad RS1.2; RS1.2 → Q7 con cobre ancho que no pase por el pad de U6.7. Corrección (pasada 3, paso 2 — script T27, §4.4): **sensado Kelvin** — la corriente pasa solo por RS1; U6.6 se conecta con pista propia al pad RS1.1 y U6.7 con pista propia al pad RS1.2; RS1.2 → Q7 con cobre ancho que no pase por el pad de U6.7.
### 4.3 Cómo confirmarlo hoy en una V5.5 (Jesús, 15 min) ### 4.3 Cómo confirmarlo hoy en una V5.5 (Jesús, 15 min)
@ -134,6 +142,45 @@ Corrección (en la pasada 3): **sensado Kelvin** — la corriente pasa solo por
4. En la V5.6/V5.7 (RS1 = 10 mΩ) la misma prueba da ≈ 9–10 mV con el defecto y ≈ 15–16 mV sin él. 4. En la V5.6/V5.7 (RS1 = 10 mΩ) la misma prueba da ≈ 9–10 mV con el defecto y ≈ 15–16 mV sin él.
5. Anotar la lectura en el acta de banco de la unidad. 5. Anotar la lectura en el acta de banco de la unidad.
Esta prueba depende de que la batería esté pidiendo carga. La de §4.5 (con TP1) no: sirve a cualquier corriente.
### 4.4 La corrección: RS1 girado 180° y sensado Kelvin (script T27)
![RS1: qué mide, cómo está hoy y cómo queda con T27](img/2026-10-16_Drogheda_RS1-Kelvin_V5.6-V5.7_v1.0.png)
**Qué se mide.** RS1 es un «amperímetro» de 10 mΩ en la entrada de 5 V (`/VEH5V`): toda la corriente que entra a la tarjeta (sistema + cargador) pasa por ella y produce una caída de 1 mV por cada 0.1 A. El LTC4040 lee esa caída con dos pines, **U6.6 (VIN)** y **U6.7 (CLN)**; al llegar a 25 mV recorta la carga de la batería. Para que lea solo a RS1, cada pin necesita **su propio hilo hasta su pad de RS1, por donde no pase corriente** (conexión Kelvin o de 4 hilos, como las puntas de un óhmetro de 4 terminales).
**Por qué se gira RS1.** Con RS1 como está (pad 1 `/VEH5V` a la derecha, del lado de U6), U6.6 —que está arriba de U6.7— tendría que llegar al pad de la derecha y U6.7 al de la izquierda: los dos hilos se cruzan. Girando RS1 180° en su mismo lugar, el pad 1 (`/VEH5V`) queda a la izquierda, junto a la vía de entrada y a C31, y el pad 2 (`/VIN_SW`) a la derecha, junto a Q7. Así nada se cruza y la potencia queda más corta que hoy:
| | Hoy | Con T27 |
|---|---|---|
| Entrada | vía → rodeo de 13 mm a 1.0 mm por C31 → RS1.1 | vía (151.0, 115.54) → RS1.1 directo: 1.7 mm a 0.8 mm |
| C31 | en medio del rodeo | pegado a RS1.1 (2.5 mm a 1.0 mm) |
| Salida | RS1.2 → 0.25 mm hasta el pad de U6.7 → 1.0 mm a Q7 | RS1.2 → Q7.1/2/3 con 1.5 mm (5 mm); ya no pasa por U6 |
| Sensado VIN | U6.6 → vía (antes del rodeo) | U6.6 → RS1.1, 0.25 mm propia; pasa por arriba de la vía y entra al pad por fuera |
| Sensado CLN | el propio pad de U6.7, que lleva la corriente | U6.7 → RS1.2, 0.25 mm propia (3 mm) |
| Lo que ve el LTC4040 | ≈ 27 mΩ → límite ≈ 0.9 A | 10 mΩ + < 0.3 mΩ de cobre de pad → **2.4–2.5 A** |
Por los hilos de sensado no pasa corriente (el pin VIN del LTC4040 consume < 1 mA), así que su largo y su ancho no importan. En la V5.7, T27 además endereza `/CHRG_EN` bajo TP1 (bajaba a y = 114.56 y no dejaba pasar el hilo VIN); queda igual que en la V5.6.
**Verificado en copias** de las dos tarjetas (`_to_delete/audit-20261016/v56t27` y `v57t27`): DRC de KiCad 10.0.4 con rellenado de zonas y paridad → **0 infracciones nuevas, 0 sin conectar** (lo único que cambia es que desaparece el aviso de MH11). Y la topología es Kelvin pura: si se quita el pad RS1.1, U6.6 queda desconectado de la entrada; si se quita RS1.2, U6.7 queda desconectado de Q7.
Con la unidad trabajando (≈ 0.6 A), quedan ≈ 1.9 A para el cargador: carga completa de 1.4 A (V5.6/V5.7).
### 4.5 Prueba definitiva con TP1 (CLPROG): cualquier tarjeta, cualquier corriente
El LTC4040 saca en su pin CLPROG —**TP1**, el círculo de 1.5 mm junto a RS1— **32 veces** el voltaje que mide entre U6.6 y U6.7. Comparando TP1 con la caída real en RS1 se sabe cuánto «ve» el chip:
1. Unidad con 24 V y funcionando; mejor si consume más de 0.3 A (etapa y módem encendidos).
2. **V_RS1:** multímetro en la escala de 200 mV (resolución de 0.01 mV) sobre las **terminales metálicas de RS1**, no sobre las pistas.
3. **V_TP1:** multímetro en volts, de TP1 a GND.
4. **Razón = (V_TP1 ÷ 32) ÷ V_RS1.**
- **≈ 1.0–1.1** → sensado correcto.
- **≈ 2.7** (V5.6/V5.7 de hoy) o **≈ 3.1** (V5.5) → el defecto de §4.1.
- Si TP1 marca ≈ 0.8 V, el límite ya está actuando (la entrada está topada).
Ejemplo en una V5.6 a 0.5 A: V_RS1 = 5.0 mV; con el defecto TP1 ≈ 0.43 V (razón 2.7); corregida, TP1 ≈ 0.16 V (razón 1.0). Va al banco del piloto (plan, fila 8) y al acta de cada tarjeta.
## 5. V5.7: rango de entrada sin la Mean Well ## 5. V5.7: rango de entrada sin la Mean Well
Cadena: **P1.1 → F2** (fusible 3 A lento, 2410) **→ D10** SMBJ33A (TVS a GND) **y Q10** IRFR5305 (polaridad) **→ `/24V` → U25** TPS54360B **→ L22/D34 → `/VEH5V` 5.32 V** (5.18–5.46 V) **→ RS1 → LTC4040**. Cadena: **P1.1 → F2** (fusible 3 A lento, 2410) **→ D10** SMBJ33A (TVS a GND) **y Q10** IRFR5305 (polaridad) **→ `/24V` → U25** TPS54360B **→ L22/D34 → `/VEH5V` 5.32 V** (5.18–5.46 V) **→ RS1 → LTC4040**.
@ -156,14 +203,17 @@ Dos cambios recomendados y una advertencia:
2. **Ignición en 12 V.** El divisor de PA5 (22 k arriba, 22 k ∥ 3.3 k abajo) da **1.4 V con 12 V y 1.6 V con 13.8 V**: queda entre el «bajo» y el «alto» del STM32, así que leer PA5 con `digitalRead` no es confiable en máquinas de 12 V (Tractoplana, Montacargas). Con 24 V da 2.8 V y sí funciona. **El firmware debe leer PA5 con el ADC** (umbral ≈ 0.7 V ≈ 6 V de ignición, con histéresis). En v6 el divisor ya es 22 k / 2.2 k, pensado para ADC. 2. **Ignición en 12 V.** El divisor de PA5 (22 k arriba, 22 k ∥ 3.3 k abajo) da **1.4 V con 12 V y 1.6 V con 13.8 V**: queda entre el «bajo» y el «alto» del STM32, así que leer PA5 con `digitalRead` no es confiable en máquinas de 12 V (Tractoplana, Montacargas). Con 24 V da 2.8 V y sí funciona. **El firmware debe leer PA5 con el ADC** (umbral ≈ 0.7 V ≈ 6 V de ignición, con histéresis). En v6 el divisor ya es 22 k / 2.2 k, pensado para ADC.
3. **El gabinete no cambia.** Breaker, SPD y la DDR-60G-24 siguen; con ellos la tarjeta recibe 24 V regulados y el rango amplio es margen. Si algún día se quiere quitar la DDR-60G-24 en máquinas de 12/24 V, la V5.7 lo aguanta eléctricamente, pero el SPD y el breaker se quedan. 3. **El gabinete no cambia.** Breaker, SPD y la DDR-60G-24 siguen; con ellos la tarjeta recibe 24 V regulados y el rango amplio es margen. Si algún día se quiere quitar la DDR-60G-24 en máquinas de 12/24 V, la V5.7 lo aguanta eléctricamente, pero el SPD y el breaker se quedan.
!!! note "Leo, 16-oct: hoy todas las instalaciones tienen la fuente externa de 24 V"
Entonces el rango de 9–32 V es margen, no requisito. El SMBJ33CA baja de prioridad: solo protege contra un arnés armado al revés, aunque es un cambio de BOM sin tocar el layout. Lo de la ignición de 12 V aplica solo si el pin 3 del GX16 llega crudo de una máquina de 12 V; si llega del gabinete a 24 V, `digitalRead` funciona. Aun así, leerla por ADC no cuesta nada.
## 6. V5.6 — qué falta ## 6. V5.6 — qué falta
**Bien:** paridad limpia, 0 sin conectar, 0 errores; `/SYS5V` hacia U7 y `/MAIN5V` hacia Q7 ya por capas externas; In1 limpio bajo U16; U26 con sus capacitores; C128 a 1.15 mm del borde; pasta del EP de U6 al 50 %. En esquemático: MODEM_EN/RST/LED, toma de RTCM en PC7, K1 en modo B, paquete LFP (JP2 2-3, R55 5.6 k), cristal LSE Y4. **Bien:** paridad limpia, 0 sin conectar, 0 errores; `/SYS5V` hacia U7 y `/MAIN5V` hacia Q7 ya por capas externas; In1 limpio bajo U16; U26 con sus capacitores; C128 a 1.15 mm del borde; pasta del EP de U6 al 50 %. En esquemático: MODEM_EN/RST/LED, toma de RTCM en PC7, K1 en modo B, paquete LFP (JP2 2-3, R55 5.6 k), cristal LSE Y4.
| # | Qué | Dónde | Gravedad | | # | Qué | Dónde | Gravedad |
|---|---|---|---| |---|---|---|---|
| 1 | Faltan los 7 barrenos; al ponerlos: R107 y `/MODEM_RST_MCU` en MH11, `/CHRG_STAT` en MH10 | §3 | **Bloqueante** | | 1 | Faltan los 7 barrenos; al ponerlos: R107 y `/MODEM_RST_MCU` en MH11, `/CHRG_STAT` en MH10 — **restaurados el 16-oct; MH11 se quita y `/CHRG_STAT` se desvía con T27** | §3 | **Bloqueante** → cerrado con T27 |
| 2 | Sensado de RS1 → límite de entrada ≈ 1 A | §4 | **Bloqueante** (es la carga de la batería) | | 2 | Sensado de RS1 → límite de entrada ≈ 1 A — **corrección lista: T27 (§4.4)** | §4 | **Bloqueante** (es la carga de la batería) → cerrado con T27 |
| 3 | `/BAT_PLUS`: siguen 7.8 mm en In2 (1.5 mm) entre las vías (180.12, 100.81) y (179.57, 109.63), con una sola vía 0.8/0.3 en cada extremo | P4 → L6.2 | Importante | | 3 | `/BAT_PLUS`: siguen 7.8 mm en In2 (1.5 mm) entre las vías (180.12, 100.81) y (179.57, 109.63), con una sola vía 0.8/0.3 en cada extremo | P4 → L6.2 | Importante |
| 4 | `/MAIN5V` hacia P11: una sola vía (153.19, 110.88) para todo VSYS y 118 mm de B.Cu a 1.0 mm (145 mV a 2.5 A) | U6 → P11.1 | Importante | | 4 | `/MAIN5V` hacia P11: una sola vía (153.19, 110.88) para todo VSYS y 118 mm de B.Cu a 1.0 mm (145 mV a 2.5 A) | U6 → P11.1 | Importante |
| 5 | `/3V3_MODEM`: 51 mm a 0.5 mm (≈ 100 mV en ráfaga de 2 A) | L7.2 → J7.1 | Importante | | 5 | `/3V3_MODEM`: 51 mm a 0.5 mm (≈ 100 mV en ráfaga de 2 A) | L7.2 → J7.1 | Importante |
@ -205,12 +255,15 @@ Dos cambios recomendados y una advertencia:
| Vías de GND | 2 cerca de U25, 1 junto a D34 | Importante (≥ 6 en EP, ≥ 4 junto a D34) | | Vías de GND | 2 cerca de U25, 1 junto a D34 | Importante (≥ 6 en EP, ≥ 4 junto a D34) |
| `/VEH5V` L22.2 → RS1.1 | 51 mΩ (143 mV a 2.8 A), 4 vías sencillas | Importante | | `/VEH5V` L22.2 → RS1.1 | 51 mΩ (143 mV a 2.8 A), 4 vías sencillas | Importante |
**C · Barrenos** (§3): MH4 corta `/24V`, `/I2C_SCL` y `/RGBB_K`; MH11 cae sobre R107 y corta `/MODEM_RST_MCU` y `/RGBG_K`. **Bloqueante.** **C · Barrenos** (§3): MH4 corta `/24V`, `/I2C_SCL` y `/RGBB_K`; MH11 cae sobre R107 y corta `/MODEM_RST_MCU` y `/RGBG_K`. **Bloqueante.** → MH4 y MH10 liberados el 16-oct (`ff5a8ed`); MH11 se quita con T27.
**D · Igual que V5.6:** sensado de RS1 (§4), `/3V3_MODEM` (54 mm a 0.5 mm), U7 sin vías en el EP, vías de 0.1 mm en `/NTC`, BOM, puertos (§10). Recomendado además: **D10 → SMBJ33CA** (§5). **D · Igual que V5.6:** sensado de RS1 (§4; **T27**), `/3V3_MODEM` (54 mm a 0.5 mm), U7 sin vías en el EP, vías de 0.1 mm en `/NTC`, BOM, puertos (§10). Recomendado además: **D10 → SMBJ33CA** (§5).
## 8. v6 — qué falta ## 8. v6 — qué falta
!!! note "Actualización 16-oct, 11:35"
Leo ya corrió «Actualizar PCB desde esquemático» (commit `ff5a8ed`). La paridad quedó limpia salvo los PF*, así que lo de la tabla 8.1 quedó resuelto **en huellas, valores y redes**. Ahora el PCB tiene lo esperado tras la actualización: 14 cortos y 28 conexiones sin rutear (huellas nuevas de L2/L6/L8/L20, puertos U14/U15/U32/D39/R147, J10, ETH_PWR_EN). Eso es el layout de §8.2. Además, la actualización borró los barrenos (§3). La identificación de tarjeta (§8.4) y el firmware (§8.3) siguen igual.
### 8.1 El PCB no es el esquemático verificado ### 8.1 El PCB no es el esquemático verificado
El PCB es del 1–2 de octubre y nunca pasó por «Actualizar PCB desde esquemático» (paso 3 de [Próximos pasos](v6-proximos-pasos.md)). DRC con paridad: 70 diferencias. Las que importan si se fabricara así: El PCB es del 1–2 de octubre y nunca pasó por «Actualizar PCB desde esquemático» (paso 3 de [Próximos pasos](v6-proximos-pasos.md)). DRC con paridad: 70 diferencias. Las que importan si se fabricara así:
@ -304,7 +357,7 @@ Estado del acelerómetro en hardware: V5.6 ✅; V5.7 ✅ con INT1 por In1 y C128
|---|---|---|---|---| |---|---|---|---|---|
| 1 | Decidir: portar puertos de v6 a V5.6/V5.7 (§10.1), D10 → SMBJ33CA en V5.7 (§5) y el strap de identificación de la v6 en PA9 (§8.4) | Leo | 15 min | — | | 1 | Decidir: portar puertos de v6 a V5.6/V5.7 (§10.1), D10 → SMBJ33CA en V5.7 (§5) y el strap de identificación de la v6 en PA9 (§8.4) | Leo | 15 min | — |
| 2 | Medir el límite de entrada en una V5.5 (§4.3) | Jesús | 15 min | — | | 2 | Medir el límite de entrada en una V5.5 (§4.3) | Jesús | 15 min | — |
| 3 | Restaurar los barrenos con el script T25 en V5.6 y V5.7 y subir | Leo | 10 min | — | | 3 | Restaurar los barrenos con el script T25 en V5.6 y V5.7 y subir — **hecho el 16-oct** (`15aad72`, `ff5a8ed`). **Pasos 1 y 2 de la pasada 3 con el script T27** (quitar MH11, `/CHRG_STAT` fuera de MH10, sensado Kelvin de RS1), probado con DRC en copias | Leo | 15 min | — |
| 4 | [Pasada 3](v56-v57-layout-pasada-3.md) en V5.6 | Michelle | ≈ 1 día (+ 0.5 día si se portan los puertos) | 1, 3 | | 4 | [Pasada 3](v56-v57-layout-pasada-3.md) en V5.6 | Michelle | ≈ 1 día (+ 0.5 día si se portan los puertos) | 1, 3 |
| 5 | Re-auditoría V5.6 + Gerber/BOM/CPL | Claude | 2 h | 4 | | 5 | Re-auditoría V5.6 + Gerber/BOM/CPL | Claude | 2 h | 4 |
| 6 | **Piloto V5.6: 5 tarjetas** (EP de U6 Epoxy Filled & Capped + rayos X) | Leo → Aldair | 1 h + fabricación | 5 | | 6 | **Piloto V5.6: 5 tarjetas** (EP de U6 Epoxy Filled & Capped + rayos X) | Leo → Aldair | 1 h + fabricación | 5 |
@ -314,7 +367,7 @@ Estado del acelerómetro en hardware: V5.6 ✅; V5.7 ✅ con INT1 por In1 y C128
| 10 | Pasada 3 en V5.7 | Michelle | ≈ 2–3 días | 4 | | 10 | Pasada 3 en V5.7 | Michelle | ≈ 2–3 días | 4 |
| 11 | Re-auditoría V5.7 + 5 prototipos (validación ECO §6) | Claude / Leo | 2 h + fabricación | 10 | | 11 | Re-auditoría V5.7 + 5 prototipos (validación ECO §6) | Claude / Leo | 2 h + fabricación | 10 |
| 12 | Banco V5.7: 9 / 12 / 24 / 32 V con carga, polaridad invertida, temperatura de U25, + lo de la fila 8 | Jesús | 2 días | 7, 11 | | 12 | Banco V5.7: 9 / 12 / 24 / 32 V con carga, polaridad invertida, temperatura de U25, + lo de la fila 8 | Jesús | 2 días | 7, 11 |
| 13 | v6: marcar MH «No en el esquemático», agregar MH4 (185.2, 90.3), Actualizar PCB, L-1…L-67 | Michelle | ≈ 4 días | después de V5.7 | | 13 | v6: Actualizar PCB (**hecho el 16-oct**, `ff5a8ed`) → reponer barrenos con `--set v6` y liberar MH4 → L-1…L-67 | Leo / Michelle | ≈ 3.5 días | después de V5.7 |
| 14 | v6: firmware 0.7.x (AT del A7670SA, cliente NTRIP, UDP, reconexión, configuración) | Leo + Claude | varias semanas (sin estimar a detalle) | — | | 14 | v6: firmware 0.7.x (AT del A7670SA, cliente NTRIP, UDP, reconexión, configuración) | Leo + Claude | varias semanas (sin estimar a detalle) | — |
| 15 | v6: homologación IFT; piloto de 20 antes de las 130 | Leo / Adriana | — | 13, 14 | | 15 | v6: homologación IFT; piloto de 20 antes de las 130 | Leo / Adriana | — | 13, 14 |
@ -327,4 +380,5 @@ Si el tiempo manda y se piden las 113 V5.6 sin piloto, el riesgo es que el ciclo
- Rutas de potencia: script propio que encuentra el cobre que queda **en serie** entre dos pads (cada tramo y vía cuya falta desconectaría la ruta), con resistencia y calentamiento por IPC-2221 (internas de 0.5 oz). - Rutas de potencia: script propio que encuentra el cobre que queda **en serie** entre dos pads (cada tramo y vía cuya falta desconectaría la ruta), con resistencia y calentamiento por IPC-2221 (internas de 0.5 oz).
- Barrenos contra los Gerbers de producción de la V5.5 y el historial de git de su PCB. - Barrenos contra los Gerbers de producción de la V5.5 y el historial de git de su PCB.
- El script T25 se probó en copias de V5.6 y V5.7 con DRC. - El script T25 se probó en copias de V5.6 y V5.7 con DRC.
- El script T27 (pasos 1 y 2) se probó igual, en copias de V5.6 y V5.7: DRC sin infracciones nuevas y 0 sin conectar; topología Kelvin comprobada sobre la red (los pines de sensado solo llegan a la entrada o a Q7 a través de su pad de RS1).
- Los hallazgos principales (barrenos, sensado de RS1, V5.7 sin pasada 2, fuente U25, v6 desactualizada, rango de entrada) los revisó un segundo revisor independiente con los mismos archivos. - Los hallazgos principales (barrenos, sensado de RS1, V5.7 sin pasada 2, fuente U25, v6 desactualizada, rango de entrada) los revisó un segundo revisor independiente con los mismos archivos.

View File

@ -4,8 +4,8 @@ tags: [project-drogheda, hardware, hbox, einarboard, v5.6, v5.7, layout, pcb, mi
project: Project Drogheda project: Project Drogheda
author: Helgen Technologies author: Helgen Technologies
date: 2026-10-16 date: 2026-10-16
version: 1.0 version: 1.2
status: ACTIVO — sustituye a la pasada 2 de V5.6 (13-oct) y a la guía de colocación y ruteo de V5.7 (14-oct) status: ACTIVO — rev. C (16-oct, 14:00): MH11 se quita; pasos 1 y 2 con el script T27 · sustituye a la pasada 2 de V5.6 (13-oct) y a la guía de colocación y ruteo de V5.7 (14-oct)
audience: Michelle (layout), Leo audience: Michelle (layout), Leo
--- ---
@ -23,9 +23,67 @@ Reglas de siempre:
- No mover U6, U16, U26, MOD1, J7/J8 ni la fila de conectores; no tocar la pasta del EP de U6; no poner piezas en la cara inferior (pistas en B.Cu sí). - No mover U6, U16, U26, MOD1, J7/J8 ni la fila de conectores; no tocar la pasta del EP de U6; no poner piezas en la cara inferior (pistas en B.Cu sí).
- No cambiar valores ni huellas: eso es del esquemático y lo hace Leo. Excepción: lo que Leo apruebe en el punto A12. - No cambiar valores ni huellas: eso es del esquemático y lo hace Leo. Excepción: lo que Leo apruebe en el punto A12.
## 0. Antes de empezar (Leo, 10 min) !!! success "Estado al 16-oct, 14:00 — rev. C"
- **Barrenos: hechos en las dos** (Leo, commits `15aad72` y `ff5a8ed`). **Decisión de Leo: MH11 se quita de las dos** (V5.6 y V5.7 no llevan la abrazadera de la V5.5).
- **Pasos 1 y 2 van por script (T27, Leo, 15 min):** quita MH11, aparta `/CHRG_STAT` de MH10 en la V5.6 y deja el **sensado Kelvin de RS1** en las dos (RS1 girado 180°). Probado en copias con DRC: 0 infracciones nuevas, 0 sin conectar. Michelle: **no rehagas A1, A2, B1 ni la parte de A2 en B4**; solo revisa que se vean como en la figura de A2.
- **Lo demás sigue pendiente:** A3–A13 en V5.6 y B2, B3, B4 (sin A2) y B5 en V5.7.
Leo mete los 7 barrenos de la V5.5 con el script (KiCad **cerrado**): **Los 7 pasos, y qué puntos de esta guía cubre cada uno:**
| Paso | Qué | Quién | Puntos |
|---|---|---|---|
| 1 | Barrenos: MH11 fuera, `/CHRG_STAT` lejos de MH10 | Leo (script T27) | A1, B1 |
| 2 | Sensado Kelvin de RS1 | Leo (script T27) | A2, B4 (A2) |
| 3 | V5.7: la corriente fuera de In1/In2 (lo que la pasada 2 corrigió en V5.6) | Michelle | B2 |
| 4 | V5.7: fuente U25 (vías del EP, FB, lazo de entrada, nodo SW) | Michelle | B3 |
| 5 | Robustez en las dos: `/BAT_PLUS` en In2, vías de `/MAIN5V`, `/3V3_MODEM`, L7 junto a U7, vías del EP de U7, vías de 0.1 mm, `/VEH5V` de P2 | Michelle | A3–A9, B4 |
| 6 | Limpieza y datos: cobre suelto, cajetín y stackup, BOM; puertos solo si Leo los aprueba | Michelle + Leo | A10–A12, B2 (serigrafía, vía), B4 |
| 7 | Cierre: DRC, re-auditoría, Gerber/BOM/CPL, pilotos | Michelle → Claude → Leo | A13, B5 |
## 0. Antes de empezar (Leo, 15 min)
### 0.1 Pasos 1 y 2 con el script T27 — ahora
Con **KiCad cerrado** (PCB y esquemático de las dos tarjetas):
```bash
cd ~/Documents/Claude/Projects/Drogheda/03-Architecture-Hardware/kicad
git pull --ff-only
# prueba en seco: no escribe nada, solo dice lo que haría
python3 tools/t27_paso1_2_mh11_rs1_kelvin.py hbox-watchdog-v5.kicad_pcb
python3 tools/t27_paso1_2_mh11_rs1_kelvin.py hbox-watchdog-v57.kicad_pcb
# aplicar (deja un respaldo .T27bak junto a cada archivo)
python3 tools/t27_paso1_2_mh11_rs1_kelvin.py hbox-watchdog-v5.kicad_pcb --apply
python3 tools/t27_paso1_2_mh11_rs1_kelvin.py hbox-watchdog-v57.kicad_pcb --apply
```
Lo que debe decir:
| V5.6 (`hbox-watchdog-v5`) | V5.7 (`hbox-watchdog-v57`) |
|---|---|
| `paso 1: MH11 eliminado` | `paso 1: MH11 eliminado` |
| `paso 1: /CHRG_STAT (In2) apartado de MH10 (V5.6): 3 tramos -> 5` | `paso 1: /CHRG_STAT ya va lejos de MH10 (V5.7) - sin cambio` |
| `paso 2: 14 pistas borradas` | `paso 2: 14 pistas borradas` |
| `paso 2: RS1 girado 180 grados en (151.005, 117.235)` | igual |
| `paso 2: /CHRG_EN ya va recto bajo TP1 (V5.6) - sin cambio` | `paso 2: /CHRG_EN bajo TP1 enderezado (V5.7): 4 tramos -> 2` |
| `pasos 1-2: 17 tramos nuevos en total` | `pasos 1-2: 14 tramos nuevos en total` |
Si dice **ABORTAR**, el archivo ya no es el que se auditó (alguien movió esa zona): no escribió nada; avísale a Claude.
Después, en KiCad, cada tarjeta: **B** (rellenar zonas) → **Inspeccionar → DRC** con «Rellenar zonas» y «Comprobar paridad»: debe dar lo mismo que antes menos el aviso de MH11 — **3 errores** (MH7/MH9/MH10 dentro de MOD1: por diseño; si no están excluidos, clic derecho → *Excluir*), **0 sin conectar**, paridad solo con los PF*. Mira la zona de RS1 contra la figura de A2 y **guarda** (Ctrl+S). Luego:
```bash
mv hbox-watchdog-v5.kicad_pcb.T27bak hbox-watchdog-v57.kicad_pcb.T27bak _to_delete/
git add tools/t25_mounting_holes_v55.py tools/t27_paso1_2_mh11_rs1_kelvin.py hbox-watchdog-v5.kicad_pcb hbox-watchdog-v57.kicad_pcb hbox-watchdog-v5.kicad_pro hbox-watchdog-v57.kicad_pro
git commit -m "T27: pasos 1 y 2 de la pasada 3 en V5.6 y V5.7 - MH11 fuera, CHRG_STAT lejos de MH10, sensado Kelvin de RS1"
git push
```
Michelle, después del aviso de Leo: `git pull --ff-only` y sigue con el paso 3 (B2) o el 5 (A3–A9), según te diga Leo.
### 0.2 Barrenos con el script T25 — hecho el 16-oct
**Hecho el 16-oct (commit `15aad72`).** Se deja como referencia. Leo metió los barrenos de la V5.5 con el script (KiCad **cerrado**):
```bash ```bash
cd ~/Documents/Claude/Projects/Drogheda/03-Architecture-Hardware/kicad cd ~/Documents/Claude/Projects/Drogheda/03-Architecture-Hardware/kicad
@ -44,39 +102,48 @@ Michelle, después del aviso de Leo:
git pull --ff-only git pull --ff-only
``` ```
Si falla, avísale a Leo; no fuerces nada. Al abrir el PCB vas a ver MH4, MH5, MH6, MH7, MH9, MH10 y MH11. **No los muevas** (son los de la placa base del HBOX, del ArduSimple y de la abrazadera del disipador) y no les quites el atributo «No en el esquemático». Si falla, avísale a Leo; no fuerces nada. Después de T27 vas a ver **MH4, MH5, MH6, MH7, MH9 y MH10** (MH11 ya no existe). **No los muevas** (son los de la placa base del HBOX y del ArduSimple) y no les quites el atributo «No en el esquemático».
| Ref | Barreno | Centro (x, y) | Zona libre (así estaba la V5.5) | | Ref | Barreno | Centro (x, y) | Zona libre (así estaba la V5.5) |
|---|---|---|---| |---|---|---|---|
| MH5, MH6, MH4 (caja, M3) | 3.2 mm, máscara abierta de 6 mm | (65.2, 45.3) · (65.2, 135.3) · (185.2, 90.3) | **ningún cobre que no sea GND, en ninguna capa, a menos de 3.1 mm del centro** (en F.Cu/B.Cu ese cobre quedaría expuesto bajo la rondana) | | MH5, MH6, MH4 (caja, M3) | 3.2 mm, máscara abierta de 6 mm | (65.2, 45.3) · (65.2, 135.3) · (185.2, 90.3) | **ningún cobre que no sea GND, en ninguna capa, a menos de 3.1 mm del centro** (en F.Cu/B.Cu ese cobre quedaría expuesto bajo la rondana) |
| MH7, MH9, MH10 (ArduSimple, M2.5) | 2.75 mm | (76.63, 129.9) · (77.9, 81.64) · (128.7, 96.88) | ningún cobre que no sea GND, en ninguna capa, a menos de **2.6 mm** del centro | | MH7, MH9, MH10 (ArduSimple, M2.5) | 2.75 mm | (76.63, 129.9) · (77.9, 81.64) · (128.7, 96.88) | ningún cobre que no sea GND, en ninguna capa, a menos de **2.6 mm** del centro |
| MH11 (abrazadera, M2.5) | 2.75 mm | (170.39, 83.8) | igual (2.6 mm), y ninguna pieza dentro de ese círculo | | ~~MH11 (abrazadera, M2.5)~~ | — | — | **se quitó** (Leo, 16-oct): V5.6 y V5.7 no llevan la abrazadera de la V5.5 |
--- ---
## Parte A — V5.6 (`hbox-watchdog-v5`) ## Parte A — V5.6 (`hbox-watchdog-v5`)
### A1. Lo que choca con los barrenos — BLOQUEANTE ### A1. Barrenos — cerrado con T27 (paso 1)
- **MH11 (170.39, 83.8):** **R107** (hoy en (171.8, 83.6)) quedó encima del barreno. Muévela a ≥ 3 mm del centro, de preferencia junto a **J7 pin 5** (174.2, 82.8). Re-rutea `/MODEM_RST_MCU` (hoy (167.8, 82.2)→(169.57, 82.2)→(171.8, 84.42): la broca la corta) y `/MODEM_RST` ((171.8, 82.78)→(174.18, 82.78)) por fuera de 2.6 mm del centro. Hecho (commit `ff5a8ed` + T27):
- **MH10 (128.7, 96.88):** `/CHRG_STAT` en In2 pasa a 0.25 mm del borde (tramo (130.47, 96.14)→(117.91, 83.58)): sepárala a ≥ 2.6 mm del centro.
- **MH4 (185.2, 90.3):** `/I2C_SCL` y `/I2C_SDA` en In1 (verticales en x = 183.0 y x = 187.4) pasan a 1.95 mm del centro, 0.35 mm del borde. No es un corte, pero en la V5.5 estaban fuera de 3.1 mm: aléjalas a eso.
- MH5, MH6, MH7 y MH9 están libres.
- El DRC marca **MH7, MH9 y MH10 «dentro del courtyard de MOD1»**: es por diseño (son los barrenos del ArduSimple). Clic derecho → *Excluir esta infracción*.
### A2. Sensado de RS1 (límite de entrada del LTC4040) — BLOQUEANTE - `/I2C_SCL` y `/I2C_SDA` apartados de MH4 (hoy a 1.1 mm del borde, en In1: se acepta).
- **MH11 se quitó** (decisión de Leo: la V5.6 no lleva la abrazadera de la V5.5). R107 y `/MODEM_RST_MCU` se quedan donde están.
- **`/CHRG_STAT` (In2) se desvió junto a MH10:** sigue su misma diagonal, pero entre (134.0, 99.8) y (122.63, 88.3) hace una Z de 1.7 mm hacia afuera y queda a **2.7 mm del centro del barreno** (antes 1.6 mm, a 0.25 mm del borde).
- MH5, MH6, MH7, MH9 y MH10: libres.
Hoy el LTC4040 mide RS1 **más** 19 mm de pista, y por eso limita la entrada a ≈ 1 A en lugar de 2.5 A (auditoría §4). La regla: **la corriente pasa solo por RS1; los pines de sensado se conectan con pista propia directo a los pads de RS1.** Te queda solo esto: el DRC marca **MH7, MH9 y MH10 «dentro del courtyard de MOD1»**. Es por diseño (son los barrenos del ArduSimple): clic derecho → *Excluir esta infracción*, si Leo no lo hizo ya.
Piezas: **RS1** pad 1 `/VEH5V` (152.47, 117.24) y pad 2 `/VIN_SW` (149.54, 117.24) · **U6.6** VIN (154.50, 114.12) · **U6.7** CLN (154.50, 114.62) · **Q7.1/2/3** fuente (153.79, 120.58 / 121.85 / 123.12) · vía `/VEH5V` (151.0, 115.54) por donde llega la entrada · **C31** (149.46, 120.89). ### A2. Sensado de RS1 (límite de entrada del LTC4040) — hecho con T27 (paso 2)
1. Borra la pista de 0.25 mm **RS1.2 → U6.7** ((149.45, 117.26)→(150.44, 117.26)→(153.08, 114.62)→(154.5, 114.62)) y la de 1.0 mm que sube de Q7 al pad de U6.7 ((153.78, 123.12)→(153.78, 115.44)→(154.34, 114.89)); la sustituye el polígono del paso 2. ![RS1: qué mide, cómo estaba y cómo quedó con T27](img/2026-10-16_Drogheda_RS1-Kelvin_V5.6-V5.7_v1.0.png)
2. **Potencia:** une **RS1.2 con Q7.1, Q7.2 y Q7.3** con un polígono `/VIN_SW` en F.Cu (o pista de ≥ 1.5 mm), sin tocar el pad de U6.7.
3. **Sensado CLN:** pista nueva de 0.25 mm desde **U6.7** que llegue al pad **RS1.2** por su lado interior. Que no comparta cobre con el polígono de potencia más que en el pad.
4. **Entrada:** lleva `/VEH5V` de la vía (151.0, 115.54) a **RS1.1** directo, a ≥ 1.5 mm (son ≈ 2 mm). Que la corriente ya no dé la vuelta por C31: C31 se queda colgado de RS1.1 con un tramo corto.
5. **Sensado VIN:** la pista de 0.25 mm de **U6.6** que hoy termina en la vía (151.0, 115.54) debe llegar al pad **RS1.1** por su lado interior.
Cómo sé que quedó: resaltando `/VIN_SW` y `/VEH5V`, entre los pads de RS1 y los pines U6.6/U6.7 solo hay pistas delgadas que **no llevan** corriente a ningún otro lado. Claude lo mide en la re-auditoría (meta: < 1 mΩ de cobre compartido). **Qué se mide.** RS1 (10 mΩ) es el «amperímetro» de la entrada de 5 V: por ella pasa toda la corriente que entra a la tarjeta (sistema + cargador), y el LTC4040 lee su caída entre **U6.6 (VIN)** y **U6.7 (CLN)**. A 25 mV (= 2.5 A) recorta la carga de la batería. Para que lea solo a RS1, **cada pin necesita su propio hilo hasta su pad de RS1, por donde no pase corriente** (conexión Kelvin). Antes, U6.6 tomaba el voltaje en la vía, antes de 13 mm de rodeo, y la salida de RS1 pasaba por el pad de U6.7 con 0.25 mm: el chip veía ≈ 27 mΩ y limitaba a ≈ 0.9 A (auditoría §4).
**Qué hizo T27** (mismas coordenadas en V5.6 y V5.7):
1. Borró 14 tramos de F.Cu: el rodeo de `/VEH5V` por C31, la pista de 0.25 mm RS1 → U6.7 y la de 1.0 mm que bajaba del pad de U6.7 a Q7.
2. **Giró RS1 180° en su mismo lugar** (151.0, 117.24): el pad 1 (`/VEH5V`) quedó a la izquierda, junto a la vía y a C31; el pad 2 (`/VIN_SW`), a la derecha, junto a Q7. Así los dos hilos de sensado no se cruzan.
3. Potencia: vía (151.0, 115.54) → RS1.1 con 0.8 mm; C31.1 → RS1.1 con 1.0 mm; RS1.2 → Q7.1/2/3 con 1.5 mm (una barra en x = 153.4 que toca los tres pines).
4. Sensado, 0.25 mm: **U6.7 → RS1.2** (entra por arriba del pad) y **U6.6 → RS1.1** (pasa por arriba de la vía, baja por x = 148.6 y entra al pad por su lado de afuera).
5. Solo V5.7: `/CHRG_EN` bajo TP1 enderezado como en la V5.6 (horizontal en y = 114.24 y diagonal a 45° hasta (149.98, 113.32)); si no, el hilo de U6.6 no cabe.
**Cómo se ve que quedó:** resalta `/VEH5V` y `/VIN_SW`. Entre los pads de RS1 y los pines U6.6/U6.7 solo están las dos pistas de 0.25 mm, y ninguna toca otra cosa de su red. Por el pad de U6.7 ya no pasa ninguna pista ancha.
**No muevas RS1, C31, la vía ni esas pistas.** Si algo de los pasos 3–6 necesita pasar por ahí, avísale a Leo antes.
**En banco (piloto):** con la unidad funcionando, (voltaje de TP1 ÷ 32) ÷ (voltaje en las terminales de RS1) debe dar **≈ 1.0** (antes daba ≈ 2.7). Detalle en la [auditoría §4.5](auditoria-produccion-16oct.md#45-prueba-definitiva-con-tp1-clprog-cualquier-tarjeta-cualquier-corriente).
### A3. `/BAT_PLUS` — lo que quedó en In2 ### A3. `/BAT_PLUS` — lo que quedó en In2
@ -143,7 +210,7 @@ Cuenta ≈ 0.5 día extra.
```bash ```bash
git add hbox-watchdog-v5.kicad_pcb hbox-watchdog-v5.kicad_sch hbox-watchdog-v5.kicad_pro git add hbox-watchdog-v5.kicad_pcb hbox-watchdog-v5.kicad_sch hbox-watchdog-v5.kicad_pro
git commit -m "V5.6 pasada 3: choques con barrenos, sensado Kelvin de RS1, BAT_PLUS fuera de In2, vias MAIN5V/U7, 3V3_MODEM, L7, rev 5.6" git commit -m "V5.6 pasada 3: BAT_PLUS fuera de In2, vias MAIN5V/U7, 3V3_MODEM, L7, limpieza, rev 5.6"
git push git push
``` ```
@ -153,16 +220,9 @@ Avísale a Leo con el hash; Claude revisa pad a pad y genera Gerber/BOM/CPL.
## Parte B — V5.7 (`hbox-watchdog-v57`) ## Parte B — V5.7 (`hbox-watchdog-v57`)
### B1. Lo que choca con los barrenos — BLOQUEANTE ### B1. Barrenos — cerrado con T27 (paso 1)
- **MH4 (185.2, 90.3)** — hoy la broca cortaría tres pistas. Todo lo de abajo va a **≥ 3.1 mm del centro**: Hecho (commit `ff5a8ed` + T27): **MH4 libre** (`/24V`, `/I2C_SCL`, `/I2C_SDA` y `/RGBB_K` ya pasan a más de 3.1 mm, sin cobre ajeno a GND dentro de la abertura de 6 mm), **MH10 libre** (`/CHRG_STAT` desviada) y **MH11 quitado** (estaba a 0.4 mm de `/MAIN5V`). Exclusiones de MH7/MH9/MH10 en MOD1: igual que A1.
- `/24V` en **B.Cu** a 1.0 mm, recta en x = 184.0 de (184.0, 121.81) a (184.0, 70.72): en ese tramo desvíala a x ≤ 181.6 o x ≥ 188.8.
- `/I2C_SCL` en **In1**, recta en x = 185.0 de (185.0, 94.4) a (185.0, 88.05), y su tramo F.Cu (185.05, 88.0)→(185.05, 86.05) con la **vía (185.05, 88.0)**, que hoy quedan dentro de la abertura de máscara de 6 mm (cobre expuesto bajo la rondana).
- `/RGBB_K` en **In1**, recta en x = 186.0 de (186.0, 86.8) a (186.0, 94.32).
- `/I2C_SDA` en In1 en x = 187.22, hoy a 0.2 mm del borde.
- **MH11 (170.39, 83.8):** lo mismo que A1 (R107, `/MODEM_RST_MCU`, `/MODEM_RST`), y además `/RGBG_K` en **In2** (169.6, 82.4)→(169.6, 103.18), que pasa por el barreno: desvíala a ≥ 2.6 mm del centro.
- **MH10:** igual que A1 (`/CHRG_STAT` en In2).
- Exclusiones de MH7/MH9/MH10 en MOD1: igual que A1.
### B2. Lo que la pasada 2 de V5.6 corrigió y aquí falta — BLOQUEANTE ### B2. Lo que la pasada 2 de V5.6 corrigió y aquí falta — BLOQUEANTE
@ -190,7 +250,7 @@ Piezas: **U25** (189.19, 68.6, girado −90°): pin 2 VIN (186.19, 67.97), pin 5
### B4. Lo mismo que en la V5.6, mismas coordenadas ### B4. Lo mismo que en la V5.6, mismas coordenadas
- **A2** sensado de RS1 (RS1, U6, Q7 y C31 están en el mismo lugar; aquí la entrada llega de L22, pero también por la vía (151.0, 115.54)). - **A2** sensado de RS1: **hecho con T27** (RS1, U6, Q7 y C31 están en el mismo lugar que en la V5.6; aquí la entrada llega de L22, también por la vía (151.0, 115.54)). En la V5.7, T27 además enderezó `/CHRG_EN` bajo TP1.
- **A5** `/3V3_MODEM` (aquí 54 mm a 0.5 mm, de L7.2 (141.52, 102.2) a J7.1). - **A5** `/3V3_MODEM` (aquí 54 mm a 0.5 mm, de L7.2 (141.52, 102.2) a J7.1).
- **A7** vías en el EP de U7 · **A8** vías de 0.1 mm en `/NTC` · **A11** stackup (el cajetín de V5.7 ya dice Rev 5.7) y BOM. - **A7** vías en el EP de U7 · **A8** vías de 0.1 mm en `/NTC` · **A11** stackup (el cajetín de V5.7 ya dice Rev 5.7) y BOM.
- **A12** puertos, si Leo los aprueba. Si además aprueba **D10 → SMBJ33CA**, es la misma huella SMB: no hay que mover nada. - **A12** puertos, si Leo los aprueba. Si además aprueba **D10 → SMBJ33CA**, es la misma huella SMB: no hay que mover nada.
@ -201,7 +261,7 @@ Igual que A13, y además resalta `/24V`, `/SW_PWRIN`, `/VEH5V` y `/FB_PWRIN`: na
```bash ```bash
git add hbox-watchdog-v57.kicad_pcb hbox-watchdog-v57.kicad_sch hbox-watchdog-v57.kicad_pro git add hbox-watchdog-v57.kicad_pcb hbox-watchdog-v57.kicad_sch hbox-watchdog-v57.kicad_pro
git commit -m "V5.7 pasada 3: barrenos, pasada 2 replicada (BAT_PLUS/MAIN5V/SYS5V/SW3 externos), fuente U25 (EP, FB, lazo de entrada), sensado Kelvin de RS1" git commit -m "V5.7 pasada 3: pasada 2 replicada (BAT_PLUS/MAIN5V/SYS5V/SW3 externos), fuente U25 (EP, FB, lazo de entrada), limpieza"
git push git push
``` ```
@ -209,7 +269,8 @@ Después: re-auditoría pad a pad, Gerber/BOM/CPL y **5 prototipos** (validació
## Lo que NO hay que hacer ## Lo que NO hay que hacer
- No mover ni borrar los MH; no quitarles «No en el esquemático». - No mover ni borrar MH4, MH5, MH6, MH7, MH9 ni MH10; no quitarles «No en el esquemático». MH11 ya no va.
- No tocar la zona de RS1 que dejó T27: RS1, C31, la vía de entrada y las dos pistas de sensado de 0.25 mm.
- No mover U6, U16, U26, MOD1, J7/J8, P1–P11 ni la fila de conectores. - No mover U6, U16, U26, MOD1, J7/J8, P1–P11 ni la fila de conectores.
- No cambiar la pasta del EP de U6 (6 ventanas, 50 %, intencional). - No cambiar la pasta del EP de U6 (6 ventanas, 50 %, intencional).
- No poner piezas en la cara inferior. - No poner piezas en la cara inferior.

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

@ -1 +1 @@
Subproject commit 15aad72e20901577aa68b4794d2fe88096f50178 Subproject commit f65c830ef4f7ab0349e27adea52ca858561a2a01

@ -1 +1 @@
Subproject commit aabaa2fffb3819ed3b3118f3cee1dc03d8d533fa Subproject commit 5553527a97f423e78e6f6276b01d657639520f49