hbox-docs/docs/procedimientos/prueba-bateria-modem.md

11 KiB
Raw Blame History

title tags date project author version
Prueba de banco — módem 4G en modo batería
project-drogheda
hbox
procedimiento
bateria
modem
ltc4040
v5
v4
firmware
2026-09-26 Project Drogheda Helgen Technologies 1.3

Prueba de banco — módem 4G en modo batería

!!! abstract "Para quién · Cuándo · Tiempo · Necesitas" - Para quién: laboratorio QRO. - Cuándo: al validar un firmware nuevo en una unidad V5.5 completa, o cuando una unidad en batería deja de reportar. V4: usa el procedimiento V4 y su acta (en la V4 el USB de la Blackpill alimenta el riel de 5 V y la prueba en batería no vale con un cable normal). - Tiempo: ~45 min por unidad; la aceptación (§2) incluye una noche completa. - Necesitas: unidad completa con batería, fuente de 24 V, laptop grabando la consola, dos multímetros, monitor abierto, acta de esta prueba.

!!! danger "No se hace" No cambies el firmware, no muevas JP2/JP3/JP4 ni el trimmer del SD-15B: la prueba vale porque la unidad está como en campo. Nunca conectes la fuente de banco a P4 con la batería puesta.

1. Cargador (0.6.0)

Misma unidad, paquete bajo, antes de la corrida en batería.

  1. 24 V + etapa ON, consola abierta. Los primeros 120 s STAT dice carga=HOLDOFF; luego carga=PROVING n/30s y a los ~150 s EVT CARGA ON: riel 5.xx V estable 30 s. Siguiente STAT: ltc=CARGANDO; el monitor muestra 🔌 CARGANDO.
  2. Multímetro en P2 durante 10 min; anota el mínimo. Si el riel baja de 4.90 V en una ráfaga LTE: CARGA cortada … enfriamiento 60 s, carga=COOLDOWN faltan Ns, y reintenta. Anota cortes= a la hora y vbat inicial y final (debe subir). Enfriamientos que llegan a 30 min: la fuente no da 2.4 A + etapa; V5.6 o fuente de 4 A.
  3. Quita 24 V: carga=BATT, CARGA OFF: BATT (nunca carga en batería). Al volver 24 V: reset y a los ~150 s carga otra vez.

2. Aceptación (0.5.9 y 0.6.0)

Misma unidad, consola abierta.

  1. 24 V + ignición, módem registrado, RTK fix, 5 min. De 3–4 STAT anota sag5= (nivel "vivo en 24 V"), rtcm_age= (pocos s) y sta=.
  2. Quita 24 V, 20 min. Anota sagb= de 3–4 STAT ("vivo en batería"). Esperado: modem=vivo, LEDs del módem encendidos, ninguna línea RECOVERY, el monitor ve la unidad con pwr=BATT.
  3. Mata el módem a propósito en batería: P (etapa OFF) y P + Y (ON desde batería) → F9P vivo, módem oscuro. En 3 min: rtcm=none, sagb al piso, flat sube y a las 4 ventanas EVT MODEM SOSPECHOSO + $PHEV MODEM_DARK. Anota sagb de esas ventanas.
  4. Vuelve 24 V: 5 V de vuelta … reset del MCU, etapa ON a los ~3 s, el módem enciende; a los 2 min modem=vivo.
  5. Noche completa en batería desde 24 V, sin tocar. En la mañana: módem vivo antes de volver 24 V y hora del corte de 3.40 V (SLEEP) si llegó: autonomía real.

Con sag5/sagb de 1–3 se fijan MODEM_SAG5_V / MODEM_SAGB_V para 0.5.10 (auto-reset en 24 V; reset condicional al volver el 5 V).

3. Hallazgos 25–27 sep

  • 26-sep (0.5.7), hipótesis A confirmada: en batería ningún encendido de etapa arrancó el módem (P, despertar, reset por R/P10); con 24 V todos; SW4G1 con la etapa encendida sí. El boost (4.6 V en SW_IN) se hunde con la ráfaga de arranque del módem, el buck de 3V3_MODEM (mínimo 4.5 V) cae y el PMIC del módem aborta sin reintentar. No tiene arreglo por firmware en V5.5/V4; se corrige en V5.6. Por eso el firmware de campo no apaga el módem en batería.
  • Noche 26/27-sep (0.5.8): al amanecer vbat 3.50 V, F9P vivo, módem oscuro, LEDs de carga apagados. Al volver 24 V el módem siguió oscuro; solo SW1/P10 o SW4G1 lo levantaron. Causa probable: el recovery de enlace seguía armado en batería; sin GGA en el silencio del ahorro, "RTK perdido 15 min" disparó un ciclo de etapa en batería (buscar RECOVERY / rec=1 en la captura o $PHEV RECOVERY en el servidor). 0.5.8 retirada; 0.5.9 no cicla en batería, resetea al volver el 5 V tras ≥ 10 s de respaldo, corre continuo y vigila el módem.

??? note "Aceptación de 0.5.8 (retirada)" 1. 24 V + ignición: etapa ON a los ~3 s, módem registra, MODOB ON (clic de K1 ~13 s), el monitor ve la unidad con fix. 2. Quitar 24 V con batería: V5 PERDIDO → BACKUP inicio → AHORRO en bateria; el módem sigue encendido. A los ~8 s AHORRO: rafaga #1 enviada … silencio 592 s; en el monitor, badge de batería "~10 min" sin alarma. 3. A los 10 min AHORRO: rafaga #2 y la posición llega al monitor. A los 3 y 6 min, un $PHLG. Anotar vbat de cada STAT. 4. Volver 24 V con el módem vivo: V5 PRESENTE → BACKUP fin → AHORRO fin, sin reset. 5. Sin 24 V, pulsar P10 (o R): la etapa no se reenciende en batería. Al volver 24 V: reset (5 V de vuelta con etapa apagada) y a los ~4 s arranca todo. 6. Opcional hasta el corte de 3.40 V (SLEEP): autonomía real (estimada 30–35 h).

4. Corridas de diagnóstico (0.5.3–0.5.7)

Con estas corridas se separaron las hipótesis A y B. Siguen siendo la forma de medir los rieles en batería en cualquier tarjeta.

Síntoma original (0.5.3, ventana de 2 min cada 10 min): en batería la etapa enciende pero el módem nunca transmite; los LEDs UART del simpleRTK2B parpadean lento (~1/s, solo GGA saliendo) en lugar de rápido, justo después del clic de K1.

Hipótesis La delata
A · Riel hundido. En batería el módem cuelga del boost del LTC4040 (~4.79 V en MAIN5V), no de los 5.2–5.4 V del SD-15B; la ráfaga LTE (~2 A) lo hunde y el módem se reinicia MAIN5V o SW_5V bajo ~4.4 V mientras registra; LEDs del módem se apagan y vuelven. Falla igual con Modo B bloqueado
B · Camino por K1. Con Modo B la GGA pasa por el MCU; si en batería no llega, no hay correcciones Con Modo B bloqueado (B) el módem registra y hay parpadeo rápido; los rieles aguantan

v5/v5min miden el 5 V del vehículo (P2), no el boost: en batería leen ~0. Sin lecturas de multímetro la prueba no vale.

Montaje: unidad completa con batería, antenas y cielo; 24 V al GX16 (o P2); consola en el USB del HBOX (115200, CR+LF) grabando toda la sesión; multímetros en MAIN5V (U6 pin 1 / C32 / P11 pin 1), SW_5V (MOD1 pin 5 / C3) y 3V3_MODEM (J7 pin 1 / J8 pin 7), negro a GND; osciloscopio en 3V3_MODEM a 5 s/div si hay; monitor abierto; cronómetro. Teclas: s STAT · v puntos de medición · B Modo B permitido/bloqueado · l leyenda.

Corrida 0 — referencia con 24 V (5 min)

  1. 24 V, consola grabando. Espera STACK ON y MODOB ON (~13 s, clic).
  2. Anota LEDs del módem (cuál, color, ritmo), LEDs UART del simpleRTK2B (rápido), MAIN5V ≈ 5.2–5.4 V, SW_5V ≈ 5.0 V, y la unidad en el monitor con Salud y ⚡.
  3. s y copia la línea STAT.

Si la corrida 0 no sale limpia, detente: el problema no es la batería.

Corrida 0-bis — reset por software

Con el módem oscuro en 24 V, tecla R. Si enciende igual que con P10, sigue con 1 y 4: en cada ventana debe verse reset=SOFT y BACKUP tras reset SOFT … ventana AHORA, y el módem encender solo. Si R no lo enciende, pasa al puente (abajo).

Corrida 1 — batería con Modo B (25 min)

  1. Quita 24 V y arranca el cronómetro: V5 PERDIDO → BACKUP inicio … modo reporte cada 10 min. Esta primera ventana arranca con el módem registrado; no es la que interesa.
  2. A los ~2 min, DUTY reposo … etapa OFF: SW_5V = 0 V y módem apagado. Si el módem sigue encendido con SW_5V = 0, anota y avisa (¿USB conectado al simpleRTK2B o al módem?).
  3. DUTY despertar #1 … etapa ON a los ~10 min. Durante los 2 min, cada 15 s: mínimo de MAIN5V y SW_5V, LEDs del módem, LEDs UART del simpleRTK2B, momento del clic de K1 (MODOB ON), y s a los 30 y 90 s (vbat, vbatmin).
  4. En el monitor: ¿llegó algo en esa ventana?
  5. Deja cerrar la ventana sin tocar.

Corrida 2 — batería sin Modo B (25 min)

  1. En reposo, B → MODO B BLOQUEADO por operador (K1 no conmuta).
  2. En DUTY despertar #2 repite el registro de la corrida 1.
  3. Módem registra y parpadeo rápido: hipótesis B; deja la unidad así y avisa a ingeniería. Igual que la corrida 1: hipótesis A, sigue a la 3.
  4. B otra vez para permitir Modo B.

Corrida 3 — batería o boost (20 min, solo si dio A)

  1. Con 24 V y etapa apagada, desconecta la batería y pon en su lugar una fuente a 3.9 V, límite 3 A (mide polaridad antes).
  2. Repite la corrida 1.
  3. Funciona con la fuente: el paquete tiene resistencia interna alta (caliente, viejo o descargado); anota su voltaje en vacío y tbat. Falla igual: boost (LTC4040 / capacitancia en MAIN5V); reporta las lecturas sin cambiar nada.

Corrida 4 — regreso de 24 V (5 min)

25-sep: en batería con el módem oscuro, al volver 24 V el simpleRTK2B revive y el módem sigue oscuro hasta un reset. Mide 3V3_MODEM: ~3.3 V con el módem apagado = latch por subvoltaje. Causa (26-sep): con la etapa OFF el MCU sostenía el riel del módem por el UART del GNSS (PA2 → simpleRTK2B → DIN_4G). 0.5.5 dejó ese UART en alta impedancia y cicla la etapa 10 s al volver el 5 V; no bastó (3V3_MODEM en reposo ~1 V en C43+). Lo revive un pulso en SW4G1 o un reset por P10 con 24 V; un ciclo de etapa (P/P+Y, 5–60 s) nunca. Por eso 0.5.7 resetea el MCU en cada despertar y al volver el 5 V.

Puente (0.5.6+, sigue en el firmware): 3 s después de cada encendido de etapa el MCU pulsa el reset del módem por U13 P7.

U13 pin 12 (P7)  ──|<──  SW4G1 pad 1 (MODEM_RST)     diodo Schottky de señal BAT54 (o BAT85/BAT43/1N5711) — no 1N5819
                cátodo   ánodo
  1. Etapa ON, tecla M: SW4G1 pad 1 cae a < 0.4 V durante 0.5 s y los LEDs del módem se apagan y vuelven. Si no, falta el puente.
  2. Repite las corridas 1 y 4: en cada ventana EVT … MODEM_RST stack_on a los 3 s y el módem registra solo.
  3. En reposo anota SW_5V en C3(+) (no en Q1) y si el LED POWER del simpleRTK2B enciende. Confirma que no hay cable en J9 (USB del módem; su VBUS llega al módulo).

Registro

Todo va en el acta de la prueba: configuración, corrida 0, la tabla de 2 min de cada despertar, resultado A/B y log completo. Sin señal en el laboratorio, en papel:

t MAIN5V (mín) SW_5V (mín) 3V3_MODEM (mín) LEDs módem LEDs UART simpleRTK2B K1 vbat / vbatmin ¿Llegó al servidor?
0:15
0:30
0:45
1:00
1:30
2:00

Historial de revisiones

Versión Fecha Cambios
1.1 2026-09-27 Resultado 26-sep (hipótesis A), aceptación 0.5.8 → 0.5.9 y prueba del cargador 0.6.0.
1.2 2026-09-29 Reordenado: estado actual primero.
1.3 2026-09-29 Edición breve; los hallazgos 26/27-sep viven aquí (Descargas solo los resume).

Versiones anteriores en git.