hbox-docs/docs/procedimientos/v5-prueba-final-unidad.md

93 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# HBOX v5 — Prueba final de unidad ensamblada con firmware 0.5.x (field-minimum + telemetría y eventos)
**Alcance:** unidad completa (EinarBoard V5 + ArduSimple + módem 4G + batería + antenas) dentro del HBOX, antes de embarcar.
**Firmware:** `hbox-v5-bringup_0.5.2.bin` (SHA-256 `a9b0d6c1…`; V4: `hbox-tarjetaV4_0.5.2.bin`, `fa2b7554…`) — descarga en <https://drogheda.helgen.online/descargas/>. La sección de respaldo cambia con 0.5.2: ver la nota al final de esa sección.
**Duración:** ~45 min por unidad (P1–P6). Registrar todo en el acta de ensamble (`HBOX5-Exx-Axxx-Rxxxx`).
!!! warning "Lo que 0.5.1 NO hace"
**No carga la batería** (cargador apagado). El paquete es de un solo uso: sostiene la unidad cuando se va el 5 V del vehículo
hasta 3.40 V y después la unidad solo funciona con alimentación del vehículo. Las unidades regresan a laptop (DFU en J11, 2 min)
cuando salga el firmware de producción. Anotar en el acta: *«fw 0.5.1-fm, cargador OFF»*.
## 0. Preparación
- Consola: cable USB-C en **J11**, PuTTY/CoolTerm **115200**. Cada línea es `STAT`, `EVT` o `$PHLG`; teclear `l` para la leyenda.
- Fuente: **24 V** en P1 (entrada + ignición) a través del arnés GX16 real; el SD-15B interno da el 5 V. Batería en P4. NTC en P12 si la unidad lo lleva.
- Antenas GNSS y LTE conectadas; SIM instalada; módem en su socket.
- **Antes de energizar — verificación del arnés GX16 con la fuente APAGADA (obligatoria; la EinarBoard 006 murió por un cruce aquí):**
continuidad GX16 pin 1 → P1.1 (24V_IN) · pin 2 → GND · pin 3 → P1.3 (IGN_IN); **ninguna continuidad entre pin 1 / pin 3 y P2.1 (5 V)**.
El 5 V de P2 solo puede venir de la salida del SD-15B. Con 24 V en P2 el LTC4040 (máx 5.5 V) y el MCU se pierden.
- NTC de punto caliente: conector **P12** (2 pines, NTC 10 k B3950). Es la única NTC que ve el MCU (`tntc`); la NTC del paquete en **P4 pin 3**
va solo al LTC4040 y **no aparece en telemetría** por diseño. Sin NTC en P12 el monitor muestra «n/d».
- Guardar el log completo de la consola: `HBOX5-Exx-Axxx-Rxxxx_prueba-final.txt` (adjuntarlo al acta).
## P1 — Arranque autónomo (2 min)
Energizar 24 V (con ignición) y **no tocar la consola**.
| Esperado | Si falla |
|---|---|
| Banner `hbox-v5-bringup 0.5.1` · `modo=AUTO` · `inputs at boot: v5=5.2–5.4V(ok) ign=ON` | otra versión → re-flashear; `ign=OFF` → arnés pin 3 / divisor 22k-10k |
| `---- RESULT: 12 PASS / 0 FAIL ----` · `>>> BOARD OK` | cualquier `[FAIL]` → tarjeta a revisión, no embarcar |
| `EVT … STACK ON reason=auto` **sin teclear nada** (≈10 s tras el banner) | no enciende → `STAT` muestra `v5=` bajo 4.5 o `modo=MAN` (teclear `A`) |
| `EVT … NMEA primera trama` < 3 s después · `EVT FAN ON (vehiculo: 5V+ign)` | sin NMEA → ArduSimple no arranca: medir SW_5V (MOD1 pin 5) ≈ 5 V |
| LED RGB **azul** (etapa ON sin RTK) o **verde** (RTK); gauge DB1–DB4 según `vbat` | RGB rojo con `stack=ON` → PCF8574 / cableado LEDs |
## P2 — Riel y módem (10 min)
Dejar la unidad 10 min encendida con el módem registrándose (LEDs del módem / la unidad aparece en el servidor).
| Esperado | Si falla |
|---|---|
| `STAT … v5=5.2x–5.3x(ok)` **todo el tiempo**; nunca `(BAJO)` ni `EVT V5 BAJO`; **`v5min` ≥ 4.9 V** en todas las STAT | `BAJO` o `v5min` < 4.6 → el riel cae con la ráfaga LTE: SD-15B ajustado a ~5.3 V en P2 (memo 24-Jul, PFI LTC4040) |
| `tbat`/`tair`/`tmcu` estables (< 45 °C en banco) · `i2cerr=0` | `i2cerr` subiendo → bus I²C / soldadura U3/U4/U13 |
| `$PHLG,0.5.1-fm,RUN,…` cada 10 s, `rec=0`, sin `LIMP` | `rec` > 0 sin causa → NMEA intermitente: revisar MOD1 / UART1 F9P |
| **Modo B:** ≈10 s tras la primera NMEA, `EVT MODOB ON`; luego `STAT … modoB=ON relay=` (sube cientos/s) `phlg_aire=` (+1 cada 30 s) | `modoB=off` permanente → sin NMEA en PA3 o `B` bloqueado; `relay=0` con `modoB=ON` → K1 / PA10 |
| **Servidor:** en ≤ 2 min la unidad `H00xx` muestra la columna **Salud** (fw `0.5.1-fm`, vbat, temperaturas, `v5min`) y en el log del servidor los `$PHEV` (BOOT, STACK_ON, MODOB_ON) y sigue reportando posición 1 Hz | posición sí pero sin Salud → el módem no reenvía la `$PHLG`: revisar `$$$AS+` (modo transparente) |
## P3 — Respaldo de batería (6 min) — **la prueba que nunca se había hecho en v5**
Con la etapa ON: **desconectar el 24 V** (se va el 5 V del SD-15B). Esperar 5 min. Reconectar.
| Esperado | Si falla |
|---|---|
| `EVT V5 PERDIDO` → `EVT BACKUP inicio vbat=4.0x` (la etapa **sigue ON**) · RGB **amarillo** | la etapa se apaga / la tarjeta se reinicia (`reset=POR`) → el LTC4040 no sostiene: medir MAIN5V (C32) durante el corte, esperado 4.79 V |
| `STAT … stack=ON backup=Ns nmea=` **sigue contando** 5 min · `fan` según termostato (normalmente OFF) | `nmea` se detiene → SW_BAT/L6 (pista 0.3 mm, auditoría EMC) o paquete flojo en P4 |
| al reconectar: `EVT V5 PRESENTE` → `EVT BACKUP fin dur≈300s nmea_durante=N … SOSTUVO` | — |
!!! note "Con 0.5.2 la P3 se ve distinta — y dura 13 min, no 6"
Con **0.5.2** la etapa ya **no** sigue encendida en batería. Lo esperado al desconectar el 24 V:
`EVT V5 PERDIDO` → `BACKUP inicio … modo reporte cada 10 min` → la etapa sigue ON entre **90 y 180 s**
(ventana de reporte) → `DUTY reposo: ventana Ns fix=… → etapa OFF, despierta en Ns` → `STAT … stack=OFF`,
LED corto cada 5 s, ventilador OFF. **Esperar 10 min desde el inicio de la ventana:** `DUTY despertar #1` →
etapa ON → nueva ventana → reposo. Solo entonces reconectar el 24 V: `EVT V5 PRESENTE` → `DUTY fin: 5 V
volvió — 1 ventanas, 0 omitidas` → `BACKUP fin`. Si la etapa **no se apaga** tras 180 s, el binario no es
0.5.2 (leer la primera línea de la consola). En el monitor la unidad debe quedar **en amarillo "batería",
no en rojo "desconectada"** durante el reposo — si aparece desconectada, el servidor no tiene el soporte `DUTY`.
## P4 — Cielo abierto: primer RTK (10 min)
Con antena GNSS con cielo despejado y base activa (`$$$AS+` configurado):
| Esperado | Si falla |
|---|---|
| `EVT GGA fix … -> RTK FLOAT(5)` y luego `-> RTK FIX(4)`; `STAT … gga=RTK_FIX sats≥10 hdop<1.5` · RGB **verde** | se queda en `GPS(1)`: correcciones no llegan → módem/NTRIP (`$$$AS+`), no el F9P |
| `$PHLG … RUN,OK,4,…` | `link=DEGR` permanente = NMEA sí, RTK no |
## P5 — Recuperación de enlace (4 min, solo 1 unidad de muestra por lote)
Con la etapa ON y > 90 s de encendida: **retirar el ArduSimple del socket** (o su UART1) y cronometrar.
| Esperado | Si falla |
|---|---|
| `EVT NMEA PERDIDO >5 s` → a los 60 s `EVT RECOVERY #1 sin NMEA 60s -> ciclo de etapa 5 s` → `STACK OFF reason=no_nmea` → 5 s → `STACK ON reason=recovery` · RGB **magenta** | no cicla → `modo=MAN` o < 90 s de gracia |
| Reinsertar el ArduSimple → `NMEA primera trama`; `STAT … rec=1` | — |
## P6 — Apagado y acta (2 min)
- Quitar ignición: `EVT IGN OFF`, `EVT FAN OFF (bateria: termostato)`; la etapa sigue ON mientras haya 5 V (el SD-15B sigue con 24 V).
- Quitar 24 V: si la batería está, entra `BACKUP` (P3); dejarla hasta `SLEEP` **no** es necesario — reconectar y apagar con `P`.
- Guardar el log. En el acta: versión (`0.5.1-fm`), `uid=` del banner, resultado P1–P5, `vbat` final, y la nota *cargador OFF*.
## Lectura rápida del LED RGB (para el técnico de campo)
| Color | Significado |
|---|---|
| **verde** | etapa ON, RTK fix |
| **azul** | etapa ON, NMEA sí, sin RTK (normal bajo techo / al arrancar) |
| **magenta** | etapa ON pero el F9P no habla (revisar ArduSimple) |
| **amarillo** | funcionando desde la batería (sin 5 V del vehículo) |
| **rojo** | etapa OFF (sin 5 V, batería < 3.40 V, > 60 °C, o apagada por operador) |