hbox-docs/docs/procedimientos/v56-v57-prueba-y-flasheo.md
Leopoldo Rodríguez 6e4178cb51 Lote 2026-10-27_fw070pre-banco-ardusimple: 0.7.0-pre en Descargas (prueba), procedimientos y actas V5.6/V5.7, faltan ArduSimple
- Descargas: hbox-tarjetaV56_0.7.0-pre.bin en prueba/ (112 456 B, SHA-256 8dd26047…), fila V5.6/V5.7 y aviso
  «solo banco»; notas de versión 0.7.0-pre; README del firmware al día (sync).
- Procedimientos (borrador, T43): prueba y flasheo V5.6/V5.7 (con la revisión del firmware: 4 flancos, 180 s,
  DIN_4G en 0 V en Q, DE de U7 y R48 en banco) y ensamble V5.6/V5.7.
- Actas nuevas: prueba-v56 / prueba-v57, ensamble V5.6 / V5.7, banco del piloto; series ARD/RTK hasta 100,
  V56/V57; expediente, actas, producción y admin conocen los tipos nuevos.
- Bitácora 27-oct: firmware, procedimientos y actas, faltan ArduSimple.
- Tablero (lote aplicado): t-compras-ardusimple, D-27-7, notas en t-fw-070, t-banco-v5-procedimiento-t43,
  t-v56-banco-piloto, t-v57-banco-prototipos, t-inventario-inicial, t-compras-prioridad, t-plan-570.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QCy5VHMVLkAmftYM6swWmx
2026-10-27 20:33:16 -06:00

452 lines
32 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.

---
title: "EinarBoard V5.6 y V5.7 — Prueba y flasheo por tarjeta (0.7.0-pre)"
tags: [project-drogheda, hardware, einarboard, v5.6, v5.7, bringup, testing, flasheo, piloto, procedimiento]
date: 2026-10-27
project: Project Drogheda
author: "Helgen Technologies (redacción: Claude; revisión: Leo, Jesús Romero y Gibran)"
version: 1.0
status: "BORRADOR — para el piloto de 5 V5.6 + 5 V5.7; se ajusta con la primera tarjeta real"
audience: técnicos de banco e ingeniería
---
# EinarBoard V5.6 y V5.7 — Prueba y flasheo por tarjeta (firmware 0.7.0-pre)
!!! warning "Borrador: ninguna V5.6 ni V5.7 ha llegado todavía"
Este procedimiento se escribió con los archivos de la tarjeta (designadores de T43, los de la serigrafía), el [documento de diseño de la V5.6](../hardware/diseno-v56.md), el de la [V5.7](../hardware/diseno-v57.md) y el firmware 0.7.0-pre corrido en el simulador. Los valores marcados «a confirmar» se fijan con la primera tarjeta del piloto. Lo revisa Gibran como Hardware Lead antes de que lleguen las tarjetas (pendiente `t-banco-revision-hw`).
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
- **Para quién:** técnicos de banco (Jesús Romero) e ingeniería.
- **Cuándo:** al recibir cada EinarBoard V5.6 o V5.7 desnuda, antes de ensamblarla. Siguiente paso: [ensamble de la unidad V5.6/V5.7](v56-v57-ensamble.md).
- **Tiempo:** 25–30 min por tarjeta (§1 a §6); 30 min más con el juego de módulos de banco (§7 a §9).
- **Necesitas:**
- multímetro con escala de 200 mV (para R68), lupa y la foto de rayos X de U14 si JLC la mandó;
- fuente de banco de 0–32 V con límite de corriente y al menos **3 A**;
- una segunda fuente (o la misma con un interruptor) de 0–24 V para la ignición (§9);
- cable USB-C con datos y laptop con `dfu-util` o STM32CubeProgrammer y un terminal serie a 115200;
- el binario `hbox-tarjetaV56_0.7.0-pre.bin` de [Descargas → prueba](../descargas/index.md) y su SHA-256;
- una resistencia de 10 kΩ con caimanes (para leer TP6);
- el **puente de banco de J2**: un conector JST-XH de 2 pines con los dos cables unidos;
- el **juego de módulos de banco** (abajo), con antena GNSS con vista al cielo y 2 antenas LTE;
- un paquete LFP-HT 26650 1S4P con NTC (cable de 3 hilos a J5) y una pinza amperimétrica de CD o un amperímetro en serie de 2 A;
- el [acta de tarjeta V5.6](../formularios/v56.html) o el [acta de tarjeta V5.7](../formularios/v57.html).
!!! danger "Reglas"
1. **Solo `hbox-tarjetaV56_0.7.0-pre.bin`.** Sirve para la V5.6 y para la V5.7 (los 64 pines del MCU son iguales). El 0.6.x no enciende el módem (PC3 es nuevo), lee la NTC en el pin equivocado, usa umbrales de Li-ion y lee la ignición como digital. `hbox-v5-bringup_…` es de la V5.5.
2. **SW1 y SW2 están al revés que en la V5.5:** en la V5.6 y la V5.7, **SW1 = BOOT0** y **SW2 = RESET**.
3. **V5.6:** nunca menos de 5.2 V en J16 cuando no hay batería; con menos, el PFI del LTC4040 (4.40 V) queda muy cerca y una ráfaga del módem apaga la tarjeta. **Nunca cierres JP1** en la V5.6: uniría el buck del ventilador con `/VEH5V`. No le pongas más de 28 V a J15 (U15 es un MP1584).
4. **V5.7:** nunca más de 32 V en J15. El techo lo pone D18 (33 V).
5. **Fuente siempre con límite de corriente.** Si llega al límite o algo se calienta: apaga, marca FALLA con la sección y el valor, y pasa a la siguiente tarjeta.
6. **Módulos y batería solo donde se pide** (§7 y §8), y siempre **sin energía** al insertarlos o conectarlos. Un XBee al revés o un simpleRTK2B corrido un pin se destruye al encender.
## 0. El juego de módulos de banco (faltan ArduSimple)
Hoy no hay simpleRTK2B Pro ni 4G NTRIP Master para darle un juego a cada tarjeta del piloto. Por eso la tarjeta se prueba **sin módulos propios**:
- §1 a §6 no usan módulos.
- §7 a §9 usan **un juego de banco**: un simpleRTK2B Pro y un 4G NTRIP Master **ya aprobados** (con su acta ARD-NNN y RTK-NNNN), con SIM, marcados con una etiqueta «BANCO». El mismo juego pasa de tarjeta en tarjeta; se inserta y se retira siempre sin energía.
- Un juego de banco **no se ensambla** en una unidad mientras dure el piloto. En el acta se anota qué ARD y qué RTK se usaron.
- Para el banco del piloto (§10) hacen falta **dos** juegos a la vez (una V5.6 y una V5.7 en pruebas largas). Las 10 unidades completas del piloto esperan a que lleguen módulos: ver el pendiente «Faltan ArduSimple» en el tablero.
## Referencias en la tarjeta (T43, la serigrafía)
| Ref. | Qué es | Uso aquí |
|---|---|---|
| J7 | USB-C del MCU, borde oeste, junto a SW1 y SW2 | Alimentar el MCU, flashear (DFU) y consola a 115200 |
| SW1 / SW2 | **BOOT0 / RESET** | DFU y reinicio |
| SW3 | RESET del módem (junto al zócalo XBee) | Reinicio manual del módem |
| TP1 / TP2 | GND / 3V3 (borde norte, junto a J1) | Referencia de todas las mediciones y riel de 3.3 V |
| TP3 / TP5 / TP4 | SWDIO / SWCLK / NRST | Solo si ingeniería pide ST-Link |
| TP6 | PFO del LTC4040 (sin pull-up en la tarjeta) | Con 10 kΩ a TP2: alto = 5 V bien; bajo = respaldo |
| TP7 | CLPROG del LTC4040: V(TP7) = 32 × V(R68) | Corriente de entrada y sensado Kelvin (§8) |
| J16 (solo V5.6) | Entrada de 5 V de la Mean Well SD-15B-05: 1 = +5 V, 2 = GND | Todo sale de aquí en la V5.6 |
| J15 | Clema del GX16-5: 1 = + vehículo, 2 y 4 = GND, 3 = ignición, 5 = sin conexión | V5.6: solo ventilador e ignición · V5.7: 9–32 V para toda la tarjeta |
| J2 | Corte externo: 1 = `/MAIN5V`, 2 = `/SYS5V` (JP2 en paralelo, abierto) | En el banco: puente de banco en J2 |
| J3 | Ventilador: 1 = +5 V, 2 = retorno (lo conmuta Q1) | V5.6: 5 V del buck U15 desde J15 · V5.7: `/VEH5V` por JP1 |
| J5 | Paquete LFP 1S4P: 1 = BAT+, 2 = GND, 3 = NTC | §8 |
| J8 / J9 | Zócalo XBee del 4G NTRIP Master (paso 2.00 mm, 3.3 V) | §7 |
| MOD1 | Conectores UNO del simpleRTK2B Pro; pin 5 = `/SW_5V` | §7 |
| J13 | USB-C del módem (servicio) | No se usa aquí |
| D12 / D10 | LED verde PWR (3.3 V) / LED azul de estado (firmware) | |
| D13 | LED del módem (la misma señal llega al MCU por PC2) | §7 |
| D17 → D14 | Medidor de batería (expansor U11) | Autoprueba |
| K1 | Relevador del modo B; suelto = F9P → módem directo | Hace clic cuando el MCU toma el enlace |
| U14 | LTC4040: cargador y respaldo (QFN de 0.5 mm) | Lupa antes de energizar |
| U15 | **V5.6:** MP1584 del ventilador · **V5.7:** TPS54360B, la fuente principal de 5.32 V | La misma referencia es otra pieza en cada tarjeta |
Planos: [mapa de designadores de la V5.6](../hardware/diseno-v56.md#96-mapa-de-designadores-t43) · [de la V5.7](../hardware/diseno-v57.md#96-mapa-de-designadores-t43) · [puntos de prueba](../hardware/diseno-v56.md#10-puntos-de-prueba).
## 1. Recepción e inspección (sin energía, 5 min)
- [ ] **U14 (LTC4040) con lupa:** sin puentes entre pines ni bolitas de soldadura alrededor del QFN. Foto al acta. Si JLC mandó la radiografía de U14, también al acta. **Un U14 dudoso no se energiza:** FALLA con foto.
- [ ] Sin puentes en U3 (MCU), U2 (W5500), U5 (SC16IS752) y U13 (fuente del módem).
- [ ] Polaridad: el «+» de C68, C30, C14, C73 y C1; la banda de D2, D4, D8, D9 y D11. **V5.7:** la banda de D21 (B560C) y el punto de L4.
- [ ] Puentes de soldadura (cobre de fábrica; no se cambian en banco):
| Puente | V5.6 | V5.7 | Qué es |
|---|---|---|---|
| JP3 | cerrado **2-3** | cerrado **2-3** | F2 = 0: química LFP |
| JP5 | cerrado 1-2 | cerrado 1-2 | F1 = 0 |
| JP4 | cerrado 1-2 | cerrado 1-2 | F0 = 1 → flotación 3.50 V |
| JP1 | **abierto** | **cerrado** | V5.7: el ventilador cuelga de `/VEH5V` |
| JP2 | abierto | abierto | Puente de J2 (el banco usa el puente de J2, no JP2) |
| JP6 | abierto | abierto | Terminación de 120 Ω del RS-485 |
- [ ] Cristales: Y2 `25.000` (MCU), Y1 `25.000` (W5500), Y3 `3.6864` o `36.864` (SC16IS752), Y4 el pequeño de 32.768 kHz.
- [ ] SW1, SW2 y SW3 con clic. J7, J8, J9, J15 (y J16 en la V5.6) asentados, sin pines doblados.
- [ ] Sin piezas faltantes ni marcas de quemado.
## 2. Cortos a tierra (sin energía, 3 min)
Multímetro en ohms (no en continuidad), punta negra en **TP1**. Unos cientos de ohms que suben es normal (capacitores cargando); una lectura fija de 0–20 Ω es corto.
| Punto | Riel | Esperado | Si da < 100 Ω fijo |
|---|---|---|---|
| TP2 | `/3V3` | > 1 kΩ | FALLA: corto en 3.3 V |
| **V5.6:** J16 pin 1 · **V5.7:** J3 pin 1 | `/VEH5V` | > 1 kΩ | FALLA: corto en 5 V |
| J2 pin 1 | `/MAIN5V` | > 1 kΩ | FALLA |
| J2 pin 2 | `/SYS5V` | > 1 kΩ | FALLA |
| J15 pin 1 | entrada del vehículo | > 10 kΩ | FALLA: corto en la entrada |
| MOD1 pin 5 | `/SW_5V` (etapa RTK) | > 1 kΩ | FALLA |
| J8 pin 1 | `/3V3_MODEM` | > 1 kΩ | FALLA |
| J5 pin 1 | `/BAT_PLUS` | > 1 kΩ | FALLA: no se conecta paquete |
## 3. Riel de 3.3 V por USB (J7, 2 min)
El USB en J7 energiza solo el MCU y la lógica de 3.3 V (por D8 y U4); los 5 V del sistema, el módem, la etapa RTK y el W5500 quedan apagados.
1. USB-C en J7 a la laptop.
2. Mide:
| Punto | Esperado |
|---|---|
| D12 | Encendido |
| TP2 contra TP1 | 3.23–3.37 V |
| U4 al tacto tras 1 min | Tibio. Si quema: FALLA |
| D10 | Apagado o fijo (MCU virgen) |
3. D12 apagado o TP2 < 3.0 V: FALLA (3V3). Desconecta el USB.
## 4. Rieles de 5 V con fuente (MCU virgen, 5 min)
Con el MCU virgen sus pines quedan en alta impedancia y el hardware debe dejar **todo apagado**: R8 apaga la etapa RTK, R57 apaga el módem, R5 deja el W5500 en reset y K1 queda suelto. Eso es lo que se verifica aquí. Pon el **puente de banco en J2**. Sin USB.
### 4a. V5.6: 5 V en J16
1. Fuente a **5.30 V**, límite **500 mA**, salida apagada. A J16: pin 1 = +5 V, pin 2 = GND.
2. Enciende y mide contra TP1:
| Punto | Esperado |
|---|---|
| Corriente | < 300 mA (típico 100–250 mA, a confirmar) |
| J2 pin 1 (`/MAIN5V`) | 5.20–5.35 V (J16 menos ≈ 20 mV) |
| J2 pin 2 (`/SYS5V`) | igual que J2 pin 1 |
| TP2 (`/3V3`) | 3.23–3.37 V |
| MOD1 pin 5 (`/SW_5V`) | **0 V**. Con 5 V: FALLA (la etapa RTK no arranca apagada) |
| J8 pin 1 (`/3V3_MODEM`) | **0 V**. Con 3.3 V: FALLA (el módem no arranca apagado) |
| TP6 con 10 kΩ a TP2 | Alto (≈ 3.3 V): `/VEH5V` arriba del PFI |
| U14, U9 al tacto | Fríos o tibios |
| K1 | Sin clic |
3. Apaga la fuente.
### 4b. V5.6: 24 V en J15 (buck del ventilador)
En la V5.6 el 24 V del vehículo solo alimenta el buck del ventilador (U15) y la ignición.
1. Fuente a **24.0 V**, límite **200 mA**. A J15: pin 1 = +, pin 2 = GND. Pin 3 (ignición) sin conectar. J16 sin fuente.
2. Mide:
| Punto | Esperado |
|---|---|
| Corriente | < 50 mA (sin ventilador) |
| J3 pin 1 contra TP1 | 4.85–5.15 V. No midas contra J3 pin 2: es el lado conmutado |
| D12 | **Apagado** (sin J16 ni USB la tarjeta no tiene 5 V: correcto) |
| U15 al tacto | Frío o tibio |
3. Apaga la fuente.
### 4a. V5.7: 24 V en J15 (fuente a bordo)
1. Fuente a **24.0 V**, límite **300 mA**, salida apagada. A J15: pin 1 = +, pin 2 = GND. Pin 3 (ignición) sin conectar.
2. Enciende y mide contra TP1:
| Punto | Esperado |
|---|---|
| Corriente a 24 V | < 100 mA (típico 30–60 mA, a confirmar) |
| J3 pin 1 (`/VEH5V` por JP1) | 5.20–5.45 V (nominal 5.32 V) |
| J2 pin 1 (`/MAIN5V`) y J2 pin 2 (`/SYS5V`) | J3 pin 1 menos ≈ 20 mV |
| TP2 (`/3V3`) | 3.23–3.37 V |
| MOD1 pin 5 (`/SW_5V`) | **0 V** (si no: FALLA) |
| J8 pin 1 (`/3V3_MODEM`) | **0 V** (si no: FALLA) |
| TP6 con 10 kΩ a TP2 | Alto |
| U15, D21, L4 al tacto | Fríos o tibios |
| K1 | Sin clic |
3. A **12.0 V**: J3 pin 1 sigue en 5.20–5.45 V. Apaga la fuente.
El barrido completo (9/12/24/32 V con carga, temperatura de U15 y D21, polaridad invertida) es del banco del piloto (§10.2), no de cada tarjeta.
## 5. Flasheo por USB DFU (J7, 5 min)
Solo tarjetas que pasaron §1 a §4. Antes, verifica el SHA-256 del binario contra `SHA256SUMS.txt` de [Descargas](../descargas/index.md).
### 5a. Modo DFU
1. Solo el USB en J7 (nada en J15 ni en J16).
2. **Mantén SW1 (BOOT0).**
3. **Pulsa y suelta SW2 (RESET).**
4. Suelta SW1.
5. La laptop ve `STM32 BOOTLOADER` (ID `0483:DF11`).
Si no aparece: otro cable (muchos son solo de carga) y repite, con SW1 todavía apretado al soltar SW2.
### 5b. Cargar el binario
=== "dfu-util (macOS / Linux)"
```bash
dfu-util -l # debe listar [0483:df11]
dfu-util -a 0 -s 0x08000000:leave -D hbox-tarjetaV56_0.7.0-pre.bin
```
=== "STM32CubeProgrammer"
1. Conexión: USB → Connect.
2. Erasing & Programming: el `.bin`, dirección de inicio `0x08000000`.
3. Marca *Verify programming* y *Run after programming* → Start Programming.
4. Espera «File download complete» y «Verify… successful». Disconnect.
El piloto trae el **STM32F411RCT6** (256 KB, T47). El binario mide menos de 128 KB y guarda sus ajustes (modo AUTO/MANUAL) en el sector 5 (`0x08020000`), que el flasheo normal no borra; un borrado completo (*mass erase*) los regresa a AUTO.
## 6. Autoprueba (consola en J7, 3 min)
1. Abre el terminal a 115200 (CoolTerm, `screen` o el monitor de Arduino) y pulsa **SW2 (RESET)**. Si lo abriste tarde, teclea `r`.
2. En los primeros 5 s:
| Punto | Esperado |
|---|---|
| D10 y el LED de panel (J4) | Parpadean |
| D17 → D14 | Encienden en secuencia una vez y se apagan; luego R, G, B en J10 si hay LED RGB |
| Laptop | Puerto serie nuevo (`usbmodem…` / `STMicroelectronics Virtual COM Port`) |
| Terminal | `hbox-v5-bringup 0.7.0-pre` y `board=EinarBoard V5.6/V5.7` |
3. El encabezado y el reporte esperados (con solo el USB):
```
hbox-v5-bringup 0.7.0-pre built …
board=EinarBoard V5.6/V5.7 (HBOX v5) mcu=STM32F411RCT6/RET6 LQFP64
reset=PIN uid=… flash=256KB ← RCT6 del piloto
safe state: stack OFF, modem OFF (PC3), charge OFF, fan OFF, K1 released, W5500 in reset
U3 con 256 KB (RCT6, piloto T47): este binario corre; el FOTA A/B necesita el RET6 (D-22-6)
RS-485: EFCR_A de U5 = 0x30 (RTS automatico: DE de U7 bajo salvo al transmitir; bus libre)
…
[PASS] CLOCK_HSE SYSCLK=96000000 Hz HSE_RDY=1 PLL_SRC=HSE ← Y2
[PASS] LSE_Y4 Y4 32.768k LSERDY=1 (hal=0) ← Y4 (E-12)
[PASS] RTC_BKP BKP19R escribe y lee
[PASS] I2C PCF8574 U11 @0x20 ACK
[PASS] I2C SHT40 U6 @0x44 ACK
[PASS] I2C TMP102 U12 @0x48 ACK
[PASS] I2C TMP102 U8 @0x49 ACK
[PASS] I2C SC16IS752 U5 @0x4D ACK
[PASS] I2C LIS2DH12 U1 @0x18 ACK
[PASS] TMP102_U12 TMP102 U12 27.50 C ← junto al cargador
[PASS] TMP102_U8 TMP102 U8 27.75 C ← junto al módem
[PASS] SHT40 SHT40 27.80 C 45.0 %RH
[PASS] SC16IS752 0x4D ACK, SPR rd=0xA5 (exp A5), LSR=0x60
[PASS] RS485_EFCR EFCR_A=0x30 (exp 30: DE de U7 bajo salvo al transmitir)
[PASS] ACCEL U1 @0x18 WHO_AM_I=0x33 (LIS2DH12 = 33; SC7A20 = 11)
[PASS] GAUGE_WALK visual — technician confirms ← confirmas que viste D17→D14
[PASS] ADC vbat=0.00 v5=0.00 tcel=n/c ign=0.00V(0.0V) mcu=..C
[PASS] DIN chrg=1 fault=1 ser_irq=1 eth_int=. acc_int1=.
modem apagado: LED PC2=0 RTCM PC7=0 (esperado 0/0; 1 = algo alimenta al modem apagado)
---- RESULT: 18 PASS / 0 FAIL ----
>>> BOARD OK
```
4. Revisa también:
| Línea | Esperado | Si no |
|---|---|---|
| `flash=` | `256KB` (RCT6) o `512KB` (RET6, las 2 del FOTA) | Anota |
| `RS-485: EFCR_A … = 0x30` | `bus libre` | «NO SE PUDO ESCRIBIR»: U5 no responde; FALLA |
| `modem apagado: LED PC2=0 RTCM PC7=0` | `0/0` | Un 1: algo alimenta al módem apagado; FALLA (avisa a ingeniería) |
| Las dos TMP102 contra el SHT40 | a menos de 5 °C entre sí en reposo | «colgado o dañado»: FALLA |
| **U7 pin 3** (DE del RS-485) contra TP1, con el multímetro | **0 V** en reposo (EFCR = 0x30: U5 solo lo sube al transmitir) | ≈ 3.3 V: el transmisor sostiene el bus (E-4); FALLA (avisa a ingeniería) |
5. Cualquier `[FAIL]`: anota la línea completa y marca FALLA (POST). D10 sin parpadear: repite §5 una vez; si vuelve a fallar, FALLA (FLASH).
Después sale una línea `STAT …` cada 5 s. Con solo USB, `v5=0.00` y la etapa no enciende (el modo AUTO espera 5 V). La leyenda de cada campo sale con la tecla `l`; los puntos de medición de la etapa y el módem, con `v`.
## 7. Etapa RTK y módem con el juego de banco (10–15 min)
1. **Todo apagado.** Inserta el simpleRTK2B de banco en **MOD1** (el pin «5V» del módulo sobre el pin 5 de MOD1, las tiras a fondo) y el 4G NTRIP Master de banco en **J8/J9** (silueta sobre la serigrafía; paso 2.00 mm). Antena GNSS con vista al cielo; 2 antenas LTE en los u.FL del módem **antes** de energizar.
2. Fuente: **V5.6:** 5.30 V en J16, límite **3 A** (o la Mean Well SD-15B-05 ajustada a 5.30 V) · **V5.7:** 24.0 V en J15, límite **1.5 A**. Puente de banco en J2. USB en J7, terminal abierto.
3. Enciende. En modo AUTO (de fábrica) la tarjeta hace sola, en este orden (tiempos del simulador; anota los reales):
| t (s) | Consola | Qué pasa |
|---|---|---|
| 0 | encabezado y 18 PASS | `inputs at boot: v5=5.2–5.4V(ok)` |
| ≈ 3 | `EVT … STACK ON reason=auto` | PA1 alto: la etapa RTK enciende (MOD1 pin 5 ≈ 5 V) |
| < 2 s después | `EVT … NMEA primera trama en PA3` | El F9P habla (**criterio: < 2 s**) |
| + 2 | `EVT … MODEM ON (nmea): PC3 alto` | J8 pin 1 sube a 3.33 V |
| + 1 | `EVT … MODEM_RST modem_on: … a GND 500 ms` | Pulso de RESET de rutina (E-13) |
| + 8–60 | `EVT … MODEM VIVO por led` (o `por rtcm`) | El MCU vio 4 flancos del LED del módem en 10 s (D13 parpadeando) o una trama RTCM3 válida. Sin señal de vida en **3 min**, da otro pulso de RESET (hasta 2) y luego un reinicio de alimentación: nunca en lazo rápido |
| + 0.2 | `EVT … MODOB ON: K1 conmutado` | **K1 hace clic**; el MCU manda NMEA + `$PHLG` al módem |
4. Mide contra TP1:
| Punto | Esperado |
|---|---|
| MOD1 pin 5 (`/SW_5V`) | 5.0–5.4 V |
| J8 pin 1 (`/3V3_MODEM`) | 3.25–3.40 V |
| J8 pin 5 (RESET del módem) | ≈ 3.3 V (alto), salvo durante el pulso |
| D13 | Parpadea con el módem vivo |
| Corriente de la fuente | Anota (a confirmar con la primera tarjeta) |
| U13 y L2 al tacto tras 5 min | Tibios (L2 de 3.3 µH desde T47: se revisa en el piloto) |
5. **Correcciones y registro.** En las líneas `STAT` de los primeros 2 min:
| Campo | Esperado |
|---|---|
| `modem=` | `VIVO` |
| `rtcm=` (después de `modem=`) | Crece: tramas RTCM3 válidas que el módem le entrega al F9P |
| `tipo=` | 1005, 1077, 1087… (mensajes del caster) |
| `edad=` | 0–2 s |
| `t_on=` del primer `STAT` con `rtcm` > 0 | **< 60 s** desde `MODEM ON` (criterio de registro del módem) |
6. **Calibración del LED (solo piloto).** Anota `led=` de tres `STAT` seguidos (el número de flancos de la última ventana de 30 s; se actualiza cada 30 s): al arrancar, registrado y con correcciones. Si `led=0` con `rtcm` creciendo, el MCU no ve el LED de ese módem: la vigilancia se queda solo con las tramas RTCM, y sin RTCM el MCU da **un solo pulso de RESET por hora** (puede ser el caster, no el módem). Anótalo y avisa a ingeniería.
- **Si D13 parpadea pero `led=0`:** mide PC2 en el lado del MCU de **R48** (10 k), contra TP1, con el LED del módem encendido. La salida del LED del módem es de 1.8 V y el MCU la lee como alto a partir de ≈ 1.8 V: anota el valor (menos de 1.7 V = el MCU no la ve; es un dato para el firmware de campo, no una FALLA de la tarjeta).
7. **RTK.** Teclea `n` (monitor NMEA 20 s): `fix=1` al minuto, **`fix=4`** (RTK FIX) en < 10 min con cielo, `sats ≥ 10`. Anota el tiempo.
8. **Recuperación del módem:**
- `M` → `EVT … MODEM_RST operador`: D13 se apaga y el módem vuelve a `VIVO`, normalmente en < 60 s (el MCU espera hasta 3 min antes del siguiente escalón).
- `Q` → reinicio de alimentación: K1 se suelta, `MODEM OFF` y **K1 vuelve a hacer clic durante los 5 s** (con PA9 en bajo sostiene DIN_4G, J8 pin 3, en 0 V para que nada alimente al módem apagado, E-13). En esos 5 s **J8 pin 1 < 0.3 V** (≈ 1 V = algo alimenta al módem: anótalo y avisa a ingeniería). Luego K1 se suelta, `MODEM ON (pwrcyc)`, el módem vuelve a `VIVO` y K1 conmuta otra vez con `MODOB ON`.
- `SW3` (el botón): igual que `M`.
9. **Apagado ordenado.** `P` → `STACK OFF` (apagar no pide confirmación; en AUTO queda en pausa hasta `P` + `Y`). El orden debe ser: K1 se suelta, `MODEM OFF` (J8 pin 1 a 0 V) y luego la etapa (MOD1 pin 5 a 0 V). `P` + `Y` la vuelve a encender.
`n` sin tramas: el simpleRTK2B no tiene la configuración Helgen (UART1 a 115200) o MOD1 está corrido un pin. Apaga antes de tocar. `EVT … MODEM sigue apagado: sin NMEA … PA10 en bajo`: el F9P no tiene alimentación (F1, Q4 o el módulo mal asentado en MOD1); el MCU no enciende el módem para que DOUT_4G no lo alimente por RX2. `modem=` se queda en `ARRANQUE` y luego `PWRCYC`/`LIMP`: el módem no da señal de vida; revisa SIM, antenas y su configuración ([módulos §2](v5-modulos-integracion.md)). Para observarlo sin que el MCU lo reinicie, `D` apaga las acciones automáticas (solo vigila).
## 8. Batería y respaldo (10 min)
Con el juego de banco puesto y la fuente de §7.
1. Mide el paquete en vacío: **2.8–3.6 V** (LFP). Fuera de rango: no lo uses.
2. `P` → `STACK OFF`. **Conecta el paquete en J5** (1 = BAT+, 2 = GND, 3 = NTC). `P` + `Y` → `STACK ON`.
3. En `STAT`: `vbat` ≈ el paquete; **`tcel`** ≈ la temperatura del cuarto (es la NTC del paquete; `n/c` con 5 V presente = NTC sin conectar: FALLA del arnés); `tchg` (U12) y `tmdm` (U8).
4. **Carga.** Unos 150 s después de `STACK ON` (`carga=HOLDOFF`, luego `PROVING`), el gobernador la permite: `carga=ON ltc=CARGANDO`.
| Medición | Esperado |
|---|---|
| Corriente del paquete (pinza de CD en el cable de J5.1) | **1.2–1.4 A** si el paquete está abajo de ≈ 3.4 V |
| V(TP7) | 32 × V(R68) |
| V(R68), en los pads de R68, con la escala de 200 mV | ≈ 10 mV por cada 1 A de entrada |
| (V(TP7) / 32) / V(R68), con la carga encendida (V(R68) ≥ 10 mV, es decir ≥ 1 A de entrada) | **1.0–1.1** (sensado Kelvin bien) |
5. **Respaldo.** Apaga la fuente (V5.6: J16 · V5.7: J15):
| Punto | Esperado |
|---|---|
| Consola | `EVT … V5 PERDIDO` y `BACKUP inicio`; **sin reinicio** (el encabezado no se reimprime) |
| `STAT` | `v5=0.00`, `vbat` del paquete, `modem=VIVO`, `nmea=` sigue subiendo |
| TP6 (con 10 kΩ a TP2) | Bajo |
| D13 | Sigue parpadeando |
6. Enciende la fuente: `EVT … V5 PRESENTE` y `5 V de vuelta tras … s de respaldo: sin reset del MCU (V5.6/V5.7); modem con senal de vida`. Sin reinicio.
7. Repite el corte **3 veces** (20 en las tarjetas del banco del piloto, §10). Anota cualquier reinicio con su `reset=`.
## 9. Ignición y ventilador (5 min)
La ignición entra por J15 pin 3 y el MCU la lee por ADC con histéresis: **ON a partir de ≈ 6.9 V, OFF abajo de ≈ 4.8 V**. Con 5 V presentes y la ignición en ON, el ventilador gira (política v3.0.3).
1. Ventilador de 5 V en J3. **V5.6:** 24 V en J15 pin 1 para el buck del ventilador, además de J16. **V5.7:** basta J15 pin 1.
2. Segunda fuente (límite 50 mA) entre J15 pin 3 (+) y J15 pin 2/4 (GND):
| J15 pin 3 | `STAT ign=` | Consola | Ventilador |
|---|---|---|---|
| 0 V (o al aire) | `OFF` | — | Detenido (el termostato lo enciende a 48 °C y lo apaga abajo de 45 °C) |
| 12.0 V | `ON(12.0V)` ± 0.5 V | `EVT … IGN ON (PA5 1.38 V = 12.0 V en J15.3 …)` | Gira |
| 24.0 V | `ON(24.0V)` ± 0.8 V | — | Gira |
| 3.0 V | `OFF` | `EVT … IGN OFF` | Se detiene |
3. Regresa J15 pin 3 a 0 V.
## 10. Banco del piloto: los 8 criterios para liberar las 135 y las 365
Las 10 tarjetas del piloto (5 V5.6 + 5 V5.7) pasan §1 a §9. Además, en las tarjetas que dice la tabla, se corren las pruebas largas. **Con los 8 criterios en verde se liberan las 135 V5.6 y las 365 V5.7** ([auditoría final, §7](../hardware/auditoria-final-22oct.md#7-el-pedido-de-hoy-40-min-y-el-camino-a-las-108-322), en la numeración de T43). Se registra en el [acta del banco del piloto](../formularios/piloto.html).
| # | Criterio | En cuántas | Firmware | Hoy |
|---|---|---|---|---|
| 1 | U14 con lupa (y rayos X) + autoprueba 18 PASS | 10 | 0.7.0-pre | ✅ se puede |
| 2 | Con 24 V: NMEA < 2 s · primera RTCM < 60 s · Kelvin (TP7 ÷ 32) / V(R68) = 1.0–1.1 con ≈ 1.0 A · carga 1.2–1.4 A | 10 | 0.7.0-pre | ✅ se puede |
| 3 | 20 ciclos de 10 min en batería con el paquete al 20 % y 45 °C · piso dormido < 100 mW (PPK2) · `/SYS5V` > 4.3 V en las ráfagas | 1 V5.6 + 1 V5.7 | **F-2** | ⏳ con 0.7.0-pre solo el respaldo continuo |
| 4 | 20 cortes 24 V ↔ batería sin reinicio, con el módem vivo | 10 | 0.7.0-pre | ✅ se puede |
| 5 | RS-485 y RS-232 en lazo · Ethernet 24 h | 1 + 1 | **F-3** y build `-eth` | ⏳ hoy: presencia y niveles |
| 6 | V5.7: 9/12/24/32 V con 2.8 A · polaridad invertida · U15 < 110 °C y D21 < 100 °C a 32 V | 2 V5.7 | cualquiera | ✅ se puede (§10.2) |
| 7 | Temperatura de U14 y L3 cargando a 1.4 A a 45 °C, y de L2 con el módem | 1 V5.6 + 1 V5.7 | 0.7.0-pre | ✅ se puede |
| 8 | Arneses (los JST del borde norte se movieron 12–38 mm en la V5.6 y hasta 68 mm en la V5.7), tapa (en la V5.7 el medidor D17–D14 quedó en la orilla derecha) y barrenos MH1/MH3/MH6 en la base del HBOX | 1 de cada una | — | ✅ se puede |
También se revisan en el piloto los cambios de T47 que nunca se han fabricado: arranque suave de U13 (AP64352Q, C61) y rizo con L2 de 3.3 µH; en la V5.7, rizo de `/VEH5V` con L4 de 15 µH. Y que con el módem apagado J8 pin 1 quede en 0 V, no en ≈ 1 V (E-13): se mide en §4 (MCU virgen) y en los 5 s de la tecla `Q` (§7.8).
### 10.1 Pruebas largas con 0.7.0-pre
- **20 cortes (criterio 4).** §8.5–6 veinte veces, con al menos 30 s entre corte y regreso. Cuenta los reinicios (debe ser 0) y si el módem volvió `VIVO` cada vez.
- **Respaldo continuo a 45 °C (adelanto del criterio 3).** Paquete cargado, cámara a 45 °C, 24 V fuera: anota cuánto dura hasta `-> SLEEP` (2.95 V) y el `v5min` más bajo (`/SYS5V` > 4.3 V). El ciclo de 10 min y el piso dormido esperan a F-2.
- **Temperaturas (criterio 7).** Paquete al 20 %, cámara a 45 °C, carga a 1.4 A: termopar o cámara térmica en U14, L3 y L2 cada 10 min por 1 h. Anota también `tchg` (U12) y `tmdm` (U8). El firmware inhibe la carga con la celda a 55 °C o la tarjeta a 70 °C.
- **Umbral de SLEEP (opcional).** Fuente de banco en J5 en lugar del paquete (límite 3 A), con 10 kΩ entre J5 pin 3 y GND como NTC y **la carga vetada con `C`** (una fuente no recibe corriente). En respaldo, bájala de 3.30 V a 2.90 V: `-> SLEEP` a 2.95 V (media de 200 ms). Súbela a 3.25 V: `SLEEP fin` arriba de 3.20 V.
### 10.2 V5.7: la fuente a bordo (criterio 6)
Necesitas carga electrónica de 3 A, osciloscopio con punta de tierra corta (resorte) y cámara térmica o termopar.
1. **Carga:** la carga electrónica entre **J3 pin 1 (+)** y **TP1 o J15 pin 2 (−)**. J3 pin 1 es `/VEH5V` por JP1. No la conectes a J3 pin 2 (es el lado conmutado del ventilador).
2. **Barrido.** A 9, 12, 24 y 32 V, con 0 A, 1.0 A y 2.5 A en la carga (más ≈ 0.3 A de la tarjeta = 2.8 A):
| Medición | Esperado |
|---|---|
| J3 pin 1 | 5.20–5.45 V en todos los puntos |
| Corriente de entrada | Anota (eficiencia) |
| Nodo SW de U15 y su VIN, con la punta de tierra corta, al encender y con 2.5 A | Anota el sobretiro y la oscilación (D-21-2) |
3. **Temperatura.** 32 V y 2.8 A por 10 min: **U15 < 110 °C** y **D21 < 100 °C**. A 9 V y 1.9 A: cámara térmica en las dos vías de entrada (E-10).
4. **Polaridad invertida.** Fuente a 24 V con límite de 200 mA, **al revés** en J15 (pin 1 = −, pin 2 = +) por 5 s: corriente < 5 mA y nada se calienta (Q6 bloquea; D18 es bidireccional). Al conectarla bien, J3 pin 1 vuelve a 5.32 V: F2 no se abrió.
## 11. Cierre
- [ ] Sin energía: retira el paquete, el simpleRTK2B y el 4G NTRIP Master de banco (sin doblar pines) y regrésalos a sus bolsas «BANCO».
- [ ] Retira el puente de banco de J2.
- [ ] Etiqueta la tarjeta con su serie (**V56-NN** o **V57-NN**) y la fecha, cerca de MH3, sin tapar la serigrafía.
- [ ] Llena el [acta de tarjeta V5.6](../formularios/v56.html) o el [acta de tarjeta V5.7](../formularios/v57.html), con la ARD y la RTK de banco que usaste.
- [ ] Bolsa antiestática. Las FALLA en bolsa aparte, con una nota del punto que falló.
La tarjeta se queda con 0.7.0-pre: es el firmware del piloto. No se embarca ninguna unidad V5.6/V5.7 hasta que pasen los 8 criterios y salga el firmware de campo.
## Hoja de respaldo en papel
| Tarjeta | 1 Visual | 2 Cortos | 3 USB | 4 Rieles | 5 Flash | 6 POST | 7 Módem | 8 Batería | 9 Ign. | OK / FALLA | Técnico | Fecha |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| V56-01 | | | | | | | | | | | | |
| V56-02 | | | | | | | | | | | | |
| V56-03 | | | | | | | | | | | | |
| V56-04 | | | | | | | | | | | | |
| V56-05 | | | | | | | | | | | | |
| V57-01 | | | | | | | | | | | | |
| V57-02 | | | | | | | | | | | | |
| V57-03 | | | | | | | | | | | | |
| V57-04 | | | | | | | | | | | | |
| V57-05 | | | | | | | | | | | | |
## Anexo — notas de ingeniería
- **Arranque seguro por hardware:** R8 (a `/SYS5V`) apaga la etapa RTK, R57 (a GND) apaga U13, R5 deja el W5500 en reset y R32 deja K1 suelto. 0.7.0-pre lo respeta: PC3, PA1, PB5, PA15, PA6 y PB0 en bajo; PA2 como entrada hasta encender la etapa; PC1 en drenador abierto (nunca alto); lo primero que escribe en U5 es EFCR = 0x30 (E-4).
- **Módem (0.7.0-pre, F-1):** etapa ON → NMEA (o 30 s sin NMEA, solo si PA10 está en alto: el F9P tiene alimentación) → 2 s → MODEM_EN (PC3) → 1 s → pulso de RESET (PC1, 500 ms). Vivo = **4 flancos del LED (PC2, con 20 ms de antirrebote)** o una trama RTCM3 con CRC-24Q válido (PC7) en 10 s. Sin vida **180 s**: pulso (máx. 2), luego MODEM_EN abajo 5 s con DIN_4G en 0 V (K1 + PA9 en bajo; máx. 2), luego LIMP (otra escalera cada 30 min). Vivo y luego 3 min sin LED ni RTCM = oscuro → la misma escalera; la quinta en una hora = LIMP. Si el LED nunca se vio (vida solo por RTCM), sin RTCM solo un pulso por hora y sin escalera (puede ser el caster). La escalera se rearma tras 3 min de VIVO seguido. El modo B espera al módem vivo (o 60 s). Al apagar (también con `R`): K1 suelto → MODEM_EN abajo → PA1 abajo (F-8). Revisión independiente del 27-oct + 27 escenarios del simulador.
- **Batería LFP:** SLEEP en respaldo a 2.95 V (media de 200 ms), rearme a 3.20 V; medidor D17–D14 a 3.00/3.20/3.30/3.40 V; carga inhibida con la celda ≥ 55 °C o la tarjeta ≥ 70 °C; etapa apagada con la celda ≥ 60 °C o la tarjeta ≥ 75 °C (rearme 55/70). `tcel` = NTC del paquete por PC5 (× 0.5455), válida solo con `/VEH5V` presente (E-14); en batería se ve `n/c` y cuidan U12 y U8.
- **En respaldo no hay ciclos** (eso es F-2): la etapa y el módem siguen encendidos desde el refuerzo del LTC4040 (4.79 V); al volver los 5 V el MCU no se reinicia y solo pulsa el RESET del módem si no dio señal de vida en el último minuto, si la escalera no lo está atendiendo y si no hubo un pulso en los últimos 3 min (un 5 V que rebota no lo reinicia en lazo).
- **Ignición:** J15.3 → R15 22 k / (R16 22 k ∥ R6 3.3 k) = × 0.1154 → PA5, con D2 BAT54 a 3V3. ON ≥ 0.80 V en el pin (≈ 6.9 V), OFF < 0.55 V (≈ 4.8 V).
- **Telemetría:** `$PHLG` en banda de 24 campos (versión `0.7.0p`, para no pasar el largo que deja el módem); campo 17 `tbat` = la celda; campo 21 `tntc` = la más caliente de U12/U8.
- Compilación: `GENERIC_F411RCTX`, `-DHBOX_BOARD_V56 -DFLASH_DATA_SECTOR=5 -DFLASH_BASE_ADDRESS=0x08020000UL`, `upload.maximum_size=131072` (README del firmware).
## Historial de revisiones
| Versión | Fecha | Cambios |
|---|---|---|
| 1.0 | 2026-10-27 | Primera versión (borrador): prueba por tarjeta con 0.7.0-pre en la numeración de T43, juego de módulos de banco, los 8 criterios del piloto y la fuente de la V5.7. Incluye la revisión independiente del firmware (vida = 4 flancos, 180 s entre escalones, DIN_4G en 0 V en el reinicio de alimentación, DE de U7 y R48 en banco). |