Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QCy5VHMVLkAmftYM6swWmx
385 lines
40 KiB
Markdown
385 lines
40 KiB
Markdown
---
|
||
title: "Auditoría de producción — EinarBoard V5.6, V5.7 y v6 (16-oct-2026)"
|
||
tags: [project-drogheda, hardware, hbox, einarboard, v5.6, v5.7, v6, auditoria, produccion, pedido]
|
||
project: Project Drogheda
|
||
author: Helgen Technologies (auditoría: Claude; revisión: Leo)
|
||
date: 2026-10-16
|
||
version: 1.1
|
||
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)
|
||
---
|
||
|
||
# Auditoría de producción — EinarBoard V5.6, V5.7 y v6 · 16-oct-2026
|
||
|
||
**La pregunta (Leo, 16-oct 9:25):** las tres tarjetas están terminadas; ¿están listas para producción? Requisitos:
|
||
|
||
1. Todas deben poder **apagarse o dormir 10 s estando en batería y regresar**.
|
||
2. **V5.7 ya no usa la Mean Well SD-15B** (no hay entrada externa de 5 V): ¿qué rango de entrada tiene?
|
||
3. **v6 sin ArduSimple ni 4G NTRIP Master**, con la misma funcionalidad.
|
||
4. **Ethernet** funcionando; **RS-232 y RS-485** listos.
|
||
5. **Acelerómetro** en todas.
|
||
6. (9:29 y 9:31) V5.6 y V5.7 con los **barrenos de montaje y los del ArduSimple** iguales a la V5.5 de producción.
|
||
|
||
**Archivos auditados** — los mismos que hoy están en la Mac (SHA-256 verificado):
|
||
|
||
| Tarjeta | Proyecto KiCad | Commit | `.kicad_pcb` | `.kicad_sch` |
|
||
|---|---|---|---|---|
|
||
| V5.6 | `hbox-watchdog-v5` | `5a93232` | `fcb634dd…` | `fe8b50b8…` |
|
||
| V5.7 | `hbox-watchdog-v57` | `a7c0116` | `a3898e6c…` | `7bc33328…` |
|
||
| v6 | `hbox-watchdog-v6` | `61797b8` | `9e714ed9…` | `d58a89ba…` (el verificado del 28-sep) |
|
||
| V5.5 (referencia) | `hbox-watchdog-v5` como se fabricó | `aed10f8` + Gerbers `HBOX_v5_PROD.zip` (21-ago) | | |
|
||
|
||
!!! danger "Veredicto: ninguna de las tres se puede mandar a fabricar hoy"
|
||
- **V5.6 — cerca.** Falta una pasada corta de layout (≈ 1 día de Michelle): los 7 barrenos de la V5.5 y lo que choca con ellos, el sensado de RS1 (§4) y cinco detalles que quedaron de la pasada 2. Además, **ningún firmware la maneja todavía** (0.7.0 no existe; con 0.6.x su módem nunca enciende) y lo nuevo no se ha probado en una tarjeta real.
|
||
- **V5.7 — no lista.** Las correcciones de la pasada 2 de V5.6 **no se replicaron**: `/BAT_PLUS` volvió a ir por In1 a 0.5 mm (19 mm), `/MAIN5V`, `/SYS5V` y `/SW3_NODE` por capas internas. La fuente U25 no tiene vías en su pad térmico y su divisor de FB está a 22 mm del chip. Los barrenos chocan con `/24V`, I²C y LEDs. ≈ 2–3 días de layout, luego 5 prototipos (ECO §6).
|
||
- **v6 — la más lejos.** El PCB **nunca se actualizó** desde el esquemático final: 70 diferencias, entre ellas química del cargador en Li-ion con paquete LFP y el respaldo de batería sin su divisor de PFI. Y **no existe el firmware** que haga el trabajo del ArduSimple y del 4G NTRIP Master (cliente NTRIP, envío UDP, reconexión). ≈ 4 días de layout + firmware nuevo + homologación IFT.
|
||
|
||
!!! warning "Hallazgo nuevo que también afecta a las V5.5 en campo"
|
||
El límite de corriente de entrada del LTC4040 quedó en **≈ 1 A en lugar de 2.5 A** (V5.5: ≈ 1 A en lugar de 3.1 A) por cómo está ruteado el sensado de RS1 (§4). No quema nada, pero **frena la carga**: con la unidad trabajando, a la batería le llegan ≈ 0.5 A en lugar de la corriente programada. Se corrige en el layout de V5.6/V5.7 y se puede confirmar hoy en una V5.5 con un multímetro (§4.3, 15 min).
|
||
|
||
## 1. Tabla comparativa
|
||
|
||
| | V5.5 (en campo, referencia) | V5.6 → 113 pzas | V5.7 → 327 pzas | v6 → 130 pzas + reemplazos |
|
||
|---|---|---|---|---|
|
||
| GNSS y 4G | simpleRTK2B Pro + 4G NTRIP Master en zócalos | igual | igual | ZED-F9P + A7670SA soldados |
|
||
| 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) |
|
||
| 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) → 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 |
|
||
| 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 % |
|
||
| 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; 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) |
|
||
| 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** |
|
||
| **Veredicto** | — | **NO LISTA — cerca** | **NO LISTA** | **NO LISTA — lejos** |
|
||
| Para quedar lista | — | Pasada 3 (≈ 1 día) + 0.7.0 + piloto de 5 en banco | Pasada 3 (≈ 2–3 días) + 0.7.0 + 5 prototipos | Actualizar PCB + L-1…L-67 (≈ 4 días) + barrenos + firmware NTRIP + IFT + piloto |
|
||
|
||
Las correcciones de layout, con coordenadas, están en **[Pasada 3 para Michelle](v56-v57-layout-pasada-3.md)**.
|
||
|
||
## 2. Los requisitos, uno por uno
|
||
|
||
| Requisito | V5.6 | V5.7 | v6 |
|
||
|---|---|---|---|
|
||
| 1 · Corte de 10 s en batería y regreso | ⚠ El hardware lo permite (U7 AP64350 arranca desde 3.8 V; MODEM_EN, MODEM_RST, etapa por PA1, MCU vivo en batería). Falta el firmware 0.7.0 y probarlo (§9). | ⚠ Igual que V5.6. | ❌ Esquemático sí (U27, MODEM_PWR_EN, PWRKEY, ETH_PWR_EN); PCB y firmware no. |
|
||
| 2 · Rango de entrada sin la Mean Well | — (usa la SD-15B: 18–28 V) | ✅ **9–32 V DC** con dos cambios recomendados (§5) | ✅ 9–32 V (mismo bloque; el PCB no está actualizado) |
|
||
| 3 · v6 sin ArduSimple ni 4G NTRIP Master, misma funcionalidad | — | — | ❌ Hardware en esquemático; PCB desactualizado; el firmware que sustituye al 4G NTRIP Master no existe (§8.3) |
|
||
| 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 % |
|
||
| 5 · Acelerómetro | ✅ Hardware; falta el driver | ✅ Hardware (INT1 por In1); falta el driver | ✅ Hardware; falta el driver |
|
||
| 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
|
||
|
||
Fuente de verdad: Gerbers de producción de la V5.5 (`HBOX_v5_PROD.zip`, 21-ago: barrenos sin metalizar y máscaras) y el PCB tal como se pidió (`aed10f8`). El ArduSimple (MOD1, cara inferior) está en el mismo lugar en las cuatro tarjetas, (90.6, 129.9), así que sus tres barrenos caen igual.
|
||
|
||
| Ref | Para qué | Barreno sin metalizar | Abertura de máscara | Centro (x, y) mm |
|
||
|---|---|---|---|---|
|
||
| MH5 | caja (placa base del HBOX), M3 | 3.20 mm | 6.0 mm, ambas caras | (65.20, 45.30) |
|
||
| MH6 | caja, M3 | 3.20 mm | 6.0 mm, ambas caras | (65.20, 135.30) |
|
||
| MH4 | caja, M3 | 3.20 mm | 6.0 mm, ambas caras | **(185.20, 90.30)** |
|
||
| MH7 | ArduSimple (poste M2.5) | 2.75 mm | = barreno | (76.63, 129.90) |
|
||
| MH9 | ArduSimple | 2.75 mm | = barreno | (77.90, 81.64) |
|
||
| MH10 | ArduSimple | 2.75 mm | = barreno | (128.70, 96.88) |
|
||
| 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"
|
||
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.
|
||
|
||
**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):
|
||
|
||
| Barreno | V5.6 | V5.7 |
|
||
|---|---|---|
|
||
| MH11 (170.39, 83.80) | **R107 queda dentro del barreno**; la pista `/MODEM_RST_MCU` (F.Cu) pasa a 0.3 mm del centro — la broca la corta; `/MODEM_RST` a 0.1 mm del borde | lo mismo, y `/RGBG_K` (In2) también cortada |
|
||
| MH4 (185.20, 90.30) | sin corte, pero `/I2C_SCL` y `/I2C_SDA` (In1) a 0.35 mm del borde | **cortadas**: `/I2C_SCL` (In1), `/24V` (B.Cu, 1.0 mm), `/RGBB_K` (In1); `/I2C_SDA` (In1) a 0.2 mm del borde; `/I2C_SCL` en F.Cu y su vía (185.05, 88.00) dentro de la abertura de 6 mm: cobre expuesto bajo la rondana del tornillo |
|
||
| MH10 (128.70, 96.88) | `/CHRG_STAT` (In2) a 0.25 mm del borde | igual |
|
||
| MH5, MH6, MH7, MH9 | libres | libres |
|
||
|
||
**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.
|
||
|
||
## 4. Común a V5.5, V5.6 y V5.7: el límite de entrada del LTC4040 quedó en ≈ 1 A
|
||
|
||
### 4.1 Qué pasa
|
||
|
||
El LTC4040 mide la corriente de entrada como el voltaje entre su pin **VIN (U6.6)** y su pin **CLN (U6.7)**, y cuando ese voltaje llega a **25 mV** reduce la corriente de carga (no limita al sistema). La idea es que ese voltaje sea solo el de **RS1**: con 10 mΩ, el límite es 2.5 A (en V5.5, 8 mΩ → 3.1 A).
|
||
|
||
En el layout (idéntico en V5.5, V5.6 y V5.7):
|
||
|
||
- **U6.6 (VIN)** se conecta en la vía (151.0, 115.5), y de esa vía la corriente de entrada todavía recorre **≈ 13 mm de pista de 1.0 mm** (rodeando por C31) antes de llegar a **RS1.1**.
|
||
- De **RS1.2** la corriente sale por **6.1 mm de pista de 0.25 mm** hasta el pad de **U6.7 (CLN)**, y de ahí a Q7.
|
||
|
||
Así que el LTC4040 «ve» RS1 **más** ≈ 6 mΩ del rodeo **más** ≈ 12 mΩ de la pista de 0.25 mm: **≈ 26–28 mΩ** en total. Límite real: 25 mV / ≈ 27 mΩ ≈ **0.9–1.0 A** en lugar de 2.5 A.
|
||
|
||
### 4.2 Qué efecto tiene
|
||
|
||
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 (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)
|
||
|
||
1. Unidad V5.5 con 24 V, etapa y módem encendidos, batería al 30–60 % y fría (< 35 °C), con la carga activa (LED de carga encendido / consola).
|
||
2. Multímetro en mV (escala de 200 mV) **entre los dos pads de RS1** (151.0, 117.2), puntas finas.
|
||
3. Lectura en la **V5.5** (RS1 = 8 mΩ; 1 mV = 0.125 A):
|
||
- **≈ 7–8 mV y no sube** aunque la batería esté baja → la entrada se queda en ≈ 1 A: **defecto confirmado**.
|
||
- **≈ 15–22 mV** → entra la corriente completa (sistema + carga de 2.4 A): no hay defecto; avisar a Claude.
|
||
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.
|
||
|
||
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)
|
||
|
||

|
||
|
||
**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.
|
||
|
||
**Aplicado en las dos tarjetas el 16-oct** (commit `f65c830`). **Verificado antes en copias** (`_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
|
||
|
||
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**.
|
||
|
||
| Pieza | Límite | ¿Limita el rango? |
|
||
|---|---|---|
|
||
| U25 TPS54360B | 4.5–60 V (65 V absoluto), arranque ≈ 4.3 V | no |
|
||
| Regulación a 5.32 V | necesita ≈ 6.5 V a 2.8 A (≈ 6 V a 1 A) | **piso**: por debajo, VEH5V cae y a < 4.40 V el LTC4040 pasa a batería (PFI) |
|
||
| D10 SMBJ33A | trabaja hasta 33 V; conduce desde 36.7 V; recorta transitorios a ≈ 53 V | **techo continuo** |
|
||
| Q10 IRFR5305 | −55 V | no |
|
||
| C10/C22 (50 V), C149/C150 (100 V) | — | no |
|
||
| Rrp1 (0.1 W) | llega a 0.1 W a ≈ 46 V | no |
|
||
| F2 3 A | a 9 V y carga máxima la entrada es ≈ 1.9 A | no |
|
||
|
||
**Resultado: 9–32 V DC continuo**, o sea sistemas de 12 V y de 24 V. Las caídas breves por debajo de 9 V (arranque del motor) las cubre la batería. Comparado con V5.6 (18–28 V: SD-15B 18–36 V y el buck del ventilador U2, MP1584, a 28 V máx.), la V5.7 abre la puerta a máquinas de 12 V. La v6 usa el mismo bloque (U2 sin montar) → también 9–32 V.
|
||
|
||
Dos cambios recomendados y una advertencia:
|
||
|
||
1. **Polaridad invertida.** Q10 bloquea, pero D10 es unidireccional y en inversa conduce como diodo → abre F2, que es SMD y no se cambia en campo. **D10 → SMBJ33CA** (bidireccional, misma huella SMB): con eso, conectar al revés no hace nada. Igual en v6 (D10; y D35 en la ignición). Cambio de esquemático y BOM: lo decide Leo; el código LCSC se elige con existencia (hay varios fabricantes).
|
||
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.
|
||
|
||
!!! 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
|
||
|
||
**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 |
|
||
|---|---|---|---|
|
||
| 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 — **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 |
|
||
| 4 | `/MAIN5V` hacia P11: dos vías sencillas —(166.09, 116.19) junto a Q7, con 24 V, y (153.19, 110.88) junto a U6, en batería— y 103 mm de B.Cu a 1.0 mm (≈ 140 mV a 2.5 A) | Q7 / 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 |
|
||
| 6 | `/SW3_NODE`: 13 mm a 0.5–0.7 mm; L7 a 11 mm de U7 (antena de ruido junto al ArduSimple) | U7.8 → L7.1 | Importante |
|
||
| 7 | U7 (AP64350) sin vías en su pad térmico | (139.97, 112.89) | Importante |
|
||
| 8 | Dos vías 0.3/0.1 mm en `/NTC`: barreno de 0.1 mm, menor al mínimo de JLC (0.15 mm) | (167.41, 57.91), (168.46, 56.86) | Menor (JLC las tiene que agrandar) |
|
||
| 9 | `/VEH5V` de P2 a RS1: 9.9 mm a 0.5 mm (71 mΩ, 177 mV a 2.5 A) | P2.1 → RS1.1 | Menor |
|
||
| 10 | Cobre suelto: 4 tramos y 2 vías (DRC) | ver pasada 3 | Menor |
|
||
| 11 | Cajetín Rev 3.0 en PCB y esquemático; stackup con internas de 0.035 mm | Archivo → Ajustes | Menor |
|
||
| 12 | BOM: JP1–JP6, TP1–TP7 y MOD1 sin «Excluir de BOM»; 10 nF 0603 con dos códigos (C1589 y C57112) | esquemático | Menor (JLC) |
|
||
| 13 | Puertos: RS-485 ocupa el bus después de cada reset y no tiene TVS; RS-232 R1OUT directo a H4.3; J10.8 al aire; LED ACT invertido; CTS al aire | §10 | Decisión de Leo (recomendado portar lo de v6) |
|
||
| 14 | Al pedir: vías del EP de U6 «Epoxy Filled & Capped» + rayos X (regla DFM del 8-oct) | pedido | Obligatorio |
|
||
|
||
## 7. V5.7 — qué falta
|
||
|
||
**Bien:** paridad limpia, 0 sin conectar, 0 errores; cajetín 5.7; fuente colocada arriba a la derecha (U25, L22, D34); C152 (BOOT) a 1.3 mm de U25; R120, R122, R123, C155, C156 junto al chip; F2 en la entrada (177.6, 121.4) con la cadena P1 → F2 → D10/Q10 correcta; JP1 puenteado (ventilador desde VEH5V).
|
||
|
||
**A · La pasada 2 de V5.6 no se replicó** (los números son de hoy):
|
||
|
||
| Red | Hoy en V5.7 | Gravedad |
|
||
|---|---|---|
|
||
| `/BAT_PLUS` P4.1 (152.0, 44.8) → L6.2 | **19.2 mm por In1 a 0.5 mm** (152.0, 45.0)→(157.0, 50.0)→(162.4, 50.0)→(165.8, 53.5)→(165.8, 55.2), + 15.5 mm de In2 a 1.5 mm, + 47 mm de B.Cu a 1.0 mm; 3 vías sencillas; 72 mΩ. El tramo de In1 aguanta ≈ 0.45 A y por ahí pasan 1.4 A de carga y picos de 2–3 A de respaldo | **Bloqueante** (es el defecto que paró a V5.6 el 13-oct; regresó al mover P4) |
|
||
| `/MAIN5V` U6.1/24 → P11.1 | 15.1 mm por In1 a 1.0 mm (153.2, 110.9)→(160.8, 110.9)→(166.1, 116.2) + cuello de 0.3 mm | **Bloqueante** |
|
||
| `/SYS5V` P11.2 → U7.2 | 10.9 mm por In2 a 0.5 mm bajo K1 + 31 mm de F.Cu a 0.5 mm | **Bloqueante** |
|
||
| `/SW3_NODE` U7.8 → L7.1 | 12.9 mm por In1 a 0.5 mm (136.0, 105.0)→(142.7, 111.7)→(142.7, 115.1) | **Bloqueante** |
|
||
| `/ACC_INT1` | 10.3 mm por In1 bajo U16 | Menor |
|
||
| C128 | pad a 0.75 mm del borde (JLC pide 1 mm) | Importante |
|
||
| Serigrafía | «Rig1» sobre pad; 3 textos encimados | Menor |
|
||
| Vía `/3V3` suelta | (188.2, 52.2) | Menor |
|
||
|
||
**B · Fuente U25** (TPS54360B, nueva en V5.7):
|
||
|
||
| Qué | Hoy | Gravedad |
|
||
|---|---|---|
|
||
| Pad térmico (EP) de U25 | **0 vías** (la ECO pide ≥ 6) y en una isla de GND de 18.7 mm² con una sola vía | **Bloqueante** (térmico y retorno de tierra) |
|
||
| Divisor de FB | R121 (57.6 k) a 22 mm del chip: el nodo `/FB_PWRIN` corre 33.8 mm a 0.5 mm, a 3.3 mm del cobre de conmutación | **Bloqueante** (ruido en FB = salida inestable) |
|
||
| Capacitores de entrada C149/C150 | su lado VIN está bien (2–3 mm), pero su GND queda a ≈ 11 mm del retorno (D34.2 / EP): lazo de entrada de ≈ 80 mm² (estimado) | Importante (meta < 30 mm²) |
|
||
| L22 | a 15.7 mm de U25.8; nodo SW de 25 mm² | Importante |
|
||
| 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 |
|
||
|
||
**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; **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
|
||
|
||
!!! 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
|
||
|
||
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í:
|
||
|
||
| En el PCB hoy | En el esquemático | Si se fabrica así |
|
||
|---|---|---|
|
||
| JP2 puenteado 1-2 (Li-ion) | 2-3 (LFP) | el cargador flota el paquete LFP a voltaje de Li-ion: **sobrecarga** |
|
||
| R52 pin 2 sin conexión | a GND | el PFI no dispara a 4.4 V: **la tarjeta se cae en cada corte** antes de pasar a batería |
|
||
| R55 10 k | 5.6 k (NTC B3380) | umbrales de temperatura de carga equivocados |
|
||
| U25 con dos códigos LCSC (C2071691 = AP64350 y C524806) | solo C524806 | JLC puede montar el chip equivocado |
|
||
| L2/L6/L8/L20 con huella SRU8028 | MWSA0804S | inductores que no corresponden |
|
||
| K1, D6, Q6, R40, R41 montados | sin montar | piezas de más |
|
||
| U14 SP3485, U15 MAX3232; faltan U32, D39, R145–R148 | THVD1410, TRS3232E + inversor, TVS y resistencias | puertos sin sus correcciones (§10) |
|
||
| J10.8 sin GND; J10.11/12 cruzados | GND; corregidos | igual que V5.6 |
|
||
| P1.4 sin conexión | GND | un pin de tierra menos en el conector |
|
||
| faltan TP12, C175, C176 | — | — |
|
||
| MH5–MH8 no son «No en el esquemático» | — | «Actualizar PCB» los borra (§3) |
|
||
|
||
### 8.2 Layout pendiente (del plan de corrección, sin avance)
|
||
|
||
Vías de GND 76 (meta ≥ 400); `/SW_BAT` y `/BAT_PLUS` a 0.5 mm; EP de U6 con 1 vía (meta 9); RF LTE 21.9 mm por In1 a 0.5 mm, sin línea de 50 Ω; `/SW_5V` 9.7 mm por In1; `IGN_SENSE` 92.8 mm por In2; 147 avisos de ancho de pista; cajetín Rev 3.0 y serigrafía «EINARBoard 4.0». Todo está en la lista L-1…L-67 de Michelle; estimado del 29-sep: 23 h de layout + 3–4 h de actualización + DRC.
|
||
|
||
### 8.3 ¿Misma funcionalidad que ArduSimple + 4G NTRIP Master?
|
||
|
||
| Función | Hoy (V5.x) la hace… | En v6 la hace… | Estado |
|
||
|---|---|---|---|
|
||
| Receptor RTK L1/L2 | ZED-F9P del simpleRTK2B Pro | ZED-F9P soldado (U18) | esquemático ✅ · PCB ❌ |
|
||
| Configuración del F9P (GGA por UART2 a 1 Hz, entrada RTCM) | guardada en el F9P del ArduSimple | el MCU la carga al arrancar (o en BBR con V_BCKP) | firmware ❌ |
|
||
| Módem LTE + SIM | 4G NTRIP Master (XBee) | A7670SA (U19) + nano-SIM J14 | esquemático ✅ · PCB ❌ (RF sin 50 Ω) |
|
||
| Cliente NTRIP (caster, mountpoint, usuario) | el MCU propio del 4G NTRIP Master | el STM32 por comandos AT al A7670SA | firmware ❌ (no empezado) |
|
||
| Envío de NMEA al servidor por UDP | 4G NTRIP Master | STM32 + A7670SA | firmware ❌ |
|
||
| Reconexión LTE / NTRIP | 4G NTRIP Master, solo | STM32 | firmware ❌ |
|
||
| Si el MCU muere | K1 (modo B) deja pasar correcciones y NMEA: la unidad sigue reportando | nada reporta (K1 sin montar, decisión B-13) | riesgo aceptado; depende del watchdog IWDG del firmware |
|
||
| Supervisión de antena GNSS, TIMEPULSE, estado RTK | — | ANT_DETECT (PC1), ANT_SHORT (PC2), PA7, PC3 | esquemático ✅ (mejor que hoy) · firmware ❌ |
|
||
| Configurar caster/APN en campo | página/AT del 4G NTRIP Master | consola o servidor | firmware ❌ (el archivo de parámetros nunca se publica: solo plantilla) |
|
||
| Homologación | módulo comercial | módem soldado: IFT | trámite abierto |
|
||
|
||
**Conclusión:** el hardware de la v6 (en esquemático) puede igualar y en parte superar lo de hoy, pero la «misma funcionalidad» la da el **firmware 0.7.x**, que no existe. Recomendación: no pedir las 130 sin un piloto (20, decisión D14) que pase el banco con ese firmware.
|
||
|
||
### 8.4 La identificación de tarjeta por firmware (D8) ya no sirve
|
||
|
||
La decisión D8 identifica la v6 al arrancar por el SC7A20 en 0x18, «pieza que solo tiene la v6». Desde el 8-oct **V5.6 y V5.7 también lo tienen**, y el resto del bus I²C es igual en las tres (SHT40 0x44, TMP102 0x48/0x49, SC16IS752 0x4D, PCF8574 0x20). El riesgo que D8 cubría sigue: un binario de V5.6 en una v6 pone PC3 en alto contra la salida RTK_STAT del F9P, y uno de v6 en una V5.6 maneja pines que ahí son otra cosa. Hoy la única protección es el nombre del binario. Como el PCB de la v6 se va a rehacer de todos modos, **poner el strap en PA9** (el único pin libre, ya propuesto en el mapa de pines): una resistencia. Decide Leo.
|
||
|
||
## 9. Corte de 10 s en batería — qué hace falta
|
||
|
||
**Hardware.** V5.5 no puede: su buck del módem (MP1584) necesita 4.5 V y en respaldo el riel es ≈ 4.6 V; el módem no arranca en frío y no reintenta. V5.6 y V5.7 sí, en diseño: U7 AP64350 arranca desde 3.8 V y cuelga de `/SYS5V` (≈ 4.7 V en respaldo) con **MODEM_EN** (PC3, apagado por defecto con R106), **MODEM_RST** (PC1 → R107 → J7.5), la etapa RTK por **PA1** (Q5/Q1), el MCU alimentado en batería y el cristal **LSE Y4** para dormir con RTC. La v6 lo tiene en esquemático (MODEM_PWR_EN, PWRKEY, U27, V_BCKP, ETH_PWR_EN).
|
||
|
||
**Firmware 0.7.0 — la secuencia:**
|
||
|
||
1. Detectar que está en batería (PFO del LTC4040 / VEH5V).
|
||
2. Antes de cortar: mandar evento y última posición.
|
||
3. Poner en alta impedancia PA2, PA9, PA10, PC7 y la salida MODEM_RST, para no alimentar los módulos apagados a través de sus pines.
|
||
4. MODEM_EN = 0 (3V3_MODEM a 0 V), PA1 = etapa apagada (SW_5V a 0 V), W5500 en reset (U12 no tiene enable en V5.6/V5.7).
|
||
5. 10 s: espera simple o STOP + alarma RTC.
|
||
6. Regreso escalonado: etapa → esperar NMEA → ≥ 2 s después MODEM_EN = 1 (para no sumar los arranques) → pulso de MODEM_RST si el LED del módem no aparece en el tiempo esperado → UARTs de vuelta.
|
||
7. Registrar cada ciclo (tiempo a NMEA, a RTCM en PC7, al LED del módem) en `$PHEV`.
|
||
|
||
**Prueba de banco (piloto):** sin 24 V, solo batería; paquete al 20–30 % (≈ 3.0–3.1 V por celda LFP) y de nuevo a ≥ 45 °C. **20 ciclos** seguidos de 10 s apagado / 3 min encendido. Pasa si en los 20: NMEA < 30 s; RTCM en PC7 < 90 s; el servidor ve la unidad; el MCU no se reinicia; `/MAIN5V` ≥ 4.5 V en el osciloscopio durante el arranque del módem; 3V3_MODEM y SW_5V en 0 V durante el corte.
|
||
|
||
## 10. Ethernet, RS-232, RS-485 y acelerómetro
|
||
|
||
### 10.1 Hardware de V5.6 y V5.7 (iguales entre sí)
|
||
|
||
| Qué | Efecto | Corrección (ya hecha en el esquemático v6) |
|
||
|---|---|---|
|
||
| **RS-485:** DE y /RE de U14 van directo a RTSA de U10. Después de un reset RTSA = 1 → transmisor encendido, receptor apagado | La HBOX **ocupa el bus** (A–B ≈ +2 V) desde que se energiza hasta que el firmware configura U10; con 0.6.x, siempre. En un bus compartido tira la comunicación de los demás. Responde la nota «VERIFICAR» de la prueba B2: sí, arranca activo | **U32** SN74LVC1G04 (inversor) entre RTSA y DE/RE: después del reset el bus queda libre. Sin U32, el firmware escribe EFCR = 0x30 al arrancar y el bus queda tomado durante reset y DFU |
|
||
| RS-485 sin TVS | cable largo de máquina sin protección | **D39** SM712 (−7/+12 V) |
|
||
| RS-485 sin polarización de reposo | con el bus flotando puede leer basura | R145/R146 390 Ω (opcional, sin montar en v6) |
|
||
| **RS-232:** H4.3 (TTL) va directo a R1OUT de U15 | si se conecta un adaptador TTL a H4 con el cable RS-232 puesto, dos salidas se pelean | **R147** 1 k en serie (U15.12 → SER_RXB) |
|
||
| U14 SP3485 y U15 MAX3232 sin ESD especificada | — | THVD1410 / TRS3232E (mismo encapsulado: solo BOM; el THVD1410 se pre-ordena en JLC) |
|
||
| U10 CTSA/CTSB al aire | entradas CMOS flotando | a GND |
|
||
| **Ethernet:** J10.8 sin conexión | la terminación Bob-Smith del conector (1000 pF) queda flotando: peor EMC/ESD; el enlace sí funciona | J10.8 a GND |
|
||
| LED de actividad cableado al revés (J10.11 ánodo / J10.12 cátodo; Hanrun es 12 ánodo / 11 cátodo) | el LED amarillo nunca prende (sin daño) | invertir 11 ↔ 12 |
|
||
| U12 (3V3_ETH) siempre encendido | en batería el W5500 gasta ~130 mA si no se deja en reset | firmware (0.6.1-eth ya lo hace); v6 tiene ETH_PWR_EN |
|
||
|
||
**Recomendación:** portar a V5.6 y V5.7 las correcciones de puertos de la v6 (U32, D39, R147, CTS a GND, J10.8, LED; THVD1410/TRS3232E en BOM). Son ≈ 5 piezas ya diseñadas y verificadas; ≈ 2–3 h de esquemático (Leo) y ≈ 0.5 día de layout por tarjeta. Si no se portan, aplican las mitigaciones de firmware y el RS-485 no debe usarse en buses compartidos.
|
||
|
||
### 10.2 Firmware que falta (nada de esto existe hoy)
|
||
|
||
- **Ethernet de campo:** DHCP o IP fija configurable, servidor y puerto configurables (hoy el build de banco tiene 192.168.7.1:5010 fijo), reconexión sola, W5500 en reset en batería, sin bloquear el resto (lección del 0.6.0-eth).
|
||
- **SC16IS752 (U10, 0x4D):** driver de UART (baudios, paridad, FIFO, interrupción por PB8); EFCR del canal A escrito antes que nada; modo eco/lazo para las pruebas B3/B4. **Falta definir qué protocolo va en cada puerto** (¿salida NMEA? ¿Modbus RTU? ¿consola?): decisión de Leo con el cliente.
|
||
- **Acelerómetro SC7A20 (U26, 0x18):** responde WHO_AM_I = **0x11** (es compatible con el LIS3DH, pero no responde 0x33); INT1 en PB9 como despertador desde STOP por movimiento — base del modo de respaldo por ciclos.
|
||
- **Ignición por ADC** en PA5 (§5).
|
||
- **Módem V5.6/V5.7:** MODEM_EN, MODEM_RST, MODEM_LED y el ciclo de §9.
|
||
|
||
Estado del acelerómetro en hardware: V5.6 ✅; V5.7 ✅ con INT1 por In1 y C128 cerca del borde (pasada 3); v6 ✅ (U26 en el PCB, sin diferencias de paridad).
|
||
|
||
## 11. Plan hasta producción
|
||
|
||
| # | Qué | Quién | Estimado | Depende de |
|
||
|---|---|---|---|---|
|
||
| 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 | — |
|
||
| 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) — **hecho el 16-oct** (`f65c830`) | 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 |
|
||
| 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 |
|
||
| 7 | Firmware 0.7.0 (`board_v56.h`, sirve para V5.6 y V5.7): módem, ciclo de 10 s, Ethernet de campo, SC16IS752/RS-485, SC7A20, ignición por ADC | Leo + Claude | ≈ 1–2 semanas (estimado) | — |
|
||
| 8 | Banco del piloto: ciclo de 10 s ×20, límite de entrada/carga, Ethernet, RS-232/485, acelerómetro | Jesús | 2 días | 6, 7 |
|
||
| 9 | Liberar las 108 V5.6 restantes | Leo | — | 8 |
|
||
| 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 |
|
||
| 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: 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) | — |
|
||
| 15 | v6: homologación IFT; piloto de 20 antes de las 130 | Leo / Adriana | — | 13, 14 |
|
||
|
||
Si el tiempo manda y se piden las 113 V5.6 sin piloto, el riesgo es que el ciclo de 10 s, Ethernet de campo y los puertos se prueben hasta que exista 0.7.0: si algo sale mal, son 113 tarjetas con retrabajo. La recomendación es el piloto.
|
||
|
||
## 12. Cómo se hizo
|
||
|
||
- DRC de KiCad 10.0.4 (`kicad-cli pcb drc --schematic-parity --refill-zones --severity-all`) sobre copias en `03-Architecture-Hardware/kicad/_to_delete/audit-20261016/` (no se tocaron los archivos de trabajo).
|
||
- Netlist exportada de cada esquemático; revisión de piezas, valores, pines y redes.
|
||
- 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.
|
||
- 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.
|