docs: fuentes KISS + hbox-docs
This commit is contained in:
parent
0ff2c74a9d
commit
23ccda9e78
@ -1,61 +1,46 @@
|
|||||||
---
|
---
|
||||||
title: Guía para el ingeniero — qué hacer en drogheda.helgen.online
|
title: "Guía del ingeniero"
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
date: 2026-09-29
|
date: 2026-09-29
|
||||||
|
version: "1.1"
|
||||||
tags: [project-drogheda, procedimientos, sitio, ingeniero]
|
tags: [project-drogheda, procedimientos, sitio, ingeniero]
|
||||||
---
|
---
|
||||||
|
|
||||||
# Guía para el ingeniero — qué hacer en drogheda.helgen.online
|
# Guía del ingeniero
|
||||||
|
|
||||||
El sitio es el **puesto de trabajo documental** del HBOX: ahí están los procedimientos, los binarios de firmware, los manuales de cada tarjeta y las **actas** que dejan constancia de cada trabajo. Nada se hace "de memoria": cada tarjeta, módulo o unidad que pasa por tus manos termina con un acta guardada en el sitio.
|
Acceso: usuario y contraseña te los da Leo; cámbiala la primera vez en [Mi cuenta](cuenta.html). El sitio es interno: no compartas ligas ni descargas fuera de Helgen.
|
||||||
|
|
||||||
!!! note "Acceso"
|
## Reglas
|
||||||
Usuario y contraseña te los entrega Leo. Cámbiala la primera vez en **👤 Mi cuenta**. El sitio es interno: no compartas ligas ni descargas fuera de Helgen.
|
|
||||||
|
|
||||||
## 1. Regla de oro
|
1. Antes de tocar una unidad, abre su [expediente](unidad.html) (H00xx o serie) y lee las actas anteriores.
|
||||||
|
2. Sigue el procedimiento completo y en orden. Una tarjeta o unidad que falla un paso no avanza al siguiente.
|
||||||
|
3. Al terminar, llena el acta del procedimiento. Sin acta, el trabajo no existe ([cómo se usan](actas/index.md)).
|
||||||
|
4. Anota toda medición fuera de rango con su valor, no solo "FALLA".
|
||||||
|
5. Si algo no cuadra con el documento (valor fuera de rango, paso imposible, la tarjeta no coincide), no improvises: detente, anótalo en Observaciones y avisa a Leo.
|
||||||
|
6. No edites procedimientos. Si un paso está mal, escríbele a Leo con la página, el número de paso, qué esperabas y qué encontraste. Las páginas se corrigen en el repositorio `Drogheda`; tú no tocas Git.
|
||||||
|
|
||||||
1. **Antes de tocar** una unidad, abre su expediente en **🗂 Expediente de una unidad** (escribe el H00xx) y lee las actas anteriores.
|
## Qué abrir
|
||||||
2. **Sigue el procedimiento** de la sección que corresponda (abajo). No cambies el orden de los pasos.
|
|
||||||
3. **Al terminar, llena el acta** (▶) del procedimiento que hiciste. Sin acta, el trabajo no existe.
|
|
||||||
4. Si algo no cuadra con el procedimiento (valor fuera de rango, paso imposible), **no improvises**: anótalo en "Observaciones" del acta y avisa a Leo.
|
|
||||||
|
|
||||||
## 2. Qué abrir según la situación
|
- [Producción](produccion/index.md): de la tarjeta nueva a la unidad lista para embarcar.
|
||||||
|
- [Taller](taller/index.md): unidad o tarjeta en la mesa.
|
||||||
|
- [Campo](campo/index.md): unidad en la máquina, envíos, recepciones y daños.
|
||||||
|
- [Tarjetas y hardware](hardware/index.md): pinout, hoja de datos, manuales por tarjeta.
|
||||||
|
- [Descargas](descargas/index.md): firmware por tarjeta y SHA-256.
|
||||||
|
|
||||||
| Situación | Sección del sitio | Qué haces | Acta |
|
## Reglas que se rompen seguido
|
||||||
|---|---|---|---|
|
|
||||||
| Llegan tarjetas nuevas de JLC (lote V5.6) | 🏭 Producción — lote v5 → **1 · Prueba y flasheo** | Inspección, flasheo con el binario de **📥 Descargas** (verifica el SHA-256), autoprueba PASS | ▶ Acta de tarjeta V5 |
|
|
||||||
| Montar simpleRTK2B y módem 4G | Producción → **2 · Módulos RTK y 4G** | Configurar módulos, verificar fix RTK y registro 4G | ▶ Acta ArduSimple · ▶ Acta módem 4G · ▶ Acta de integración |
|
|
||||||
| Armar la unidad en el gabinete | Producción → **3 · Ensamble** | Arneses según **🔩 Pinout de arneses** (V5.6: **Pinout de conectores V5.6** en 🛠 Hardware), paquete de batería de la química correcta (JP2) | ▶ Acta de ensamble |
|
|
||||||
| Dejarla lista para embarcar | Producción → **4 · Prueba final** y **5 · Configuración de la unidad** | Parámetros 4G/NTRIP (plantilla, nunca credenciales en el sitio), identidad H00xx en el monitor, Ethernet y puertos serie **solo si el cliente los usa** | ▶ Acta de tarjeta / integración |
|
|
||||||
| El cliente usa Ethernet o RS-485/RS-232 | 🔬 Taller → **🔌 Prueba: Ethernet y puertos serie** | Prueba de banco con el binario `-eth`, cable directo a la laptop, `nc -lk 5010` | ▶ Acta: Ethernet y puertos serie |
|
|
||||||
| Enviar o recibir unidades | 📦 Ciclo de vida | Acta de envío al salir; acta de recepción **por cada caja** antes de ir al puerto | ▶ Envío · ▶ Recepción · ▶ Daño |
|
|
||||||
| Instalar en el puerto | Producción → **6 · Checklist de puesta en marcha** + 📕 **Manual del cliente (PDF)** | Montaje, antenas, 24 V, LEDs, aparece en el monitor, prueba de 5 min en batería; entrega el PDF al cliente | ▶ Acta de diagnóstico en campo (tipo instalación) |
|
|
||||||
| Una unidad falla en la máquina | 🚜 Campo → **Cómo se diagnostica en campo** | Diagnóstico por LEDs y monitor; no abras la tarjeta en sitio | ▶ Acta de diagnóstico en campo |
|
|
||||||
| La unidad llega al taller | 🔬 Taller → **Cómo se diagnostica en banco** → **Reflasheo** → **Prueba: módem 4G en batería** | Banco con fuente ≥ 5.2 V o paquete conectado; reflasheo con SHA-256 verificado; prueba de batería si el reporte es "se apaga en batería" | ▶ Acta de banco · ▶ Acta de reflasheo · ▶ Acta de prueba de batería |
|
|
||||||
| Necesitas un pinout, un voltaje, un jumper, una dirección I²C | 🛠 **Hardware** → Hoja de datos EinarBoard V5.6 · Pinout V5.6 / 📘 **Manuales por tarjeta** | Consulta; no adivines valores | — |
|
|
||||||
| Tienes una V3 o V4 en la mesa | 📘 Manuales por tarjeta → V3 / V4 | Firmware correcto por tarjeta (`hbox-tarjetaV3_4.0.0`, `hbox-tarjetaV4_0.6.0`): **nunca** cruces binarios entre tarjetas | ▶ Acta de prueba V4 / reflasheo |
|
|
||||||
|
|
||||||
## 3. Descargas: cómo usarlas bien
|
Cada una vive en la página donde se aplica:
|
||||||
|
|
||||||
- Usa **solo** los binarios de la tabla verde de **📥 Descargas**. La carpeta `superseded/` es histórico: no se instala en unidades.
|
- Firmware por tarjeta, nunca por número de versión; `superseded/` no se instala: [Descargas](descargas/index.md#firmware-del-hbox-que-binario-va-en-que-tarjeta).
|
||||||
- Antes de flashear, compara el SHA-256 del archivo con el de `SHA256SUMS.txt` (el procedimiento de reflasheo dice cómo).
|
- SHA-256 antes de flashear: [Descargas](descargas/index.md#verifica-el-sha-256).
|
||||||
- El archivo de parámetros 4G del sitio es una **plantilla**. Las credenciales reales (APN, caster) las carga Leo o están en el servidor; nunca las escribas en un acta ni en el sitio.
|
- Credenciales del módem (APN, caster) nunca en un acta ni en el sitio: [Descargas](descargas/index.md#parametros-del-modem-4g-ntrip-master).
|
||||||
|
- Química del paquete = JP2: [Ensamble §2](procedimientos/v5-ensamble.md#2-tarjeta-sin-energia).
|
||||||
|
- JP5 solo en los extremos del bus RS-485: [Ethernet y serie](procedimientos/v5-prueba-ethernet-serie.md#conexion-en-la-instalacion).
|
||||||
|
- En banco, 5 V ≥ 5.2 V o paquete conectado: [Reglas de banco](procedimientos/diagnostico-banco.md#reglas-de-banco).
|
||||||
|
- En campo, nada se reinicia antes de capturar la evidencia: [Diagnóstico en campo](diagnostico/procedimiento-diagnostico-campo.md).
|
||||||
|
- En V5.5 no se apaga y prende la etapa RTK en batería "para ver si vuelve": el módem queda oscuro hasta RESET 4G o 24 V ([Módem en batería](procedimientos/prueba-bateria-modem.md#3-hallazgos-2527-sep)).
|
||||||
|
|
||||||
## 4. Lo que no se hace
|
## Anexo — publicar el sitio (Leo)
|
||||||
|
|
||||||
- No cambies la química del paquete (Li-ion 18650 en V5.5, LFP-HT 26650 en V5.6) sin verificar el puente **JP2** de la tarjeta: química y puente cruzados es una falla, no una opción.
|
|
||||||
- No cierres **JP5** (terminación RS-485) en las dos puntas del mismo bus.
|
|
||||||
- No pruebes Ethernet ni el módem con la tarjeta solo en batería en el banco: fuente de 5 V ≥ 5.2 V o paquete conectado.
|
|
||||||
- No apagues y prendas el stack RTK con la unidad en batería "para ver si vuelve": en V5.5 el módem se queda a oscuras (solo RESET 4G o 24 V lo reviven). Está en el procedimiento de banco.
|
|
||||||
- No edites procedimientos por tu cuenta: si un paso está mal, díselo a Leo con el número de paso.
|
|
||||||
|
|
||||||
## 5. Cuando algo falta en el sitio
|
|
||||||
|
|
||||||
Escríbele a Leo con: la página, el paso, qué esperabas y qué encontraste. Las páginas se corrigen en el repositorio `Drogheda` y se vuelven a publicar; tú no necesitas tocar Git.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Anexo (solo quien publica el sitio — Leo)
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ~/Documents/Claude/Projects/Drogheda/hbox-docs
|
cd ~/Documents/Claude/Projects/Drogheda/hbox-docs
|
||||||
@ -65,9 +50,14 @@ mkdocs build --strict # tiene que terminar sin WARNING
|
|||||||
# nuevos tipos de acta: actualizar ACTAS_REPETIBLES en /etc/systemd/system/actas-hbox.service
|
# nuevos tipos de acta: actualizar ACTAS_REPETIBLES en /etc/systemd/system/actas-hbox.service
|
||||||
# (ya incluye prueba-ethernet-serie en backend/actas-hbox.service y DESPLIEGUE.md), luego
|
# (ya incluye prueba-ethernet-serie en backend/actas-hbox.service y DESPLIEGUE.md), luego
|
||||||
# sudo systemctl daemon-reload && sudo systemctl restart actas-hbox
|
# sudo systemctl daemon-reload && sudo systemctl restart actas-hbox
|
||||||
git add -A && git commit -m "docs: manuales por tarjeta, datasheet V5.6, configuración/Ethernet/serie, manual de cliente v2.0, guía del ingeniero" && git push
|
git add -A && git commit -m "docs: ..." && git push
|
||||||
```
|
```
|
||||||
|
|
||||||
| Versión | Fecha | Cambio |
|
## Historial de revisiones
|
||||||
|
|
||||||
|
| Versión | Fecha | Cambios |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1.0 | 2026-09-29 | Primera versión (sitio con manuales por tarjeta, hoja de datos V5.6 y procedimientos 5/6). |
|
| 1.0 | 2026-09-29 | Primera versión. |
|
||||||
|
| 1.1 | 2026-09-29 | Edición breve; recibe las reglas de la portada; la tabla por situación queda en las portadas de sección. |
|
||||||
|
|
||||||
|
Versiones anteriores en git.
|
||||||
|
|||||||
@ -1,37 +1,46 @@
|
|||||||
|
---
|
||||||
|
title: "EinarBoard V5.6 — ECO (orden de cambio de ingeniería) para el siguiente lote"
|
||||||
|
tags: [project-drogheda, hardware, einarboard, v5.6, eco, requisitos]
|
||||||
|
date: 2026-09-27
|
||||||
|
project: Project Drogheda
|
||||||
|
author: Helgen Technologies
|
||||||
|
---
|
||||||
|
|
||||||
# EinarBoard V5.6 — ECO (orden de cambio de ingeniería) para el siguiente lote
|
# EinarBoard V5.6 — ECO (orden de cambio de ingeniería) para el siguiente lote
|
||||||
|
|
||||||
!!! info "Tarjeta: EinarBoard **V5.6** — proyecto KiCad `hbox-watchdog-v5` (lote en pedido, sep-2026)"
|
!!! note "EinarBoard V5.6 (`hbox-watchdog-v5`), lote en pedido"
|
||||||
Esta tarjeta es la evolución de la V5.5 fabricada (STM32F411 a bordo + zócalos simpleRTK2B y 4G NTRIP Master). **No es la v6** (GNSS y 4G soldados a bordo, `hbox-watchdog-v6`, en diseño): la v6 tiene su propia sección en el sitio. Cuando este documento dice «copiado de v6» se refiere solo al origen de un valor de componente.
|
Esta tarjeta es la evolución de la V5.5 fabricada (STM32F411 a bordo + zócalos simpleRTK2B y 4G NTRIP Master). **No es la v6** (GNSS y 4G soldados a bordo, `hbox-watchdog-v6`, en diseño): la v6 tiene su propia sección en el sitio. Cuando este documento dice «copiado de v6» se refiere solo al origen de un valor de componente.
|
||||||
|
|
||||||
|
Fecha: 2026-09-27 · Base: `hbox-watchdog-v5` (V5.5, 15 pzas 22-ago, netlist verificada) · Autor: Helgen Technologies (elaborado con asistencia de Claude) para Leo / Michelle (PCB) · Estado: propuesta para aprobar antes de pedir esta semana.
|
||||||
|
|
||||||
**Fecha:** 2026-09-27 · **Base:** `hbox-watchdog-v5` (V5.5, 15 pzas 22-ago, netlist verificada) · **Autor:** Claude para Leo / Michelle (PCB) · **Estado:** propuesta para aprobar **antes de pedir** esta semana.
|
Documentos relacionados: [Informe de cambios al esquemático](v56-cambios-esquematico.md) (lo que se aplicó de esta ECO) · [Instrucciones de layout](v56-layout-instrucciones.md) · [Hoja de datos V5.6](v56-datasheet.md) · [Pinout V5.6](v56-pinout.md).
|
||||||
|
|
||||||
Arquitectura que NO cambia: simpleRTK2B en zócalo UNO (MOD1) + 4G NTRIP Master en zócalo XBee (J7/J8), STM32F411RET6, LTC4040 con paquete 1S4P, W5500, SC16IS752, mismo contorno 140×100 mm, mismo stackup S-G-P-S.
|
Arquitectura que no cambia: simpleRTK2B en zócalo UNO (MOD1) + 4G NTRIP Master en zócalo XBee (J7/J8), STM32F411RET6, LTC4040 con paquete 1S4P, W5500, SC16IS752, mismo contorno 140×100 mm, mismo stackup S-G-P-S.
|
||||||
|
|
||||||
## 0. Qué tiene que poder hacer la V5.6 que la V5.5 no puede
|
## 0. Qué tiene que poder hacer la V5.6 que la V5.5 no puede
|
||||||
|
|
||||||
| # | Requisito | Por qué la V5.5 no lo hace (evidencia de banco 26/27-sep) |
|
| # | Requisito | Por qué la V5.5 no lo hace (evidencia de banco 26/27-sep) |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| R1 | **Ciclo de 10 min en batería**: apagar todo, despertar, registrar el módem, reportar, apagar | El módem no arranca en frío sobre el boost: F9P y módem arrancan juntos por Q1 sobre 4.6 V; U7 MP1584 (mín. 4.5 V) cae en UVLO con la ráfaga de arranque; el PMIC del módem aborta sin reintentar. Solo SW4G1 lo revive. |
|
| R1 | **Ciclo de 10 min en batería**: apagar todo, despertar, registrar el módem, reportar, apagar | El módem no arranca en frío sobre el boost: F9P y módem arrancan juntos por Q1 sobre 4.6 V; U7 MP1584 (mín. 4.5 V) cae en UVLO con la ráfaga de arranque; el PMIC del módem aborta sin reintentar. Solo SW4G1 lo revive. |
|
||||||
| R2 | **Control del módem desde el MCU**: encender/apagar, resetear, saber si está vivo | `MODEM_RST` solo llega a SW4G1; `MODEM_LED` solo a D4G1; el MCU no ve nada del módem. |
|
| R2 | Control del módem desde el MCU: encender/apagar, resetear, saber si está vivo | `MODEM_RST` solo llega a SW4G1; `MODEM_LED` solo a D4G1; el MCU no ve nada del módem. |
|
||||||
| R3 | **Cargar la batería con la fuente SD-15B (3 A)** sin bucles de brown-out | `RS1` 8 mΩ → límite de entrada 3.1 A > 3 A de la fuente; `R50` 825 Ω → 2.4 A de carga. La fuente se pliega antes de que el LTC4040 recorte al cargador (incidente 10-ago; hoy lo tapa el gobernador 0.6.0 por firmware). |
|
| R3 | **Cargar la batería con la fuente SD-15B (3 A)** sin bucles de brown-out | `RS1` 8 mΩ → límite de entrada 3.1 A > 3 A de la fuente; `R50` 825 Ω → 2.4 A de carga. La fuente se pliega antes de que el LTC4040 recorte al cargador (incidente 10-ago; hoy lo tapa el gobernador 0.6.0 por firmware). |
|
||||||
| R4 | **Gestión térmica** en puertos a ~45 °C | Ventana de carga del LTC4040 con `RNTB` 10 k pausa en caliente a ~40–42 °C: el paquete no se llena de día. Cobre del boost (`SW_BAT` 0.3 mm) se calienta. Sin temperatura del módem en telemetría. |
|
| R4 | Gestión térmica en puertos a ~45 °C | Ventana de carga del LTC4040 con `RNTB` 10 k pausa en caliente a ~40–42 °C: el paquete no se llena de día. Cobre del boost (`SW_BAT` 0.3 mm) se calienta. Sin temperatura del módem en telemetría. |
|
||||||
| R5 | **Lista EMC del segundo lote** (auditoría 22-ago) | `SW_BAT` 0.3 mm, `BAT_PLUS` 0.3–0.5 mm, lazos Cin 5–8.5 mm, divisor FB del ventilador a 25 mm, ESD DFU a 41 mm de J11, J9 sin ESD. |
|
| R5 | Lista EMC del segundo lote (auditoría 22-ago) | `SW_BAT` 0.3 mm, `BAT_PLUS` 0.3–0.5 mm, lazos Cin 5–8.5 mm, divisor FB del ventilador a 25 mm, ESD DFU a 41 mm de J11, J9 sin ESD. |
|
||||||
|
|
||||||
## A. Alimentación del módem — riel propio con margen y enable desde el MCU (R1)
|
## A. Alimentación del módem — riel propio con margen y enable desde el MCU (R1)
|
||||||
|
|
||||||
| Cambio | Detalle |
|
| Cambio | Detalle |
|
||||||
|---|---|
|
|---|---|
|
||||||
| **U7: MP1584EN → AP64350SP-13** | Buck 3.5 A, **Vin 3.8–40 V** (UVLO 1 V por debajo del riel de batería, contra 0.1 V hoy), SO-8-EP (mismo tamaño que el MP1584, **otro pinout** → re-layout del bloque). LCSC **C2071691** (~US$0.90, 14 900 en stock). FB = 0.8 V igual que el MP1584 → **R60 100k / R61 31.6k se quedan** (3.33 V). |
|
| **U7: MP1584EN → AP64350SP-13** | Buck 3.5 A, **Vin 3.8–40 V** (UVLO 1 V por debajo del riel de batería, contra 0.1 V hoy), SO-8-EP (mismo tamaño que el MP1584, otro pinout → re-layout del bloque). LCSC **C2071691** (~US$0.90, 14 900 en stock). FB = 0.8 V igual que el MP1584 → **R60 100k / R61 31.6k se quedan** (3.33 V). |
|
||||||
| **Entrada de U7: de `SW_5V` a `SYS5V`** | El módem ya no cuelga de Q1 ni de F1: tiene su propio interruptor (EN). Sigue detrás de P11 (cable de corte) para que el corte físico siga apagando todo. Cin: 2 × 22 µF 0805 + 10 µF 1206 pegados a VIN (lazo < 3 mm). |
|
| **Entrada de U7: de `SW_5V` a `SYS5V`** | El módem ya no cuelga de Q1 ni de F1: tiene su propio interruptor (EN). Sigue detrás de P11 (cable de corte) para que el corte físico siga apagando todo. Cin: 2 × 22 µF 0805 + 10 µF 1206 pegados a VIN (lazo < 3 mm). |
|
||||||
| **EN de U7 = `MODEM_EN` (MCU PC3, pad 11)** | 10 k en serie desde PC3; **100 k a GND** en el pin EN para que el módem esté APAGADO con el MCU en reset/DFU (mismo criterio que PWR_CTRL). |
|
| **EN de U7 = `MODEM_EN` (MCU PC3, pad 11)** | 10 k en serie desde PC3; **100 k a GND** en el pin EN para que el módem esté APAGADO con el MCU en reset/DFU (mismo criterio que PWR_CTRL). |
|
||||||
| **Salida 3V3_MODEM** | 2 × 22 µF 0805 (C41 + 1 nuevo) + **C43 100 µF electrolítico → 220 µF/16 V polímero 6.3×7.7** (LCSC **C881921**, mismo can): las ráfagas LTE de 2 A las absorbe el condensador, no el riel. |
|
| **Salida 3V3_MODEM** | 2 × 22 µF 0805 (C41 + 1 nuevo) + **C43 100 µF electrolítico → 220 µF/16 V polímero 6.3×7.7** (LCSC **C881921**, mismo can): las ráfagas LTE de 2 A las absorbe el condensador, no el riel. |
|
||||||
| **L7 10 µH/2 A → 4.7 µH, Isat ≥ 4 A**, misma huella 8×8 (Bourns SRU8028-4R7Y o equiv.) | Con 2 A de ráfaga el 10 µH/2 A satura. |
|
| **L7 10 µH/2 A → 4.7 µH, Isat ≥ 4 A**, misma huella 8×8 (Bourns SRU8028-4R7Y o equiv.) | Con 2 A de ráfaga el 10 µH/2 A satura. |
|
||||||
| **C3 47 µF electrolítico (SW_5V) → 220 µF/16 V polímero** (C881921) | Riel del F9P: más colchón al arrancar sobre el boost. |
|
| **C3 47 µF electrolítico (SW_5V) → 220 µF/16 V polímero** (C881921) | Riel del F9P: más colchón al arrancar sobre el boost. |
|
||||||
| Opcional **R53 499k → 511k** (LCSC C188257) → boost 4.79 → **4.89 V** | LTC4040 permite 3.5–5.0 V (datasheet confirmada 27-sep). No es necesario con el AP64350; dejar 499k salvo que el banco muestre caídas. **No subir a 523k** (4.98 V, tolerancia del 0.8 V ±2.5 % roza el máximo). |
|
| Opcional **R53 499k → 511k** (LCSC C188257) → boost 4.79 → **4.89 V** | LTC4040 permite 3.5–5.0 V (datasheet confirmada 27-sep). No es necesario con el AP64350; dejar 499k salvo que el banco muestre caídas. **No subir a 523k** (4.98 V, tolerancia del 0.8 V ±2.5 % roza el máximo). |
|
||||||
| Opcional U12 (buck 3V3_ETH, también MP1584 desde SYS5V) → AP64350 | Mismo problema de UVLO, pero Ethernet no se usa en batería. Solo si se quiere una sola referencia de buck. |
|
| Opcional U12 (buck 3V3_ETH, también MP1584 desde SYS5V) → AP64350 | Mismo problema de UVLO, pero Ethernet no se usa en batería. Solo si se quiere una sola referencia de buck. |
|
||||||
|
|
||||||
**Secuencia que habilita esto (firmware V5.6):** despertar → `PWR_CTRL` alto (F9P arranca, riel se asienta) → 3–5 s → `MODEM_EN` alto (el módem arranca solo, sobre riel estable, con 1 V de margen de UVLO) → registro/NTRIP → reporte → `MODEM_EN` bajo → `PWR_CTRL` bajo. El módem se puede apagar y encender **solo**, sin tocar al F9P: eso es también el «reset duro del módem» que hoy no existe.
|
**Secuencia que habilita esto (firmware V5.6):** despertar → `PWR_CTRL` alto (F9P arranca, riel se asienta) → 3–5 s → `MODEM_EN` alto (el módem arranca solo, sobre riel estable, con 1 V de margen de UVLO) → registro/NTRIP → reporte → `MODEM_EN` bajo → `PWR_CTRL` bajo. El módem se puede apagar y encender solo, sin tocar al F9P: eso es también el «reset duro del módem» que hoy no existe.
|
||||||
|
|
||||||
## B. Líneas del módem al MCU (R2)
|
## B. Líneas del módem al MCU (R2)
|
||||||
|
|
||||||
@ -40,94 +49,94 @@ Pines libres del F411 (netlist V5: pads sin conexión): PC1 (9), PC2 (10), PC3 (
|
|||||||
| Neta nueva | MCU | Desde | Resistencia | Uso |
|
| Neta nueva | MCU | Desde | Resistencia | Uso |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| `MODEM_EN` | **PC3** (pad 11) | U7 EN | 10 k serie + 100 k a GND en EN | Encender/apagar el módem (A). |
|
| `MODEM_EN` | **PC3** (pad 11) | U7 EN | 10 k serie + 100 k a GND en EN | Encender/apagar el módem (A). |
|
||||||
| `MODEM_RST_MCU` | **PC1** (pad 9) | `MODEM_RST` (J7.5, con SW4G1 en paralelo) | **1 k** serie | MCU en open-drain: baja 500 ms = pulsar SW4G1. SW4G1 se queda. |
|
| `MODEM_RST_MCU` | **PC1** (pad 9) | `MODEM_RST` (J7.5, con SW4G1 en paralelo) | **1 k** serie | MCU en open-drain: baja 500 ms = pulsar SW4G1. SW4G1 se queda. |
|
||||||
| `MODEM_LED_MCU` | **PC2** (pad 10) | `MODEM_LED` (J8.8, antes de Rmled1) | 10 k serie | Leer el patrón del LED del módem (fijo = arrancando, rápido = normal, lento = comandos, irregular = conectando) → «módem vivo» sin adivinar. D4G1 se queda. |
|
| `MODEM_LED_MCU` | **PC2** (pad 10) | `MODEM_LED` (J8.8, antes de Rmled1) | 10 k serie | Leer el patrón del LED del módem (fijo = arrancando, rápido = normal, lento = comandos, irregular = conectando) → «módem vivo» sin adivinar. D4G1 se queda. |
|
||||||
| `MODEM_ON_SLEEP` | **PC4** (pad 24) | J8.3 (XBee pin 13) | 10 k serie, **DNP** si el módulo no lo usa | Seguro barato: si ArduSimple saca ON/SLEEP, lo tenemos. |
|
| `MODEM_ON_SLEEP` | **PC4** (pad 24) | J8.3 (XBee pin 13) | 10 k serie, DNP si el módulo no lo usa | Seguro barato: si ArduSimple saca ON/SLEEP, lo tenemos. |
|
||||||
| `MODEM_ASSOC` | **PC5** (pad 25) | J8.5 (XBee pin 15) | 10 k serie, **DNP** | Ídem (ASSOC). |
|
| `MODEM_ASSOC` | **PC5** (pad 25) | J8.5 (XBee pin 15) | 10 k serie, DNP | Ídem (ASSOC). |
|
||||||
| `RTCM_TAP` | **PC7 = USART6_RX** (pad 38) | `DOUT_4G` (J7.2 → MOD1.17, TX del módem hacia el F9P) | **1 k** serie | El MCU **cuenta bytes RTCM** que el módem entrega al F9P: «módem registrado y NTRIP fluyendo» medido, no inferido. Solo escucha (entrada alta impedancia en paralelo con RX2 del F9P). |
|
| `RTCM_TAP` | **PC7 = USART6_RX** (pad 38) | `DOUT_4G` (J7.2 → MOD1.17, TX del módem hacia el F9P) | **1 k** serie | El MCU cuenta bytes RTCM que el módem entrega al F9P: «módem registrado y NTRIP fluyendo» medido, no inferido. Solo escucha (entrada alta impedancia en paralelo con RX2 del F9P). |
|
||||||
|
|
||||||
Todas son nets nuevas de señal 3.3 V, sin condensadores; ruteo corto por Top/In2. `MODEM_RST` y `MODEM_LED` ya existen como nets: solo se les cuelga la resistencia hacia el MCU.
|
Todas son nets nuevas de señal 3.3 V, sin condensadores; ruteo corto por Top/In2. `MODEM_RST` y `MODEM_LED` ya existen como nets: solo se les cuelga la resistencia hacia el MCU.
|
||||||
|
|
||||||
## C. Cargador con la SD-15B (R3)
|
## C. Cargador con la SD-15B (R3)
|
||||||
|
|
||||||
| Cambio | Valor | Efecto |
|
| Cambio | Valor | Efecto |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **RS1 8 mΩ → 10 mΩ** 1206 1 W 1 % (LCSC **C105362**, FMF06FTHR010) | Límite de entrada 25 mV / 10 mΩ = **2.5 A** | Queda **por debajo** de los 3 A de la fuente: el LTC4040 recorta al cargador antes de que la SD-15B se pliegue. Fin del bucle 10-ago por hardware; el gobernador 0.6.0 queda como segunda capa. |
|
| **RS1 8 mΩ → 10 mΩ** 1206 1 W 1 % (LCSC **C105362**, FMF06FTHR010) | Límite de entrada 25 mV / 10 mΩ = **2.5 A** | Queda por debajo de los 3 A de la fuente: el LTC4040 recorta al cargador antes de que la SD-15B se pliegue. Fin del bucle 10-ago por hardware; el gobernador 0.6.0 queda como segunda capa. |
|
||||||
| **R50 825 Ω → 1.5 kΩ** 0603 1 % (LCSC **C22843**, básica) | I_chg = 2000 / 1500 = **1.33 A** | 12 Ah se llena en un turno (~9 h desde vacío) sin pedirle 2.4 A a una fuente de 3 A que además alimenta la etapa. El safety timer (4.25 h Li-ion) se rearma por firmware (pulso 0.6.0). |
|
| **R50 825 Ω → 1.5 kΩ** 0603 1 % (LCSC **C22843**, básica) | I_chg = 2000 / 1500 = **1.33 A** | 12 Ah se llena en un turno (~9 h desde vacío) sin pedirle 2.4 A a una fuente de 3 A que además alimenta la etapa. El safety timer (4.25 h Li-ion) se rearma por firmware (pulso 0.6.0). |
|
||||||
| P2 / SD-15B | Sin cambio (5.3 V) | Con 2.5 A de límite y 1.33 A de carga, la fuente ya no se satura ni con ráfaga LTE. |
|
| P2 / SD-15B | Sin cambio (5.3 V) | Con 2.5 A de límite y 1.33 A de carga, la fuente ya no se satura ni con ráfaga LTE. |
|
||||||
|
|
||||||
## D. Temperatura (R4)
|
## D. Temperatura (R4)
|
||||||
|
|
||||||
| Cambio | Detalle | Decisión de Leo |
|
| Cambio | Detalle | Decisión de Leo |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **D1 — Ventana de carga del LTC4040 (`RNTB`)** | Con `RNTB` 10 k y NTC 10 k B3380/B3950 el LTC4040 **pausa la carga por encima de ~40–42 °C** (umbral caliente 34.9 % de Vin). En puerto a 45 °C el paquete no se llena de día. Dos caminos: **(a)** paquete **LiFePO4 alta temperatura 26650** (carga 0…+60 °C, ≥2000 ciclos) + `JP2` puenteado 2-3 (F2 bajo = LFP, flotación 3.50 V) + **`RNTB` 5.6 k** con NTC **B3380** (ventana +10…+60 °C); **(b)** seguir con Li-ion 18650 y aceptar la pausa (o `RNTB` 6.6 k = pausa a 55 °C, que castiga la celda). | **Hay que decidir la química**: la PCB no cambia (JP2 es puente de soldadura, RNTB es valor de BOM), pero el paquete 26650 cambia caja y BOM mecánica. Recomendación: **(a)**. Si no se decide esta semana, pedir la PCB igual y fijar RNTB/JP2 en ensamble. |
|
| **D1 — Ventana de carga del LTC4040 (`RNTB`)** | Con `RNTB` 10 k y NTC 10 k B3380/B3950 el LTC4040 **pausa la carga por encima de ~40–42 °C** (umbral caliente 34.9 % de Vin). En puerto a 45 °C el paquete no se llena de día. Dos caminos: (a) paquete **LiFePO4 alta temperatura 26650** (carga 0…+60 °C, ≥2000 ciclos) + `JP2` puenteado 2-3 (F2 bajo = LFP, flotación 3.50 V) + **`RNTB` 5.6 k con NTC B3380** (ventana +10…+60 °C); **(b)** seguir con Li-ion 18650 y aceptar la pausa (o `RNTB` 6.6 k = pausa a 55 °C, que castiga la celda). | Hay que decidir la química: la PCB no cambia (JP2 es puente de soldadura, RNTB es valor de BOM), pero el paquete 26650 cambia caja y BOM mecánica. Recomendación: (a). Si no se decide esta semana, pedir la PCB igual y fijar RNTB/JP2 en ensamble. |
|
||||||
| **D2 — Cobre del boost** (= EMC #1 y #2) | `SW_BAT` ≥ 2 mm polígono, `BAT_PLUS` ≥ 1.5 mm + granja de vías, EP de U6 con ≥ 9 vías térmicas a In1. | Obligatorio. |
|
| **D2 — Cobre del boost** (= EMC #1 y #2) | `SW_BAT` ≥ 2 mm polígono, `BAT_PLUS` ≥ 1.5 mm + granja de vías, EP de U6 con ≥ 9 vías térmicas a In1. | Obligatorio. |
|
||||||
| **D3 — Sensor de temperatura del módem: U4b TMP102 (0x49)** | Segundo TMP102 SOT-563 (misma pieza que U4), ADD0 a 3V3 → dirección 0x49, colocado entre J7/J8 y el módem. El módem es la fuente de calor que sube con la ráfaga LTE; hoy `tair` (SHT40) está en la tarjeta, lejos. | Recomendado (US$0.50). Firmware: campo nuevo en `$PHLG` (append). |
|
| **D3 — Sensor de temperatura del módem: U4b TMP102 (0x49)** | Segundo TMP102 SOT-563 (misma pieza que U4), ADD0 a 3V3 → dirección 0x49, colocado entre J7/J8 y el módem. El módem es la fuente de calor que sube con la ráfaga LTE; hoy `tair` (SHT40) está en la tarjeta, lejos. | Recomendado (US$0.50). Firmware: campo nuevo en `$PHLG` (append). |
|
||||||
| **D4 — Ventilador** | Sin cambio de hardware (2 hilos, Q2 en PA6 = TIM3_CH1: el PWM real es firmware). El buck del ventilador U2 es solo de 24 V: en batería no hay ventilador — con el ciclo de 10 min el calor en batería es bajo. | Firmware. |
|
| **D4 — Ventilador** | Sin cambio de hardware (2 hilos, Q2 en PA6 = TIM3_CH1: el PWM real es firmware). El buck del ventilador U2 es solo de 24 V: en batería no hay ventilador — con el ciclo de 10 min el calor en batería es bajo. | Firmware. |
|
||||||
| **D5 — `P12` NTC (PB1)** | Dos tarjetas con termistor conectado leen `n/c` (pendiente desde 19-sep). Antes de rediseñar, medir V en P12-1 con el NTC puesto; si el divisor R(10k a 3V3) está bien, es cable/conector. | Verificar en banco antes del pedido. |
|
| **D5 — `P12` NTC (PB1)** | Dos tarjetas con termistor conectado leen `n/c` (pendiente desde 19-sep). Antes de rediseñar, medir V en P12-1 con el NTC puesto; si el divisor R(10k a 3V3) está bien, es cable/conector. | Verificar en banco antes del pedido. |
|
||||||
|
|
||||||
## E. Lista EMC del segundo lote (auditoría 22-ago) (R5)
|
## E. Lista EMC del segundo lote (auditoría 22-ago) (R5)
|
||||||
|
|
||||||
1. 🔴 `SW_BAT` U6-SW → L6: polígono ≥ 2 mm F.Cu (hoy 0.3 mm × 15 mm, ~4 A en respaldo).
|
1. 🔴 `SW_BAT` U6-SW → L6: polígono ≥ 2 mm F.Cu (hoy 0.3 mm × 15 mm, ~4 A en respaldo).
|
||||||
2. 🔴 `BAT_PLUS` últimos 20 mm a U6: ≥ 1.5 mm + vías (hoy 0.3–0.5 mm).
|
2. 🔴 `BAT_PLUS` últimos 20 mm a U6: ≥ 1.5 mm + vías (hoy 0.3–0.5 mm).
|
||||||
3. 🟠 Divisor FB del buck del ventilador (R20/R21) al pin 4 de U2 (hoy a 25 mm, `FB_FAN` 60 mm y rozando `SW_FAN`).
|
3. 🟠 Divisor FB del buck del ventilador (R20/R21) al pin 4 de U2 (hoy a 25 mm, `FB_FAN` 60 mm y rozando `SW_FAN`).
|
||||||
4. 🟠 Lazos Cin de los bucks < 3 mm (U2→C11 6.3, U7→Cin nuevo, U12→C101 8.5).
|
4. 🟠 Lazos Cin de los bucks < 3 mm (U2→C11 6.3, U7→Cin nuevo, U12→C101 8.5).
|
||||||
5. 🟠 ESD DFU D14/D15/D16 junto a J11 (hoy a 41 mm, en el MCU). **J9 (USB del módem): añadir USBLC6-2SC6** en el conector.
|
5. 🟠 ESD DFU D14/D15/D16 junto a J11 (hoy a 41 mm, en el MCU). **J9 (USB del módem): añadir USBLC6-2SC6** en el conector.
|
||||||
6. 🟡 Cristales ≤ 5 mm de sus ICs (Y2 del SC16IS752, Y3/Y4 del MCU); par RX Ethernet acoplado; rellenar las 8 celdas de 20 mm sin vías de costura (bajo MOD1).
|
6. 🟡 Cristales ≤ 5 mm de sus ICs (Y2 del SC16IS752, Y3/Y4 del MCU); par RX Ethernet acoplado; rellenar las 8 celdas de 20 mm sin vías de costura (bajo MOD1).
|
||||||
|
|
||||||
## F. Varios de robustez (hallazgos 26/27-sep)
|
## F. Varios de robustez (hallazgos 26/27-sep)
|
||||||
|
|
||||||
| Cambio | Por qué |
|
| Cambio | Por qué |
|
||||||
|---|---|
|
|---|---|
|
||||||
| **F1 PPTC 3 A 1812 → PPTC de menor resistencia** (≥ 4 A hold, ≤ 20 mΩ, p. ej. 1812 6 A) o **0 Ω + protección en Q1** | Con 3 A de hold el PPTC mete 50–100 mΩ en serie con el riel del F9P: 100–200 mV de caída en cada ráfaga, justo sobre el boost. El módem ya no pasa por F1 (A). |
|
| **F1 PPTC 3 A 1812 → PPTC de menor resistencia** (≥ 4 A hold, ≤ 20 mΩ, p. ej. 1812 6 A) o **0 Ω + protección en Q1** | Con 3 A de hold el PPTC mete 50–100 mΩ en serie con el riel del F9P: 100–200 mV de caída en cada ráfaga, justo sobre el boost. El módem ya no pasa por F1 (A). |
|
||||||
| **P11 con puente de soldadura en paralelo** (`JP_CUT`, abierto por defecto) | Unidades sin cable de corte no dependen de un puente volante en el JST. |
|
| **P11 con puente de soldadura en paralelo** (`JP_CUT`, abierto por defecto) | Unidades sin cable de corte no dependen de un puente volante en el JST. |
|
||||||
| Serigrafía: `SW4G1 = RESET MÓDEM`, `SW1 = RESET MCU`, `JP2 = F2 (Li-ion / LFP)` | Confusiones de banco esta semana. |
|
| Serigrafía: `SW4G1 = RESET MÓDEM`, `SW1 = RESET MCU`, `JP2 = F2 (Li-ion / LFP)` | Confusiones de banco esta semana. |
|
||||||
| `ETH_RST` (PA15) con **pull-down 100 k** | Hoy flota cuando el MCU está en reset: el W5500 sale de reset y gasta 130 mA en batería durante los ~4 s del reset. |
|
| `ETH_RST` (PA15) con **pull-down 100 k** | Hoy flota cuando el MCU está en reset: el W5500 sale de reset y gasta 130 mA en batería durante los ~4 s del reset. |
|
||||||
|
|
||||||
## G. Tabla BOM delta
|
## G. Tabla BOM delta
|
||||||
|
|
||||||
| Ref | V5.5 | V5.6 | LCSC | Nota |
|
| Ref | V5.5 | V5.6 | LCSC | Nota |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| U7 | MP1584EN | **AP64350SP-13** | C2071691 | SO-8-EP, re-layout |
|
| U7 | MP1584EN | **AP64350SP-13** | C2071691 | SO-8-EP, re-layout |
|
||||||
| L7 | 10 µH/2 A SRU8028 | **4.7 µH ≥ 4 A**, huella 8×8 | (elegir en JLC DB) | |
|
| L7 | 10 µH/2 A SRU8028 | **4.7 µH ≥ 4 A**, huella 8×8 | (elegir en JLC DB) | |
|
||||||
| C43 | 100 µF/6.3 V elco | **220 µF/16 V polímero** 6.3×7.7 | C881921 | |
|
| C43 | 100 µF/6.3 V elco | **220 µF/16 V polímero** 6.3×7.7 | C881921 | |
|
||||||
| C3 | 47 µF elco | **220 µF/16 V polímero** 6.3×7.7 | C881921 | |
|
| C3 | 47 µF elco | **220 µF/16 V polímero** 6.3×7.7 | C881921 | |
|
||||||
| Cin U7 | C40 22 µF (en SW_5V) | 2 × 22 µF 0805 + 10 µF 1206 **en SYS5V** junto a U7 | C86817 (22 µF ya en BOM) | C40 pasa a ser Cin |
|
| Cin U7 | C40 22 µF (en SW_5V) | 2 × 22 µF 0805 + 10 µF 1206 **en SYS5V** junto a U7 | C86817 (22 µF ya en BOM) | C40 pasa a ser Cin |
|
||||||
| R_EN | — | 10 k 0603 (PC3→EN) + 100 k 0603 (EN→GND) | básicas | |
|
| R_EN | — | 10 k 0603 (PC3→EN) + 100 k 0603 (EN→GND) | básicas | |
|
||||||
| R_RSTM | — | 1 k 0603 (PC1→MODEM_RST) | básica | |
|
| R_RSTM | — | 1 k 0603 (PC1→MODEM_RST) | básica | |
|
||||||
| R_LEDM | — | 10 k 0603 (MODEM_LED→PC2) | básica | |
|
| R_LEDM | — | 10 k 0603 (MODEM_LED→PC2) | básica | |
|
||||||
| R_ONS, R_ASC | — | 10 k 0603 ×2 (J8.3→PC4, J8.5→PC5) | básicas, **DNP** | |
|
| R_ONS, R_ASC | — | 10 k 0603 ×2 (J8.3→PC4, J8.5→PC5) | básicas, DNP | |
|
||||||
| R_TAP | — | 1 k 0603 (DOUT_4G→PC7) | básica | |
|
| R_TAP | — | 1 k 0603 (DOUT_4G→PC7) | básica | |
|
||||||
| R_ETHPD | — | 100 k 0603 (ETH_RST→GND) | básica | |
|
| R_ETHPD | — | 100 k 0603 (ETH_RST→GND) | básica | |
|
||||||
| RS1 | 8 mΩ 1206 | **10 mΩ 1206 1 W** | C105362 | |
|
| RS1 | 8 mΩ 1206 | **10 mΩ 1206 1 W** | C105362 | |
|
||||||
| R50 | 825 Ω | **1.5 kΩ** | C22843 | |
|
| R50 | 825 Ω | **1.5 kΩ** | C22843 | |
|
||||||
| RNTB | 10 k | 10 k (Li-ion) / **5.6 k** (LFP B3380) | básica | ver D1 |
|
| RNTB | 10 k | 10 k (Li-ion) / **5.6 k** (LFP B3380) | básica | ver D1 |
|
||||||
| R53 | 499k | 499k (opcional 511k) | C188257 | ver A |
|
| R53 | 499k | 499k (opcional 511k) | C188257 | ver A |
|
||||||
| U4b | — | TMP102 SOT-563, ADD0→3V3 | = U4 | D3 |
|
| U4b | — | TMP102 SOT-563, ADD0→3V3 | = U4 | D3 |
|
||||||
| D_J9 | — | USBLC6-2SC6 | C7519 | E5 |
|
| D_J9 | — | USBLC6-2SC6 | C7519 | E5 |
|
||||||
| F1 | PPTC 3 A 1812 | PPTC ≥ 4 A / ≤ 20 mΩ | (elegir) | F |
|
| F1 | PPTC 3 A 1812 | PPTC ≥ 4 A / ≤ 20 mΩ | (elegir) | F |
|
||||||
| JP_CUT | — | puente de soldadura 2 pads, abierto | — | F |
|
| JP_CUT | — | puente de soldadura 2 pads, abierto | — | F |
|
||||||
|
|
||||||
## H. Firmware para V5.6 (0.7.0, sobre 0.6.0) — lo que desbloquea el hardware
|
## H. Firmware para V5.6 (0.7.0, sobre 0.6.0) — lo que desbloquea el hardware
|
||||||
|
|
||||||
- `board_v56.h`: `PIN_MODEM_EN PC3`, `PIN_MODEM_RST PC1`, `PIN_MODEM_LED PC2`, `PIN_MODEM_ONSLP PC4`, `PIN_MODEM_ASSOC PC5`, `RTCM_TAP` = USART6 RX PC7.
|
- `board_v56.h`: `PIN_MODEM_EN PC3`, `PIN_MODEM_RST PC1`, `PIN_MODEM_LED PC2`, `PIN_MODEM_ONSLP PC4`, `PIN_MODEM_ASSOC PC5`, `RTCM_TAP` = USART6 RX PC7.
|
||||||
- `ENABLE_DUTY 1` de fábrica en V5.6: ventana = `PWR_CTRL` → 4 s → `MODEM_EN` → registro (LED del módem en «rápido» o primeros bytes RTCM en PC7) → ≥ 2 `$PHLG` con `pwr=BATT` + fix fresco → `MODEM_EN` bajo → `PWR_CTRL` bajo → 10 min. Sin la ceguera actual: el fin de ventana lo decide `RTCM_TAP`/LED, no un temporizador.
|
- `ENABLE_DUTY 1` de fábrica en V5.6: ventana = `PWR_CTRL` → 4 s → `MODEM_EN` → registro (LED del módem en «rápido» o primeros bytes RTCM en PC7) → ≥ 2 `$PHLG` con `pwr=BATT` + fix fresco → `MODEM_EN` bajo → `PWR_CTRL` bajo → 10 min. Sin la ceguera actual: el fin de ventana lo decide `RTCM_TAP`/LED, no un temporizador.
|
||||||
- Módem oscuro en 24 V: `MODEM_RST` 500 ms; si no vuelve, `MODEM_EN` OFF 5 s / ON (reset de alimentación real, sin tocar al F9P). El «modem watch» 0.5.9 pasa de diagnóstico a acción con señales reales.
|
- Módem oscuro en 24 V: `MODEM_RST` 500 ms; si no vuelve, `MODEM_EN` OFF 5 s / ON (reset de alimentación real, sin tocar al F9P). El «modem watch» 0.5.9 pasa de diagnóstico a acción con señales reales.
|
||||||
- Cargador: gobernador 0.6.0 sin cambios (con RS1/R50 nuevos casi nunca corta); umbral térmico de celda según química (Li-ion 45 °C / LFP 55–60 °C) y `SLEEP`/rearme por voltaje re-derivados si LFP (curva plana ~3.2 V).
|
- Cargador: gobernador 0.6.0 sin cambios (con RS1/R50 nuevos casi nunca corta); umbral térmico de celda según química (Li-ion 45 °C / LFP 55–60 °C) y `SLEEP`/rearme por voltaje re-derivados si LFP (curva plana ~3.2 V).
|
||||||
- `$PHLG`: campos append `tmodem` (U4b), `rtcm_bps`, `modem_led`.
|
- `$PHLG`: campos append `tmodem` (U4b), `rtcm_bps`, `modem_led`.
|
||||||
|
|
||||||
## I. Validación del primer lote V5.6 (banco, 1 unidad, 1 día)
|
## I. Validación del primer lote V5.6 (banco, 1 unidad, 1 día)
|
||||||
|
|
||||||
1. Riel del módem: `3V3_MODEM` estable con `MODEM_EN`; osciloscopio en VIN de U7 durante el arranque del módem **en batería a 3.5 V**: sin caída bajo 3.8 V. Módem arranca 10/10 en batería (`P`+`Y` con 24 V quitado).
|
1. Riel del módem: `3V3_MODEM` estable con `MODEM_EN`; osciloscopio en VIN de U7 durante el arranque del módem **en batería a 3.5 V**: sin caída bajo 3.8 V. Módem arranca 10/10 en batería (`P`+`Y` con 24 V quitado).
|
||||||
2. Ciclo 10 min en batería 20 ciclos seguidos (módem registra cada vez; `RTCM_TAP` cuenta bytes; posición en el monitor cada 10 min).
|
2. Ciclo 10 min en batería 20 ciclos seguidos (módem registra cada vez; `RTCM_TAP` cuenta bytes; posición en el monitor cada 10 min).
|
||||||
3. Carga: paquete a 3.4 V, 24 V con etapa ON: `ltc=CARGANDO`, corriente de entrada en P2 ≤ 2.5 A con ráfagas LTE (pinza), `cortes=0` en 2 h, safety timer rearma.
|
3. Carga: paquete a 3.4 V, 24 V con etapa ON: `ltc=CARGANDO`, corriente de entrada en P2 ≤ 2.5 A con ráfagas LTE (pinza), `cortes=0` en 2 h, safety timer rearma.
|
||||||
4. Térmico: cámara/horno a 45 °C: carga sigue (solo LFP+5.6 k); `tmodem` en `$PHLG`; ventilador por firmware.
|
4. Térmico: cámara/horno a 45 °C: carga sigue (solo LFP+5.6 k); `tmodem` en `$PHLG`; ventilador por firmware.
|
||||||
5. EMC rápido: caída en `SW_BAT` a 2.5 A en respaldo < 50 mV; temperatura de L6/U6 en respaldo continuo 1 h.
|
5. EMC rápido: caída en `SW_BAT` a 2.5 A en respaldo < 50 mV; temperatura de L6/U6 en respaldo continuo 1 h.
|
||||||
|
|
||||||
## J. Para pedir esta semana — lista de decisiones
|
## J. Para pedir esta semana — lista de decisiones
|
||||||
|
|
||||||
1. **Química del paquete** (D1): LFP-HT 26650 + JP2 2-3 + RNTB 5.6 k/B3380 — sí/no. (Afecta caja y BOM del paquete, no la PCB.)
|
1. Química del paquete (D1): LFP-HT 26650 + JP2 2-3 + RNTB 5.6 k/B3380 — sí/no. (Afecta caja y BOM del paquete, no la PCB.)
|
||||||
2. **Tamaño del lote** V5.6 y si va con ensamble JLC (todo LCSC arriba) — partes «Extended» nuevas: AP64350, polímero 220 µF, RS1, USBLC6 (US$3 c/u de setup).
|
2. Tamaño del lote V5.6 y si va con ensamble JLC (todo LCSC arriba) — partes «Extended» nuevas: AP64350, polímero 220 µF, RS1, USBLC6 (US$3 c/u de setup).
|
||||||
3. **R53** se queda en 499k (recomendado).
|
3. **R53** se queda en 499k (recomendado).
|
||||||
4. **U12 → AP64350** (opcional, uniformidad) — sí/no.
|
4. **U12 → AP64350** (opcional, uniformidad) — sí/no.
|
||||||
5. Congelar V5.5 como registro «as-fabbed»: copiar `hbox-watchdog-v5.*` → `hbox-watchdog-v55-PROD.*` (como se hizo con v3-PROD) y editar `hbox-watchdog-v5` como V5.6.
|
5. Congelar V5.5 como registro «as-fabbed»: copiar `hbox-watchdog-v5.*` → `hbox-watchdog-v55-PROD.*` (como se hizo con v3-PROD) y editar `hbox-watchdog-v5` como V5.6.
|
||||||
@ -137,7 +146,14 @@ Todas son nets nuevas de señal 3.3 V, sin condensadores; ruteo corto por Top/In
|
|||||||
| Día | Quién | Qué |
|
| Día | Quién | Qué |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| L | Leo | Decisiones J1–J5. Congelar V5.5. |
|
| L | Leo | Decisiones J1–J5. Congelar V5.5. |
|
||||||
| L–M | Claude (script, con diff y backup) + Leo (revisión en KiCad) | Esquemático: bloque U7 nuevo (AP64350, Cin/Cout, EN), 7 resistencias y nets a PC1–PC5/PC7, U4b, D_J9, JP_CUT, valores RS1/R50/RNTB/C3/C43/L7/F1. ERC 0. |
|
| L–M | Ingeniería (script con diff y respaldo) + Leo (revisión en KiCad) | Esquemático: bloque U7 nuevo (AP64350, Cin/Cout, EN), 7 resistencias y nets a PC1–PC5/PC7, U4b, D_J9, JP_CUT, valores RS1/R50/RNTB/C3/C43/L7/F1. ERC 0. |
|
||||||
| M–J | Michelle / Leo | PCB: re-layout bloque módem, polígonos SW_BAT/BAT_PLUS, mover FB del ventilador y ESD DFU, 7 pistas nuevas, costura. DRC 0. |
|
| M–J | Michelle / Leo | PCB: re-layout bloque módem, polígonos SW_BAT/BAT_PLUS, mover FB del ventilador y ESD DFU, 7 pistas nuevas, costura. DRC 0. |
|
||||||
| J | Claude | Auditoría pad-a-pad de la netlist V5.6 contra `board_v56.h` (como el 15-sep) + BOM/CPL. |
|
| J | Ingeniería | Auditoría pad-a-pad de la netlist V5.6 contra `board_v56.h` (como el 15-sep) + BOM/CPL. |
|
||||||
| V | Leo | Gerbers + BOM + CPL a JLC. |
|
| V | Leo | Gerbers + BOM + CPL a JLC. |
|
||||||
|
|
||||||
|
## Historial de revisiones
|
||||||
|
|
||||||
|
| Versión | Fecha | Cambios |
|
||||||
|
|---|---|---|
|
||||||
|
| 1.0 | 2026-09-27 | Propuesta de ECO (requisitos R1–R5, secciones A–J). |
|
||||||
|
| 1.1 | 2026-09-29 | Enlaces a los documentos que la implementan; sin cambios técnicos. Lo aplicado y las decisiones cerradas están en el informe de cambios §9–§10. |
|
||||||
|
|||||||
@ -1,17 +1,24 @@
|
|||||||
# EinarBoard V5.6 — Informe de cambios al esquemático (v1.0)
|
---
|
||||||
|
title: "EinarBoard V5.6 — Informe de cambios al esquemático"
|
||||||
|
tags: [project-drogheda, hardware, einarboard, v5.6, esquematico, eco, kicad]
|
||||||
|
date: 2026-09-28
|
||||||
|
project: Project Drogheda
|
||||||
|
author: Helgen Technologies
|
||||||
|
---
|
||||||
|
|
||||||
!!! info "Tarjeta: EinarBoard **V5.6** — proyecto KiCad `hbox-watchdog-v5` (lote en pedido, sep-2026)"
|
# EinarBoard V5.6 — Informe de cambios al esquemático
|
||||||
|
|
||||||
|
!!! note "EinarBoard V5.6 (`hbox-watchdog-v5`), lote en pedido"
|
||||||
Esta tarjeta es la evolución de la V5.5 fabricada (STM32F411 a bordo + zócalos simpleRTK2B y 4G NTRIP Master). **No es la v6** (GNSS y 4G soldados a bordo, `hbox-watchdog-v6`, en diseño): la v6 tiene su propia sección en el sitio. Cuando este documento dice «copiado de v6» se refiere solo al origen de un valor de componente.
|
Esta tarjeta es la evolución de la V5.5 fabricada (STM32F411 a bordo + zócalos simpleRTK2B y 4G NTRIP Master). **No es la v6** (GNSS y 4G soldados a bordo, `hbox-watchdog-v6`, en diseño): la v6 tiene su propia sección en el sitio. Cuando este documento dice «copiado de v6» se refiere solo al origen de un valor de componente.
|
||||||
|
|
||||||
|
Fecha: 2026-09-28 · Base: `hbox-watchdog-v5` (V5.5 as-fabbed, intacto) · Proyecto: `kicad/hbox-watchdog-v5.*` (la copia `-v56` de la mañana se fusionó en el proyecto v5 por la tarde, ver §9) · ECO implementada: `2026-09-27_Drogheda_EinarBoard-V5.6_ECO_ES_v1.0.md` secciones A, B, C, D3, E5, F · Autor: Helgen Technologies (elaborado con asistencia de Claude) · Estado: listo para revisión de Leo en KiCad; **no** se ha ejecutado *Update PCB from Schematic* ni se ha tocado el layout.
|
||||||
**Fecha:** 2026-09-28 · **Base:** `hbox-watchdog-v5` (V5.5 as-fabbed, intacto) · **Proyecto:** `kicad/hbox-watchdog-v5.*` (la copia `-v56` de la mañana se fusionó en el proyecto v5 por la tarde, ver §9) · **ECO implementada:** `2026-09-27_Drogheda_EinarBoard-V5.6_ECO_ES_v1.0.md` secciones A, B, C, D3, E5, F · **Autor:** Claude (edición por KiCad MCP + script con respaldo y verificación de UUID) · **Estado:** listo para revisión de Leo en KiCad; **no** se ha ejecutado *Update PCB from Schematic* ni se ha tocado el layout.
|
|
||||||
|
|
||||||
## 0. Resumen
|
## 0. Resumen
|
||||||
|
|
||||||
| Ítem | Resultado |
|
| Ítem | Resultado |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Proyecto V5.6 | `hbox-watchdog-v56.kicad_sch/.kicad_pro/.kicad_pcb/.kicad_prl/.kicad_dru` (copia de v5; `.kicad_pro/.kicad_prl` apuntan a los nombres v56). Librerías `sym-lib-table`/`fp-lib-table` sin cambio (ya incluían `Drogheda-v6`). |
|
| Proyecto V5.6 | `hbox-watchdog-v56.kicad_sch/.kicad_pro/.kicad_pcb/.kicad_prl/.kicad_dru` (copia de v5; `.kicad_pro/.kicad_prl` apuntan a los nombres v56). Librerías `sym-lib-table`/`fp-lib-table` sin cambio (ya incluían `Drogheda-v6`). |
|
||||||
| V5.5 as-fabbed | **Byte-idéntico**: sha256 de los 5 archivos `hbox-watchdog-v5.*` iguales antes y después (tabla §7). |
|
| V5.5 as-fabbed | Byte-idéntico: SHA-256 de los 5 archivos `hbox-watchdog-v5.*` iguales antes y después (§7). |
|
||||||
| ERC (kicad-cli) | **1 error, 27 warnings — todos preexistentes** en V5.5 (línea base: 1 error, 33 warnings). La ECO no introduce ninguna violación. Detalle en §5. |
|
| ERC (kicad-cli) | **1 error, 27 warnings — todos preexistentes** en V5.5 (línea base: 1 error, 33 warnings). La ECO no introduce ninguna violación. Detalle en §5. |
|
||||||
| Netlist | Exportada con kicad-cli (`_to_delete/v56-work-20260928/hbox-watchdog-v56-netlist.xml`). Diff pin-a-pin contra la netlist de V5.5: **58 diferencias, todas las previstas por la ECO, ninguna otra** (§4). |
|
| Netlist | Exportada con kicad-cli (`_to_delete/v56-work-20260928/hbox-watchdog-v56-netlist.xml`). Diff pin-a-pin contra la netlist de V5.5: **58 diferencias, todas las previstas por la ECO, ninguna otra** (§4). |
|
||||||
| Refs nuevas | C119 C120 C121 C122 C123 C124 · R105 R106 R107 R108 R109 R110 R111 R112 · U18 · D19 · JP6 (17 componentes). |
|
| Refs nuevas | C119 C120 C121 C122 C123 C124 · R105 R106 R107 R108 R109 R110 R111 R112 · U18 · D19 · JP6 (17 componentes). |
|
||||||
@ -19,7 +26,7 @@
|
|||||||
| PCB | `hbox-watchdog-v56.kicad_pcb` es copia byte-a-byte de v5; los footprints nuevos entran con *Update PCB* (§8). |
|
| PCB | `hbox-watchdog-v56.kicad_pcb` es copia byte-a-byte de v5; los footprints nuevos entran con *Update PCB* (§8). |
|
||||||
| PDF | `03-Architecture-Hardware/hbox-watchdog-v56-schematic.pdf` (exportado con kicad-cli para revisión rápida). |
|
| PDF | `03-Architecture-Hardware/hbox-watchdog-v56-schematic.pdf` (exportado con kicad-cli para revisión rápida). |
|
||||||
|
|
||||||
Nombres del ECO → refdes reales asignados: `R_EN` → **R105** (10 k serie) + **R106** (100 k a GND) · `R_RSTM` → **R107** · `R_LEDM` → **R108** · `R_ONS` → **R109** (DNP) · `R_ASC` → **R110** (DNP) · `R_TAP` → **R111** · `R_ETHPD` → **R112** · `Cin U7` → **C119/C120** (22 µF 0805) + **C121** (10 µF 1206) · 22 µF extra en 3V3_MODEM → **C122** · `U4b` → **U18** · `D_J9` → **D19** · `JP_CUT` → **JP6** · 47 pF de COMP → **C123** · desacoplo de U18 → **C124**. (KiCad exige que la referencia termine en número, por eso no se usó «U4b».)
|
Nombres del ECO → refdes reales asignados: `R_EN` → **R105** (10 k serie) + **R106** (100 k a GND) · `R_RSTM` → **R107** · `R_LEDM` → **R108** · `R_ONS` → **R109** (DNP) · `R_ASC` → **R110** (DNP) · `R_TAP` → **R111** · `R_ETHPD` → **R112** · `Cin U7` → **C119/C120** (22 µF 0805) + **C121** (10 µF 1206) · 22 µF extra en 3V3_MODEM → **C122** · `U4b` → **U18** · `D_J9` → **D19** · `JP_CUT` → **JP6** · 47 pF de COMP → **C123** · desacoplo de U18 → **C124**. (KiCad exige que la referencia termine en número, por eso no se usó «U4b».)
|
||||||
|
|
||||||
## 1. Cambios en componentes existentes (antes → después)
|
## 1. Cambios en componentes existentes (antes → después)
|
||||||
|
|
||||||
@ -28,47 +35,47 @@ Nombres del ECO → refdes reales asignados: `R_EN` → **R105** (10 k serie) +
|
|||||||
| **U7** | MP1584EN, `Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.29x3mm`, LCSC C15051 | **AP64350SP-13**, `Drogheda-v6:SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP` (mismo footprint que U20 de v6) | **C2071691** | Mismo UUID de símbolo que en v5 (`56a2435b-…`) → *Update PCB* sustituye el footprint en su sitio. Pinout nuevo: 1 BST, 2 VIN, 3 EN, 4 RT/CLK, 5 FB, 6 COMP, 7 GND, 8 SW, 9 EP. |
|
| **U7** | MP1584EN, `Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.29x3mm`, LCSC C15051 | **AP64350SP-13**, `Drogheda-v6:SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP` (mismo footprint que U20 de v6) | **C2071691** | Mismo UUID de símbolo que en v5 (`56a2435b-…`) → *Update PCB* sustituye el footprint en su sitio. Pinout nuevo: 1 BST, 2 VIN, 3 EN, 4 RT/CLK, 5 FB, 6 COMP, 7 GND, 8 SW, 9 EP. |
|
||||||
| U7 VIN | `SW_5V` (pines 2 y 7) | **`SYS5V`** (pin 2) | | El módem ya no cuelga de Q1/F1. `SW_5V` queda solo con C3, C40, MOD1.5, Q1.3, PF5 (verificado §4). |
|
| U7 VIN | `SW_5V` (pines 2 y 7) | **`SYS5V`** (pin 2) | | El módem ya no cuelga de Q1/F1. `SW_5V` queda solo con C3, C40, MOD1.5, Q1.3, PF5 (verificado §4). |
|
||||||
| U7 EN | `SW_5V` | **`MODEM_EN_U7`** (R105 10 k desde `MODEM_EN`/PC3, R106 100 k a GND) | | Módem apagado con el MCU en reset/DFU. |
|
| U7 EN | `SW_5V` | **`MODEM_EN_U7`** (R105 10 k desde `MODEM_EN`/PC3, R106 100 k a GND) | | Módem apagado con el MCU en reset/DFU. |
|
||||||
| Cbst2 | 10 nF (BST3↔SW3_NODE) | **100 nF** | C14663 | Cap de bootstrap del AP64350 (v6 usa 100 nF). |
|
| Cbst2 | 10 nF (BST3↔SW3_NODE) | **100 nF** | C14663 | Cap de bootstrap del AP64350 (v6 usa 100 nF). |
|
||||||
| Rcomp2 | 40.2 k (COMP3→COMP3_C) | **14 k** | C22803 | Compensación copiada de U20 v6 (R116). |
|
| Rcomp2 | 40.2 k (COMP3→COMP3_C) | **14 k** | C22803 | Compensación copiada de U20 v6 (R116). |
|
||||||
| Ccomp2 | 2.2 nF (COMP3_C→GND) | **3.3 nF** | C1613 | Copiada de U20 v6 (C141). |
|
| Ccomp2 | 2.2 nF (COMP3_C→GND) | **3.3 nF** | C1613 | Copiada de U20 v6 (C141). |
|
||||||
| Rfreq2 | 100 k (FREQ3→GND, pin FREQ del MP1584) | **200 k/1 %** (misma net `FREQ3`, ahora al pin 4 **RT/CLK**) | C25811 | Copiada de U20 v6 (R117). La net conserva el nombre `FREQ3`. |
|
| Rfreq2 | 100 k (FREQ3→GND, pin FREQ del MP1584) | **200 k/1 %** (misma net `FREQ3`, ahora al pin 4 **RT/CLK**) | C25811 | Copiada de U20 v6 (R117). La net conserva el nombre `FREQ3`. |
|
||||||
| Dbk2 | SS34 (SW3_NODE→GND, diodo de recirculación) | SS34 **DNP** (`dnp yes`) | C8678 | El AP64350 es síncrono; se deja el footprint por si se vuelve al MP1584. |
|
| Dbk2 | SS34 (SW3_NODE→GND, diodo de recirculación) | SS34 DNP (`dnp yes`) | C8678 | El AP64350 es síncrono; se deja el footprint por si se vuelve al MP1584. |
|
||||||
| L7 | 10 µH/2 A, LCSC C17700171 | **4.7uH/4A** | **C17700167** | Sunlord MWSA0804S-4R7MT (misma familia 8.8×8.2 mm que la pieza actual; igual que L20 de v6). Footprint sin cambio. |
|
| L7 | 10 µH/2 A, LCSC C17700171 | **4.7uH/4A** | **C17700167** | Sunlord MWSA0804S-4R7MT (misma familia 8.8×8.2 mm que la pieza actual; igual que L20 de v6). Footprint sin cambio. |
|
||||||
| C43 | 100uF/6.3V elco 6.3×7.7 (3V3_MODEM) | **220uF/16V polymer** | **C881921** | Lelon OVZ221M1CTR-0608, mismo can. |
|
| C43 | 100uF/6.3V elco 6.3×7.7 (3V3_MODEM) | **220uF/16V polymer** | **C881921** | Lelon OVZ221M1CTR-0608, mismo can. |
|
||||||
| C3 | 47uF elco 6.3×7.7 (SW_5V) | **220uF/16V polymer** | **C881921** | |
|
| C3 | 47uF elco 6.3×7.7 (SW_5V) | **220uF/16V polymer** | **C881921** | |
|
||||||
| RS1 | 8mR/1% 1206 | **10mR/1%/1W** | **C105362** | Límite de entrada 2.5 A. |
|
| RS1 | 8mR/1% 1206 | **10mR/1%/1W** | **C105362** | Límite de entrada 2.5 A. |
|
||||||
| R50 | 825R/1% | **1.5k/1%** | **C22843** | I_chg 1.33 A. |
|
| R50 | 825R/1% | **1.5k/1%** | **C22843** | I_chg 1.33 A. |
|
||||||
| F1 | PPTC 3A 1812 (C20627123) | **PPTC 4A/1812 low-R** | **TBD** | Solo nota: elegir ≥ 4 A hold / ≤ 20 mΩ (o 0 Ω + protección en Q1). Footprint 1812 sin cambio. |
|
| F1 | PPTC 3A 1812 (C20627123) | **PPTC 4A/1812 low-R** | TBD | Solo nota: elegir ≥ 4 A hold / ≤ 20 mΩ (o 0 Ω + protección en Q1). Footprint 1812 sin cambio. |
|
||||||
| R53 | 499k | 499k (sin cambio) | | Decisión J3 del ECO. |
|
| R53 | 499k | 499k (sin cambio) | | Decisión J3 del ECO. |
|
||||||
| RNTB | 10k | 10k (sin cambio) | | Solo BOM; depende de la química (D1). |
|
| RNTB | 10k | 10k (sin cambio) | | Solo BOM; depende de la química (D1). |
|
||||||
| R60/R61 | 100k / 31.6k | sin cambio | | FB 0.8 V → 3.33 V, igual en AP64350. |
|
| R60/R61 | 100k / 31.6k | sin cambio | | FB 0.8 V → 3.33 V, igual en AP64350. |
|
||||||
| C40, C41 | 22 µF (SW_5V / 3V3_MODEM) | sin cambio | | Ver §6 (decisión pendiente sobre C40). |
|
| C40, C41 | 22 µF (SW_5V / 3V3_MODEM) | sin cambio | | Ver §6 (decisión pendiente sobre C40). |
|
||||||
|
|
||||||
Cada componente tocado lleva una propiedad `Note` que empieza por «V5.6:» y la propiedad `LCSC` actualizada (mismo campo que ya usaba la BOM del proyecto).
|
Cada componente tocado lleva una propiedad `Note` que empieza por «V5.6:» y la propiedad `LCSC` actualizada (mismo campo que ya usaba la BOM del proyecto).
|
||||||
|
|
||||||
## 2. Componentes nuevos
|
## 2. Componentes nuevos
|
||||||
|
|
||||||
Colocados en la zona libre inferior-izquierda de la hoja A1 (x 80–205 mm, y 380–520 mm), en cuatro filas con un texto de cabecera «V5.6 ECO (2026-09-28)». Todo va por etiquetas locales (net labels), igual que el resto del esquemático, así que Leo puede moverlos a su bloque sin rehacer conexiones.
|
Colocados en la zona libre inferior-izquierda de la hoja A1 (x 80–205 mm, y 380–520 mm), en cuatro filas con un texto de cabecera «V5.6 ECO (2026-09-28)». Todo va por etiquetas locales (net labels), igual que el resto del esquemático, así que Leo puede moverlos a su bloque sin rehacer conexiones.
|
||||||
|
|
||||||
| Ref | Valor | Footprint | LCSC | Conexión (pin 1 / pin 2) | ECO |
|
| Ref | Valor | Footprint | LCSC | Conexión (pin 1 / pin 2) | ECO |
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| C119 | 22uF | C_0805 | C86817 | SYS5V / GND — Cin de U7, < 3 mm de VIN | A |
|
| C119 | 22uF | C_0805 | C86817 | SYS5V / GND — Cin de U7, < 3 mm de VIN | A |
|
||||||
| C120 | 22uF | C_0805 | C86817 | SYS5V / GND — Cin de U7 | A |
|
| C120 | 22uF | C_0805 | C86817 | SYS5V / GND — Cin de U7 | A |
|
||||||
| C121 | 10uF/25V | C_1206 | C14860 | SYS5V / GND — Cin bulk de U7 | A |
|
| C121 | 10uF/25V | C_1206 | C14860 | SYS5V / GND — Cin bulk de U7 | A |
|
||||||
| C122 | 22uF | C_0805 | C86817 | 3V3_MODEM / GND — segundo 22 µF de salida | A |
|
| C122 | 22uF | C_0805 | C86817 | 3V3_MODEM / GND — segundo 22 µF de salida | A |
|
||||||
| C123 | 47pF | C_0603 | C1671 | COMP3 / GND — parte del lazo de compensación (v6 C142) | A |
|
| C123 | 47pF | C_0603 | C1671 | COMP3 / GND — parte del lazo de compensación (v6 C142) | A |
|
||||||
| R105 | 10k | R_0603 | C25804 | MODEM_EN (PC3) / MODEM_EN_U7 | A/B |
|
| R105 | 10k | R_0603 | C25804 | MODEM_EN (PC3) / MODEM_EN_U7 | A/B |
|
||||||
| R106 | 100k | R_0603 | C103211 | MODEM_EN_U7 / GND | A/B |
|
| R106 | 100k | R_0603 | C103211 | MODEM_EN_U7 / GND | A/B |
|
||||||
| R107 | 1k | R_0603 | C14676 | MODEM_RST_MCU (PC1) / MODEM_RST | B |
|
| R107 | 1k | R_0603 | C14676 | MODEM_RST_MCU (PC1) / MODEM_RST | B |
|
||||||
| R108 | 10k | R_0603 | C25804 | MODEM_LED_MCU (PC2) / MODEM_LED | B |
|
| R108 | 10k | R_0603 | C25804 | MODEM_LED_MCU (PC2) / MODEM_LED | B |
|
||||||
| R109 | 10k **DNP** | R_0603 | C25804 | MODEM_ON_SLEEP (PC4) / XBEE_ONSLP (J8.3) | B |
|
| R109 | 10k DNP | R_0603 | C25804 | MODEM_ON_SLEEP (PC4) / XBEE_ONSLP (J8.3) | B |
|
||||||
| R110 | 10k **DNP** | R_0603 | C25804 | MODEM_ASSOC (PC5) / XBEE_ASSOC (J8.5) | B |
|
| R110 | 10k DNP | R_0603 | C25804 | MODEM_ASSOC (PC5) / XBEE_ASSOC (J8.5) | B |
|
||||||
| R111 | 1k | R_0603 | C14676 | RTCM_TAP (PC7 = USART6_RX) / DOUT_4G | B |
|
| R111 | 1k | R_0603 | C14676 | RTCM_TAP (PC7 = USART6_RX) / DOUT_4G | B |
|
||||||
| R112 | 100k | R_0603 | C103211 | ETH_RST / GND | F |
|
| R112 | 100k | R_0603 | C103211 | ETH_RST / GND | F |
|
||||||
| U18 | TMP102 (`Sensor_Temperature:TMP102xxDRL`) | SOT-563 | C99269 | 1 SCL→I2C_SCL, 2 GND, 3 ALERT n/c, 4 **ADD0→3V3 (0x49)**, 5 V+→3V3, 6 SDA→I2C_SDA | D3 («U4b») |
|
| U18 | TMP102 (`Sensor_Temperature:TMP102xxDRL`) | SOT-563 | C99269 | 1 SCL→I2C_SCL, 2 GND, 3 ALERT n/c, 4 **ADD0→3V3 (0x49)**, 5 V+→3V3, 6 SDA→I2C_SDA | D3 («U4b») |
|
||||||
| C124 | 100nF | C_0603 | C14663 | 3V3 / GND — desacoplo de U18 | D3 |
|
| C124 | 100nF | C_0603 | C14663 | 3V3 / GND — desacoplo de U18 | D3 |
|
||||||
| D19 | USBLC6-2SC6 (`Power_Protection:USBLC6-2SC6`) | `Package_TO_SOT_SMD:SOT-23-6` | C7519 | 1,6 I/O1→USB_DM · 3,4 I/O2→USB_DP · 5 VBUS→USB_VBUS · 2 GND | E5 («D_J9») |
|
| D19 | USBLC6-2SC6 (`Power_Protection:USBLC6-2SC6`) | `Package_TO_SOT_SMD:SOT-23-6` | C7519 | 1,6 I/O1→USB_DM · 3,4 I/O2→USB_DP · 5 VBUS→USB_VBUS · 2 GND | E5 («D_J9») |
|
||||||
| JP6 | JP_CUT (`Jumper:SolderJumper_2_Open`) | `Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm` | — | MAIN5V / SYS5V, en paralelo con P11, **abierto** | F («JP_CUT») |
|
| JP6 | JP_CUT (`Jumper:SolderJumper_2_Open`) | `Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm` | — | MAIN5V / SYS5V, en paralelo con P11, abierto | F («JP_CUT») |
|
||||||
|
|
||||||
Nets nuevas de señal (J8.3 y J8.5 estaban sin conexión; se les quitó la bandera *no-connect*): `XBEE_ONSLP` (J8.3 = XBee pin 13) y `XBEE_ASSOC` (J8.5 = XBee pin 15).
|
Nets nuevas de señal (J8.3 y J8.5 estaban sin conexión; se les quitó la bandera *no-connect*): `XBEE_ONSLP` (J8.3 = XBee pin 13) y `XBEE_ASSOC` (J8.5 = XBee pin 15).
|
||||||
|
|
||||||
@ -125,7 +132,7 @@ Volcado pad→net completo de todos los componentes nuevos y modificados: `kicad
|
|||||||
|
|
||||||
## 5. ERC (kicad-cli, `hbox-watchdog-v56.kicad_sch`)
|
## 5. ERC (kicad-cli, `hbox-watchdog-v56.kicad_sch`)
|
||||||
|
|
||||||
**Resultado: 1 error, 27 warnings.** Línea base V5.5 (misma herramienta, antes de tocar nada): 1 error, 33 warnings.
|
**Resultado: 1 error, 27 avisos.** Línea base V5.5 (misma herramienta, antes de tocar nada): 1 error, 33 warnings.
|
||||||
|
|
||||||
Preexistentes en V5.5 (no son de la ECO, se dejan tal cual):
|
Preexistentes en V5.5 (no son de la ECO, se dejan tal cual):
|
||||||
|
|
||||||
@ -141,41 +148,30 @@ Warnings que desaparecieron respecto a la línea base (limpieza colateral, sin e
|
|||||||
|
|
||||||
## 6. Lo que no se hizo / decisiones abiertas
|
## 6. Lo que no se hizo / decisiones abiertas
|
||||||
|
|
||||||
1. **Compensación y frecuencia del AP64350 copiadas de v6 (U20)** — Rcomp2 14 k, Ccomp2 3.3 nF, C123 47 pF, Rfreq2 200 k, Cbst2 100 nF. En v6 esa red se diseñó para 3.8 V con Cout distinto; aquí la salida es 3.33 V con L = 4.7 µH y Cout ≈ 2×22 µF cerámico + 220 µF polímero (baja ESR). **Comprobar contra la tabla de aplicación del datasheet AP64350** (Diodes, «Typical Application» 3.3 V) antes de pedir; son 0603 y se cambian sin re-layout.
|
1. **Compensación y frecuencia del AP64350 copiadas de v6 (U20)** — Rcomp2 14 k, Ccomp2 3.3 nF, C123 47 pF, Rfreq2 200 k, Cbst2 100 nF. En v6 esa red se diseñó para 3.8 V con Cout distinto; aquí la salida es 3.33 V con L = 4.7 µH y Cout ≈ 2×22 µF cerámico + 220 µF polímero (baja ESR). **Comprobar contra la tabla de aplicación del datasheet AP64350** (Diodes, «Typical Application» 3.3 V) antes de pedir; son 0603 y se cambian sin re-layout.
|
||||||
2. **C40 sigue en `SW_5V`.** El ECO dice «C40 pasa a ser Cin»; el brief de ejecución pedía *añadir* 2×22 µF + 10 µF con refs nuevas en SYS5V. Se hizo lo segundo (C119/C120/C121) y C40 se dejó en SW_5V como cerámico del riel del F9P. Si Leo prefiere el texto del ECO: marcar C40 DNP o moverlo a SYS5V en layout (una sola etiqueta).
|
2. **C40 sigue en `SW_5V`.** El ECO dice «C40 pasa a ser Cin»; el brief de ejecución pedía *añadir* 2×22 µF + 10 µF con refs nuevas en SYS5V. Se hizo lo segundo (C119/C120/C121) y C40 se dejó en SW_5V como cerámico del riel del F9P. Si Leo prefiere el texto del ECO: marcar C40 DNP o moverlo a SYS5V en layout (una sola etiqueta).
|
||||||
3. **F1**: valor «PPTC 4A/1812 low-R», LCSC = `TBD`. Elegir la pieza (o 0 Ω) antes de la BOM.
|
3. **F1**: valor «PPTC 4A/1812 low-R», LCSC = `TBD`. Elegir la pieza (o 0 Ω) antes de la BOM.
|
||||||
4. **L7 LCSC C17700167** = Sunlord MWSA0804S-4R7MT (8.8×8.2 mm, Extended). La pieza actual (C17700171) es de la misma familia sobre el footprint `L_Bourns-SRU8028_8.0x8.0mm`; confirmar que el 4R7 tiene la misma huella (o cambiar por SRU8028-4R7Y).
|
4. **L7 LCSC C17700167** = Sunlord MWSA0804S-4R7MT (8.8×8.2 mm, Extended). La pieza actual (C17700171) es de la misma familia sobre el footprint `L_Bourns-SRU8028_8.0x8.0mm`; confirmar que el 4R7 tiene la misma huella (o cambiar por SRU8028-4R7Y).
|
||||||
5. **U12 (buck 3V3_ETH)** no se cambió (opcional J4 del ECO).
|
5. **U12 (buck 3V3_ETH)** no se cambió (opcional J4 del ECO).
|
||||||
6. **RNTB / JP2** sin cambio (decisión de química D1 pendiente).
|
6. **RNTB / JP2** sin cambio (decisión de química D1 pendiente).
|
||||||
7. **Serigrafía** (SW4G1 = RESET MÓDEM, SW1 = RESET MCU, JP2 = F2) y toda la sección **E de EMC** son de PCB: no se tocaron.
|
7. Serigrafía (SW4G1 = RESET MÓDEM, SW1 = RESET MCU, JP2 = F2) y toda la sección E de EMC son de PCB: no se tocaron.
|
||||||
8. **Error ERC preexistente** (etiqueta GND suelta en 50.8, 25.146) se dejó tal cual por estar fuera de la ECO; borrar esa etiqueta en KiCad cuesta un clic si se quiere ERC = 0 errores.
|
8. Error ERC preexistente (etiqueta GND suelta en 50.8, 25.146) se dejó tal cual por estar fuera de la ECO; borrar esa etiqueta en KiCad cuesta un clic si se quiere ERC = 0 errores.
|
||||||
9. **Formato del archivo**: las herramientas KiCad-MCP reescriben `hbox-watchdog-v56.kicad_sch` en formato compacto (una línea por elemento, 657 kB frente a 813 kB). Es válido para KiCad 10 (kicad-cli lo lee para ERC/netlist/PDF) y al guardar desde eeschema vuelve al formato canónico; solo afecta a la legibilidad del diff en git. Las 238 instancias `(project …)` se renombraron de `hbox-watchdog-v5` a `hbox-watchdog-v56` (lo que haría *Save As*).
|
|
||||||
10. Incidente detectado y corregido durante el trabajo: la herramienta MCP `replace_schematic_component` eliminó la unión (junction) en (39.37, 76.2) — Rig2.1 quedaba sin `IGN_SENSE`. Se detectó con el diff de netlist, se restauró la junction con su UUID original y el diff final es limpio. La misma herramienta añadió 5 junctions en cruces de cables ya conectados (722.63,130.81 · 722.63,69.85 · 699.77,240.03 · 446.786,301.498 · 509.524,287.02); se verificó que no alteran ninguna net.
|
|
||||||
|
|
||||||
## 7. Integridad de V5.5 (sha256 antes = después)
|
## 7. Integridad de V5.5
|
||||||
|
|
||||||
```
|
El estado as-fabbed V5.5 quedó byte-idéntico: los cinco archivos `hbox-watchdog-v5.*` tienen el mismo SHA-256 antes y después del trabajo (hashes y respaldos intermedios en el anexo de trazabilidad, al final de la página). No se ejecutó `git` en la carpeta.
|
||||||
8e4d3a7ba7a209367c2dda2394ca7809b5b68078a388f74b8052ddda2aab518c hbox-watchdog-v5.kicad_dru
|
|
||||||
6f7ca0e414cc2af321c4909ac3491ee71300f6fa61507e179a46e945eb5c39b0 hbox-watchdog-v5.kicad_pcb
|
|
||||||
8f0158affbf93516649a1317572a687f330ad7f009cd4f4d8345324d8506c04c hbox-watchdog-v5.kicad_prl
|
|
||||||
8253ad14bea362c534bdb0895477899863bd3c843173751b0af3d253448a8fe3 hbox-watchdog-v5.kicad_pro
|
|
||||||
8926a7c0ec4785f9accaf6d005ae7a57b43099dd5d772b945782fdc3751c843f hbox-watchdog-v5.kicad_sch
|
|
||||||
```
|
|
||||||
`hbox-watchdog-v56.kicad_sch` final: `08219316517f636564fd0ae0804a30213d10fbc048b6446dd61216b312f81d2e`.
|
|
||||||
|
|
||||||
Respaldos de cada estado intermedio (nada se borró): `kicad/_to_delete/v56-work-20260928/` — `00-copied-from-v5`, `01-nc-removed-renamed`, `02-u7-replaced`, `03-values`, `04-new-parts`, `05-metadata`, `06-junction-nc-pintypes`, `07-final` (`.kicad_sch`), netlists `v55-baseline.xml`, `v6-reference.xml`, `step02/04/06.xml`, `hbox-watchdog-v56-netlist.xml`, y `padnet-dump.txt`. No se ejecutó `git` en la carpeta.
|
|
||||||
|
|
||||||
## 8. Siguientes pasos para Leo / Michelle
|
## 8. Siguientes pasos para Leo / Michelle
|
||||||
|
|
||||||
1. **Abrir `hbox-watchdog-v56.kicad_pro` en KiCad 10**, revisar el bloque U7 (x≈433–475, y≈185–210) y el bloque «V5.6 ECO» (x 70–210, y 362–530); mover los componentes nuevos junto a sus bloques si se quiere (todo es por etiquetas). Guardar → KiCad reescribe el archivo en formato canónico.
|
1. **Abrir `hbox-watchdog-v56.kicad_pro` en KiCad 10**, revisar el bloque U7 (x≈433–475, y≈185–210) y el bloque «V5.6 ECO» (x 70–210, y 362–530); mover los componentes nuevos junto a sus bloques si se quiere (todo es por etiquetas). Guardar → KiCad reescribe el archivo en formato canónico.
|
||||||
2. Opcional: borrar la etiqueta `GND` suelta en (50.8, 25.146) para ERC = 0 errores.
|
2. Opcional: borrar la etiqueta `GND` suelta en (50.8, 25.146) para ERC = 0 errores.
|
||||||
3. Revisar punto 6.1 (compensación AP64350) y 6.2 (C40); fijar F1 (6.3).
|
3. Revisar punto 6.1 (compensación AP64350) y 6.2 (C40); fijar F1 (6.3).
|
||||||
4. **Update PCB from Schematic** (F8) sobre `hbox-watchdog-v56.kicad_pcb`: sustituye U7 (mismo UUID, footprint `Drogheda-v6:SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP`, pinout distinto → hay que re-rutear el bloque) y añade 17 footprints nuevos (C119–C124, R105–R112, U18 SOT-563, D19 SOT-23-6, JP6). Dbk2, R109, R110 quedan DNP.
|
4. Update PCB from Schematic (F8) sobre `hbox-watchdog-v56.kicad_pcb`: sustituye U7 (mismo UUID, footprint `Drogheda-v6:SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP`, pinout distinto → hay que re-rutear el bloque) y añade 17 footprints nuevos (C119–C124, R105–R112, U18 SOT-563, D19 SOT-23-6, JP6). Dbk2, R109, R110 quedan DNP.
|
||||||
5. Layout (sección E del ECO + notas de A/D):
|
5. Layout (sección E del ECO + notas de A/D):
|
||||||
- U7: lazo Cin (C119/C120/C121) < 3 mm de VIN; BST (Cbst2) pegado a pines 1/8; C123/Rcomp2/Ccomp2 y Rfreq2 junto a pines 4/6 con retorno a GND corto; EP con vías térmicas.
|
- U7: lazo Cin (C119/C120/C121) < 3 mm de VIN; BST (Cbst2) pegado a pines 1/8; C123/Rcomp2/Ccomp2 y Rfreq2 junto a pines 4/6 con retorno a GND corto; EP con vías térmicas.
|
||||||
- `SW_BAT` polígono ≥ 2 mm; `BAT_PLUS` ≥ 1.5 mm + vías; EP de U6 ≥ 9 vías térmicas.
|
- `SW_BAT` polígono ≥ 2 mm; `BAT_PLUS` ≥ 1.5 mm + vías; EP de U6 ≥ 9 vías térmicas.
|
||||||
- Divisor FB del ventilador (R20/R21) junto al pin 4 de U2; ESD DFU (D14/D15/D16) junto a J11; **D19 en J9**, en la salida de las líneas D+/D− del conector.
|
- Divisor FB del ventilador (R20/R21) junto al pin 4 de U2; ESD DFU (D14/D15/D16) junto a J11; **D19 en J9**, en la salida de las líneas D+/D− del conector.
|
||||||
- Cristales ≤ 5 mm de sus ICs; costura de vías bajo MOD1.
|
- Cristales ≤ 5 mm de sus ICs; costura de vías bajo MOD1.
|
||||||
- **U18** entre J7/J8 y el módem (fuente de calor); C124 al lado.
|
- **U18** entre J7/J8 y el módem (fuente de calor); C124 al lado.
|
||||||
- JP6 junto a P11; R112 junto a U11 (pin 37); R107/R108 cerca de J7/J8; R111 cerca de J7.2.
|
- JP6 junto a P11; R112 junto a U11 (pin 37); R107/R108 cerca de J7/J8; R111 cerca de J7.2.
|
||||||
- Serigrafía: `SW4G1 = RESET MÓDEM`, `SW1 = RESET MCU`, `JP2 = F2 (Li-ion / LFP)`, `JP6 = CUTOFF BYPASS (abierto)`.
|
- Serigrafía: `SW4G1 = RESET MÓDEM`, `SW1 = RESET MCU`, `JP2 = F2 (Li-ion / LFP)`, `JP6 = CUTOFF BYPASS (abierto)`.
|
||||||
@ -189,16 +185,16 @@ Decisiones §6 cerradas y aplicadas en el esquemático (script por referencia, r
|
|||||||
|
|
||||||
| Ref | Antes | Ahora | LCSC | Razón |
|
| Ref | Antes | Ahora | LCSC | Razón |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| Rcomp2 | 14k (fila 5 V del datasheet, copiada de v6) | **9.1k** | C23260 (básica) | Fila 3.3 V del AP64350 (9.31k); fc ≈ 2.4 kHz con Cout ≈ 250 µF (2×22 µF + 220 µF polímero) |
|
| Rcomp2 | 14k (fila 5 V del datasheet, copiada de v6) | **9.1k** | C23260 (básica) | Fila 3.3 V del AP64350 (9.31k); fc ≈ 2.4 kHz con Cout ≈ 250 µF (2×22 µF + 220 µF polímero) |
|
||||||
| Ccomp2 | 3.3nF | **10nF** | C57112 (básica) | Con Cout 250 µF el cero a 5.3 kHz quedaba por encima del cruce → MF 25–40°; a 1.75 kHz → MF 55–70° |
|
| Ccomp2 | 3.3nF | **10nF** | C57112 (básica) | Con Cout 250 µF el cero a 5.3 kHz quedaba por encima del cruce → MF 25–40°; a 1.75 kHz → MF 55–70° |
|
||||||
| C123 | 47pF | **68pF** | C1680 | Fila 3.3 V; polo ≈ 260 kHz contra el rizado de 500 kHz |
|
| C123 | 47pF | **68pF** | C1680 | Fila 3.3 V; polo ≈ 260 kHz contra el rizado de 500 kHz |
|
||||||
| F1 | PPTC 3 A (C20627123) / «TBD» | **BSMD1812-400-12V** 4 A hold / 8 A trip, 25 mΩ máx | C18164540 | ≤ 60 mV a 2.5 A; hold ≈ 3 A a 45 °C; mismo 1812 |
|
| F1 | PPTC 3 A (C20627123) / «TBD» | **BSMD1812-400-12V** 4 A hold / 8 A trip, 25 mΩ máx | C18164540 | ≤ 60 mV a 2.5 A; hold ≈ 3 A a 45 °C; mismo 1812 |
|
||||||
| C40 | 22 µF en SW_5V | sin cambio | — | U7 ya tiene C119–C121 como Cin; C40 sigue desacoplando el F9P |
|
| C40 | 22 µF en SW_5V | sin cambio | — | U7 ya tiene C119–C121 como Cin; C40 sigue desacoplando el F9P |
|
||||||
| L7 | — | C17700167 confirmado | — | Misma familia MWSA0804S, mismo encapsulado 8.8×8.2 → misma huella |
|
| L7 | — | C17700167 confirmado | — | Misma familia MWSA0804S, mismo encapsulado 8.8×8.2 → misma huella |
|
||||||
| **R55 (= RNTB)** | 10k/1% (C25804) | **5.6k/1%** | C23189 (básica) | Química **LFP-HT 26650**: ventana de carga +10…+60 °C con NTC B3380 en el paquete (P4.3) |
|
| **R55 (= RNTB)** | 10k/1% (C25804) | **5.6k/1%** | C23189 (básica) | Química **LFP-HT 26650**: ventana de carga +10…+60 °C con NTC B3380 en el paquete (P4.3) |
|
||||||
| **JP2** | `SolderJumper_3_Bridged12` «F2:Li-ion» | **`SolderJumper_3_Bridged23`** «F2:LFP (2-3)», huella `…_Bridged23_…` | — | F2 = bajo → flotación LiFePO4 del LTC4040. Símbolo Bridged23 añadido a `lib_symbols` (derivado del Bridged12: puente entre pads 2-3) |
|
| **JP2** | `SolderJumper_3_Bridged12` «F2:Li-ion» | **`SolderJumper_3_Bridged23`** «F2:LFP (2-3)», huella `…_Bridged23_…` | — | F2 = bajo → flotación LiFePO4 del LTC4040. Símbolo Bridged23 añadido a `lib_symbols` (derivado del Bridged12: puente entre pads 2-3) |
|
||||||
|
|
||||||
Pendiente de Leo: tamaño del lote; el paquete 26650 LFP-HT con NTC **B3380** (caja/BOM mecánica). Validación de banco en la primera tarjeta: escalón de carga 0→2 A en 3V3_MODEM (< 150 mV, sin oscilación); carga LFP a 45 °C en horno sin pausa NTC.
|
Pendiente de Leo: tamaño del lote; el paquete 26650 LFP-HT con NTC **B3380** (caja/BOM mecánica). Validación de banco en la primera tarjeta: escalón de carga 0→2 A en 3V3_MODEM (< 150 mV, sin oscilación); carga LFP a 45 °C en horno sin pausa NTC.
|
||||||
|
|
||||||
## 10. Addendum 28-sep (noche) — hallazgos de la auditoría v6 aplicados a V5.6 + chequeo de stock JLC
|
## 10. Addendum 28-sep (noche) — hallazgos de la auditoría v6 aplicados a V5.6 + chequeo de stock JLC
|
||||||
|
|
||||||
@ -206,15 +202,53 @@ Fuente: `2026-09-28_EinarBoard-v6_Full-Audit` (E-02, H-01, A-03, H-02, H-02b, A-
|
|||||||
|
|
||||||
| Ref | Antes | Ahora | LCSC | Razón |
|
| Ref | Antes | Ahora | LCSC | Razón |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| **R112** (ETH_RST → GND) | 100k | **4.7k** | C23162 (básica) | E-02: el W5500 tiene pull-up interno de 62–112 k en RSTn y PA15 arranca como JTDI con pull-up de 30–50 k → con 100 k el nodo queda en 2.75 V (ALTO). Con 4.7 k: 0.62 V peor caso (BAJO). 0.7 mA cuando el firmware lo pone en alto. |
|
| **R112** (ETH_RST → GND) | 100k | **4.7k** | C23162 (básica) | E-02: el W5500 tiene pull-up interno de 62–112 k en RSTn y PA15 arranca como JTDI con pull-up de 30–50 k → con 100 k el nodo queda en 2.75 V (ALTO). Con 4.7 k: 0.62 V peor caso (BAJO). 0.7 mA cuando el firmware lo pone en alto. |
|
||||||
| **U15** MAX3232ESE | huella `SOIC-16W_7.5x10.3mm` (campo obsoleto; la PCB V5.5 ya usa la angosta) | **`Package_SO:SOIC-16_3.9x9.9mm_P1.27mm`** | C15846 | H-01: el ESE es SO-16 angosto. Corregido en el esquemático para que *Update PCB* no cambie la huella buena de la PCB. (U13 PCF8574T sí es ancho: correcto.) |
|
| **U15** MAX3232ESE | huella `SOIC-16W_7.5x10.3mm` (campo obsoleto; la PCB V5.5 ya usa la angosta) | **`Package_SO:SOIC-16_3.9x9.9mm_P1.27mm`** | C15846 | H-01: el ESE es SO-16 angosto. Corregido en el esquemático para que *Update PCB* no cambie la huella buena de la PCB. (U13 PCF8574T sí es ancho: correcto.) |
|
||||||
| **R50** | 1.5k | **1.43k/1%** | C22840 | A-03: I_chg = 2000/R ±5 % → 1.316–1.483 A (con 1.5 k el mínimo es 1.254 A < 1.3 A). Mismo valor en v6 (comunalidad). |
|
| **R50** | 1.5k | **1.43k/1%** | C22840 | A-03: I_chg = 2000/R ±5 % → 1.316–1.483 A (con 1.5 k el mínimo es 1.254 A < 1.3 A). Mismo valor en v6 (comunalidad). |
|
||||||
| **U10** | C729142 (SC16IS762, **15 en stock**) | mismo valor SC16IS752IPW | **C57156** (2 670) | H-02: por debajo del mínimo de 20 de JLC. Pin-compatible, modo I²C idéntico, mitad de precio. |
|
| **U10** | C729142 (SC16IS762, **15 en stock**) | mismo valor SC16IS752IPW | **C57156** (2 670) | H-02: por debajo del mínimo de 20 de JLC. Pin-compatible, modo I²C idéntico, mitad de precio. |
|
||||||
| **R53** 499k | C131054 (**6 en stock**) | mismo valor | **C177479** (26 862) | H-02: fija el voltaje del boost de respaldo; sin ella no hay respaldo. |
|
| **R53** 499k | C131054 (**6 en stock**) | mismo valor | **C177479** (26 862) | H-02: fija el voltaje del boost de respaldo; sin ella no hay respaldo. |
|
||||||
| 100k ×9 (Rgs1, R87, R20, R56, Ren1, Rfreq1, R85…) y 100k/1% ×3 (R60, R52, R54) | C103211 (5 %, 702 en stock) / C14675 | mismos valores | **C25803** (1 %, básica, 10.8 M) | H-02b: 2.3× de cobertura para 30 tarjetas y una bobina Extended menos. |
|
| 100k ×9 (Rgs1, R87, R20, R56, Ren1, Rfreq1, R85…) y 100k/1% ×3 (R60, R52, R54) | C103211 (5 %, 702 en stock) / C14675 | mismos valores | **C25803** (1 %, básica, 10.8 M) | H-02b: 2.3× de cobertura para 30 tarjetas y una bobina Extended menos. |
|
||||||
| **U17** | AMS1117-3.3 (C6186) | **TLV1117LV33DCYR** (mismo SOT-223, pin 1 GND / 2 OUT / 3 IN) | C15578 | A-08: en batería LDO_IN = VSYS 4.60–4.99 V − D12 ≈ 4.25–4.65 V y el AMS1117 necesita ≈ 4.3 V (dropout 1.0–1.3 V) → 3V3 marginal justo en respaldo; Iq 5–11 mA vs 0.1 mA. Vin máx 5.5 V ≥ SD-15B 5.57 − D12. Comprobar ≥ 10 µF cerámico en 3V3 (C23 22 µF). |
|
| **U17** | AMS1117-3.3 (C6186) | **TLV1117LV33DCYR** (mismo SOT-223, pin 1 GND / 2 OUT / 3 IN) | C15578 | A-08: en batería LDO_IN = VSYS 4.60–4.99 V − D12 ≈ 4.25–4.65 V y el AMS1117 necesita ≈ 4.3 V (dropout 1.0–1.3 V) → 3V3 marginal justo en respaldo; Iq 5–11 mA vs 0.1 mA. Vin máx 5.5 V ≥ SD-15B 5.57 − D12. Comprobar ≥ 10 µF cerámico en 3V3 (C23 22 µF). |
|
||||||
| **C78** (VEH5V bulk) | 220uF/10V electrolítico 85 °C (C2827940) | **220 µF/16 V polímero** | C881921 | A-09: 2 000 h @ 85 °C ≈ 1 año en gabinete de puerto; mismo can 6.3×7.7. |
|
| **C78** (VEH5V bulk) | 220uF/10V electrolítico 85 °C (C2827940) | **220 µF/16 V polímero** | C881921 | A-09: 2 000 h @ 85 °C ≈ 1 año en gabinete de puerto; mismo can 6.3×7.7. |
|
||||||
|
|
||||||
No aplicados a V5.6 (decisión de Leo, o v6.1): A-11 (R56 a 3V3 → cargador OFF por defecto sin MCU; es un cambio de red), D-09 (100 k en la base de Q5), crystales Y1/Y3 HC-49 (E-03/D-02, V5.5 funciona en campo), A-13 (PFO al MCU: no hay pin libre en V5).
|
No aplicados a V5.6 (decisión de Leo, o v6.1): A-11 (R56 a 3V3 → cargador OFF por defecto sin MCU; es un cambio de red), D-09 (100 k en la base de Q5), crystales Y1/Y3 HC-49 (E-03/D-02, V5.5 funciona en campo), A-13 (PFO al MCU: no hay pin libre en V5).
|
||||||
|
|
||||||
Añadido (Ethernet, E-04, respaldo `11-before-eth-caps`): **C90** (TOCAP, U11.20) 10 µF → **4.7 µF** (C1779) y **C91** (1V2O, U11.22) 4.7 µF → **10 nF** (C1710, básica), ambos 0805 sin cambio de huella — valores que exige el datasheet W5500 v1.0.2 («must be connected to a 4.7uF / 10nF capacitor»). Y1/C95/C96 (E-03) se dejan: el diseño de referencia de WIZnet usa las mismas cargas de 18 pF; sólo verificar con frecuencímetro si el enlace falla.
|
Añadido (Ethernet, E-04, respaldo `11-before-eth-caps`): **C90** (TOCAP, U11.20) 10 µF → **4.7 µF** (C1779) y **C91** (1V2O, U11.22) 4.7 µF → **10 nF** (C1710, básica), ambos 0805 sin cambio de huella — valores que exige el datasheet W5500 v1.0.2 («must be connected to a 4.7uF / 10nF capacitor»). Y1/C95/C96 (E-03) se dejan: el diseño de referencia de WIZnet usa las mismas cargas de 18 pF; sólo verificar con frecuencímetro si el enlace falla.
|
||||||
|
|
||||||
|
## Historial de revisiones
|
||||||
|
|
||||||
|
| Versión | Fecha | Cambios |
|
||||||
|
|---|---|---|
|
||||||
|
| 1.0 | 2026-09-28 | Informe de la ECO aplicada al esquemático; addenda tarde (fusión en `hbox-watchdog-v5`, decisiones cerradas) y noche (hallazgos de la auditoría v6, stock JLC). |
|
||||||
|
| 1.1 | 2026-09-29 | Hashes, respaldos e incidentes de herramienta movidos al anexo de trazabilidad. Sin cambios técnicos. |
|
||||||
|
|
||||||
|
??? note "Anexo técnico — trazabilidad"
|
||||||
|
**SHA-256 de V5.5 as-fabbed (antes = después):**
|
||||||
|
|
||||||
|
```
|
||||||
|
8e4d3a7ba7a209367c2dda2394ca7809b5b68078a388f74b8052ddda2aab518c hbox-watchdog-v5.kicad_dru
|
||||||
|
6f7ca0e414cc2af321c4909ac3491ee71300f6fa61507e179a46e945eb5c39b0 hbox-watchdog-v5.kicad_pcb
|
||||||
|
8f0158affbf93516649a1317572a687f330ad7f009cd4f4d8345324d8506c04c hbox-watchdog-v5.kicad_prl
|
||||||
|
8253ad14bea362c534bdb0895477899863bd3c843173751b0af3d253448a8fe3 hbox-watchdog-v5.kicad_pro
|
||||||
|
8926a7c0ec4785f9accaf6d005ae7a57b43099dd5d772b945782fdc3751c843f hbox-watchdog-v5.kicad_sch
|
||||||
|
```
|
||||||
|
|
||||||
|
`hbox-watchdog-v56.kicad_sch` final: `08219316517f636564fd0ae0804a30213d10fbc048b6446dd61216b312f81d2e`.
|
||||||
|
|
||||||
|
Respaldos intermedios. Respaldos de cada estado intermedio (nada se borró): `kicad/_to_delete/v56-work-20260928/` — `00-copied-from-v5`, `01-nc-removed-renamed`, `02-u7-replaced`, `03-values`, `04-new-parts`, `05-metadata`, `06-junction-nc-pintypes`, `07-final` (`.kicad_sch`), netlists `v55-baseline.xml`, `v6-reference.xml`, `step02/04/06.xml`, `hbox-watchdog-v56-netlist.xml`, y `padnet-dump.txt`. No se ejecutó `git` en la carpeta.
|
||||||
|
|
||||||
|
**Notas de proceso (antes §6.9–6.10):**
|
||||||
|
|
||||||
|
9. Formato del archivo: las herramientas KiCad-MCP reescriben `hbox-watchdog-v56.kicad_sch` en formato compacto (una línea por elemento, 657 kB frente a 813 kB). Es válido para KiCad 10 (kicad-cli lo lee para ERC/netlist/PDF) y al guardar desde eeschema vuelve al formato canónico; solo afecta a la legibilidad del diff en git. Las 238 instancias `(project …)` se renombraron de `hbox-watchdog-v5` a `hbox-watchdog-v56` (lo que haría *Save As*).
|
||||||
|
10. Incidente detectado y corregido durante el trabajo: la herramienta MCP `replace_schematic_component` eliminó la unión (junction) en (39.37, 76.2) — Rig2.1 quedaba sin `IGN_SENSE`. Se detectó con el diff de netlist, se restauró la junction con su UUID original y el diff final es limpio. La misma herramienta añadió 5 junctions en cruces de cables ya conectados (722.63,130.81 · 722.63,69.85 · 699.77,240.03 · 446.786,301.498 · 509.524,287.02); se verificó que no alteran ninguna net.
|
||||||
|
|
||||||
|
## 11. Addendum 29-sep — correcciones para que *Update PCB* funcione en cualquier máquina
|
||||||
|
|
||||||
|
| Problema | Corrección |
|
||||||
|
|---|---|
|
||||||
|
| JP2 apuntaba a `Jumper:SolderJumper-3_P1.3mm_Bridged23_RoundedPad1.0x1.5mm`, que **no existe** en la librería estándar de KiCad → *Update PCB* no podía cargar la huella. | Nueva huella de proyecto `Drogheda:SolderJumper-3_P1.3mm_Bridged23_RoundedPad1.0x1.5mm` (copia de la Bridged12 con el puente de cobre en 2-3 y `net_tie_pad_groups "2,3"`); JP2 la usa. |
|
||||||
|
| `sym-lib-table` tenía la ruta absoluta `/Users/leo/…/Drogheda-sym.kicad_sym` → en otra máquina la librería no aparece. | Ruta relativa `${KIPRJMOD}/Drogheda-sym.kicad_sym`. |
|
||||||
|
| P15/P16 con huella `…MC_1,5_3-G-3.5…_Vertical` (no existe) y J10 con el apodo `Connector_RJ45` (no configurado): en la PCB ya estaban `…_Horizontal` y `Connector_RJ:`. | Esquemático igualado a la PCB. |
|
||||||
|
| R85 (100 k, ETH_FREQ de U12) tenía LCSC `C15051` (el MP1584EN) — error de la sustitución masiva. | R85 → `C25803`. |
|
||||||
|
|
||||||
|
Verificación: ERC 1 error / 28 avisos, todos preexistentes (ninguno de huella no encontrada en piezas nuevas); netlist contra V5.5 = exactamente los 65 pines previstos; *Update PCB* de prueba sobre una copia: las 19 huellas nuevas cargan, 0 sin resolver.
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -1,25 +1,45 @@
|
|||||||
# EinarBoard v6 — Review against the V5.5 lessons of 26–27 Sep 2026 (v1.0)
|
---
|
||||||
|
title: "EinarBoard v6 — Revisión contra las lecciones de la V5.5 (26–27 sep 2026)"
|
||||||
|
tags: [project-drogheda, hardware, einarboard, v6, v5.5, revision, lecciones]
|
||||||
|
date: 2026-09-28
|
||||||
|
project: Project Drogheda
|
||||||
|
author: Helgen Technologies
|
||||||
|
---
|
||||||
|
|
||||||
!!! warning "Tarjeta: EinarBoard **v6** — proyecto KiCad `hbox-watchdog-v6` (EN DISEÑO, no se pide todavía) / Board: v6, in design"
|
# EinarBoard v6 — Revisión contra las lecciones de la V5.5 (26–27 sep 2026)
|
||||||
|
|
||||||
|
!!! warning "EinarBoard v6 (`hbox-watchdog-v6`): en diseño, no se pide"
|
||||||
Diseño nuevo con ZED-F9P y módem A7670SA soldados a bordo. **No es la V5.6** que se manda a fabricar esta semana (`hbox-watchdog-v5`, zócalos para simpleRTK2B y 4G NTRIP Master). Los hallazgos marcados «Impacto en V5.6» ya se aplicaron a la V5.6 y están en su informe de cambios.
|
Diseño nuevo con ZED-F9P y módem A7670SA soldados a bordo. **No es la V5.6** que se manda a fabricar esta semana (`hbox-watchdog-v5`, zócalos para simpleRTK2B y 4G NTRIP Master). Los hallazgos marcados «Impacto en V5.6» ya se aplicaron a la V5.6 y están en su informe de cambios.
|
||||||
|
|
||||||
|
Fecha: 2026-09-28 · Diseño revisado: `kicad/hbox-watchdog-v6.kicad_sch` / `.kicad_pcb` (estado del 25-sep, después de T15) · Documentos de referencia: [ECO V5.6](v56-eco.md), [informe de cambios V5.6](v56-cambios-esquematico.md), [auditoría pre-fabricación v6](v6-auditoria-prefab.md), `CHANGELOG.md` del firmware 0.5.8 → 0.6.0 · Autor: Helgen Technologies (elaborado con asistencia de Claude) · Alcance: revisión de solo lectura; no se modificó ningún archivo de KiCad. La [auditoría completa v6](v6-auditoria-completa.md) del mismo día profundiza y supera esta revisión; lo aplicado está en el [informe de cambios v6](v6-cambios-esquematico.md).
|
||||||
|
|
||||||
**Date:** 2026-09-28 · **Design reviewed:** `kicad/hbox-watchdog-v6.kicad_sch` / `.kicad_pcb` (state of 25-Sep, after T15) · **Reference documents:** `2026-09-27_Drogheda_EinarBoard-V5.6_ECO_ES_v1.0.md`, `2026-09-28_Drogheda_EinarBoard-V5.6_Schematic-Change-Report_v1.0.md`, project doc `2026-09-25_HBox-v6_Pre-Fab-Audit_EN.md`, firmware `CHANGELOG.md` 0.5.8 → 0.6.0 · **Author:** Claude for Leo · **Scope:** read-only review; no KiCad file was modified.
|
## Resumen ejecutivo
|
||||||
|
|
||||||
## Resumen ejecutivo (ES)
|
|
||||||
|
|
||||||
1. La v6 ya resuelve por arquitectura el hallazgo más grave de la semana (F1): el módem A7670SA tiene su propio buck AP64350 (U20) con `MODEM_PWR_EN` en PC10, `PWRKEY` en PC8, `STATUS` en PC9 y `RST` en PC11, y su UART llega al MCU por USART6 (PC6/PC7). El módem se puede arrancar solo, sobre riel asentado, y se sabe si está vivo.
|
1. La v6 ya resuelve por arquitectura el hallazgo más grave de la semana (F1): el módem A7670SA tiene su propio buck AP64350 (U20) con `MODEM_PWR_EN` en PC10, `PWRKEY` en PC8, `STATUS` en PC9 y `RST` en PC11, y su UART llega al MCU por USART6 (PC6/PC7). El módem se puede arrancar solo, sobre riel asentado, y se sabe si está vivo.
|
||||||
2. Con eso, el ciclo de 10 min en batería (F2) y la recuperación de enlace sin matar el módem (F3) son posibles en v6: falta solo el firmware (`ENABLE_DUTY 1` con la secuencia `PWR_CTRL` → 4 s → `MODEM_PWR_EN`).
|
2. Con eso, el ciclo de 10 min en batería (F2) y la recuperación de enlace sin matar el módem (F3) son posibles en v6: falta solo el firmware (`ENABLE_DUTY 1` con la secuencia `PWR_CTRL` → 4 s → `MODEM_PWR_EN`).
|
||||||
3. Cargador (F4): `RS1` ya es 10 mΩ (C105362, límite 2.5 A) ✅, pero **`R50` sigue en 825 Ω (2.4 A)** ❌ → 1.5 kΩ (C22843).
|
3. Cargador (F4): `RS1` ya es 10 mΩ (C105362, límite 2.5 A) ✅, pero **`R50` sigue en 825 Ω (2.4 A)** ❌ → 1.5 kΩ (C22843).
|
||||||
4. Térmico del LTC4040 (F5): **`/SW_BAT` es una pista de 0.25 mm** (peor que los 0.3 mm de la V5.5), `/BAT_PLUS` 0.25–0.5 mm, el EP de U6 **no tiene vías térmicas**, L6 está a 15 mm de U6 y no hay ningún sensor de temperatura junto a U6/L6 (el TMP102 se eliminó; el SHT40 U3 está a 71 mm). ❌ — es el cambio nº 1.
|
4. Térmico del LTC4040 (F5): **`/SW_BAT` es una pista de 0.25 mm** (peor que los 0.3 mm de la V5.5), `/BAT_PLUS` 0.25–0.5 mm, el EP de U6 **no tiene vías térmicas**, L6 está a 15 mm de U6 y no hay ningún sensor de temperatura junto a U6/L6 (el TMP102 se eliminó; el SHT40 U3 está a 71 mm). ❌ — es el cambio nº 1.
|
||||||
5. Ventana NTC (F6): `R55` (RNTB) 10 k y `JP2` puenteado a Li-ion, igual que la V5.5; la pausa a ~40–42 °C se repite en v6 hasta decidir la química (LFP-HT + JP2 2-3 + 5.6 k). `CHRG_FAULT` sí llega al MCU (PB4) para mostrar «pausa NTC».
|
5. Ventana NTC (F6): `R55` (RNTB) 10 k y `JP2` puenteado a Li-ion, igual que la V5.5; la pausa a ~40–42 °C se repite en v6 hasta decidir la química (LFP-HT + JP2 2-3 + 5.6 k). `CHRG_FAULT` sí llega al MCU (PB4) para mostrar «pausa NTC».
|
||||||
6. Fuente de 5 V (F7): **U25 TPS54360B está fijada a 5.00 V** (R121 53.6 k / R122 10.2 k) → solo 0.56 V sobre el PFI (4.44 V) y **0.10 V sobre la línea de corte del gobernador (4.90 V)**: el cargador se cortaría en cada ráfaga LTE. ❌ → R121 57.6 k (5.32 V).
|
6. Fuente de 5 V (F7): **U25 TPS54360B está fijada a 5.00 V** (R121 53.6 k / R122 10.2 k) → solo 0.56 V sobre el PFI (4.44 V) y **0.10 V sobre la línea de corte del gobernador (4.90 V)**: el cargador se cortaría en cada ráfaga LTE. ❌ → R121 57.6 k (5.32 V).
|
||||||
7. Robustez (F8): ESD del DFU ya está junto a J11 (3–7 mm) ✅ y `ETH_INT` va a PC0 (sin trampa BOOT1) ✅; pero **J9 (USB del módem) no tiene ESD**, **`ETH_RST` (PA15) no tiene pull-down** y no hay puente en paralelo a P5 (corte). F1 PPTC 3 A queda solo en el riel del F9P (inocuo, sobredimensionado). Sin PoE en J10 por diseño.
|
7. Robustez (F8): ESD del DFU ya está junto a J11 (3–7 mm) ✅ y `ETH_INT` va a PC0 (sin trampa BOOT1) ✅; pero **J9 (USB del módem) no tiene ESD**, **`ETH_RST` (PA15) no tiene pull-down** y no hay puente en paralelo a P5 (corte). F1 PPTC 3 A queda solo en el riel del F9P (inocuo, sobredimensionado). Sin PoE en J10 por diseño.
|
||||||
8. Software (F9): la v6 pierde el `$GPTXT H00xx` del NTRIP Master de ArduSimple (el módem ahora es nuestro) → la identidad debe generarla el MCU (`$PHID` por UID, ya existe en 0.6.0-eth) también por 4G.
|
8. Software (F9): la v6 pierde el `$GPTXT H00xx` del NTRIP Master de ArduSimple (el módem ahora es nuestro) → la identidad debe generarla el MCU (`$PHID` por UID, ya existe en 0.6.0-eth) también por 4G.
|
||||||
9. Veredicto: **3 ✅ (F1, F2, F3) · 4 ⚠ (F4, F6, F8, F9) · 2 ❌ (F5, F7)**. Todos los ❌ y ⚠ son cambios de valor de BOM o de layout; ninguno cambia la arquitectura.
|
9. Veredicto: **3 ✅ (F1, F2, F3) · 4 ⚠ (F4, F6, F8, F9) · 2 ❌ (F5, F7)**. Todos los ❌ y ⚠ son cambios de valor de BOM o de layout; ninguno cambia la arquitectura.
|
||||||
10. Los cinco cambios por riesgo: (1) cobre + vías + sensor en U6/L6; (2) U25 a 5.3 V; (3) R50 1.5 k; (4) condensadores de VBAT_MODEM pegados a U19 y pistas del módem ≥ 0.8 mm; (5) pull-down en `ETH_RST` + USBLC6 en J9 + decidir RNTB/JP2.
|
10. Los cinco cambios por riesgo: (1) cobre + vías + sensor en U6/L6; (2) U25 a 5.3 V; (3) R50 1.5 k; (4) condensadores de VBAT_MODEM pegados a U19 y pistas del módem ≥ 0.8 mm; (5) pull-down en `ETH_RST` + USBLC6 en J9 + decidir RNTB/JP2.
|
||||||
|
|
||||||
---
|
## Índice del cuerpo del informe
|
||||||
|
|
||||||
|
El cuerpo está en inglés. Vocabulario: *finding* = hallazgo · *footprint* = huella · *track* = pista · *via* = vía · *pour* = vertido de cobre · *EP* = pad térmico.
|
||||||
|
|
||||||
|
| Sección | Qué contiene |
|
||||||
|
|---|---|
|
||||||
|
| 0. Method | Cómo se extrajeron los datos de la tarjeta y del esquemático; mapa pad → pin del LQFP-64. |
|
||||||
|
| 1. Lesson-by-lesson review (F1–F9) | Cada lección de banco de la V5.5 contra lo que hace la v6 tal como está dibujada: módem en batería, ciclo de 10 min, recuperación de enlace, cargador, térmico del LTC4040, ventana NTC, margen de la fuente de 5 V, robustez, software. |
|
||||||
|
| 2. Specific v6 checks requested | Comprobaciones puntuales pedidas por Leo. |
|
||||||
|
| 3. What to carry from V5.6 into v6 | Qué cambios de la V5.6 deben llevarse a la v6. |
|
||||||
|
| 4. Checklist ordered by risk | Checklist por riesgo con responsable. |
|
||||||
|
| 5. Notes and non-findings | Notas y lo que se revisó y no resultó hallazgo. |
|
||||||
|
|
||||||
|
## Cuerpo del informe (inglés)
|
||||||
|
|
||||||
## 0. Method
|
## 0. Method
|
||||||
|
|
||||||
@ -40,42 +60,42 @@ Where a fact could not be found in the v6 files, it is stated as such.
|
|||||||
|
|
||||||
| Item | v6 |
|
| Item | v6 |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Modem power path | `U20` AP64350SP-13 (C2071691), `L20` 4.7 µH/5 A (C17700167), output `/VBAT_MODEM` = 0.8 V × (1 + R110 75 k / R111 20 k) = **3.80 V**. Input `/VIN_MODEM` fed by **`D20` SS34 from `/24V`** (vehicle side, via Q10) **or `D21` PMEG3050EP from `/MAIN5V`** (LTC4040 boost output on battery). The modem no longer hangs from Q1, F1 or `/SW_5V`. |
|
| Modem power path | `U20` AP64350SP-13 (C2071691), `L20` 4.7 µH/5 A (C17700167), output `/VBAT_MODEM` = 0.8 V × (1 + R110 75 k / R111 20 k) = **3.80 V**. Input `/VIN_MODEM` fed by **`D20` SS34 from `/24V`** (vehicle side, via Q10) **or `D21` PMEG3050EP from `/MAIN5V`** (LTC4040 boost output on battery). The modem no longer hangs from Q1, F1 or `/SW_5V`. |
|
||||||
| Modem enable | `U20.3 EN` = `/MODEM_PWR_EN` = **U16 pad 51 = PC10**, with `R113` 100 k to GND (modem OFF while the MCU is in reset/DFU). No series resistor (direct drive; fine for the AP64350 EN pin). |
|
| Modem enable | `U20.3 EN` = `/MODEM_PWR_EN` = **U16 pad 51 = PC10**, with `R113` 100 k to GND (modem OFF while the MCU is in reset/DFU). No series resistor (direct drive; fine for the AP64350 EN pin). |
|
||||||
| PWRKEY / RST / STATUS | `/MODEM_PWRKEY` = **PC8** (pad 39) → `Q20` 2N7002 open-drain → `U19.1 PWRKEY`, `R114` 100 k pull-down on the gate. `/MODEM_RST` = **PC11** (pad 52) → `Q21` 2N7002 → `U19.16 RESET`, `R115` 100 k. `U19.66 STATUS` (1.8 V) → `U24` 74LVC2T45 → `/MODEM_STATUS` = **PC9** (pad 40). `U19.52 NETLIGHT` only drives `D4G1` via `R109`/`Q22` — not read by the MCU (STATUS covers the need). |
|
| PWRKEY / RST / STATUS | `/MODEM_PWRKEY` = **PC8** (pad 39) → `Q20` 2N7002 open-drain → `U19.1 PWRKEY`, `R114` 100 k pull-down on the gate. `/MODEM_RST` = **PC11** (pad 52) → `Q21` 2N7002 → `U19.16 RESET`, `R115` 100 k. `U19.66 STATUS` (1.8 V) → `U24` 74LVC2T45 → `/MODEM_STATUS` = **PC9** (pad 40). `U19.52 NETLIGHT` only drives `D4G1` via `R109`/`Q22` — not read by the MCU (STATUS covers the need). |
|
||||||
| Modem UART visibility | `U19.9 TXD` → `U24` → `/DOUT_4G` → **`U18.26` (ZED-F9P UART2 RXD, RTCM in)** *and* `R106` 100 Ω → **`/USART6_RX` = PC7 (pad 38)**. `U19.10 RXD` ← `U23` ← `/DIN_4G` ← `K1` relay common: NC = `/USART1_RX` (ZED-F9P `U18.27` TXD2 → also MCU PA10), NO = **`/USART6_TX` = PC6 (pad 37)**. So the MCU always hears the modem's TX (RTCM byte count = "modem registered and NTRIP flowing"), and talks to it on USART6 when K1 is in Mode B. This is the RTCM_TAP of V5.6 built in. |
|
| Modem UART visibility | `U19.9 TXD` → `U24` → `/DOUT_4G` → **`U18.26` (ZED-F9P UART2 RXD, RTCM in)** *and* `R106` 100 Ω → **`/USART6_RX` = PC7 (pad 38)**. `U19.10 RXD` ← `U23` ← `/DIN_4G` ← `K1` relay common: NC = `/USART1_RX` (ZED-F9P `U18.27` TXD2 → also MCU PA10), NO = **`/USART6_TX` = PC6 (pad 37)**. So the MCU always hears the modem's TX (RTCM byte count = "modem registered and NTRIP flowing"), and talks to it on USART6 when K1 is in Mode B. This is the RTCM_TAP of V5.6 built in. |
|
||||||
| F9P power | `Q1` AO3401A (gate via `Q5`/`R1` from `/PWR_CTRL` = **PA1**, pad 15) → `/SW_5V` → `U21` AP2112K-3.3 → `/3V3_GNSS` → `U18`. Independent of the modem. |
|
| F9P power | `Q1` AO3401A (gate via `Q5`/`R1` from `/PWR_CTRL` = **PA1**, pad 15) → `/SW_5V` → `U21` AP2112K-3.3 → `/3V3_GNSS` → `U18`. Independent of the modem. |
|
||||||
| UVLO margin on battery | `/MAIN5V` (boost, R53 499 k / R54 100 k → 4.79 V nominal, 4.6 V measured under load on V5.5) − `D21` forward drop (≈0.3–0.45 V at 1–2 A) ≈ **4.2–4.5 V at U20 VIN** vs AP64350 VIN(min) 3.8 V → ≈ **0.4–0.7 V margin** (V5.5 had ≈ 0.1 V). Adequate but not generous: the buck runs at ~90 % duty (3.8 V out of 4.3 V in) during a 2 A burst. |
|
| UVLO margin on battery | `/MAIN5V` (boost, R53 499 k / R54 100 k → 4.79 V nominal, 4.6 V measured under load on V5.5) − `D21` forward drop (≈0.3–0.45 V at 1–2 A) ≈ **4.2–4.5 V at U20 VIN** vs AP64350 VIN(min) 3.8 V → ≈ **0.4–0.7 V margin** (V5.5 had ≈ 0.1 V). Adequate but not generous: the buck runs at ~90 % duty (3.8 V out of 4.3 V in) during a 2 A burst. |
|
||||||
| Input capacitance at U20 | `C127` 10 µF (5.4 mm from U20.2) + `C128` 1 µF (2.0 mm). The V5.6 ECO specifies 2 × 22 µF + 10 µF at VIN (< 3 mm). |
|
| Input capacitance at U20 | `C127` 10 µF (5.4 mm from U20.2) + `C128` 1 µF (2.0 mm). The V5.6 ECO specifies 2 × 22 µF + 10 µF at VIN (< 3 mm). |
|
||||||
| Output bulk at U19 | `C130` 220 µF, `C131` 220 µF, `C132` 22 µF, `C133` 1 µF, `C134` 100 nF, `C135` 33 pF, `C136` 10 pF, `D22` SMAJ5.0A. Distances from the VBAT pads (U19.55/56/57): **C130 17.8–19.7 mm, C131 10.5–12.4 mm**, C132 5.6–7.3 mm, C133 4.1–5.5 mm, D22 23–25 mm. The 440 µF sits 10–20 mm away, behind `/VBAT_MODEM` tracks of 0.25–3.0 mm (58.9 mm total, 6.3 mm on In1 at 0.5 mm). |
|
| Output bulk at U19 | `C130` 220 µF, `C131` 220 µF, `C132` 22 µF, `C133` 1 µF, `C134` 100 nF, `C135` 33 pF, `C136` 10 pF, `D22` SMAJ5.0A. Distances from the VBAT pads (U19.55/56/57): **C130 17.8–19.7 mm, C131 10.5–12.4 mm**, C132 5.6–7.3 mm, C133 4.1–5.5 mm, D22 23–25 mm. The 440 µF sits 10–20 mm away, behind `/VBAT_MODEM` tracks of 0.25–3.0 mm (58.9 mm total, 6.3 mm on In1 at 0.5 mm). |
|
||||||
|
|
||||||
**Verdict: ✅ covered (architecture) — 4 layout/value follow-ups.**
|
**Verdict: ✅ covered (architecture) — 4 layout/value follow-ups.**
|
||||||
|
|
||||||
**Changes:**
|
**Changes:**
|
||||||
1. Move `C131` (and ideally `C130`) to ≤ 5 mm of U19 pads 55–57; pour `/VBAT_MODEM` on F.Cu from L20 to U19 (≥ 1.5 mm, no 0.25/0.5 mm necks; the T15 DRC rule already flags ≥ 0.8 mm).
|
1. Move `C131` (and ideally `C130`) to ≤ 5 mm of U19 pads 55–57; pour `/VBAT_MODEM` on F.Cu from L20 to U19 (≥ 1.5 mm, no 0.25/0.5 mm necks; the T15 DRC rule already flags ≥ 0.8 mm).
|
||||||
2. Add 2 × 22 µF 0805 (C86817) at `U20.2 VIN` (< 3 mm), keep `C127`/`C128`; widen `/VIN_MODEM` (0.25/0.5 mm today) and `/SW_MODEM` (0.25 mm, 23 mm long) to ≥ 0.8 mm.
|
2. Add 2 × 22 µF 0805 (C86817) at `U20.2 VIN` (< 3 mm), keep `C127`/`C128`; widen `/VIN_MODEM` (0.25/0.5 mm today) and `/SW_MODEM` (0.25 mm, 23 mm long) to ≥ 0.8 mm.
|
||||||
3. Battery-mode headroom (choose one, bench-decided): (a) `R53` 499 k → 511 k (C188257) → boost 4.89 V (+0.1 V at U20 VIN); (b) replace `D21` with a low-Vf Schottky in a bigger package or a P-FET ideal-diode; (c) lower `/VBAT_MODEM` to 3.6 V (`R110` 75 k → 70 k) — A7670SA VBAT range is 3.4–4.2 V, 3.8 V typical; 3.6 V keeps the buck out of dropout. Not required to order; required before the 20-cycle battery test.
|
3. Battery-mode headroom (choose one, bench-decided): (a) `R53` 499 k → 511 k (C188257) → boost 4.89 V (+0.1 V at U20 VIN); (b) replace `D21` with a low-Vf Schottky in a bigger package or a P-FET ideal-diode; (c) lower `/VBAT_MODEM` to 3.6 V (`R110` 75 k → 70 k) — A7670SA VBAT range is 3.4–4.2 V, 3.8 V typical; 3.6 V keeps the buck out of dropout. Not required to order; required before the 20-cycle battery test.
|
||||||
4. Firmware (v6 `board_v6.h`): `PIN_MODEM_PWR_EN PC10`, `PIN_MODEM_PWRKEY PC8`, `PIN_MODEM_STATUS PC9`, `PIN_MODEM_RST PC11`, modem UART = **USART6 (PC6 TX / PC7 RX)**; K1 Mode B via `BYP_CTRL` = PB5 (pad 57, `R40` → `Q6` → `K1` coil).
|
4. Firmware (v6 `board_v6.h`): `PIN_MODEM_PWR_EN PC10`, `PIN_MODEM_PWRKEY PC8`, `PIN_MODEM_STATUS PC9`, `PIN_MODEM_RST PC11`, modem UART = **USART6 (PC6 TX / PC7 RX)**; K1 Mode B via `BYP_CTRL` = PB5 (pad 57, `R40` → `Q6` → `K1` coil).
|
||||||
|
|
||||||
Note on behaviour: because `R113` is a pull-down, **any MCU reset (DFU, IWDG, `NVIC_SystemReset`) drops `MODEM_PWR_EN` and power-cycles the modem**. That is the intended V5.6 policy (modem OFF while the MCU is not in control), but firmware must re-run the settled-rail sequence after every reset, and a watchdog reset costs a ~30 s re-registration.
|
Note on behaviour: because `R113` is a pull-down, **any MCU reset (DFU, IWDG, `NVIC_SystemReset`) drops `MODEM_PWR_EN` and power-cycles the modem**. That is the intended V5.6 policy (modem OFF while the MCU is not in control), but firmware must re-run the settled-rail sequence after every reset, and a watchdog reset costs a ~30 s re-registration.
|
||||||
|
|
||||||
### F2 — 10-min duty cycle on battery impossible on V5.5
|
### F2 — 10-min duty cycle on battery impossible on V5.5
|
||||||
|
|
||||||
**What v6 does today:** `/PWR_CTRL` (PA1) switches only the F9P rail (`Q1` → `/SW_5V` → `U21`); `/MODEM_PWR_EN` (PC10) switches only the modem buck. `/MODEM_STATUS` (PC9) and the RTCM tap on PC7 give a real "modem up" signal. `NRST` reaches only the MCU (`SW1`, `P6` RESET-EXT, `TP5`, `C104`), as on V5.5.
|
**What v6 does today:** `/PWR_CTRL` (PA1) switches only the F9P rail (`Q1` → `/SW_5V` → `U21`); `/MODEM_PWR_EN` (PC10) switches only the modem buck. `/MODEM_STATUS` (PC9) and the RTCM tap on PC7 give a real "modem up" signal. `NRST` reaches only the MCU (`SW1`, `P6` RESET-EXT, `TP5`, `C104`), as on V5.5.
|
||||||
|
|
||||||
**Verdict: ✅ covered (hardware).** Firmware: `ENABLE_DUTY 1` on the v6 build with the V5.6 window — `PWR_CTRL` high → ≥ 4 s → `MODEM_PWR_EN` high → PWRKEY pulse → wait `STATUS` high / first RTCM bytes on PC7 → ≥ 2 `$PHLG` with `pwr=BATT` and fresh fix → `MODEM_PWR_EN` low → `PWR_CTRL` low → sleep 10 min. End of window decided by STATUS/RTCM, not by a timer. Note `K1` (G5V-1, coil on `/SYS5V` via `Q6`) draws its 0.15 W whenever Mode B is held on battery.
|
**Verdict: ✅ covered (hardware).** Firmware: `ENABLE_DUTY 1` on the v6 build with the V5.6 window — `PWR_CTRL` high → ≥ 4 s → `MODEM_PWR_EN` high → PWRKEY pulse → wait `STATUS` high / first RTCM bytes on PC7 → ≥ 2 `$PHLG` with `pwr=BATT` and fresh fix → `MODEM_PWR_EN` low → `PWR_CTRL` low → sleep 10 min. End of window decided by STATUS/RTCM, not by a timer. Note `K1` (G5V-1, coil on `/SYS5V` via `Q6`) draws its 0.15 W whenever Mode B is held on battery.
|
||||||
|
|
||||||
### F3 — Link-recovery stack cycles on battery kill the modem
|
### F3 — Link-recovery stack cycles on battery kill the modem
|
||||||
|
|
||||||
**What v6 does today:** the modem can be reset (`MODEM_RST` PC11), PWRKEY-cycled (PC8) or power-cycled alone (`MODEM_PWR_EN` PC10) without touching the F9P, and `MODEM_STATUS` (PC9) confirms the result.
|
**What v6 does today:** the modem can be reset (`MODEM_RST` PC11), PWRKEY-cycled (PC8) or power-cycled alone (`MODEM_PWR_EN` PC10) without touching the F9P, and `MODEM_STATUS` (PC9) confirms the result.
|
||||||
|
|
||||||
**Verdict: ✅ covered (hardware).** Firmware rule for v6 stays as 0.5.9: no stack cycle on battery, ever; recovery escalates modem-only — `MODEM_RST` 500 ms → PWRKEY off/on → `MODEM_PWR_EN` OFF 5 s / ON — and only after `PWR_CTRL` has been high ≥ 4 s. Never cycle `PWR_CTRL` for a link problem.
|
**Verdict: ✅ covered (hardware).** Firmware rule for v6 stays as 0.5.9: no stack cycle on battery, ever; recovery escalates modem-only — `MODEM_RST` 500 ms → PWRKEY off/on → `MODEM_PWR_EN` OFF 5 s / ON — and only after `PWR_CTRL` has been high ≥ 4 s. Never cycle `PWR_CTRL` for a link problem.
|
||||||
|
|
||||||
### F4 — Charger input limit above the supply (RS1 8 mΩ), charge current 2.4 A (R50 825 Ω)
|
### F4 — Charger input limit above the supply (RS1 8 mΩ), charge current 2.4 A (R50 825 Ω)
|
||||||
|
|
||||||
**What v6 does today:** `RS1` = **10 mΩ/1 % 1206 (C105362)** between `/VEH5V` and `/VIN_SW` → LTC4040 input limit 25 mV / 10 mΩ = **2.5 A** ✅, below U25's 3 A. **`R50` = 825 Ω/1 % (C50214)** on `PROG` → 2000/825 = **2.42 A** charge ❌. `CHRG_EN` = PA8 (pad 41) with `R56` 100 k pull-down — the 0.6.0 governor works unchanged. `CHRG_STAT` = PB3, `CHRG_FAULT` = PB4 (pull-ups `R57`/`R58` 100 k).
|
**What v6 does today:** `RS1` = **10 mΩ/1 % 1206 (C105362)** between `/VEH5V` and `/VIN_SW` → LTC4040 input limit 25 mV / 10 mΩ = **2.5 A** ✅, below U25's 3 A. **`R50` = 825 Ω/1 % (C50214)** on `PROG` → 2000/825 = **2.42 A** charge ❌. `CHRG_EN` = PA8 (pad 41) with `R56` 100 k pull-down — the 0.6.0 governor works unchanged. `CHRG_STAT` = PB3, `CHRG_FAULT` = PB4 (pull-ups `R57`/`R58` 100 k).
|
||||||
|
|
||||||
**Verdict: ⚠ partial.** Change: **`R50` 825 Ω → 1.5 kΩ 0603 1 % (C22843)** → 1.33 A (12 Ah in ~9 h). Governor 0.6.0 stays as the second layer. On v6 the supply is U25 (3 A rated, 3.5 A switch) — same reasoning as the SD-15B.
|
**Verdict: ⚠ partial.** Change: **`R50` 825 Ω → 1.5 kΩ 0603 1 % (C22843)** → 1.33 A (12 Ah in ~9 h). Governor 0.6.0 stays as the second layer. On v6 the supply is U25 (3 A rated, 3.5 A switch) — same reasoning as the SD-15B.
|
||||||
|
|
||||||
### F5 — Slow charge on H0008: LTC4040 die-temperature cycling from thin copper / no thermal vias
|
### F5 — Slow charge on H0008: LTC4040 die-temperature cycling from thin copper / no thermal vias
|
||||||
|
|
||||||
@ -83,52 +103,52 @@ Note on behaviour: because `R113` is a pull-down, **any MCU reset (DFU, IWDG, `N
|
|||||||
|
|
||||||
| Item | v6 | Target (ECO D2 / Copper Plan) |
|
| Item | v6 | Target (ECO D2 / Copper Plan) |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `/SW_BAT` (U6.21/22 → L6.1) | **4 segments, 0.25 mm, 12.3 mm total, F.Cu, no pour** | ≥ 2 mm polygon |
|
| `/SW_BAT` (U6.21/22 → L6.1) | **4 segments, 0.25 mm, 12.3 mm total, F.Cu, no pour** | ≥ 2 mm polygon |
|
||||||
| `/BAT_PLUS` (P3.1 → L6.2 → U6.23, C35, R5) | 0.25 mm (5.4 mm) + 0.5 mm (42 mm F.Cu + 70.5 mm In2) + 1.0 mm (4.9 mm); 2 vias; no pour | ≥ 1.5 mm + via farm |
|
| `/BAT_PLUS` (P3.1 → L6.2 → U6.23, C35, R5) | 0.25 mm (5.4 mm) + 0.5 mm (42 mm F.Cu + 70.5 mm In2) + 1.0 mm (4.9 mm); 2 vias; no pour | ≥ 1.5 mm + via farm |
|
||||||
| U6 exposed pad (pad 25, 2.65 × 3.65 mm) | footprint `QFN-24-1EP_4x5mm_P0.5mm_EP2.65x3.65mm` (no ThermalVias variant); **0 vias inside the EP**; nearest GND via 4.4 mm away | ≥ 9 thermal vias to In1 GND |
|
| U6 exposed pad (pad 25, 2.65 × 3.65 mm) | footprint `QFN-24-1EP_4x5mm_P0.5mm_EP2.65x3.65mm` (no ThermalVias variant); **0 vias inside the EP**; nearest GND via 4.4 mm away | ≥ 9 thermal vias to In1 GND |
|
||||||
| `L6` 2.2 µH/8 A distance to U6 | 15.2 mm (pad-to-pad 10.2–11.1 mm) | ≤ 5 mm |
|
| `L6` 2.2 µH/8 A distance to U6 | 15.2 mm (pad-to-pad 10.2–11.1 mm) | ≤ 5 mm |
|
||||||
| Input cap `C30` 10 µF / `C31` 2.2 µF to U6 | 11.2 mm / 10.0 mm | ≤ 3 mm |
|
| Input cap `C30` 10 µF / `C31` 2.2 µF to U6 | 11.2 mm / 10.0 mm | ≤ 3 mm |
|
||||||
| Temperature sensor at U6/L6 | **None.** `U4` TMP102 was deleted in v6 (schematic note); `U3` SHT40 is at (122.4, 77.3), **71 mm** from U6; `P7` NTC-HOTSPOT / `P8` NTC-PROBE-2 are JST jacks for external probes (PB1 / PC4) at 100 mm. | On-board sensor at U6/L6 |
|
| Temperature sensor at U6/L6 | **None.** `U4` TMP102 was deleted in v6 (schematic note); `U3` SHT40 is at (122.4, 77.3), **71 mm** from U6; `P7` NTC-HOTSPOT / `P8` NTC-PROBE-2 are JST jacks for external probes (PB1 / PC4) at 100 mm. | On-board sensor at U6/L6 |
|
||||||
|
|
||||||
**Verdict: ❌ missing.** This is the highest-risk item: v6 repeats the V5.5 boost copper and makes it slightly worse (0.25 vs 0.3 mm), and the charger will run its ~2.5 A input / 1.3–2.4 A charge through it at 45 °C ambient.
|
**Verdict: ❌ missing.** This is the highest-risk item: v6 repeats the V5.5 boost copper and makes it slightly worse (0.25 vs 0.3 mm), and the charger will run its ~2.5 A input / 1.3–2.4 A charge through it at 45 °C ambient.
|
||||||
|
|
||||||
**Changes:**
|
**Changes:**
|
||||||
1. Re-cluster U6: `L6` ≤ 5 mm from pads 21/22, `C30`/`C31` ≤ 3 mm from pads 6/16, `C35` at pad 23 (pre-fab audit B5).
|
1. Re-cluster U6: `L6` ≤ 5 mm from pads 21/22, `C30`/`C31` ≤ 3 mm from pads 6/16, `C35` at pad 23 (pre-fab audit B5).
|
||||||
2. `/SW_BAT` as an F.Cu polygon ≥ 2 mm wide; `/BAT_PLUS` ≥ 1.5 mm F.Cu from P3 to L6/U6 with a via farm to an In2 copper area (drop the 70 mm 0.5 mm inner run).
|
2. `/SW_BAT` as an F.Cu polygon ≥ 2 mm wide; `/BAT_PLUS` ≥ 1.5 mm F.Cu from P3 to L6/U6 with a via farm to an In2 copper area (drop the 70 mm 0.5 mm inner run).
|
||||||
3. Replace the U6 footprint with the `…_ThermalVias` variant or add ≥ 9 × 0.3 mm vias in the EP to the In1 GND plane; keep the In1 plane solid under U6 (it is split into islands today — pre-fab audit §7).
|
3. Replace the U6 footprint with the `…_ThermalVias` variant or add ≥ 9 × 0.3 mm vias in the EP to the In1 GND plane; keep the In1 plane solid under U6 (it is split into islands today — pre-fab audit §7).
|
||||||
4. Add a temperature sensor at U6/L6: **TMP102 SOT-563 (C99269, address 0x48 — free on v6; SC16IS752 is 0x4D, SHT40 0x44, SC7A20 0x18) placed between U6 and L6**, or an on-board 10 k NTC to **PC5 (pad 25, ADC1_IN15, free)** with the same 10 k/100 nF network as `R42`/`C24`. Firmware: `tchg` append field in `$PHLG`; governor uses it instead of the V5 `U4` cell sensor. Also log `tmax`.
|
4. Add a temperature sensor at U6/L6: **TMP102 SOT-563 (C99269, address 0x48 — free on v6; SC16IS752 is 0x4D, SHT40 0x44, SC7A20 0x18) placed between U6 and L6**, or an on-board 10 k NTC to **PC5 (pad 25, ADC1_IN15, free)** with the same 10 k/100 nF network as `R42`/`C24`. Firmware: `tchg` append field in `$PHLG`; governor uses it instead of the V5 `U4` cell sensor. Also log `tmax`.
|
||||||
5. Bench: thermal camera on U6/L6 during 1 h of charge at 1.3 A and 1 h of backup at 2.5 A; the 60 mV/30 s pulsing seen on H0008 must not appear.
|
5. Bench: thermal camera on U6/L6 during 1 h of charge at 1.3 A and 1 h of backup at 2.5 A; the 60 mV/30 s pulsing seen on H0008 must not appear.
|
||||||
|
|
||||||
### F6 — NTC pause invisible; charge window with RNTB 10 k pauses above ~40–42 °C
|
### F6 — NTC pause invisible; charge window with RNTB 10 k pauses above ~40–42 °C
|
||||||
|
|
||||||
**What v6 does today:** `R55` (= RNTB) **10 k/1 % (C25804)** from `/VEH5V` to `/NTC` (`U6.17`, `P3.3`). `JP2` value `F2:Li-ion`, bridged 1-2 → `/F2_SEL` = `/MAIN5V` (high) = Li-ion 4.0/4.1 V float. `JP3` F1:0, `JP4` F0:1 as on V5.5. `CHRG_FAULT` → PB4 with pull-up: the firmware can show `cflt=1` as "pausa NTC" (LTC4040 keeps CHRG low during an NTC pause; only FAULT goes low).
|
**What v6 does today:** `R55` (= RNTB) **10 k/1 % (C25804)** from `/VEH5V` to `/NTC` (`U6.17`, `P3.3`). `JP2` value `F2:Li-ion`, bridged 1-2 → `/F2_SEL` = `/MAIN5V` (high) = Li-ion 4.0/4.1 V float. `JP3` F1:0, `JP4` F0:1 as on V5.5. `CHRG_FAULT` → PB4 with pull-up: the firmware can show `cflt=1` as "pausa NTC" (LTC4040 keeps CHRG low during an NTC pause; only FAULT goes low).
|
||||||
|
|
||||||
**Verdict: ⚠ partial** (visibility ✅, window ❌ until the chemistry decision).
|
**Verdict: ⚠ partial** (visibility ✅, window ❌ until the chemistry decision).
|
||||||
|
|
||||||
**Changes (BOM/solder-jumper only, PCB unchanged):** if LFP-HT 26650 is chosen (ECO D1a): `JP2` 2-3 (F2 low, 3.50 V float) + `R55` **5.6 k** with a B3380 NTC (window +10…+60 °C). If Li-ion stays: keep 10 k and accept the pause (or 6.6 k = pause at 55 °C, hard on the cell). Firmware/monitor: `ltc=PAUSA NTC` when `CHRG_EN` allowed ∧ `CHRG_STAT` idle ∧ `CHRG_FAULT` low; cell-temperature inhibit threshold per chemistry (Li-ion 45 °C / LFP 55–60 °C). Silkscreen `JP2 = F2 (Li-ion / LFP)`.
|
**Changes (BOM/solder-jumper only, PCB unchanged):** if LFP-HT 26650 is chosen (ECO D1a): `JP2` 2-3 (F2 low, 3.50 V float) + `R55` **5.6 k** with a B3380 NTC (window +10…+60 °C). If Li-ion stays: keep 10 k and accept the pause (or 6.6 k = pause at 55 °C, hard on the cell). Firmware/monitor: `ltc=PAUSA NTC` when `CHRG_EN` allowed ∧ `CHRG_STAT` idle ∧ `CHRG_FAULT` low; cell-temperature inhibit threshold per chemistry (Li-ion 45 °C / LFP 55–60 °C). Silkscreen `JP2 = F2 (Li-ion / LFP)`.
|
||||||
|
|
||||||
### F7 — Power-supply margin: 5.25–5.57 V trimmed units vs PFI 4.44 V / warning 4.60 V / shed 4.90 V
|
### F7 — Power-supply margin: 5.25–5.57 V trimmed units vs PFI 4.44 V / warning 4.60 V / shed 4.90 V
|
||||||
|
|
||||||
**What v6 does today:** `U25` TPS54360B (C524806), feedback `R121` **53.6 k/1 %** / `R122` **10.2 k/1 %** → V_out = 0.8 V × (1 + 53.6/10.2) = **5.00 V** (pre-fab audit: "5.00 V, ~620 kHz"; `R120` 162 k). `R124` 523 k / `R125` 84.5 k (EN UVLO divider) are DNP → EN floats high (internal pull-up), U25 runs from ≈ 4.5 V input. LTC4040: PFI `R51` 270 k / `R52` 100 k → 1.2 V × 3.7 = **4.44 V**; boost `R53` 499 k / `R54` 100 k → 0.8 V × 5.99 = **4.79 V**. `5V_SENSE` = `/VEH5V` × 10 k/(10 k + 10 k) (`R7`/`R8`) → PA4, so the ADC scale is fine up to 6.6 V. `P2` (bench SD-15B) is in parallel on `/VEH5V` ("one source at a time").
|
**What v6 does today:** `U25` TPS54360B (C524806), feedback `R121` **53.6 k/1 %** / `R122` **10.2 k/1 %** → V_out = 0.8 V × (1 + 53.6/10.2) = **5.00 V** (pre-fab audit: "5.00 V, ~620 kHz"; `R120` 162 k). `R124` 523 k / `R125` 84.5 k (EN UVLO divider) are DNP → EN floats high (internal pull-up), U25 runs from ≈ 4.5 V input. LTC4040: PFI `R51` 270 k / `R52` 100 k → 1.2 V × 3.7 = **4.44 V**; boost `R53` 499 k / `R54` 100 k → 0.8 V × 5.99 = **4.79 V**. `5V_SENSE` = `/VEH5V` × 10 k/(10 k + 10 k) (`R7`/`R8`) → PA4, so the ADC scale is fine up to 6.6 V. `P2` (bench SD-15B) is in parallel on `/VEH5V` ("one source at a time").
|
||||||
|
|
||||||
Margins with 5.00 V: to PFI **0.56 V**; to the 0.6.0 governor shed line (4.90 V) **0.10 V**; to the governor start line (5.05 V) **−0.05 V** — the charger would never be enabled, and a 100–200 mV LTE sag (V5.5 measured) would hit the shed line on every burst.
|
Margins with 5.00 V: to PFI **0.56 V**; to the 0.6.0 governor shed line (4.90 V) **0.10 V**; to the governor start line (5.05 V) **−0.05 V** — the charger would never be enabled, and a 100–200 mV LTE sag (V5.5 measured) would hit the shed line on every burst.
|
||||||
|
|
||||||
**Verdict: ❌ missing.**
|
**Verdict: ❌ missing.**
|
||||||
|
|
||||||
**Changes:** `R121` 53.6 k → **57.6 k/1 % 0603** → 0.8 × (1 + 57.6/10.2) = **5.32 V** (56.2 k → 5.21 V is the minimum acceptable). Within LTC4040 VIN range (3.5–5.5 V) and U25 rating; `5V_SENSE` unchanged. Pick the LCSC number in the sourcing pass (basic 0603 1 %). Governor thresholds (5.05 start / 4.90 shed / 4.60 warn / 4.44 PFI) then have the same 0.3–0.9 V ladder as the field units. Also re-cluster U25 (`L22` 25.9 mm, `D34` 18–23 mm, `C149`/`C150` 5.4–8.8 mm from pins today) — pre-fab audit B5.
|
**Changes:** `R121` 53.6 k → **57.6 k/1 % 0603** → 0.8 × (1 + 57.6/10.2) = **5.32 V** (56.2 k → 5.21 V is the minimum acceptable). Within LTC4040 VIN range (3.5–5.5 V) and U25 rating; `5V_SENSE` unchanged. Pick the LCSC number in the sourcing pass (basic 0603 1 %). Governor thresholds (5.05 start / 4.90 shed / 4.60 warn / 4.44 PFI) then have the same 0.3–0.9 V ladder as the field units. Also re-cluster U25 (`L22` 25.9 mm, `D34` 18–23 mm, `C149`/`C150` 5.4–8.8 mm from pins today) — pre-fab audit B5.
|
||||||
|
|
||||||
### F8 — Robustness items (F1 PPTC, ETH_RST float, J9 ESD, DFU ESD placement, BOOT1 trap, PoE)
|
### F8 — Robustness items (F1 PPTC, ETH_RST float, J9 ESD, DFU ESD placement, BOOT1 trap, PoE)
|
||||||
|
|
||||||
| Item | v6 today | Verdict | Change |
|
| Item | v6 today | Verdict | Change |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| F1 PPTC 3 A (C20627123) | `F1` between `/SYS5V` and `/SW_IN` → `Q1` → `/SW_5V` → `U21` LDO → F9P only (`/SW_5V` nodes: Q1.3, C3, C40, C119, U21). The modem is not behind it. | ⚠ | Harmless (≈ 15 mV at 150 mA) but pointless at 3 A; resize to 1–1.5 A hold so it actually protects the F9P/LDO, or keep and note. Not a blocker. |
|
| F1 PPTC 3 A (C20627123) | `F1` between `/SYS5V` and `/SW_IN` → `Q1` → `/SW_5V` → `U21` LDO → F9P only (`/SW_5V` nodes: Q1.3, C3, C40, C119, U21). The modem is not behind it. | ⚠ | Harmless (≈ 15 mV at 150 mA) but pointless at 3 A; resize to 1–1.5 A hold so it actually protects the F9P/LDO, or keep and note. Not a blocker. |
|
||||||
| `ETH_RST` (PA15, pad 50 → `U11.37`) | Only two nodes; **no pull resistor**. `U12` (3V3_ETH buck) has EN tied to VIN (`U12.2` = `/SYS5V`) → `/3V3_ETH` is always up, on battery too. During an MCU reset PA15 floats, the W5500 leaves reset and draws ~130 mA for the ~4 s. | ❌ | Add 100 k 0603 (C103211) `ETH_RST` → GND (= V5.6 `R112`). Optional: drive `U12` EN from a free MCU pin (PD2 pad 54 or PB10 pad 29) with a 100 k pull-down so `/3V3_ETH` is fully off on battery and in reset. |
|
| `ETH_RST` (PA15, pad 50 → `U11.37`) | Only two nodes; **no pull resistor**. `U12` (3V3_ETH buck) has EN tied to VIN (`U12.2` = `/SYS5V`) → `/3V3_ETH` is always up, on battery too. During an MCU reset PA15 floats, the W5500 leaves reset and draws ~130 mA for the ~4 s. | ❌ | Add 100 k 0603 (C103211) `ETH_RST` → GND (= V5.6 `R112`). Optional: drive `U12` EN from a free MCU pin (PD2 pad 54 or PB10 pad 29) with a 100 k pull-down so `/3V3_ETH` is fully off on battery and in reset. |
|
||||||
| J9 modem USB-C ESD | `/USB_DP`, `/USB_DM`, `/USB_VBUS` nodes: J9 and U19 only. **No ESD device.** `Rcc1`/`Rcc2` 5.1 k present. | ❌ | Add USBLC6-2SC6 SOT-23-6 (C7519) at J9 (= V5.6 `D19`): I/O1 → USB_DM, I/O2 → USB_DP, VBUS → USB_VBUS. |
|
| J9 modem USB-C ESD | `/USB_DP`, `/USB_DM`, `/USB_VBUS` nodes: J9 and U19 only. **No ESD device.** `Rcc1`/`Rcc2` 5.1 k present. | ❌ | Add USBLC6-2SC6 SOT-23-6 (C7519) at J9 (= V5.6 `D19`): I/O1 → USB_DM, I/O2 → USB_DP, VBUS → USB_VBUS. |
|
||||||
| DFU ESD at J11 | `D14` (DFU_DP) 3.0 mm, `D15` (DFU_DM) 3.7 mm, `D16` (DFU_VBUS) 6.6 mm from J11 centre. | ✅ | — |
|
| DFU ESD at J11 | `D14` (DFU_DP) 3.0 mm, `D15` (DFU_DM) 3.7 mm, `D16` (DFU_VBUS) 6.6 mm from J11 centre. | ✅ | — |
|
||||||
| BOOT1 trap | `ETH_INT` = **PC0** (pad 8); PB2 (pad 28) = `/BOOT1_STRAP` with `R99` 10 k to GND; schematic note "never repurpose PB2". | ✅ | — |
|
| BOOT1 trap | `ETH_INT` = **PC0** (pad 8); PB2 (pad 28) = `/BOOT1_STRAP` with `R99` 10 k to GND; schematic note "never repurpose PB2". | ✅ | — |
|
||||||
| PoE on J10 | `J10` HR911105A pins 7/8 unconnected; no PoE PD circuit. Firmware 0.6.0-eth documents "sin PoE". | ⚠ (decision) | Keep no PoE (external splitter). Record the decision; if PoE is ever wanted it is a v6.1 feature (PD controller + isolated DC-DC), not a patch. |
|
| PoE on J10 | `J10` HR911105A pins 7/8 unconnected; no PoE PD circuit. Firmware 0.6.0-eth documents "sin PoE". | ⚠ (decision) | Keep no PoE (external splitter). Record the decision; if PoE is ever wanted it is a v6.1 feature (PD controller + isolated DC-DC), not a patch. |
|
||||||
| Cutoff bypass | `P5` CUTOFF-SW between `/MAIN5V` and `/SYS5V`; no solder-jumper in parallel (JP1 = fan, JP5 = RS-485 term). | ⚠ | Add `JP_CUT` (SolderJumper_2_Open) across P5, open by default (= V5.6 `JP6`). |
|
| Cutoff bypass | `P5` CUTOFF-SW between `/MAIN5V` and `/SYS5V`; no solder-jumper in parallel (JP1 = fan, JP5 = RS-485 term). | ⚠ | Add `JP_CUT` (SolderJumper_2_Open) across P5, open by default (= V5.6 `JP6`). |
|
||||||
| Silkscreen | Not checked here (pre-fab audit: all labels 0.5 mm/0.1 mm). | — | `SW1 = RESET MCU`, `JP2 = F2 (Li-ion / LFP)`, `P5 = CUTOFF`, labels ≥ 0.8/0.15 mm. |
|
| Silkscreen | Not checked here (pre-fab audit: all labels 0.5 mm/0.1 mm). | — | `SW1 = RESET MCU`, `JP2 = F2 (Li-ion / LFP)`, `P5 = CUTOFF`, labels ≥ 0.8/0.15 mm. |
|
||||||
|
|
||||||
**Verdict: ⚠ partial.**
|
**Verdict: ⚠ partial.**
|
||||||
|
|
||||||
@ -150,19 +170,19 @@ Margins with 5.00 V: to PFI **0.56 V**; to the 0.6.0 governor shed line (4.90 V)
|
|||||||
|
|
||||||
| Check | Found in v6 | Assessment |
|
| Check | Found in v6 | Assessment |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| U25 output divider and margin to PFI / VSYS | `R121` 53.6 k / `R122` 10.2 k → 5.00 V; PFI 4.44 V (`R51` 270 k / `R52` 100 k); boost 4.79 V (`R53` 499 k / `R54` 100 k) | ❌ 0.56 V to PFI, 0.10 V to the 4.90 V shed line → `R121` 57.6 k (5.32 V) |
|
| U25 output divider and margin to PFI / VSYS | `R121` 53.6 k / `R122` 10.2 k → 5.00 V; PFI 4.44 V (`R51` 270 k / `R52` 100 k); boost 4.79 V (`R53` 499 k / `R54` 100 k) | ❌ 0.56 V to PFI, 0.10 V to the 4.90 V shed line → `R121` 57.6 k (5.32 V) |
|
||||||
| Modem buck input on battery and UVLO margin | `/VIN_MODEM` ← `D21` PMEG3050EP ← `/MAIN5V` (boost) on battery; ← `D20` SS34 ← `/24V` on vehicle power | ⚠ ≈ 4.2–4.5 V at U20 VIN vs 3.8 V min → 0.4–0.7 V; improve with R53 511 k, lower-Vf D21 or VBAT_MODEM 3.6 V |
|
| Modem buck input on battery and UVLO margin | `/VIN_MODEM` ← `D21` PMEG3050EP ← `/MAIN5V` (boost) on battery; ← `D20` SS34 ← `/24V` on vehicle power | ⚠ ≈ 4.2–4.5 V at U20 VIN vs 3.8 V min → 0.4–0.7 V; improve with R53 511 k, lower-Vf D21 or VBAT_MODEM 3.6 V |
|
||||||
| MODEM_PWR_EN / PWRKEY / STATUS / RST to MCU | PC10 (pad 51) / PC8 (39, via Q20) / PC9 (40, via U24) / PC11 (52, via Q21); pull-downs R113/R114/R115 100 k | ✅ |
|
| MODEM_PWR_EN / PWRKEY / STATUS / RST to MCU | PC10 (pad 51) / PC8 (39, via Q20) / PC9 (40, via U24) / PC11 (52, via Q21); pull-downs R113/R114/R115 100 k | ✅ |
|
||||||
| Modem UART to MCU | USART6: PC7 RX ← `R106` 100 Ω ← `/DOUT_4G` (always); PC6 TX → `K1` NO → `/DIN_4G` (Mode B) | ✅ |
|
| Modem UART to MCU | USART6: PC7 RX ← `R106` 100 Ω ← `/DOUT_4G` (always); PC6 TX → `K1` NO → `/DIN_4G` (Mode B) | ✅ |
|
||||||
| Modem VBAT bulk near U19 | 440 µF (`C130`/`C131`) at 10.5–19.7 mm from pads 55–57; `C132` 22 µF at 5.6–7.3 mm | ⚠ move to ≤ 5 mm, pour VBAT_MODEM |
|
| Modem VBAT bulk near U19 | 440 µF (`C130`/`C131`) at 10.5–19.7 mm from pads 55–57; `C132` 22 µF at 5.6–7.3 mm | ⚠ move to ≤ 5 mm, pour VBAT_MODEM |
|
||||||
| `/SW_BAT` and `/BAT_PLUS` copper | 0.25 mm × 12.3 mm; 0.25–0.5 mm (+70 mm on In2); no pours | ❌ |
|
| `/SW_BAT` and `/BAT_PLUS` copper | 0.25 mm × 12.3 mm; 0.25–0.5 mm (+70 mm on In2); no pours | ❌ |
|
||||||
| LTC4040 EP thermal vias | 0 in the EP; footprint has no ThermalVias variant | ❌ |
|
| LTC4040 EP thermal vias | 0 in the EP; footprint has no ThermalVias variant | ❌ |
|
||||||
| RNTB and JP2 default | `R55` 10 k; `JP2` 1-2 = Li-ion | ⚠ pending D1 |
|
| RNTB and JP2 default | `R55` 10 k; `JP2` 1-2 = Li-ion | ⚠ pending D1 |
|
||||||
| F1 / F2 fuses | `F1` PPTC 3 A on the F9P rail only; `F2` 2 A/125 V nano fuse in holder on `/24V_IN` (LCSC still TBD per pre-fab audit) | ⚠ resize F1 (optional); pick F2 part |
|
| F1 / F2 fuses | `F1` PPTC 3 A on the F9P rail only; `F2` 2 A/125 V nano fuse in holder on `/24V_IN` (LCSC still TBD per pre-fab audit) | ⚠ resize F1 (optional); pick F2 part |
|
||||||
| ETH_RST pull | none | ❌ 100 k to GND |
|
| ETH_RST pull | none | ❌ 100 k to GND |
|
||||||
| J9 / J11 ESD | J11 ✅ (D14/D15/D16 at 3–7 mm); J9 ❌ none | add USBLC6-2SC6 at J9 |
|
| J9 / J11 ESD | J11 ✅ (D14/D15/D16 at 3–7 mm); J9 ❌ none | add USBLC6-2SC6 at J9 |
|
||||||
| W5500 PoE | none (J10 pins 7/8 open) | decision: stay without PoE |
|
| W5500 PoE | none (J10 pins 7/8 open) | decision: stay without PoE |
|
||||||
| Switcher EP vias (U20, U25) | 0 vias within 3 mm of either EP | add thermal vias (secondary to U6) |
|
| Switcher EP vias (U20, U25) | 0 vias within 3 mm of either EP | add thermal vias (secondary to U6) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -170,22 +190,22 @@ Margins with 5.00 V: to PFI **0.56 V**; to the 0.6.0 governor shed line (4.90 V)
|
|||||||
|
|
||||||
| V5.6 item | Already in v6? | Action for v6 |
|
| V5.6 item | Already in v6? | Action for v6 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `MODEM_EN` sequencing (F9P first, modem 4 s later on a settled rail) | Hardware ✅ (`MODEM_PWR_EN` PC10 + `PWR_CTRL` PA1) | Firmware `board_v6.h` + `ENABLE_DUTY 1`; identical window logic to V5.6 0.7.0, plus PWRKEY pulse and `STATUS` wait. |
|
| `MODEM_EN` sequencing (F9P first, modem 4 s later on a settled rail) | Hardware ✅ (`MODEM_PWR_EN` PC10 + `PWR_CTRL` PA1) | Firmware `board_v6.h` + `ENABLE_DUTY 1`; identical window logic to V5.6 0.7.0, plus PWRKEY pulse and `STATUS` wait. |
|
||||||
| RTCM / modem-UART visibility (`RTCM_TAP` PC7 = USART6_RX) | ✅ built in (`R106` → PC7; `K1` → PC6) | Byte counter on USART6 RX = "NTRIP flowing"; `rtcm_bps` field. |
|
| RTCM / modem-UART visibility (`RTCM_TAP` PC7 = USART6_RX) | ✅ built in (`R106` → PC7; `K1` → PC6) | Byte counter on USART6 RX = "NTRIP flowing"; `rtcm_bps` field. |
|
||||||
| Thermal copper for U6 (ECO D2 / EMC #1 #2) | ❌ | `/SW_BAT` ≥ 2 mm pour, `/BAT_PLUS` ≥ 1.5 mm + vias, EP ≥ 9 vias, L6/C30 re-clustered. |
|
| Thermal copper for U6 (ECO D2 / EMC #1 #2) | ❌ | `/SW_BAT` ≥ 2 mm pour, `/BAT_PLUS` ≥ 1.5 mm + vias, EP ≥ 9 vias, L6/C30 re-clustered. |
|
||||||
| `RS1` 10 mΩ (C105362) | ✅ | — |
|
| `RS1` 10 mΩ (C105362) | ✅ | — |
|
||||||
| `R50` 1.5 k (C22843) | ❌ (825 Ω) | Change value. |
|
| `R50` 1.5 k (C22843) | ❌ (825 Ω) | Change value. |
|
||||||
| `RNTB` 5.6 k + `JP2` 2-3 (if LFP) | ❌ (10 k, Li-ion) | Decide chemistry (D1); BOM/jumper only. |
|
| `RNTB` 5.6 k + `JP2` 2-3 (if LFP) | ❌ (10 k, Li-ion) | Decide chemistry (D1); BOM/jumper only. |
|
||||||
| PSU set-point ≥ 5.2 V | ❌ (5.00 V) | `R121` 57.6 k → 5.32 V. |
|
| PSU set-point ≥ 5.2 V | ❌ (5.00 V) | `R121` 57.6 k → 5.32 V. |
|
||||||
| ESD at connectors | J11 ✅ / J9 ❌ | USBLC6-2SC6 (C7519) at J9. |
|
| ESD at connectors | J11 ✅ / J9 ❌ | USBLC6-2SC6 (C7519) at J9. |
|
||||||
| Fuse in the F9P rail | ⚠ (3 A PPTC) | Resize to 1–1.5 A or leave; document. |
|
| Fuse in the F9P rail | ⚠ (3 A PPTC) | Resize to 1–1.5 A or leave; document. |
|
||||||
| `ETH_RST` pull-down 100 k | ❌ | Add (C103211). |
|
| `ETH_RST` pull-down 100 k | ❌ | Add (C103211). |
|
||||||
| PoE decision | none by design | Keep; write it in the schematic block-N note. |
|
| PoE decision | none by design | Keep; write it in the schematic block-N note. |
|
||||||
| Second TMP102 / NTC at U6 | ❌ (no sensor near U6; TMP102 deleted in v6) | TMP102 SOT-563 (C99269, 0x48) between U6 and L6, or NTC → PC5. |
|
| Second TMP102 / NTC at U6 | ❌ (no sensor near U6; TMP102 deleted in v6) | TMP102 SOT-563 (C99269, 0x48) between U6 and L6, or NTC → PC5. |
|
||||||
| `JP_CUT` across the cutoff connector | ❌ | Solder jumper across `P5`. |
|
| `JP_CUT` across the cutoff connector | ❌ | Solder jumper across `P5`. |
|
||||||
| 220 µF polymer on the F9P rail (`C3`) | `C3` 47 µF elco on `/SW_5V` | Optional on v6: `/SW_5V` only feeds the AP2112K LDO now. |
|
| 220 µF polymer on the F9P rail (`C3`) | `C3` 47 µF elco on `/SW_5V` | Optional on v6: `/SW_5V` only feeds the AP2112K LDO now. |
|
||||||
| 2 × 22 µF + 10 µF at the modem buck input | `C127` 10 µF + `C128` 1 µF | Add 2 × 22 µF (C86817) at `U20.2`. |
|
| 2 × 22 µF + 10 µF at the modem buck input | `C127` 10 µF + `C128` 1 µF | Add 2 × 22 µF (C86817) at `U20.2`. |
|
||||||
| AP64350 compensation (Rcomp 14 k, Ccomp 3.3 nF, 47 pF, RT 200 k, BST 100 nF) | v6 is the source (`R116` 14 k, `C141` 3.3 nF, `C142` 47 pF, `R117` 200 k, `C129` 100 nF) | Verify against the AP64350 datasheet application table for 3.8 V / 4.7 µH / 2 × 220 µF + 22 µF (same open point as V5.6 §6.1). |
|
| AP64350 compensation (Rcomp 14 k, Ccomp 3.3 nF, 47 pF, RT 200 k, BST 100 nF) | v6 is the source (`R116` 14 k, `C141` 3.3 nF, `C142` 47 pF, `R117` 200 k, `C129` 100 nF) | Verify against the AP64350 datasheet application table for 3.8 V / 4.7 µH / 2 × 220 µF + 22 µF (same open point as V5.6 §6.1). |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -193,21 +213,21 @@ Margins with 5.00 V: to PFI **0.56 V**; to the 0.6.0 governor shed line (4.90 V)
|
|||||||
|
|
||||||
| # | Risk | Lesson | Item | Refdes / value / net | Owner |
|
| # | Risk | Lesson | Item | Refdes / value / net | Owner |
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| 1 | 🔴 | F5 | LTC4040 copper + thermal vias + re-cluster | `/SW_BAT` 0.25 → ≥ 2 mm pour; `/BAT_PLUS` ≥ 1.5 mm + via farm; `U6` EP ≥ 9 × 0.3 mm vias; `L6` ≤ 5 mm; `C30`/`C31` ≤ 3 mm | Michelle |
|
| 1 | 🔴 | F5 | LTC4040 copper + thermal vias + re-cluster | `/SW_BAT` 0.25 → ≥ 2 mm pour; `/BAT_PLUS` ≥ 1.5 mm + via farm; `U6` EP ≥ 9 × 0.3 mm vias; `L6` ≤ 5 mm; `C30`/`C31` ≤ 3 mm | Michelle |
|
||||||
| 2 | 🔴 | F7 | Vehicle PSU set-point | `R121` 53.6 k → **57.6 k/1 %** (5.32 V); re-cluster `L22`/`D34`/`C149`/`C150` | Leo (value) / Michelle (layout) |
|
| 2 | 🔴 | F7 | Vehicle PSU set-point | `R121` 53.6 k → **57.6 k/1 %** (5.32 V); re-cluster `L22`/`D34`/`C149`/`C150` | Leo (value) / Michelle (layout) |
|
||||||
| 3 | 🔴 | F4 | Charge current | `R50` 825 Ω → **1.5 k/1 %** (C22843) | Leo |
|
| 3 | 🔴 | F4 | Charge current | `R50` 825 Ω → **1.5 k/1 %** (C22843) | Leo |
|
||||||
| 4 | 🟠 | F1 | Modem rail integrity on battery | `C130`/`C131` ≤ 5 mm from U19.55–57; pour `/VBAT_MODEM`; `/VIN_MODEM`, `/SW_MODEM` ≥ 0.8 mm; + 2 × 22 µF at `U20.2`; optional `R53` 511 k / D21 low-Vf / VBAT 3.6 V | Michelle / Leo |
|
| 4 | 🟠 | F1 | Modem rail integrity on battery | `C130`/`C131` ≤ 5 mm from U19.55–57; pour `/VBAT_MODEM`; `/VIN_MODEM`, `/SW_MODEM` ≥ 0.8 mm; + 2 × 22 µF at `U20.2`; optional `R53` 511 k / D21 low-Vf / VBAT 3.6 V | Michelle / Leo |
|
||||||
| 5 | 🟠 | F5 | Temperature sensor at the charger | TMP102 SOT-563 (C99269, 0x48) between U6 and L6 + 100 nF, or NTC → PC5 | Leo |
|
| 5 | 🟠 | F5 | Temperature sensor at the charger | TMP102 SOT-563 (C99269, 0x48) between U6 and L6 + 100 nF, or NTC → PC5 | Leo |
|
||||||
| 6 | 🟠 | F8 | W5500 in reset while MCU resets | 100 k (C103211) `/ETH_RST` → GND; optional `U12` EN from PD2/PB10 | Leo |
|
| 6 | 🟠 | F8 | W5500 in reset while MCU resets | 100 k (C103211) `/ETH_RST` → GND; optional `U12` EN from PD2/PB10 | Leo |
|
||||||
| 7 | 🟠 | F8 | Modem USB ESD | USBLC6-2SC6 (C7519) at `J9` | Leo |
|
| 7 | 🟠 | F8 | Modem USB ESD | USBLC6-2SC6 (C7519) at `J9` | Leo |
|
||||||
| 8 | 🟠 | F6 | NTC window / chemistry | `R55` 10 k → 5.6 k + `JP2` 2-3 if LFP-HT; else keep and display "pausa NTC" | Leo (decision D1) |
|
| 8 | 🟠 | F6 | NTC window / chemistry | `R55` 10 k → 5.6 k + `JP2` 2-3 if LFP-HT; else keep and display "pausa NTC" | Leo (decision D1) |
|
||||||
| 9 | 🟡 | F8 | Cutoff bypass | `JP_CUT` solder jumper across `P5` | Michelle |
|
| 9 | 🟡 | F8 | Cutoff bypass | `JP_CUT` solder jumper across `P5` | Michelle |
|
||||||
| 10 | 🟡 | F8 | F9P rail fuse | `F1` 3 A PPTC → 1–1.5 A hold (or document) ; `F2` part number (TBD) | Leo |
|
| 10 | 🟡 | F8 | F9P rail fuse | `F1` 3 A PPTC → 1–1.5 A hold (or document) ; `F2` part number (TBD) | Leo |
|
||||||
| 11 | 🟡 | F9 | Identity without `$GPTXT` | `$PHID` from MCU UID on 4G too; server accepts it | Firmware / backend |
|
| 11 | 🟡 | F9 | Identity without `$GPTXT` | `$PHID` from MCU UID on 4G too; server accepts it | Firmware / backend |
|
||||||
| 12 | 🟡 | F1/F2/F3 | Firmware v6 | `board_v6.h` pins (PC10/PC8/PC9/PC11, USART6, PB5 K1), duty window, modem-only recovery, no stack cycle on battery | Firmware |
|
| 12 | 🟡 | F1/F2/F3 | Firmware v6 | `board_v6.h` pins (PC10/PC8/PC9/PC11, USART6, PB5 K1), duty window, modem-only recovery, no stack cycle on battery | Firmware |
|
||||||
| 13 | 🟡 | F8 | PoE | Record "no PoE, external splitter" in block N | Leo |
|
| 13 | 🟡 | F8 | PoE | Record "no PoE, external splitter" in block N | Leo |
|
||||||
| 14 | ⚪ | F1 | AP64350 compensation vs datasheet table | `R116`/`C141`/`C142`/`R117`/`C129` | Leo |
|
| 14 | ⚪ | F1 | AP64350 compensation vs datasheet table | `R116`/`C141`/`C142`/`R117`/`C129` | Leo |
|
||||||
| 15 | ⚪ | F5 | Bench validation | Thermal camera U6/L6 at 1.3 A charge and 2.5 A backup, 1 h each; 20 battery duty cycles; U20 VIN scope at 3.5 V cell | Jesús / Leo |
|
| 15 | ⚪ | F5 | Bench validation | Thermal camera U6/L6 at 1.3 A charge and 2.5 A backup, 1 h each; 20 battery duty cycles; U20 VIN scope at 3.5 V cell | Jesús / Leo |
|
||||||
|
|
||||||
**Tally: ✅ 3 (F1, F2, F3) · ⚠ 4 (F4, F6, F8, F9) · ❌ 2 (F5, F7).**
|
**Tally: ✅ 3 (F1, F2, F3) · ⚠ 4 (F4, F6, F8, F9) · ❌ 2 (F5, F7).**
|
||||||
|
|
||||||
@ -215,8 +235,17 @@ Margins with 5.00 V: to PFI **0.56 V**; to the 0.6.0 governor shed line (4.90 V)
|
|||||||
|
|
||||||
## 5. Notes and non-findings
|
## 5. Notes and non-findings
|
||||||
|
|
||||||
- The v5.5 `DzG1` gate-clamp fix, the `R51` 270 k PFI choice (E-PFI 24-Jul) and the `RS1` 10 mΩ are already in v6.
|
- The v5.5 `DzG1` gate-clamp fix, the `R51` 270 k PFI choice (E-PFI 24-Jul) and the `RS1` 10 mΩ are already in v6.
|
||||||
- `U12` (3V3_ETH, MP1584EN from `/SYS5V`) keeps the MP1584 UVLO issue but Ethernet is not used on battery; firmware 0.6.0-eth holds the W5500 in reset without 5 V. Combined with the `ETH_RST` pull-down that is acceptable for v6.
|
- `U12` (3V3_ETH, MP1584EN from `/SYS5V`) keeps the MP1584 UVLO issue but Ethernet is not used on battery; firmware 0.6.0-eth holds the W5500 in reset without 5 V. Combined with the `ETH_RST` pull-down that is acceptable for v6.
|
||||||
- `C3` 47 µF and `C40` 22 µF on `/SW_5V` now only buffer the AP2112K LDO input; the V5.6 polymer upgrade is optional here.
|
- `C3` 47 µF and `C40` 22 µF on `/SW_5V` now only buffer the AP2112K LDO input; the V5.6 polymer upgrade is optional here.
|
||||||
- Free MCU pins after this review: PC5 (25, ADC), PB10 (29), PA9 (42), PD2 (54). PC5 is the natural home for an on-board charger NTC; PD2/PB10 for a `U12` EN.
|
- Free MCU pins after this review: PC5 (25, ADC), PB10 (29), PA9 (42), PD2 (54). PC5 is the natural home for an on-board charger NTC; PD2/PB10 for a `U12` EN.
|
||||||
- Nothing in this review changes the v6 architecture; every item is a value, a footprint or a layout change, so the pre-fab audit's B5/B6 pass (Michelle) can absorb items 1, 2 (layout part), 4 and 9 in one go.
|
- Nothing in this review changes the v6 architecture; every item is a value, a footprint or a layout change, so the pre-fab audit's B5/B6 pass (Michelle) can absorb items 1, 2 (layout part), 4 and 9 in one go.
|
||||||
|
|
||||||
|
Ver también: [manual v6](../manuales/manual-tarjeta-v6.md) · [mapa de pines MCU v6](v6-pinmap.md).
|
||||||
|
|
||||||
|
## Historial de revisiones
|
||||||
|
|
||||||
|
| Versión | Fecha | Cambios |
|
||||||
|
|---|---|---|
|
||||||
|
| 1.0 | 2026-09-28 | Revisión original (inglés) con resumen ejecutivo en español. |
|
||||||
|
| 1.1 | 2026-09-29 | Resumen en español al frente, índice del cuerpo, enlaces. Sin cambios técnicos. |
|
||||||
|
|||||||
@ -1,230 +1,231 @@
|
|||||||
# EinarBoard v6 — Schematic change report (v1.0)
|
---
|
||||||
|
title: "EinarBoard v6 — Informe de cambios al esquemático"
|
||||||
|
tags: [project-drogheda, hardware, einarboard, v6, esquematico, auditoria, kicad]
|
||||||
|
date: 2026-09-28
|
||||||
|
project: Project Drogheda
|
||||||
|
author: Helgen Technologies
|
||||||
|
---
|
||||||
|
|
||||||
!!! warning "Tarjeta: EinarBoard **v6** — proyecto KiCad `hbox-watchdog-v6` (EN DISEÑO, no se pide todavía) / Board: v6, in design"
|
# EinarBoard v6 — Informe de cambios al esquemático
|
||||||
|
|
||||||
|
!!! warning "EinarBoard v6 (`hbox-watchdog-v6`): en diseño, no se pide"
|
||||||
Diseño nuevo con ZED-F9P y módem A7670SA soldados a bordo. **No es la V5.6** que se manda a fabricar esta semana (`hbox-watchdog-v5`, zócalos para simpleRTK2B y 4G NTRIP Master). Los hallazgos marcados «Impacto en V5.6» ya se aplicaron a la V5.6 y están en su informe de cambios.
|
Diseño nuevo con ZED-F9P y módem A7670SA soldados a bordo. **No es la V5.6** que se manda a fabricar esta semana (`hbox-watchdog-v5`, zócalos para simpleRTK2B y 4G NTRIP Master). Los hallazgos marcados «Impacto en V5.6» ya se aplicaron a la V5.6 y están en su informe de cambios.
|
||||||
|
|
||||||
|
Fecha: 2026-09-28 · Proyecto: `kicad/hbox-watchdog-v6.*`, editado en su lugar (D17) · Implementa: [Auditoría completa v6](v6-auditoria-completa.md) §7.1 (Bloqueantes), §7.2 (Mayores), §7.3 Menores según D19, y las reglas de proyecto F-01 / D18 · Decisiones: `DECISIONS.md` D1–D19 (tomadas por delegación de Leo) · Autor: Helgen Technologies (elaborado con asistencia de Claude; ediciones por script sobre el texto S-expression con guarda de UUID; KiCad MCP solo para netlist, ERC, PDF, BOM, DRC y consultas de librería) · Estado: esquemático, reglas de proyecto y librería listos; **`hbox-watchdog-v6.kicad_pcb` no se tocó** (Michelle ejecuta *Update PCB from Schematic*, §10).
|
||||||
|
|
||||||
**Date:** 2026-09-28 · **Project:** `kicad/hbox-watchdog-v6.*`, edited in place (D17) · **Implements:** `2026-09-28_Drogheda_EinarBoard-v6_Full-Audit_v1.0.md` §7.1 (Blockers), §7.2 (Majors), §7.3 Minors per D19, and F-01 / D18 project rules · **Decisions:** `DECISIONS.md` D1–D19 (taken on Leo's delegation) · **Author:** Claude (scripted span-scoped S-expression edits with a UUID guard; KiCad MCP used only for netlist, ERC, PDF, BOM, DRC, library lookups and a scratch file) · **Status:** schematic, project rules and library done; **`hbox-watchdog-v6.kicad_pcb` not touched** (Michelle runs *Update PCB from Schematic*, §10).
|
Traducido del original en inglés (28-sep-2026).
|
||||||
|
|
||||||
## Resumen (ES)
|
## Resumen
|
||||||
|
|
||||||
Se aplicaron al esquemático de v6 todos los Blockers y Majors de la auditoría que son de esquemático, y los Minors de la lista D19. El módem (U20) ahora se alimenta sólo de MAIN5V (D20/D21 eliminados), el ventilador sale de VEH5V (bloque U2 y rama Q10 en DNP) y F2 (3 A) queda antes de D10. Se añadieron limitador de antena GNSS (TPS2552), TVS en ignición, sensores TMP102 del cargador (0x48) y del módem (0x49), buffer U27 hacia el F9P, ESD en J9 y en P6/P7/P8, y se corrigieron valores (R50 1.43 k, R121 57.6 k, compensación de U20, cristales). Cada grupo se comprobó con un diff de netlist: **lo esperado coincide exactamente con lo obtenido** (137 cambios de componentes/campos/pines + 16 cambios de clase de red). ERC: **0 errores** (166 → 134 warnings, todos explicados). El PCB no se tocó; Michelle debe ejecutar *Update PCB* marcando «Delete footprints with no symbols».
|
Se aplicaron al esquemático de v6 todos los Bloqueantes y Mayores de la auditoría que son de esquemático, y los Menores de la lista D19. El módem (U20) ahora se alimenta sólo de MAIN5V (D20/D21 eliminados), el ventilador sale de VEH5V (bloque U2 y rama Q10 en DNP) y F2 (3 A) queda antes de D10. Se añadieron limitador de antena GNSS (TPS2552), TVS en ignición, sensores TMP102 del cargador (0x48) y del módem (0x49), buffer U27 hacia el F9P, ESD en J9 y en P6/P7/P8, y se corrigieron valores (R50 1.43 k, R121 57.6 k, compensación de U20, cristales). Cada grupo se comprobó con un diff de netlist: lo esperado coincide exactamente con lo obtenido (137 cambios de componentes/campos/pines + 16 cambios de clase de red). ERC: **0 errores** (166 → 134 avisos, todos explicados). El PCB no se tocó; Michelle debe ejecutar *Update PCB* marcando «Delete footprints with no symbols».
|
||||||
|
|
||||||
## 0. Summary
|
## 0. Tabla resumen
|
||||||
|
|
||||||
| Item | Result |
|
| Ítem | Resultado |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Files edited in place | `hbox-watchdog-v6.kicad_sch`, `hbox-watchdog-v6.kicad_pro` (net classes only), `hbox-watchdog-v6.kicad_dru`, `Drogheda-v6.pretty/SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP.kicad_mod` |
|
| Archivos editados en su lugar | `hbox-watchdog-v6.kicad_sch`, `hbox-watchdog-v6.kicad_pro` (solo clases de red), `hbox-watchdog-v6.kicad_dru`, `Drogheda-v6.pretty/SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP.kicad_mod` |
|
||||||
| `hbox-watchdog-v6.kicad_pcb` | **Byte-identical** (sha256 `6ddec80d…` before and after) |
|
| `hbox-watchdog-v6.kicad_pcb` | Byte-idéntico (SHA-256 `6ddec80d…` antes y después) |
|
||||||
| Changes applied | Group 1 Blockers: 10 finding IDs · Group 2 Majors: 13 · Group 3 Minors: 19 (D19 list) · Group 4 rules/library: F-01, H-04 |
|
| Cambios aplicados | Grupo 1 Bloqueantes: 10 hallazgos · Grupo 2 Mayores: 13 · Grupo 3 Menores: 19 (lista D19) · Grupo 4 reglas/librería: F-01, H-04 |
|
||||||
| Parts | **37 added** (U27–U31, R135–R144, C161–C174, D35–D38, TP9–TP11, JP6), **3 removed** (D20, D21, PWR_FLAG PF15), **17 set DNP**, 1 symbol swapped (Y3 → `Device:Crystal_GND24`) |
|
| Partes | **37 añadidas** (U27–U31, R135–R144, C161–C174, D35–D38, TP9–TP11, JP6), **3 eliminadas** (D20, D21, PWR_FLAG PF15), **17 puestas en DNP**, 1 símbolo sustituido (Y3 → `Device:Crystal_GND24`) |
|
||||||
| Netlist proof | Every group: expected == actual (0 unexpected, 0 missing). Baseline → final: 37 added / 3 removed / 125 field / 22 pin-net / 16 net-class changes; composed group expectations = final netlist with **0 differences** (`netlist_diff_total.md`) |
|
| Prueba por netlist | En cada grupo: esperado == obtenido (0 inesperados, 0 faltantes). Línea base → final: 37 añadidos / 3 eliminados / 125 campos / 22 pin-net / 16 clases de red; la composición de las expectativas por grupo = netlist final con **0 diferencias** (`netlist_diff_total.md`) |
|
||||||
| ERC (kicad-cli 10.0.4) | **0 errors** before and after · warnings 166 → 134 (§5) |
|
| ERC (kicad-cli 10.0.4) | **0 errores** antes y después · avisos 166 → 134 (§5) |
|
||||||
| Overlaps / wire crossings | 30 → 30 overlaps (all pre-existing bbox hits) · 8 → 9 wire crossings (+1 is a tool bbox artefact on U30, checked in the PDF) |
|
| Solapes / cruces de cables | 30 → 30 solapes (todos preexistentes, por caja envolvente) · 8 → 9 cruces de cable (+1 es un artefacto de caja envolvente de la herramienta en U30, comprobado en el PDF) |
|
||||||
| BOM | Every populated part has an LCSC number except the pre-existing copper pads TP1–TP8 (unchanged). New pads TP9–TP11 and JP6 are excluded from the BOM |
|
| BOM | Toda parte poblada tiene número LCSC salvo los pads de cobre preexistentes TP1–TP8 (sin cambio). Los pads nuevos TP9–TP11 y JP6 quedan fuera del BOM |
|
||||||
| PDF | `03-Architecture-Hardware/hbox-watchdog-v6-schematic.pdf` (sha256 `a2c94a49…`) |
|
| PDF | `03-Architecture-Hardware/hbox-watchdog-v6-schematic.pdf` |
|
||||||
|
|
||||||
## 1. Hashes
|
## 1. Integridad de archivos
|
||||||
|
|
||||||
| File | Before | After |
|
Los hashes SHA-256 de cada archivo antes y después están en el anexo de trazabilidad. Comprobación previa: los hashes de sch y pro coincidían con la línea base de la auditoría; no había `~hbox-watchdog-v6.*.lck` (solo existen los bloqueos de v5). No se ejecutó `git` en la carpeta montada.
|
||||||
|---|---|---|
|
|
||||||
| `hbox-watchdog-v6.kicad_sch` | `ecee9fed851f02e74074340bf8361bced7c385b2502b19c368861b9851c2f04a` | `d54e330d189910afd58e18fc7cd498bdb3e6e5b7b3c4472b6cae7f95650b34c4` |
|
|
||||||
| `hbox-watchdog-v6.kicad_pro` | `25c57f3936b96a4e31cb5947668c172d318189258d6a5d2fa34d230df8958028` | `d577aa43076f5f751c291041dbf3054cb93a87facfe9f339ef91b60e073bd6ce` |
|
|
||||||
| `hbox-watchdog-v6.kicad_dru` | `47538e6cfadc0c53421ff59dadabc0e7f0ad5f11d9e2250618728788080aca1a` | `31ce0f4f23e8178b4b5e837b452e7bb8647d446ffd420559049eaaae78100831` |
|
|
||||||
| `Drogheda-v6.pretty/SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP.kicad_mod` | `0171be85ff9bf1d27232731a9931ad9d6c3c2bcdee2f5f3558ee94d2566413f9` | `3f38f26e435c477a7701636d4d5e1c05b4c7bd523e8dd04f9f57128657736313` |
|
|
||||||
| `hbox-watchdog-v6.kicad_pcb` | `6ddec80d1c15f79e69dff6c1a850b28345a5d826389f79cee8c61998240b36bf` | unchanged |
|
|
||||||
|
|
||||||
Pre-flight: sch and pro hashes matched the audit baseline; no `~hbox-watchdog-v6.*.lck` (only the v5 locks exist). No git was run in the mounted folder.
|
## 2. Cambios por hallazgo
|
||||||
|
|
||||||
## 2. Changes by finding
|
Método: cada edición es un empalme sobre el texto original, acotado a un nodo S-expression (valor de propiedad, átomo de bandera, nombre de etiqueta, punto de cable, o el nodo completo en las eliminaciones). Antes de escribir, una guarda compara el multiconjunto de UUID: ningún UUID preexistente puede desaparecer o cambiar salvo en los elementos eliminados a propósito, y no pueden aparecer duplicados nuevos. Todos los bytes no tocados quedan idénticos. Los símbolos, cables y etiquetas nuevos se escriben en el formato canónico de KiCad; cada parte nueva se cablea con un cable de 2.54 mm a una etiqueta local con el nombre exacto de la net existente (etiquetas `GND` locales, como en el resto de la hoja). El único símbolo de librería no estándar es el TPS2552 (§7).
|
||||||
|
|
||||||
Method: every edit is a splice on the original text, scoped to one S-expression node (property value, flag atom, label name, wire point, or a whole node for deletions). Before writing, a guard compares the multiset of UUIDs: no pre-existing UUID may disappear or change except for deliberately deleted items, and no new duplicates may appear. All untouched bytes stay identical. New symbols, wires and labels are written in KiCad's canonical layout; each new part is wired with a 2.54 mm wire to a local label carrying the exact existing net name (local `GND` labels as in the rest of the sheet). The only non-standard library symbol is TPS2552 (§7).
|
### 2.1 Bloqueantes (§7.1)
|
||||||
|
|
||||||
### 2.1 Blockers (§7.1)
|
| Hallazgo | Ref | De → A | LCSC | Pines / nets |
|
||||||
|
|
||||||
| Finding | Ref | From → To | LCSC | Pins / nets |
|
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| A-01 | D20 | SS34 (C8678) → **removed** | — | its labels `VIN_MODEM` (K) and `24V` (A) deleted |
|
| A-01 | D20 | SS34 (C8678) → eliminado | — | sus etiquetas `VIN_MODEM` (K) y `24V` (A) borradas |
|
||||||
| A-01 | D21 | PMEG3050EP (C50603) → **removed** | — | its labels `VIN_MODEM` (K) and `MAIN5V` (A) deleted |
|
| A-01 | D21 | PMEG3050EP (C50603) → eliminado | — | sus etiquetas `VIN_MODEM` (K) y `MAIN5V` (A) borradas |
|
||||||
| A-01 | PF15 | PWR_FLAG on `/VIN_MODEM` → **removed** with its label | — | the net no longer exists; PF2 already flags `/MAIN5V` |
|
| A-01 | PF15 | PWR_FLAG en `/VIN_MODEM` → eliminado con su etiqueta | — | la net ya no existe; PF2 ya marca `/MAIN5V` |
|
||||||
| A-01 | U20.2, C127.1, C128.1 | `/VIN_MODEM` → **`/MAIN5V`** (labels renamed) | — | no `VIN_MODEM` label remains (6 of 6 handled) |
|
| A-01 | U20.2, C127.1, C128.1 | `/VIN_MODEM` → **`/MAIN5V`** (etiquetas renombradas) | — | no queda ninguna etiqueta `VIN_MODEM` (6 de 6 atendidas) |
|
||||||
| A-01 | U2, L2, Dbk1, Cbst1, Rcomp1, Ccomp1, Rfreq1, Ren1, Ren2, R20, R21 | fitted → **DNP** | unchanged | fan now from `/VEH5V` via JP1 |
|
| A-01 | U2, L2, Dbk1, Cbst1, Rcomp1, Ccomp1, Rfreq1, Ren1, Ren2, R20, R21 | montado → DNP | sin cambio | el ventilador ahora sale de `/VEH5V` vía JP1 |
|
||||||
| A-01 | JP1 | `…SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm` → **`Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm`** | no part | `/5V_FAN` = `/VEH5V` in copper (net-tie footprint) |
|
| A-01 | JP1 | `…SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm` → **`Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm`** | sin parte | `/5V_FAN` = `/VEH5V` en cobre (huella tipo net-tie) |
|
||||||
| A-01 | Q10, DzG1, Rrp1, C10, C11, C22 | fitted → **DNP** | unchanged | `/24V` loads checked first: {C10, C11, C22, D20, DzG1, Q10, Ren1, U2} + virtual PF6 → nothing left fitted |
|
| A-01 | Q10, DzG1, Rrp1, C10, C11, C22 | montado → DNP | sin cambio | cargas de `/24V` revisadas primero: {C10, C11, C22, D20, DzG1, Q10, Ren1, U2} + PF6 virtual → no queda nada montado |
|
||||||
| A-01 + V1-01 | F2 | `2A/125V-NANO2-in-holder` C206910 → **`3A/125V-NANO2-in-holder`**, MPN 0154003.DR, Littelfuse; same holder footprint | **C206912** | P1.1 → F2 → `/VIN_FUSED` |
|
| A-01 + V1-01 | F2 | `2A/125V-NANO2-in-holder` C206910 → **`3A/125V-NANO2-in-holder`**, MPN 0154003.DR, Littelfuse; misma huella de portafusible | **C206912** | P1.1 → F2 → `/VIN_FUSED` |
|
||||||
| V1-01 | D10 | pin 1 on `/24V_IN` → **`/VIN_FUSED`** | C224019 (unchanged) | `/VIN_FUSED` = {F2.2, D10.1, Q23.2}; topology in §8 |
|
| V1-01 | D10 | pin 1 en `/24V_IN` → **`/VIN_FUSED`** | C224019 (sin cambio) | `/VIN_FUSED` = {F2.2, D10.1, Q23.2}; topología en §8 |
|
||||||
| A-03 | R50 | 825R/1% C50214 → **1.43k/1%** | **C22840** | 1.316–1.483 A |
|
| A-03 | R50 | 825R/1% C50214 → **1.43k/1%** | **C22840** | 1.316–1.483 A |
|
||||||
| B-03 | D28 | ESD9L5.0ST5G C82326, SOD-923 → **PESD0402-240**, `Diode_SMD:D_0402_1005Metric`, Littelfuse | **C1975527** | pin 1 `/RF_ANT_LTE`, pin 2 GND (symbol kept; pins 1/2 map to the 0402 pads) |
|
| B-03 | D28 | ESD9L5.0ST5G C82326, SOD-923 → **PESD0402-240**, `Diode_SMD:D_0402_1005Metric`, Littelfuse | **C1975527** | pin 1 `/RF_ANT_LTE`, pin 2 GND (símbolo conservado; pines 1/2 mapean a los pads 0402) |
|
||||||
| C-01 | **U28 (new)** | TPS2552DBVR, SOT-23-6 | **C46506** | 1 IN `/3V3_GNSS` · 2 GND · 3 ~EN `/GNSS_ANT_OFF` · 4 ~FAULT `/GNSS_ANT_SHORT_N` · 5 ILIM `/3V3_GNSS` (75 mA) · 6 OUT **`/ANT_BIAS`** |
|
| C-01 | **U28 (nuevo)** | TPS2552DBVR, SOT-23-6 | **C46506** | 1 IN `/3V3_GNSS` · 2 GND · 3 ~EN `/GNSS_ANT_OFF` · 4 ~FAULT `/GNSS_ANT_SHORT_N` · 5 ILIM `/3V3_GNSS` (75 mA) · 6 OUT **`/ANT_BIAS`** |
|
||||||
| C-01 | **R135 (new)** | 100k, ~EN → GND (antenna ON by default) | C25803 | `/GNSS_ANT_OFF` – GND |
|
| C-01 | **R135 (nuevo)** | 100k, ~EN → GND (antena encendida por omisión) | C25803 | `/GNSS_ANT_OFF` – GND |
|
||||||
| C-01 | **R136 (new)** | 10k, FAULT pull-up | C25804 | `/3V3_GNSS` – `/GNSS_ANT_SHORT_N` |
|
| C-01 | **R136 (nuevo)** | 10k, pull-up de FAULT | C25804 | `/3V3_GNSS` – `/GNSS_ANT_SHORT_N` |
|
||||||
| C-01 | L21.2, C144.1, C145.1 | `/VCC_RF_GNSS` → **`/ANT_BIAS`** | unchanged | |
|
| C-01 | L21.2, C144.1, C145.1 | `/VCC_RF_GNSS` → **`/ANT_BIAS`** | sin cambio | |
|
||||||
| C-01 | U18.7 VCC_RF | `/VCC_RF_GNSS` → **NC** (label deleted, no-connect flag added) | — | |
|
| C-01 | U18.7 VCC_RF | `/VCC_RF_GNSS` → NC (etiqueta borrada, bandera no-connect añadida) | — | |
|
||||||
| C-01 | U18.5 ANT_OFF | NC flag → label **`/GNSS_ANT_OFF`** | — | |
|
| C-01 | U18.5 ANT_OFF | bandera NC → etiqueta **`/GNSS_ANT_OFF`** | — | |
|
||||||
| F-02 | **D35 (new)** | SMBJ33A, `Diode_SMD:D_SMB` (same symbol as D10) | **C224019** | 1 (cathode) `/IGN_IN`, 2 GND; place at P1.3 |
|
| F-02 | **D35 (nuevo)** | SMBJ33A, `Diode_SMD:D_SMB` (mismo símbolo que D10) | **C224019** | 1 (cátodo) `/IGN_IN`, 2 GND; colocar en P1.3 |
|
||||||
| F-02 | Rig1 | unchanged (22k C88614); move to P1.3 is layout | — | `/IGN_IN` = {P1.3, Rig1.1, D35.1} |
|
| F-02 | Rig1 | sin cambio (22k C88614); moverlo a P1.3 es layout | — | `/IGN_IN` = {P1.3, Rig1.1, D35.1} |
|
||||||
| H-01 | U15 | `Package_SO:SOIC-16W_7.5x10.3mm_P1.27mm` → **`Package_SO:SOIC-16_3.9x9.9mm_P1.27mm`** | C15846 (unchanged) | |
|
| H-01 | U15 | `Package_SO:SOIC-16W_7.5x10.3mm_P1.27mm` → **`Package_SO:SOIC-16_3.9x9.9mm_P1.27mm`** | C15846 (sin cambio) | |
|
||||||
| H-02 | U10 | C729142 (SC16IS762) → **C57156**, MPN SC16IS752IPW,128 (value already SC16IS752IPW; symbol kept) | **C57156** | pinout identical |
|
| H-02 | U10 | C729142 (SC16IS762) → **C57156**, MPN SC16IS752IPW,128 (el valor ya era SC16IS752IPW; símbolo conservado) | **C57156** | pinout idéntico |
|
||||||
| H-02 | R53 | 499k/1% C131054 → same value, MPN RCT03499KFLF, HKR | **C177479** | |
|
| H-02 | R53 | 499k/1% C131054 → mismo valor, MPN RCT03499KFLF, HKR | **C177479** | |
|
||||||
| H-04 | U25 | no `LCSC Part` in the schematic symbol; the field comes from the library footprint → removed there (§7) | C524806 | |
|
| H-04 | U25 | sin `LCSC Part` en el símbolo del esquemático; el campo venía de la huella de librería → eliminado ahí (§7) | C524806 | |
|
||||||
| F-01 | project | net classes + `.kicad_dru` (§6) | — | |
|
| F-01 | proyecto | clases de red + `.kicad_dru` (§6) | — | |
|
||||||
| G-01 | MH4 + heatsink pair | **not applied** — board-only (§10) | — | |
|
| G-01 | MH4 + par de disipador | **no aplicado** — solo tarjeta (§10) | — | |
|
||||||
|
|
||||||
### 2.2 Majors (§7.2)
|
### 2.2 Mayores (§7.2)
|
||||||
|
|
||||||
| Finding | Ref | From → To | LCSC | Pins / nets |
|
| Hallazgo | Ref | De → A | LCSC | Pines / nets |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| A-04 | R121 | 53.6k/1% C23074 → **57.6k/1%** | **C23082** | U25 5.18/5.32/5.46 V |
|
| A-04 | R121 | 53.6k/1% C23074 → **57.6k/1%** | **C23082** | U25 5.18/5.32/5.46 V |
|
||||||
| A-05 | **C161, C162 (new)** | 47uF X7R 1210 | **C5440143** | `/MAIN5V` – GND (at U6 VSYS 1/24) |
|
| A-05 | **C161, C162 (nuevos)** | 47uF X7R 1210 | **C5440143** | `/MAIN5V` – GND (en U6 VSYS 1/24) |
|
||||||
| A-08 | U17 | AMS1117-3.3 C6186 → **TLV1117LV33DCYR** (TI); symbol `Regulator_Linear:AMS1117-3.3` kept (same 1 GND / 2 OUT / 3 IN, tab = OUT) | **C15578** | pins unchanged |
|
| A-08 | U17 | AMS1117-3.3 C6186 → **TLV1117LV33DCYR** (TI); símbolo `Regulator_Linear:AMS1117-3.3` conservado (mismo 1 GND / 2 OUT / 3 IN, lengüeta = OUT) | **C15578** | pines sin cambio |
|
||||||
| A-09 | C78 | 220uF/10V MVG C2827940 → **220uF/16V polymer**, Lelon OVZ221M1CTR-0608, same CP_Elec_6.3x7.7 | **C881921** | pin 1 `/VEH5V` = + pad |
|
| A-09 | C78 | 220uF/10V MVG C2827940 → **220uF/16V polímero**, Lelon OVZ221M1CTR-0608, misma CP_Elec_6.3x7.7 | **C881921** | pin 1 `/VEH5V` = pad + |
|
||||||
| B-02 | C130, C131 | same as C78 → **220uF/16V polymer** | **C881921** | |
|
| B-02 | C130, C131 | igual que C78 → **220uF/16V polímero** | **C881921** | |
|
||||||
| B-02 | R116 | 14k C22803 → **113k/1%** | **C22862** | |
|
| B-02 | R116 | 14k C22803 → **113k/1%** | **C22862** | |
|
||||||
| B-02 | C141 | 3.3nF C1536 → **6.8nF** X7R 0402 | **C1542** | |
|
| B-02 | C141 | 3.3nF C1536 → **6.8nF** X7R 0402 | **C1542** | |
|
||||||
| B-02 | C142 | 47pF C1567 → **56pF** C0G 0402 | **C1572** | |
|
| B-02 | C142 | 47pF C1567 → **56pF** C0G 0402 | **C1572** | |
|
||||||
| B-02 | **C166, C167 (new)** | 22uF 16 V X5R 0805 | **C86817** | `/VBAT_MODEM` – GND (at L20.2) |
|
| B-02 | **C166, C167 (nuevos)** | 22uF 16 V X5R 0805 | **C86817** | `/VBAT_MODEM` – GND (en L20.2) |
|
||||||
| F-03 | **C163, C164 (new)** | 22uF 16 V 0805 | **C86817** | `/MAIN5V` – GND (at U20.2) |
|
| F-03 | **C163, C164 (nuevos)** | 22uF 16 V 0805 | **C86817** | `/MAIN5V` – GND (en U20.2) |
|
||||||
| F-03 | **C165 (new)** | 220uF/16V polymer, `Device:C_Polarized`, CP_Elec_6.3x7.7 | **C881921** | 1 (+) `/MAIN5V`, 2 GND |
|
| F-03 | **C165 (nuevo)** | 220uF/16V polímero, `Device:C_Polarized`, CP_Elec_6.3x7.7 | **C881921** | 1 (+) `/MAIN5V`, 2 GND |
|
||||||
| F-51 | **U29 (new)** | TMP102AIDRLR, SOT-563, **I²C 0x48** | **C99269** | 1 SCL `/I2C_SCL` · 2 GND · 3 ALERT NC · 4 ADD0 GND · 5 V+ `/3V3` · 6 SDA `/I2C_SDA` |
|
| F-51 | **U29 (nuevo)** | TMP102AIDRLR, SOT-563, **I²C 0x48** | **C99269** | 1 SCL `/I2C_SCL` · 2 GND · 3 ALERT NC · 4 ADD0 GND · 5 V+ `/3V3` · 6 SDA `/I2C_SDA` |
|
||||||
| F-51 | **C168 (new)** | 100nF 0603 | C14663 | `/3V3` – GND |
|
| F-51 | **C168 (nuevo)** | 100nF 0603 | C14663 | `/3V3` – GND |
|
||||||
| F-51 | **R137 / R138 / C169 (new)** | 100k/1% top · 120k/1% bottom · 10nF 0603 | C25803 · **C25808** · C1589 | `/NTC` → R137 → **`/NTC_CELL`** → R138/C169 → GND |
|
| F-51 | **R137 / R138 / C169 (nuevos)** | 100k/1% arriba · 120k/1% abajo · 10nF 0603 | C25803 · **C25808** · C1589 | `/NTC` → R137 → **`/NTC_CELL`** → R138/C169 → GND |
|
||||||
| F-51 | U16.25 PC5 | NC flag → label **`/NTC_CELL`** (ADC1_IN15) | — | |
|
| F-51 | U16.25 PC5 | bandera NC → etiqueta **`/NTC_CELL`** (ADC1_IN15) | — | |
|
||||||
| C-02 | U21 | AP2112K-3.3 C51118 → **TPS7A2033PDBVR** (TI); symbol `Drogheda-sym:LDO_SOT23-5` kept (its generic 1 VIN / 2 GND / 3 EN / 4 NC / 5 VOUT pinout is the TPS7A20 DBV pinout) | **C2862740** | pins unchanged |
|
| C-02 | U21 | AP2112K-3.3 C51118 → **TPS7A2033PDBVR** (TI); símbolo `Drogheda-sym:LDO_SOT23-5` conservado (su pinout genérico 1 VIN / 2 GND / 3 EN / 4 NC / 5 VOUT es el del TPS7A20 DBV) | **C2862740** | pines sin cambio |
|
||||||
| E-01 | U12.2 EN | `/SYS5V` → **`/ETH_PWR_EN`** (label renamed; U12.7 VIN stays on `/SYS5V`) | — | |
|
| E-01 | U12.2 EN | `/SYS5V` → **`/ETH_PWR_EN`** (etiqueta renombrada; U12.7 VIN sigue en `/SYS5V`) | — | |
|
||||||
| E-01 | U16.54 PD2 | NC flag → label **`/ETH_PWR_EN`** | — | |
|
| E-01 | U16.54 PD2 | bandera NC → etiqueta **`/ETH_PWR_EN`** | — | |
|
||||||
| E-01 | **R139 (new)** | 100k PD | C25803 | `/ETH_PWR_EN` – GND |
|
| E-01 | **R139 (nuevo)** | 100k PD | C25803 | `/ETH_PWR_EN` – GND |
|
||||||
| E-02 | **R140 (new)** | 4.7k | **C23162** | `/ETH_RST` – GND (at U11.37) |
|
| E-02 | **R140 (nuevo)** | 4.7k | **C23162** | `/ETH_RST` – GND (en U11.37) |
|
||||||
| D-01 | **U27 (new)** | 74LVC1G125GV,125 (Nexperia), SOT-753 on `Package_TO_SOT_SMD:SOT-23-5` (same SC-74A land) | **C12518** | 1 ~OE GND · 2 A `/DOUT_4G` · 3 GND · 4 Y **`/DOUT_4G_F9P`** · 5 VCC `/3V3_GNSS` |
|
| D-01 | **U27 (nuevo)** | 74LVC1G125GV,125 (Nexperia), SOT-753 sobre `Package_TO_SOT_SMD:SOT-23-5` (mismo land SC-74A) | **C12518** | 1 ~OE GND · 2 A `/DOUT_4G` · 3 GND · 4 Y **`/DOUT_4G_F9P`** · 5 VCC `/3V3_GNSS` |
|
||||||
| D-01 | **C170 (new)** | 100nF 0603 | C14663 | `/3V3_GNSS` – GND |
|
| D-01 | **C170 (nuevo)** | 100nF 0603 | C14663 | `/3V3_GNSS` – GND |
|
||||||
| D-01 | U18.26 RXD2 | `/DOUT_4G` → **`/DOUT_4G_F9P`** | — | PC7/R106 stay on `/DOUT_4G` |
|
| D-01 | U18.26 RXD2 | `/DOUT_4G` → **`/DOUT_4G_F9P`** | — | PC7/R106 siguen en `/DOUT_4G` |
|
||||||
| D-01 | Rdfu1 | 22k C88614 → **100k** | **C25803** | |
|
| D-01 | Rdfu1 | 22k C88614 → **100k** | **C25803** | |
|
||||||
| G-02 | **U30 (new)** | USBLC6-2SC6, SOT-23-6 | **C7519** | 1,6 `/USB_DM` · 3,4 `/USB_DP` · 5 `/USB_VBUS` · 2 GND |
|
| G-02 | **U30 (nuevo)** | USBLC6-2SC6, SOT-23-6 | **C7519** | 1,6 `/USB_DM` · 3,4 `/USB_DP` · 5 `/USB_VBUS` · 2 GND |
|
||||||
| H-02b | R56, R57, R58, R85, R87, Rgs1 | C103211 (100k 5 %) → **C25803** (100k 1 %) | **C25803** | value text kept `100k`. R20/Ren1/Rfreq1 not changed (U2 block is DNP) |
|
| H-02b | R56, R57, R58, R85, R87, Rgs1 | C103211 (100k 5 %) → **C25803** (100k 1 %) | **C25803** | texto de valor conservado `100k`. R20/Ren1/Rfreq1 sin cambio (el bloque U2 es DNP) |
|
||||||
| V1-01, F-12, F-05, F-06, C-04, A-07, A-02 | — | layout-only → §10 | | |
|
| V1-01, F-12, F-05, F-06, C-04, A-07, A-02 | — | solo layout → §10 | | |
|
||||||
|
|
||||||
### 2.3 Minors (D19 list)
|
### 2.3 Menores (lista D19)
|
||||||
|
|
||||||
| Finding | Ref | From → To | LCSC | Pins / nets |
|
| Hallazgo | Ref | De → A | LCSC | Pines / nets |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| A-11 | R56.2 | GND → **`/3V3`** (label renamed): CHGOFF pulled up → charger **OFF** without MCU | C25803 | |
|
| A-11 | R56.2 | GND → **`/3V3` (etiqueta renombrada): CHGOFF con pull-up → cargador apagado** sin MCU | C25803 | |
|
||||||
| A-13 | U6.20, TP2.1 | `/PFO_TP` → **`/PFO`** (labels renamed) | — | |
|
| A-13 | U6.20, TP2.1 | `/PFO_TP` → **`/PFO`** (etiquetas renombradas) | — | |
|
||||||
| A-13 | U16.29 PB10 | NC flag → label **`/PFO`** | — | |
|
| A-13 | U16.29 PB10 | bandera NC → etiqueta **`/PFO`** | — | |
|
||||||
| A-13 | **R141 (new)** | 100k PU | C25803 | `/3V3` – `/PFO` |
|
| A-13 | **R141 (nuevo)** | 100k PU | C25803 | `/3V3` – `/PFO` |
|
||||||
| B-09 | R132, R133, R134 | 0R C304185 → **22R** | **C23345** | R131 (VDD) stays 0R |
|
| B-09 | R132, R133, R134 | 0R C304185 → **22R** | **C23345** | R131 (VDD) sigue en 0R |
|
||||||
| B-09 | **C171 (new)** | 100nF 0402 at J14.C1 | **C1525** | **`/SIMB_VDD`** – GND (J14.C1 is on `/SIMB_VDD`, after R131; the report's "(`/SIM_VDD`)" names the modem side) |
|
| B-09 | **C171 (nuevo)** | 100nF 0402 en J14.C1 | **C1525** | **`/SIMB_VDD`** – GND (J14.C1 está en `/SIMB_VDD`, después de R131; el «(`/SIM_VDD`)» del informe nombra el lado del módem) |
|
||||||
| B-10 | **R142 (new)** | 100k PD | C25803 | `/MODEM_STATUS` – GND |
|
| B-10 | **R142 (nuevo)** | 100k PD | C25803 | `/MODEM_STATUS` – GND |
|
||||||
| B-10 | **R143 (new)** | 100k PU | C25803 | `/3V3` – `/DIN_4G` |
|
| B-10 | **R143 (nuevo)** | 100k PU | C25803 | `/3V3` – `/DIN_4G` |
|
||||||
| B-10 | R106 | 100R C22775 → **1k** | **C14676** | |
|
| B-10 | R106 | 100R C22775 → **1k** | **C14676** | |
|
||||||
| C-07 | U18.50 SAFEBOOT_N | NC flag → label **`/GNSS_SAFEBOOT_N`** | — | |
|
| C-07 | U18.50 SAFEBOOT_N | bandera NC → etiqueta **`/GNSS_SAFEBOOT_N`** | — | |
|
||||||
| C-07 | **TP10, TP11 (new)** | `TestPoint:TestPoint_Pad_D1.0mm`, not in BOM | no part | TP10 `/GNSS_SAFEBOOT_N`, TP11 `/GNSS_RESET_N` |
|
| C-07 | **TP10, TP11 (nuevos)** | `TestPoint:TestPoint_Pad_D1.0mm`, fuera del BOM | sin parte | TP10 `/GNSS_SAFEBOOT_N`, TP11 `/GNSS_RESET_N` |
|
||||||
| D-02 | Y3 | `Device:Crystal` HC-49SD C14872 → **`Device:Crystal_GND24`**, `Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm`, SCTF SX3B25.000F1010F30 (25 MHz, CL 10 pF, ESR 30 Ω) | **C2901684** | pin 1 `/HSE_IN` · **pin 3 `/HSE_OUT`** · pins 2/4 **GND** (new wire + GND label). Symbol swap needed: a 2-pin symbol on the 4-pad land would have put HSE_OUT on GND pad 2. New pin 3 sits exactly where old pin 2 was, so the `HSE_OUT` label connects unchanged |
|
| D-02 | Y3 | `Device:Crystal` HC-49SD C14872 → **`Device:Crystal_GND24`**, `Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm`, SCTF SX3B25.000F1010F30 (25 MHz, CL 10 pF, ESR 30 Ω) | **C2901684** | pin 1 `/HSE_IN` · **pin 3 `/HSE_OUT`** · pines 2/4 **GND** (cable nuevo + etiqueta GND). Hacía falta cambiar el símbolo: uno de 2 pines sobre el land de 4 pads habría puesto HSE_OUT en el pad 2 de GND. El pin 3 nuevo queda exactamente donde estaba el pin 2 viejo, así que la etiqueta `HSE_OUT` conecta sin cambio |
|
||||||
| D-02 | C113, C114 | 15pF C1644 → **12pF** C0G | **C38523** | |
|
| D-02 | C113, C114 | 15pF C1644 → **12pF** C0G | **C38523** | |
|
||||||
| D-03 | Y4 | FC-135 CL 12.5 pF C32346 → **FC-135 CL 7 pF** (Epson Q13FC13500002; 7 pF confirmed on distributor listings) | **C48615** | footprint unchanged |
|
| D-03 | Y4 | FC-135 CL 12.5 pF C32346 → **FC-135 CL 7 pF** (Epson Q13FC13500002; 7 pF confirmado en listados de distribuidores) | **C48615** | huella sin cambio |
|
||||||
| D-03 | C115, C116 | 12pF C38523 → **6.8pF** C0G | **C1679** | |
|
| D-03 | C115, C116 | 12pF C38523 → **6.8pF** C0G | **C1679** | |
|
||||||
| D-05 | Rigb1 | 3.3k C22978 → **2.2k** | **C4190** | ratio 0.0833 |
|
| D-05 | Rigb1 | 3.3k C22978 → **2.2k** | **C4190** | relación 0.0833 |
|
||||||
| D-09 | **R144 (new)** | 100k PD at Q5 base | C25803 | `/BASE_LS` – GND |
|
| D-09 | **R144 (nuevo)** | 100k PD en la base de Q5 | C25803 | `/BASE_LS` – GND |
|
||||||
| D-12 | U16.42 PA9 | NC flag → label **`/USART1_TX`** | — | |
|
| D-12 | U16.42 PA9 | bandera NC → etiqueta **`/USART1_TX`** | — | |
|
||||||
| D-12 | **TP9 (new)** | `TestPoint:TestPoint_Pad_D1.5mm`, not in BOM | no part | `/USART1_TX` |
|
| D-12 | **TP9 (nuevo)** | `TestPoint:TestPoint_Pad_D1.5mm`, fuera del BOM | sin parte | `/USART1_TX` |
|
||||||
| E-03 | C95, C96 | 18pF C1647 → **33pF** C0G (Y1 kept) | **C1663** | |
|
| E-03 | C95, C96 | 18pF C1647 → **33pF** C0G (Y1 conservado) | **C1663** | |
|
||||||
| E-04 | C91 | 4.7uF C1779 0805 → **10nF** X7R, `C_0603_1608Metric` | **C1589** | `/ETH_1V2` |
|
| E-04 | C91 | 4.7uF C1779 0805 → **10nF** X7R, `C_0603_1608Metric` | **C1589** | `/ETH_1V2` |
|
||||||
| E-04 | C90 | 10uF C440198 → **4.7uF** 0805 | **C1779** | `/ETH_TOCAP` |
|
| E-04 | C90 | 10uF C440198 → **4.7uF** 0805 | **C1779** | `/ETH_TOCAP` |
|
||||||
| E-04 | **C172, C173 (new)** | 100nF 0603 at AVDD 4/8 and 11/21 | C14663 | `/3V3_ETH` – GND |
|
| E-04 | **C172, C173 (nuevos)** | 100nF 0603 en AVDD 4/8 y 11/21 | C14663 | `/3V3_ETH` – GND |
|
||||||
| F-52 | **U31 (new)** | TMP102AIDRLR, **I²C 0x49** (ADD0 → V+) | **C99269** | 1 `/I2C_SCL` · 2 GND · 3 NC · 4 `/3V3` · 5 `/3V3` · 6 `/I2C_SDA` |
|
| F-52 | **U31 (nuevo)** | TMP102AIDRLR, **I²C 0x49** (ADD0 → V+) | **C99269** | 1 `/I2C_SCL` · 2 GND · 3 NC · 4 `/3V3` · 5 `/3V3` · 6 `/I2C_SDA` |
|
||||||
| F-52 | **C174 (new)** | 100nF 0603 | C14663 | `/3V3` – GND |
|
| F-52 | **C174 (nuevo)** | 100nF 0603 | C14663 | `/3V3` – GND |
|
||||||
| G-03 | P11, P12 | `…MC_1,5_3-G-3.5_1x03_P3.50mm_Vertical` (not in library) → **`Connector_Phoenix_MC:PhoenixContact_MC_1,5_3-G-3.5_1x03_P3.50mm_Horizontal`**; populated (D10) | C5160226 (unchanged) | |
|
| G-03 | P11, P12 | `…MC_1,5_3-G-3.5_1x03_P3.50mm_Vertical` (no está en la librería) → **`Connector_Phoenix_MC:PhoenixContact_MC_1,5_3-G-3.5_1x03_P3.50mm_Horizontal`**; poblados (D10) | C5160226 (sin cambio) | |
|
||||||
| G-03 | J10 | `Connector_RJ45:…` (nickname not configured) → **`Connector_RJ:RJ45_Hanrun_HR911105A_Horizontal`**; populated | C12074 (unchanged) | |
|
| G-03 | J10 | `Connector_RJ45:…` (alias no configurado) → **`Connector_RJ:RJ45_Hanrun_HR911105A_Horizontal`**; poblado | C12074 (sin cambio) | |
|
||||||
| G-04 | **JP6 (new)** = JP_CUT | `Jumper:SolderJumper_2_Open`, open footprint, value CUTOFF_BYPASS, not in BOM | no part | 1 `/MAIN5V`, 2 `/SYS5V` |
|
| G-04 | **JP6 (nuevo)** = JP_CUT | `Jumper:SolderJumper_2_Open`, huella abierta, valor CUTOFF_BYPASS, fuera del BOM | sin parte | 1 `/MAIN5V`, 2 `/SYS5V` |
|
||||||
| G-08 | **D36, D37, D38 (new)** | PESD5V0S1BA, `Diode_SMD:D_SOD-323` (same as D14–D16) | **C2827694** | pin 1 `/NRST` / `/NTC_TEMP` / `/NTC2`, pin 2 GND |
|
| G-08 | **D36, D37, D38 (nuevos)** | PESD5V0S1BA, `Diode_SMD:D_SOD-323` (igual que D14–D16) | **C2827694** | pin 1 `/NRST` / `/NTC_TEMP` / `/NTC2`, pin 2 GND |
|
||||||
| H-08 | C22, Y2 | value text "22uF/50V" → **"10uF/50V"**; "1.8432MHz" → **"3.6864MHz"** | unchanged | |
|
| H-08 | C22, Y2 | texto de valor "22uF/50V" → **"10uF/50V"**; "1.8432MHz" → **"3.6864MHz"** | sin cambio | |
|
||||||
| B-15 | R107, R108 | value "0R-DNP" → **"0R-NEVER-FIT"** + `Note` field (still DNP) | — | |
|
| B-15 | R107, R108 | valor "0R-DNP" → **"0R-NEVER-FIT"** + campo `Note` (siguen DNP) | — | |
|
||||||
| J-04 | 23 orphan NC flags (x = 453.898 / 484.378) | **deleted** | — | |
|
| J-04 | 23 banderas NC huérfanas (x = 453.898 / 484.378) | borradas | — | |
|
||||||
| J-04 | NC flags on U16.37, U16.38, U10.13, U10.14 | **deleted** (pins stay on their nets) | — | |
|
| J-04 | banderas NC en U16.37, U16.38, U10.13, U10.14 | borradas (los pines siguen en sus nets) | — | |
|
||||||
| J-04 | wire stubs | **2b755f7f deleted** (the dangling stub over P1.4); **7c1dbfc0 trimmed** from y 219.71 to 218.948 so it ends at its GND label (R52.2 stays on GND); **46f71e27 kept** (it carries P1.4's GND label) and the P1.4 junction kept. See §12 | — | no net change |
|
| J-04 | tramos de cable | **2b755f7f borrado** (el tramo colgante sobre P1.4); **7c1dbfc0 recortado** de y 219.71 a 218.948 para que termine en su etiqueta GND (R52.2 sigue en GND); **46f71e27 conservado** (lleva la etiqueta GND de P1.4) y la unión de P1.4 conservada. Ver §12 | — | sin cambio de net |
|
||||||
|
|
||||||
## 3. New parts — where they are on the sheet
|
## 3. Partes nuevas — dónde están en la hoja
|
||||||
|
|
||||||
All new parts sit in free space found with an occupancy map of the sheet (symbols, pins, labels, wires, texts), on the 1.27 mm grid, each cluster with a blue note "v6 audit <ID>: …" stating the physical placement rule. Coordinates are schematic mm (A1 sheet).
|
Todas las partes nuevas van en espacio libre encontrado con un mapa de ocupación de la hoja (símbolos, pines, etiquetas, cables, textos), en la rejilla de 1.27 mm, cada grupo con una nota azul «v6 audit <ID>: …» que enuncia la regla de colocación física. Coordenadas en mm de esquemático (hoja A1).
|
||||||
|
|
||||||
| Cluster | Refs | Sheet position | Block it belongs to |
|
| Grupo | Refs | Posición en la hoja | Bloque al que pertenece |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| C-01 | R135, U28, R136 | (402–475, 196) | below U18 / L21 bias-T |
|
| C-01 | R135, U28, R136 | (402–475, 196) | debajo del bias-T U18 / L21 |
|
||||||
| F-02 | D35 | (94, 36) | beside P1 |
|
| F-02 | D35 | (94, 36) | junto a P1 |
|
||||||
| A-05 | C161, C162 | (377–391, 226) | right of C32–C34 |
|
| A-05 | C161, C162 | (377–391, 226) | a la derecha de C32–C34 |
|
||||||
| F-03 | C163, C164, C165 | (184–213, 295) | left of U20 |
|
| F-03 | C163, C164, C165 | (184–213, 295) | a la izquierda de U20 |
|
||||||
| B-02 | C166, C167 | (401–415, 404) | right of U19 (VBAT caps) |
|
| B-02 | C166, C167 | (401–415, 404) | a la derecha de U19 (capacitores de VBAT) |
|
||||||
| F-51 | U29, C168 | (257–287, 141) | above the charger passives (R50/R55) |
|
| F-51 | U29, C168 | (257–287, 141) | arriba de los pasivos del cargador (R50/R55) |
|
||||||
| F-51 | R137, R138, C169 | (264–298, 220) | beside R50/R56 |
|
| F-51 | R137, R138, C169 | (264–298, 220) | junto a R50/R56 |
|
||||||
| E-01 | R139 | (674, 217) | at U12 |
|
| E-01 | R139 | (674, 217) | en U12 |
|
||||||
| E-02 | R140 | (692, 60) | at U11 |
|
| E-02 | R140 | (692, 60) | en U11 |
|
||||||
| D-01 | U27, C170 | (268–304, 458) | below U23/U24 |
|
| D-01 | U27, C170 | (268–304, 458) | debajo de U23/U24 |
|
||||||
| G-02 | U30 | (489, 307) | beside J9 |
|
| G-02 | U30 | (489, 307) | junto a J9 |
|
||||||
| A-13 | R141 | (218, 246) | near TP1/TP2 |
|
| A-13 | R141 | (218, 246) | cerca de TP1/TP2 |
|
||||||
| B-09 | C171 | (328, 460) | above J14 |
|
| B-09 | C171 | (328, 460) | arriba de J14 |
|
||||||
| B-10 | R142, R143 | (284–298, 498) | below U24 |
|
| B-10 | R142, R143 | (284–298, 498) | debajo de U24 |
|
||||||
| C-07 | TP10, TP11 | (522–538, 104) | right of U18 |
|
| C-07 | TP10, TP11 | (522–538, 104) | a la derecha de U18 |
|
||||||
| D-09 | R144 | (137, 113) | at Q5 |
|
| D-09 | R144 | (137, 113) | en Q5 |
|
||||||
| D-12 | TP9 | (547, 420) | right of U16 |
|
| D-12 | TP9 | (547, 420) | a la derecha de U16 |
|
||||||
| E-04 | C172, C173 | (730–745, 183) | below C94 |
|
| E-04 | C172, C173 | (730–745, 183) | debajo de C94 |
|
||||||
| F-52 | U31, C174 | (188–218, 414) | left of U23/U24 (modem block) |
|
| F-52 | U31, C174 | (188–218, 414) | a la izquierda de U23/U24 (bloque del módem) |
|
||||||
| G-04 | JP6 | (281, 25) | beside P5 |
|
| G-04 | JP6 | (281, 25) | junto a P5 |
|
||||||
| G-08 | D36 / D37, D38 | (328, 133) / (476–503, 232) | at P6 / near P7–P8 |
|
| G-08 | D36 / D37, D38 | (328, 133) / (476–503, 232) | en P6 / cerca de P7–P8 |
|
||||||
|
|
||||||
## 4. Netlist proof
|
## 4. Prueba por netlist
|
||||||
|
|
||||||
Netlists exported with kicad-cli through the KiCad MCP after each committed group (`kicad/_to_delete/v6-apply-20260928/netlists/00…05.xml`). `tools/ndiff.py` compares refs, value, footprint, lib_id, every field and property, DNP / BOM / position flags, **ref.pin → net** and net class. The expected change set of each group was written by the edit script *before* the file was committed and asserted against the actual diff.
|
Netlists exportadas con kicad-cli a través del KiCad MCP después de cada grupo confirmado (`kicad/_to_delete/v6-apply-20260928/netlists/00…05.xml`). `tools/ndiff.py` compara refs, valor, huella, lib_id, todos los campos y propiedades, banderas DNP / BOM / posición, ref.pin → net y clase de red. El conjunto de cambios esperado de cada grupo lo escribió el script de edición *antes* de confirmar el archivo y se verificó contra el diff real.
|
||||||
|
|
||||||
| Group | Netlist | Expected (added / removed / field / pin-net / class) | Actual | Result |
|
| Grupo | Netlist | Esperado (añadidos / eliminados / campos / pin-net / clase) | Obtenido | Resultado |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| 1 Blockers | 00-baseline → 01-blockers | 4 / 3 / 38 / 9 / 0 = 54 | 4 / 3 / 38 / 9 / 0 | **MATCH** |
|
| 1 Bloqueantes | 00-baseline → 01-blockers | 4 / 3 / 38 / 9 / 0 = 54 | 4 / 3 / 38 / 9 / 0 | **COINCIDE** |
|
||||||
| 2 Majors | 01 → 02-majors | 17 / 0 / 36 / 4 / 0 = 57 | 17 / 0 / 36 / 4 / 0 | **MATCH** |
|
| 2 Mayores | 01 → 02-majors | 17 / 0 / 36 / 4 / 0 = 57 | 17 / 0 / 36 / 4 / 0 | **COINCIDE** |
|
||||||
| 3 Minors | 02 → 03-minors | 16 / 0 / 51 / 9 / 0 = 76 | 16 / 0 / 51 / 9 / 0 | **MATCH** (after the J-04 correction, §12) |
|
| 3 Menores | 02 → 03-minors | 16 / 0 / 51 / 9 / 0 = 76 | 16 / 0 / 51 / 9 / 0 | **COINCIDE** (tras la corrección de J-04, §12) |
|
||||||
| 4 Project rules | 03 → 04-rules (schematic untouched) | 0 / 0 / 0 / 0 / 16 | 0 / 0 / 0 / 0 / 16 | **MATCH** |
|
| 4 Reglas de proyecto | 03 → 04-rules (esquemático sin tocar) | 0 / 0 / 0 / 0 / 16 | 0 / 0 / 0 / 0 / 16 | **COINCIDE** |
|
||||||
| 5 Cosmetic (U30 ref text) | 04 → 05-final | 0 | 0 | **MATCH** |
|
| 5 Cosmético (texto de ref de U30) | 04 → 05-final | 0 | 0 | **COINCIDE** |
|
||||||
| **Total** | 00 → 05-final | composition of groups 1–5 | 37 / 3 / 125 / 22 / 16 | **0 differences** in every ref, attribute, pin and class |
|
| Total | 00 → 05-final | composición de los grupos 1–5 | 37 / 3 / 125 / 22 / 16 | **0 diferencias** en cada ref, atributo, pin y clase |
|
||||||
|
|
||||||
Field changes count both `footprint` and the `Footprint` field when a footprint changes. The 22 pin-net changes: U20.2, C127.1, C128.1 → `/MAIN5V`; D10.1 → `/VIN_FUSED`; L21.2, C144.1, C145.1 → `/ANT_BIAS`; U18.7 → NC; U18.5 → `/GNSS_ANT_OFF`; U12.2 → `/ETH_PWR_EN`; U16.54 → `/ETH_PWR_EN`; U16.25 → `/NTC_CELL`; U18.26 → `/DOUT_4G_F9P`; R56.2 → `/3V3`; U6.20, TP2.1 → `/PFO`; U16.29 → `/PFO`; U16.42 → `/USART1_TX`; U18.50 → `/GNSS_SAFEBOOT_N`; Y3.2 → GND, Y3.3 → `/HSE_OUT`, Y3.4 → GND. Full machine list: `netlist_diff_total.md`; per group: `out/0N-*/netlist_diff.md`.
|
Los cambios de campo cuentan tanto `footprint` como el campo `Footprint` cuando cambia una huella. Los 22 cambios pin-net: U20.2, C127.1, C128.1 → `/MAIN5V`; D10.1 → `/VIN_FUSED`; L21.2, C144.1, C145.1 → `/ANT_BIAS`; U18.7 → NC; U18.5 → `/GNSS_ANT_OFF`; U12.2 → `/ETH_PWR_EN`; U16.54 → `/ETH_PWR_EN`; U16.25 → `/NTC_CELL`; U18.26 → `/DOUT_4G_F9P`; R56.2 → `/3V3`; U6.20, TP2.1 → `/PFO`; U16.29 → `/PFO`; U16.42 → `/USART1_TX`; U18.50 → `/GNSS_SAFEBOOT_N`; Y3.2 → GND, Y3.3 → `/HSE_OUT`, Y3.4 → GND. Lista completa: `netlist_diff_total.md`; por grupo: `out/0N-*/netlist_diff.md`.
|
||||||
|
|
||||||
UUIDs: no existing symbol changed UUID (checked per group); the guard also held on every write.
|
UUID: ningún símbolo existente cambió de UUID (comprobado por grupo); la guarda también se cumplió en cada escritura.
|
||||||
|
|
||||||
## 5. ERC (kicad-cli 10.0.4 via KiCad MCP)
|
## 5. ERC (kicad-cli 10.0.4 vía KiCad MCP)
|
||||||
|
|
||||||
Per-category counts come from copies with narrowed ERC severities (`kicad/_to_delete/v6-apply-20260928/erc_work/`), because the MCP prints only 30 items. Baseline categories are the audit's (`evidence/erc_summary.md`, same file hash); final categories are from runs on the final file, and they add up to the full run.
|
Los conteos por categoría salen de copias con severidades de ERC acotadas (`kicad/_to_delete/v6-apply-20260928/erc_work/`), porque el MCP imprime solo 30 elementos. Las categorías de la línea base son las de la auditoría (`evidence/erc_summary.md`, mismo hash de archivo); las finales vienen de corridas sobre el archivo final y suman la corrida completa.
|
||||||
|
|
||||||
| Category | Before | After | Why |
|
| Categoría | Antes | Después | Por qué |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| Errors | 0 | **0** | |
|
| Errores | 0 | **0** | |
|
||||||
| pin_to_pin | 104 | 102 | −2 from D21 (unspecified-pin easyeda symbol) removed; new symbols have typed pins |
|
| pin_to_pin | 104 | 102 | −2 por D21 eliminado (símbolo easyeda con pines sin tipo); los símbolos nuevos tienen pines tipados |
|
||||||
| no_connect_dangling | 23 | 0 | J-04 orphan flags deleted |
|
| no_connect_dangling | 23 | 0 | banderas huérfanas J-04 borradas |
|
||||||
| lib_symbol_mismatch | 22 | 21 | Y3 now uses a fresh `Device:Crystal_GND24` copy |
|
| lib_symbol_mismatch | 22 | 21 | Y3 ahora usa una copia fresca de `Device:Crystal_GND24` |
|
||||||
| lib_symbol_issues (not in library) | 10 | 11 | +1: `Drogheda-sym:TPS2552DBV` is embedded only (§7). The 10 old ones remain (re-link skipped, §9) |
|
| lib_symbol_issues (no está en la librería) | 10 | 11 | +1: `Drogheda-sym:TPS2552DBV` solo embebido (§7). Los 10 viejos siguen (re-enlace omitido, §9) |
|
||||||
| footprint_link_issues | 3 | 0 | G-03 (P11, P12, J10) |
|
| footprint_link_issues | 3 | 0 | G-03 (P11, P12, J10) |
|
||||||
| no_connect_connected | 2 | 0 | J-04 |
|
| no_connect_connected | 2 | 0 | J-04 |
|
||||||
| unconnected_wire_endpoint | 2 | 0 | J-04 (stub deleted / tail trimmed) |
|
| unconnected_wire_endpoint | 2 | 0 | J-04 (tramo borrado / cola recortada) |
|
||||||
| All other checks (dangling labels, unconnected pins, power pins, …) | 0 | 0 | |
|
| Todas las demás comprobaciones (etiquetas sueltas, pines sin conectar, pines de potencia, …) | 0 | 0 | |
|
||||||
| **Total warnings** | **166** | **134** | |
|
| Total de avisos | **166** | **134** | |
|
||||||
|
|
||||||
During Group 3 an intermediate run showed 3 errors (label/pin not connected at P1.4 and R52.2) from my first J-04 stub deletion; the netlist diff flagged the same two pins. Both were fixed before continuing (§12).
|
Durante el grupo 3 una corrida intermedia mostró 3 errores (etiqueta/pin sin conectar en P1.4 y R52.2) por la primera eliminación de tramos de J-04; el diff de netlist marcó los mismos dos pines. Ambos se corrigieron antes de continuar (§12).
|
||||||
|
|
||||||
## 6. Project rules (F-01, D18)
|
## 6. Reglas de proyecto (F-01, D18)
|
||||||
|
|
||||||
### 6.1 Net classes (`hbox-watchdog-v6.kicad_pro`)
|
### 6.1 Clases de red (`hbox-watchdog-v6.kicad_pro`)
|
||||||
|
|
||||||
All old patterns were replaced by exact full net names (the un-prefixed duplicates and dead patterns `3V3_MODEM`, `SW3_NODE` are gone). In the final netlist every pattern resolves to a real net.
|
Todos los patrones viejos se sustituyeron por nombres completos exactos de net (desaparecen los duplicados sin prefijo y los patrones muertos `3V3_MODEM`, `SW3_NODE`). En la netlist final cada patrón resuelve a una net real.
|
||||||
|
|
||||||
| Class | Nets | Clearance | Track | Via | Priority |
|
| Clase | Nets | Clearance | Pista | Vía | Prioridad |
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| HV24 | `/24V_IN` `/VIN_FUSED` `/VIN_PROT` `/24V` `/IGN_IN` `/Q10_GATE` `/Q23_GATE` `/SW_PWRIN` `/BOOT_PWRIN` `/SW_FAN` `/BST_FAN` | 0.3 (was 0.5) | 1.0 (was 0.5) | 0.8/0.4 | 0 |
|
| HV24 | `/24V_IN` `/VIN_FUSED` `/VIN_PROT` `/24V` `/IGN_IN` `/Q10_GATE` `/Q23_GATE` `/SW_PWRIN` `/BOOT_PWRIN` `/SW_FAN` `/BST_FAN` | 0.3 (era 0.5) | 1.0 (era 0.5) | 0.8/0.4 | 0 |
|
||||||
| PWR_HI | `/BAT_PLUS` `/SW_BAT` `/MAIN5V` `/VEH5V` `/SYS5V` `/VIN_SW` | 0.15 (was 0.2) | 1.5 | 0.8/0.4 | 1 |
|
| PWR_HI | `/BAT_PLUS` `/SW_BAT` `/MAIN5V` `/VEH5V` `/SYS5V` `/VIN_SW` | 0.15 (era 0.2) | 1.5 | 0.8/0.4 | 1 |
|
||||||
| PWR_MODEM (new) | `/VBAT_MODEM` | 0.15 | 1.5 | 0.8/0.4 | 2 |
|
| PWR_MODEM (nueva) | `/VBAT_MODEM` | 0.15 | 1.5 | 0.8/0.4 | 2 |
|
||||||
| PWR_MID | `/SW_5V` `/SW_IN` `/5V_FAN` `/FAN_RET` | 0.15 (was 0.2) | 0.6 (was 1.0) | 0.8/0.4 | 3 |
|
| PWR_MID | `/SW_5V` `/SW_IN` `/5V_FAN` `/FAN_RET` | 0.15 (era 0.2) | 0.6 (era 1.0) | 0.8/0.4 | 3 |
|
||||||
| RF (new) | `/RF_GNSS` `/RF_ANT_GNSS` `/RF_LTE` `/RF_ANT_LTE` | 0.2 (CPWG gap) | 0.3 (CPWG width; final value from JLC's calculator) | 0.6/0.3 (no vias intended) | 4 |
|
| RF (nueva) | `/RF_GNSS` `/RF_ANT_GNSS` `/RF_LTE` `/RF_ANT_LTE` | 0.2 (gap CPWG) | 0.3 (ancho CPWG; valor final con la calculadora de JLC) | 0.6/0.3 (no se pretenden vías) | 4 |
|
||||||
| Default | everything else, incl. `/3V3_ETH` (moved out of PWR_MID, J-02), `/EN_FAN`, `/EN_PWRIN`, `/SW_MODEM`, `/BST_MODEM` | 0.15 (was 0.2) | 0.2 | 0.6/0.3 | — |
|
| Default | todo lo demás, incl. `/3V3_ETH` (sacada de PWR_MID, J-02), `/EN_FAN`, `/EN_PWRIN`, `/SW_MODEM`, `/BST_MODEM` | 0.15 (era 0.2) | 0.2 | 0.6/0.3 | — |
|
||||||
|
|
||||||
Netlist class changes (16): to HV24 `/VIN_FUSED` `/VIN_PROT` `/24V` `/IGN_IN` `/Q10_GATE` `/Q23_GATE` `/SW_PWRIN` `/BOOT_PWRIN` `/BST_FAN` (from Default) and `/SW_FAN` (from PWR_MID); `/3V3_ETH` PWR_MID → Default; `/VBAT_MODEM` → PWR_MODEM; the four RF nets → RF.
|
Cambios de clase en la netlist (16): a HV24 `/VIN_FUSED` `/VIN_PROT` `/24V` `/IGN_IN` `/Q10_GATE` `/Q23_GATE` `/SW_PWRIN` `/BOOT_PWRIN` `/BST_FAN` (desde Default) y `/SW_FAN` (desde PWR_MID); `/3V3_ETH` PWR_MID → Default; `/VBAT_MODEM` → PWR_MODEM; las cuatro nets RF → RF.
|
||||||
|
|
||||||
**Decision on the HV24 list (differs from the report table, which predates A-01):** `/VIN_MODEM` no longer exists, and **`/SW_MODEM` and `/BST_MODEM` were left out of HV24**. With A-01, U20 runs from `/MAIN5V` (≤ 5.5 V), so they are 5 V-class switch/boot nodes; in HV24 they would raise false 0.3/0.5 mm errors around U20 (like `/ETH_SW`, they stay Default with the T15 width rule). `/SW_FAN`, `/BST_FAN`, `/24V` and `/Q10_GATE` **stay HV24**: the U2 and Q10 footprints remain on the board as DNP and would carry vehicle voltage if ever fitted.
|
**Decisión sobre la lista HV24 (difiere de la tabla del informe, anterior a A-01):** `/VIN_MODEM` ya no existe, y **`/SW_MODEM` y `/BST_MODEM` se dejaron fuera de HV24**. Con A-01, U20 corre desde `/MAIN5V` (≤ 5.5 V), así que son nodos de conmutación/boot de clase 5 V; en HV24 levantarían errores falsos de 0.3/0.5 mm alrededor de U20 (como `/ETH_SW`, se quedan en Default con la regla de ancho T15). `/SW_FAN`, `/BST_FAN`, `/24V` y `/Q10_GATE` **siguen en HV24**: las huellas de U2 y Q10 permanecen en la tarjeta como DNP y llevarían voltaje de vehículo si alguna vez se montaran.
|
||||||
|
|
||||||
### 6.2 `.kicad_dru` (verify_2's corrected set, verbatim; replaces "Minimum clearance 1", "HV24 clearance", "HV24 exception: MP1584EN land pattern")
|
### 6.2 `.kicad_dru` (conjunto corregido por la verificación, textual; sustituye «Minimum clearance 1», «HV24 clearance», «HV24 exception: MP1584EN land pattern»)
|
||||||
|
|
||||||
```
|
```
|
||||||
(rule "Floor 0.15 (non-HV24, non-RF)"
|
(rule "Floor 0.15 (non-HV24, non-RF)"
|
||||||
@ -252,172 +253,196 @@ Netlist class changes (16): to HV24 `/VIN_FUSED` `/VIN_PROT` `/24V` `/IGN_IN` `/
|
|||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
A 3-line comment header was added above the set. The silkscreen text rule and the three T15 power-width warning rules are unchanged (the T15 rule still names `/VIN_MODEM`, now a dead name; harmless). The U20 clause of the land-pattern rule no longer matches anything after the HV24 decision above; it was kept to stay verbatim with verify_2.
|
Se añadió un encabezado de comentario de 3 líneas sobre el conjunto. La regla de texto de serigrafía y las tres reglas de aviso de ancho de potencia T15 no cambian (la regla T15 todavía nombra `/VIN_MODEM`, ahora un nombre muerto; inofensivo). La cláusula U20 de la regla de land patterns ya no coincide con nada tras la decisión HV24 de arriba; se conservó para mantener el conjunto textual de la verificación.
|
||||||
|
|
||||||
## 7. Library
|
## 7. Librería
|
||||||
|
|
||||||
- **H-04 fixed:** `(property "LCSC Part" "C2071691")` deleted from `Drogheda-v6.pretty/SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP.kicad_mod` (one line, span-scoped; the rest of the file is byte-identical). That footprint is shared by U20 (AP64350, C2071691) and U25 (TPS54360B, C524806); both now resolve through their `LCSC` fields. The board copy of U25 still carries the field until Michelle updates the footprint from the library (§10).
|
- **H-04 corregido:** `(property "LCSC Part" "C2071691")` borrado de `Drogheda-v6.pretty/SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP.kicad_mod` (una línea, acotada; el resto del archivo es byte-idéntico). Esa huella la comparten U20 (AP64350, C2071691) y U25 (TPS54360B, C524806); ambos resuelven ahora por sus campos `LCSC`. La copia de U25 en la tarjeta todavía lleva el campo hasta que Michelle actualice la huella desde la librería (§10).
|
||||||
- **Other `LCSC Part` values in `Drogheda-v6.pretty` checked against their users (not stripped):** IND-SMD_L13.5-W12.5 C840531 = L22 ✓ · LCC-LGA-102 C5120257 = U18 ✓ · LGA-124 C18548276 = U19 ✓ · LGA-12 C5126709 = U26 ✓ · RF-SMD_FRF05002 C88374 = J12, J13 ✓ · SMA_L4.4 C113952 = D22 ✓ · VSSOP-8 C730237 = U23, U24 ✓ · SOD-923 C82326 = D27 ✓ (D28 moved to 0402) · **SOD-128 C50603 now unused** (D21 removed). None is wrong.
|
- **Otros valores `LCSC Part` en `Drogheda-v6.pretty`, cotejados contra sus usuarios (no se quitaron):** IND-SMD_L13.5-W12.5 C840531 = L22 ✓ · LCC-LGA-102 C5120257 = U18 ✓ · LGA-124 C18548276 = U19 ✓ · LGA-12 C5126709 = U26 ✓ · RF-SMD_FRF05002 C88374 = J12, J13 ✓ · SMA_L4.4 C113952 = D22 ✓ · VSSOP-8 C730237 = U23, U24 ✓ · SOD-923 C82326 = D27 ✓ (D28 pasó a 0402) · **SOD-128 C50603 ahora sin uso** (D21 eliminado). Ninguno está mal.
|
||||||
- **TPS2552 symbol:** KiCad 10 has no TPS2552 symbol (the MIC2007/2008 SOT-23-6 switches have a different pinout), so `Drogheda-sym:TPS2552DBV` was authored and **embedded in the schematic only**: box symbol, 1 IN power_in, 2 GND power_in, 3 ~EN input, 4 ~FAULT open_collector, 5 ILIM passive, 6 OUT power_out, footprint SOT-23-6, TI datasheet link. `Drogheda-sym.kicad_sym` was not edited (outside this pass's file set; shared with v5), which is the +1 ERC "not found in library" warning. Copy it into the library in a library pass.
|
- **Símbolo TPS2552:** KiCad 10 no tiene símbolo TPS2552 (los interruptores MIC2007/2008 SOT-23-6 tienen otro pinout), así que se creó `Drogheda-sym:TPS2552DBV` y se embebió solo en el esquemático: símbolo de caja, 1 IN power_in, 2 GND power_in, 3 ~EN input, 4 ~FAULT open_collector, 5 ILIM passive, 6 OUT power_out, huella SOT-23-6, enlace a la hoja de datos de TI. `Drogheda-sym.kicad_sym` no se editó (fuera del conjunto de archivos de este pase; compartido con v5), que es el +1 aviso ERC «not found in library». Copiarlo a la librería en un pase de librería.
|
||||||
- New library symbols embedded from KiCad 10: `74xGxx:74LVC1G125`, `Power_Protection:USBLC6-2SC6`, `Device:Crystal_GND24`. `Sensor_Temperature:TMP102xxDRL` was already cached in the sheet and is content-identical to the library.
|
- Símbolos de librería nuevos embebidos desde KiCad 10: `74xGxx:74LVC1G125`, `Power_Protection:USBLC6-2SC6`, `Device:Crystal_GND24`. `Sensor_Temperature:TMP102xxDRL` ya estaba en caché en la hoja y es idéntico en contenido a la librería.
|
||||||
|
|
||||||
## 8. Reverse-polarity and fusing topology after V1-01 / A-01
|
## 8. Topología de polaridad inversa y fusible después de V1-01 / A-01
|
||||||
|
|
||||||
```
|
```
|
||||||
P1.1 ─ /24V_IN ─ F2 (3 A Nano2, socketed) ─ /VIN_FUSED ─┬─ D10 SMBJ33A (pad 1 cathode) ─ GND
|
P1.1 ─ /24V_IN ─ F2 (3 A Nano2, en portafusible) ─ /VIN_FUSED ─┬─ D10 SMBJ33A (pad 1 cátodo) ─ GND
|
||||||
└─ Q23 IRFR5305: D=/VIN_FUSED, S=/VIN_PROT, G=/Q23_GATE
|
└─ Q23 IRFR5305: D=/VIN_FUSED, S=/VIN_PROT, G=/Q23_GATE
|
||||||
D33 zener S→G clamp, R119 gate to GND
|
D33 zener clamp S→G, R119 gate a GND
|
||||||
/VIN_PROT ─ D32 SMCJ33A, C149–C151, U25 (TPS54360B) → /VEH5V
|
/VIN_PROT ─ D32 SMCJ33A, C149–C151, U25 (TPS54360B) → /VEH5V
|
||||||
/24V_IN also ─ Q10.D (Q10 branch DNP: /24V carries no fitted part)
|
/24V_IN también ─ Q10.D (rama Q10 DNP: /24V no lleva ninguna parte montada)
|
||||||
```
|
```
|
||||||
|
|
||||||
- **Correct polarity:** current flows P1 → F2 → Q23 body diode (drain→source), Q23 enhances with its gate pulled to GND (V_GS clamped at −15 V by D33) → /VIN_PROT. D10 and D32 clamp transients; D10 is now behind F2, so a TVS that fails short opens F2 instead of loading the harness.
|
- Polaridad correcta: la corriente fluye P1 → F2 → diodo de cuerpo de Q23 (drain→source), Q23 se enciende con su gate llevado a GND (V_GS recortado a −15 V por D33) → /VIN_PROT. D10 y D32 recortan transitorios; D10 queda ahora detrás de F2, así que un TVS que falle en corto abre F2 en vez de cargar el arnés.
|
||||||
- **Reversed P1:** /VIN_FUSED goes negative; Q23's gate (to GND) is positive against its source, so Q23 stays off and its body diode is reverse-biased. D10 forward-conducts GND → /VIN_FUSED through F2 → **F2 blows** (socketed, replaceable). Before V1-01, D10 sat on /24V_IN ahead of F2 and would have carried harness-fuse current.
|
- **P1 invertido:** /VIN_FUSED se va a negativo; el gate de Q23 (a GND) queda positivo respecto a su source, así que Q23 se mantiene apagado y su diodo de cuerpo en inversa. D10 conduce en directa GND → /VIN_FUSED a través de F2 → **F2 se funde** (en portafusible, reemplazable). Antes de V1-01, D10 estaba en /24V_IN antes de F2 y habría llevado la corriente del fusible del arnés.
|
||||||
- The only unfused copper left on /24V_IN is P1.1 → F2.1 and the Q10.D pad of the DNP Q10. If the Q10 branch is ever re-fitted, move Q10.D to /VIN_FUSED first.
|
- El único cobre sin fusible que queda en /24V_IN es P1.1 → F2.1 y el pad Q10.D del Q10 en DNP. Si la rama Q10 se vuelve a montar algún día, mover primero Q10.D a /VIN_FUSED.
|
||||||
- U20 now sits on /MAIN5V, upstream of the P5 cutoff (A-01 note): P5 still removes SYS5V → MCU unpowered → R113 holds U20 EN low (µA).
|
- U20 queda ahora en /MAIN5V, aguas arriba del corte P5 (nota A-01): P5 sigue quitando SYS5V → MCU sin energía → R113 mantiene el EN de U20 en bajo (µA).
|
||||||
|
|
||||||
## 9. Skipped items and decisions
|
## 9. Elementos omitidos y decisiones
|
||||||
|
|
||||||
**Not applied**
|
**No aplicados**
|
||||||
1. **G-01** (restore MH4 at (193.2, 90.3), heatsink-clamp holes MH11 + partner): board-only mounting holes; Michelle (D11 makes it a Blocker).
|
|
||||||
2. **J-04, re-linking the 10 "not found" symbols** (Q_*MOS_G?S ×7, D_Zener_ANK ×2, PCF8574): needs writing their definitions into the shared `Drogheda-sym.kicad_sym` (outside the allowed file set) and swapping 10 lib_ids. Cosmetic; left as warnings. The 22 library mismatches were left alone as the report asks (no bulk update).
|
|
||||||
3. **G-08, optional 100 Ω series resistor on NRST:** optional in the report; it would split `/NRST`. Not applied.
|
|
||||||
4. **D-08** (board-ID strap), **H-03** (MWSA0804S land), **J-03** (library pin types): excluded by D19.
|
|
||||||
5. Layout-only Majors (V1-01 layout, F-12, F-05, F-06, C-04, A-07) and A-02: layout list, §10.
|
|
||||||
|
|
||||||
**Decisions taken while applying (beyond the letter of §7)**
|
1. **G-01** (restaurar MH4 en (193.2, 90.3), barrenos de la abrazadera del disipador MH11 + pareja): barrenos de montaje solo de tarjeta; Michelle (D11 lo vuelve Bloqueante).
|
||||||
- DNP marking follows the sheet's existing convention (`(dnp yes)` only, as on C146/C147, R107/R108, R124/R125, R127–R130, U22): footprints stay on the board with the DNP attribute, and KiCad leaves DNP parts out of BOM/CPL outputs.
|
2. **J-04, re-enlazar los 10 símbolos «not found»** (Q_*MOS_G?S ×7, D_Zener_ANK ×2, PCF8574): requiere escribir sus definiciones en la `Drogheda-sym.kicad_sym` compartida (fuera del conjunto de archivos permitido) y cambiar 10 lib_id. Cosmético; se dejó como avisos. Los 22 desajustes de librería se dejaron como pide el informe (sin actualización masiva).
|
||||||
- U17, U21, U10 kept their symbols (identical pin numbering) and changed fields only; the netlist diff shows value/LCSC/MPN changes only for them.
|
3. **G-08, resistencia opcional de 100 Ω en serie en NRST:** opcional en el informe; partiría `/NRST`. No aplicada.
|
||||||
- New test pads (TP9–TP11) and JP6 are excluded from BOM and position files (no purchasable part). TP1–TP8 were left as they are.
|
4. **D-08** (strap de identificación de tarjeta), **H-03** (land MWSA0804S), **J-03** (tipos de pin de librería): excluidos por D19.
|
||||||
- HV24 net list: §6.1. PF15 removal: §2.1. C171 net: §2.3.
|
5. Mayores solo de layout (V1-01 layout, F-12, F-05, F-06, C-04, A-07) y A-02: lista de layout, §10.
|
||||||
|
|
||||||
## 10. Layout delta for Michelle
|
**Decisiones tomadas al aplicar (más allá de la letra de §7)**
|
||||||
|
|
||||||
Run **Tools → Update PCB from Schematic** on `hbox-watchdog-v6.kicad_pcb` with **"Delete footprints with no symbols" ticked** (earlier runs did not delete removed footprints), and "Update footprints" on so the changed footprints are swapped. Then run DRC (new rules, below).
|
- El marcado DNP sigue la convención existente de la hoja (`(dnp yes)` solamente, como en C146/C147, R107/R108, R124/R125, R127–R130, U22): las huellas se quedan en la tarjeta con el atributo DNP, y KiCad deja las partes DNP fuera de las salidas BOM/CPL.
|
||||||
|
- U17, U21, U10 conservaron sus símbolos (numeración de pines idéntica) y solo cambiaron campos; el diff de netlist muestra en ellos solo cambios de valor/LCSC/MPN.
|
||||||
|
- Los pads de prueba nuevos (TP9–TP11) y JP6 quedan fuera del BOM y de los archivos de posición (sin parte comprable). TP1–TP8 se dejaron como estaban.
|
||||||
|
- Lista de nets HV24: §6.1. Eliminación de PF15: §2.1. Net de C171: §2.3.
|
||||||
|
|
||||||
**New footprints to place (37)**
|
## 10. Delta de layout para Michelle
|
||||||
|
|
||||||
| Ref | Footprint | Where / constraint (from the audit) |
|
Ejecutar Tools → Update PCB from Schematic sobre `hbox-watchdog-v6.kicad_pcb` con **«Delete footprints with no symbols» marcado** (corridas anteriores no borraban las huellas eliminadas) y «Update footprints» activo para que se sustituyan las huellas cambiadas. Después correr DRC (reglas nuevas, abajo).
|
||||||
|
|
||||||
|
**Huellas nuevas por colocar (37)**
|
||||||
|
|
||||||
|
| Ref | Huella | Dónde / restricción (de la auditoría) |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| U28 | SOT-23-6 | GNSS bias switch next to L21/C144/C145 at J12; `/ANT_BIAS` ≥ 1 mm from the RF line with a stitched GND strip (F-06); short feed from `/3V3_GNSS` |
|
| U28 | SOT-23-6 | interruptor de polarización GNSS junto a L21/C144/C145 en J12; `/ANT_BIAS` a ≥ 1 mm de la línea RF con una franja de GND cosida (F-06); alimentación corta desde `/3V3_GNSS` |
|
||||||
| R135, R136 | 0603 | at U28 pins 3 and 4 |
|
| R135, R136 | 0603 | en los pines 3 y 4 de U28 |
|
||||||
| D35 | D_SMB | **at P1.3**; with Rig1 moved to ≤ 3 mm of copper from P1.3 so `/IGN_IN` is ≤ 3 mm on F.Cu and the long run becomes `/IGN_SENSE` (F-02) |
|
| D35 | D_SMB | **en P1.3**; con Rig1 movido a ≤ 3 mm de cobre de P1.3 para que `/IGN_IN` mida ≤ 3 mm en F.Cu y el tramo largo pase a ser `/IGN_SENSE` (F-02) |
|
||||||
| C161, C162 | 1210 | ≤ 2 mm from U6 VSYS pins 1/24, GND on the U6 EP copper (A-05/A-02) |
|
| C161, C162 | 1210 | a ≤ 2 mm de los pines VSYS 1/24 de U6, GND en el cobre del pad térmico (EP) de U6 (A-05/A-02) |
|
||||||
| C163, C164 | 0805 | ≤ 2–3 mm from U20.2, GND on the U20 EP copper (F-03) |
|
| C163, C164 | 0805 | a ≤ 2–3 mm de U20.2, GND en el cobre del pad térmico (EP) de U20 (F-03) |
|
||||||
| C165 | CP_Elec_6.3x7.7 | at U20.2 (F-03) |
|
| C165 | CP_Elec_6.3x7.7 | en U20.2 (F-03) |
|
||||||
| C166, C167 | 0805 | ≤ 3 mm from L20.2 (B-02) |
|
| C166, C167 | 0805 | a ≤ 3 mm de L20.2 (B-02) |
|
||||||
| U29 + C168 | SOT-563 + 0603 | **between U6 and L6, ≤ 5 mm from the U6 EP** (F-51, R4) |
|
| U29 + C168 | SOT-563 + 0603 | **entre U6 y L6, a ≤ 5 mm del pad térmico (EP) de U6** (F-51, R4) |
|
||||||
| R137, R138, C169 | 0603 | pack-NTC tap: R138/C169 at U16 pad 25 (PC5); R137 anywhere on `/NTC` |
|
| R137, R138, C169 | 0603 | derivación de la NTC del paquete: R138/C169 en el pad 25 de U16 (PC5); R137 en cualquier punto de `/NTC` |
|
||||||
| R139 | 0603 | at U12 pin 2 (EN); new track `/ETH_PWR_EN` to U16 pad 54 (PD2) |
|
| R139 | 0603 | en el pin 2 de U12 (EN); pista nueva `/ETH_PWR_EN` al pad 54 de U16 (PD2) |
|
||||||
| R140 | 0603 | at U11.37 (`/ETH_RST`) |
|
| R140 | 0603 | en U11.37 (`/ETH_RST`) |
|
||||||
| U27 + C170 | SOT-23-5 (SOT-753) + 0603 | **at U18.26 (RXD2)**; VCC from `/3V3_GNSS` |
|
| U27 + C170 | SOT-23-5 (SOT-753) + 0603 | **en U18.26 (RXD2)**; VCC desde `/3V3_GNSS` |
|
||||||
| U30 | SOT-23-6 | **≤ 3 mm of copper from the J9 pads**, D+/D− routed through the device pads, GND via ≤ 1 mm (G-02) |
|
| U30 | SOT-23-6 | **a ≤ 3 mm de cobre de los pads de J9**, D+/D− ruteados a través de los pads del dispositivo, vía a GND a ≤ 1 mm (G-02) |
|
||||||
| R141 | 0603 | `/PFO` pull-up near U16 pad 29 (PB10) |
|
| R141 | 0603 | pull-up de `/PFO` cerca del pad 29 de U16 (PB10) |
|
||||||
| C171 | 0402 | at J14.C1 |
|
| C171 | 0402 | en J14.C1 |
|
||||||
| R142, R143 | 0603 | on `/MODEM_STATUS` (PC9) and `/DIN_4G`, any convenient spot |
|
| R142, R143 | 0603 | en `/MODEM_STATUS` (PC9) y `/DIN_4G`, donde convenga |
|
||||||
| TP10, TP11 | TestPoint_Pad_D1.0mm | near U18 pins 50 (SAFEBOOT_N) and 49 (RESET_N), next to a GND pad (C-07) |
|
| TP10, TP11 | TestPoint_Pad_D1.0mm | cerca de los pines 50 (SAFEBOOT_N) y 49 (RESET_N) de U18, junto a un pad de GND (C-07) |
|
||||||
| R144 | 0603 | at Q5 base |
|
| R144 | 0603 | en la base de Q5 |
|
||||||
| TP9 | TestPoint_Pad_D1.5mm | PA9 debug-TX pad next to TP3–TP5 (D-12) |
|
| TP9 | TestPoint_Pad_D1.5mm | pad de TX de depuración PA9 junto a TP3–TP5 (D-12) |
|
||||||
| C172, C173 | 0603 | at W5500 AVDD pins 4/8 and 11/21 |
|
| C172, C173 | 0603 | en los pines AVDD 4/8 y 11/21 del W5500 |
|
||||||
| U31 + C174 | SOT-563 + 0603 | **between U19 and U20** (F-52) |
|
| U31 + C174 | SOT-563 + 0603 | **entre U19 y U20** (F-52) |
|
||||||
| JP6 | SolderJumper 2-pad, open | across P5 (`/MAIN5V`–`/SYS5V`), silk "CUTOFF BYPASS" (G-04) |
|
| JP6 | SolderJumper de 2 pads, abierto | a través de P5 (`/MAIN5V`–`/SYS5V`), serigrafía «CUTOFF BYPASS» (G-04) |
|
||||||
| D36, D37, D38 | SOD-323 | ≤ 3 mm from P6.1, P7.1, P8.1 to GND (G-08) |
|
| D36, D37, D38 | SOD-323 | a ≤ 3 mm de P6.1, P7.1, P8.1 hacia GND (G-08) |
|
||||||
|
|
||||||
**Removed footprints:** D20 (D_SMA), D21 (SOD-128). (PF15 is a virtual power flag, no footprint.)
|
Huellas eliminadas: D20 (D_SMA), D21 (SOD-128). (PF15 es una bandera de potencia virtual, sin huella.)
|
||||||
|
|
||||||
**Footprint changes:** U15 → narrow `SOIC-16_3.9x9.9mm` (re-place C84–C88, local reroute) · D28 → `D_0402_1005Metric` (with the F-06 LTE reroute) · Y3 → `Crystal_SMD_3225-4Pin_3.2x2.5mm` (pad 1 HSE_IN, pad 3 HSE_OUT, pads 2/4 GND; ≤ 3–5 mm from PH0/PH1, no inner track under it) · C91 → 0603 · JP1 → Bridged (net-tie) · J10 → `Connector_RJ:` nickname (same geometry) · P11/P12 → Horizontal (already so on the PCB) · U25 → re-pull the footprint from the library so its board copy loses `LCSC Part` (H-04) · Y4 and F2 keep their footprints.
|
Cambios de huella: U15 → `SOIC-16_3.9x9.9mm` angosto (recolocar C84–C88, re-ruteo local) · D28 → `D_0402_1005Metric` (con el re-ruteo LTE de F-06) · Y3 → `Crystal_SMD_3225-4Pin_3.2x2.5mm` (pad 1 HSE_IN, pad 3 HSE_OUT, pads 2/4 GND; a ≤ 3–5 mm de PH0/PH1, sin pista interna debajo) · C91 → 0603 · JP1 → Bridged (net-tie) · J10 → alias `Connector_RJ:` (misma geometría) · P11/P12 → Horizontal (ya así en la PCB) · U25 → volver a traer la huella de la librería para que su copia en tarjeta pierda `LCSC Part` (H-04) · Y4 y F2 conservan sus huellas.
|
||||||
|
|
||||||
**DNP changes:** set DNP: U2, L2, Dbk1, Cbst1, Rcomp1, Ccomp1, Rfreq1, Ren1, Ren2, R20, R21, Q10, DzG1, Rrp1, C10, C11, C22. **Clear DNP:** J10, P11, P12 (populated per D10).
|
Cambios de DNP: poner DNP: U2, L2, Dbk1, Cbst1, Rcomp1, Ccomp1, Rfreq1, Ren1, Ren2, R20, R21, Q10, DzG1, Rrp1, C10, C11, C22. Quitar DNP: J10, P11, P12 (poblados según D10).
|
||||||
|
|
||||||
**Nets that change routing**
|
Nets que cambian de ruteo
|
||||||
- `/VIN_MODEM` disappears: U20.2, C127, C128 go to **`/MAIN5V`** (≥ 1.5–2 mm all the way to U20; delete the 48 mm `/VIN_MODEM` run, A-01/A-07).
|
|
||||||
- `/VIN_FUSED` gains D10.1: P1.1 → F2 → {D10, Q23.D}; `/24V_IN` = P1.1, F2.1, Q10.D only.
|
- `/VIN_MODEM` desaparece: U20.2, C127, C128 pasan a **`/MAIN5V`** (≥ 1.5–2 mm hasta U20; borrar el tramo de 48 mm de `/VIN_MODEM`, A-01/A-07).
|
||||||
- `/ANT_BIAS` (U28.6 → L21.2, C144, C145); U18.7 is now NC; `/GNSS_ANT_OFF` (U18.5 → U28.3, R135); `/GNSS_ANT_SHORT_N` gains U28.4 and R136.
|
- `/VIN_FUSED` gana D10.1: P1.1 → F2 → {D10, Q23.D}; `/24V_IN` = P1.1, F2.1, Q10.D solamente.
|
||||||
- `/ETH_PWR_EN` (U12.2, U16.54, R139); U12.2 leaves `/SYS5V`.
|
- `/ANT_BIAS` (U28.6 → L21.2, C144, C145); U18.7 ahora es NC; `/GNSS_ANT_OFF` (U18.5 → U28.3, R135); `/GNSS_ANT_SHORT_N` gana U28.4 y R136.
|
||||||
- `/DOUT_4G_F9P` (U27.4 → U18.26); U18.26 leaves `/DOUT_4G`; U27.2 joins `/DOUT_4G`.
|
- `/ETH_PWR_EN` (U12.2, U16.54, R139); U12.2 sale de `/SYS5V`.
|
||||||
- `/PFO` (renamed from `/PFO_TP`: U6.20, TP2, plus U16.29 and R141).
|
- `/DOUT_4G_F9P` (U27.4 → U18.26); U18.26 sale de `/DOUT_4G`; U27.2 entra a `/DOUT_4G`.
|
||||||
- `/NTC_CELL` (U16.25, R137, R138, C169); `/NTC` gains R137.
|
- `/PFO` (renombrada desde `/PFO_TP`: U6.20, TP2, más U16.29 y R141).
|
||||||
|
- `/NTC_CELL` (U16.25, R137, R138, C169); `/NTC` gana R137.
|
||||||
- `/GNSS_SAFEBOOT_N` (U18.50, TP10); `/USART1_TX` (U16.42, TP9).
|
- `/GNSS_SAFEBOOT_N` (U18.50, TP10); `/USART1_TX` (U16.42, TP9).
|
||||||
- R56.2 moves from GND to `/3V3`; Y3 pads re-netted as above.
|
- R56.2 pasa de GND a `/3V3`; pads de Y3 re-asignados como arriba.
|
||||||
|
|
||||||
**DRC with the new rules (run on a copy of the current, not-yet-updated board):** 161 clearance errors (was 0). **149 of them are zone-fill proximities** (stored fills at 0.15 mm to HV24 and RF nets); a zone refill clears them. **12 are real copper spacings:** `/IGN_IN` on In2 vs GND via 0.250, `/FAN_PWM` 0.291, `/5V_FAN` via 0.300, `/NTC2` 0.305, `/VEH5V` via 0.340 (all F-02, disappear with the P1.3 move); `/VIN_PROT` vs `/VEH5V` 0.157 and 0.191 at (175.5, 113.8); `/USB_VBUS` vs Q23.1 `/Q23_GATE` 0.225; `/SW_PWRIN` vs GND track 0.270; `/24V` vs `/COMP_FAN` 0.290 ×2 (DNP branch, but the copper exists); RF class: `/RF_LTE` via vs `/PWR_CTRL` 0.150 (goes away with the F-06 F.Cu reroute). **Caveat:** KiCad lists only one violation between the long In2 `/IGN_IN` segment and `/VEH5V` (the via at 0.340 mm); the parallel `/VEH5V` 1.0 mm tracks beside it are 0.221–0.240 mm away (recomputed from the track coordinates, matching the audit's 0.221 mm) and are not listed as separate items. So do not read the DRC count as the full list; the F-02 move removes the whole In2 `/IGN_IN` run anyway. `track_width` warnings drop 183 → 121 (`/3V3_ETH` now Default, PWR_MID width 0.6). Other DRC items unchanged (82 lib_footprint_mismatch, 4 lib_footprint_issues, 11 silk_overlap, 2 silk_over_copper, 1 silk_edge). After Update PCB, expect new HV24 items on `/VIN_FUSED` at D10 and removal of the `/VIN_MODEM` ones. Check once with Inspect → Clearance Resolution that the classes survived the GUI save (resync protocol §5).
|
DRC con las reglas nuevas (corrido sobre una copia de la tarjeta actual, todavía sin actualizar): 161 errores de clearance (eran 0). **149 son proximidades de relleno de zona** (rellenos guardados a 0.15 mm de nets HV24 y RF); un refill de zonas los quita. **12 son separaciones de cobre reales:** `/IGN_IN` en In2 vs vía de GND 0.250, `/FAN_PWM` 0.291, vía de `/5V_FAN` 0.300, `/NTC2` 0.305, vía de `/VEH5V` 0.340 (todos F-02, desaparecen con el movimiento a P1.3); `/VIN_PROT` vs `/VEH5V` 0.157 y 0.191 en (175.5, 113.8); `/USB_VBUS` vs Q23.1 `/Q23_GATE` 0.225; `/SW_PWRIN` vs pista de GND 0.270; `/24V` vs `/COMP_FAN` 0.290 ×2 (rama DNP, pero el cobre existe); clase RF: vía de `/RF_LTE` vs `/PWR_CTRL` 0.150 (se va con el re-ruteo F.Cu de F-06). Salvedad: KiCad lista una sola violación entre el segmento largo de `/IGN_IN` en In2 y `/VEH5V` (la vía a 0.340 mm); las pistas paralelas de 1.0 mm de `/VEH5V` a su lado están a 0.221–0.240 mm (recalculado a partir de las coordenadas de las pistas, coincide con los 0.221 mm de la auditoría) y no se listan como elementos separados. Así que no leer el conteo del DRC como la lista completa; el movimiento de F-02 elimina de todos modos todo el tramo de `/IGN_IN` en In2. Los avisos `track_width` bajan 183 → 121 (`/3V3_ETH` ahora en Default, ancho PWR_MID 0.6). Los demás elementos del DRC no cambian (82 lib_footprint_mismatch, 4 lib_footprint_issues, 11 silk_overlap, 2 silk_over_copper, 1 silk_edge). Tras Update PCB, esperar elementos HV24 nuevos en `/VIN_FUSED` en D10 y la desaparición de los de `/VIN_MODEM`. Comprobar una vez con Inspect → Clearance Resolution que las clases sobrevivieron al guardado desde la GUI (protocolo de resincronización §5).
|
||||||
|
|
||||||
**Order notes (from the part lookups):** C2862740 (TPS7A2033PDBVR, U21) is listed by JLC under "Pre-ordered Chips": pre-order it into the account like J14. P11/P12 C5160226 stock 512 (enough for 20 boards). Re-check stock on order day (D14).
|
**Notas de pedido (de las consultas de partes):** C2862740 (TPS7A2033PDBVR, U21) aparece en JLC bajo «Pre-ordered Chips»: pre-ordenarlo en la cuenta como J14. P11/P12 C5160226 stock 512 (suficiente para 20 tarjetas). Volver a revisar stock el día del pedido (D14).
|
||||||
|
|
||||||
## 11. Firmware notes (for FW 0.7.x `board_v6.h`, D15)
|
## 11. Notas de firmware (para FW 0.7.x `board_v6.h`, D15)
|
||||||
|
|
||||||
1. **PD2 = `ETH_PWR_EN`**: U12 (3V3_ETH) enable, R139 100 k pull-down → Ethernet OFF in reset/DFU/battery; drive HIGH only on vehicle power when Ethernet is needed; keep SPI2 and PA15 low while it is off.
|
1. **PD2 = `ETH_PWR_EN`**: enable de U12 (3V3_ETH), R139 100 k pull-down → Ethernet APAGADO en reset/DFU/batería; ponerlo en ALTO solo con energía de vehículo cuando se necesite Ethernet; mantener SPI2 y PA15 en bajo mientras esté apagado.
|
||||||
2. **PB10 = `PFO`**: LTC4040 PFO, open-drain, R141 100 k pull-up to 3V3; EXTI10 falling = backup entry (VEH5V < PFI 4.40 V falling / 4.51 V rising). Update `V5_PFI` to 4.40 V.
|
2. **PB10 = `PFO`**: PFO del LTC4040, open-drain, R141 100 k pull-up a 3V3; EXTI10 flanco de bajada = entrada a respaldo (VEH5V < PFI 4.40 V bajando / 4.51 V subiendo). Actualizar `V5_PFI` a 4.40 V.
|
||||||
3. **PC5 = `NTC_CELL`** (ADC1_IN15): pack NTC through 100 k/120 k (ratio 120/220) + 10 nF; Rntc = R55·Vntc/(VEH5V − Vntc) with VEH5V from PA4; valid only with VEH5V present. Feed `tcell` into `CHG_CELL_HOT/COOL`.
|
3. **PC5 = `NTC_CELL`** (ADC1_IN15): NTC del paquete a través de 100 k/120 k (relación 120/220) + 10 nF; Rntc = R55·Vntc/(VEH5V − Vntc) con VEH5V desde PA4; válido solo con VEH5V presente. Alimentar `tcell` a `CHG_CELL_HOT/COOL`.
|
||||||
4. **CHGOFF default:** R56 is now a pull-**up** to 3V3 → PA8 (`CHRG_EN`, drives LTC4040 CHGOFF) high = charger **off** whenever the MCU is not driving. Polarity unchanged: firmware drives PA8 LOW to allow charging.
|
4. CHGOFF por omisión: R56 ahora es pull-up a 3V3 → PA8 (`CHRG_EN`, maneja CHGOFF del LTC4040) en alto = cargador apagado siempre que el MCU no lo maneje. Polaridad sin cambio: el firmware pone PA8 en BAJO para permitir la carga.
|
||||||
5. **Ignition on PA5 (ADC1_IN5), read analog**, no internal pull: Rigb1 = 2.2 k → ratio 2.0 k/24.0 k = **0.0833**: 12 V → 1.00 V, 24 V → 2.00 V, 36 V → 3.00 V, full scale 39.6 V. Add `vign` to `$PHLG`.
|
5. **Ignición en PA5 (ADC1_IN5), leer analógico**, sin pull interno: Rigb1 = 2.2 k → relación 2.0 k/24.0 k = **0.0833**: 12 V → 1.00 V, 24 V → 2.00 V, 36 V → 3.00 V, escala completa 39.6 V. Añadir `vign` a `$PHLG`.
|
||||||
6. **TMP102 at 0x48 = charger sensor (U29)**, **0x49 = modem-area sensor (U31)**; no address clash (0x18 SC7A20, 0x20 PCF8574, 0x44 SHT40, 0x4D SC16IS752). Add `tchg`, `tmodem` to `$PHLG`; shed charge on `tchg` > 85 °C.
|
6. **TMP102 en 0x48 = sensor del cargador (U29)**, **0x49 = sensor de la zona del módem (U31)**; sin choque de direcciones (0x18 SC7A20, 0x20 PCF8574, 0x44 SHT40, 0x4D SC16IS752). Añadir `tchg`, `tmodem` a `$PHLG`; cortar la carga con `tchg` > 85 °C.
|
||||||
7. GNSS antenna: F9P ANT_OFF now drives TPS2552 ~EN (set `CFG-HW-ANT_CFG_VOLTCTRL` = 1, `SHORTDET` = 1). PC2 `GNSS_ANT_SHORT_N` is driven by TPS2552 ~FAULT (open drain, 10 k to 3V3_GNSS): LOW = short or rail off. PC1 `GNSS_ANT_DETECT` remains undriven (keep hi-Z, infer open antenna from C/N0).
|
7. Antena GNSS: el ANT_OFF del F9P ahora maneja el ~EN del TPS2552 (poner `CFG-HW-ANT_CFG_VOLTCTRL` = 1, `SHORTDET` = 1). PC2 `GNSS_ANT_SHORT_N` lo maneja el ~FAULT del TPS2552 (open drain, 10 k a 3V3_GNSS): BAJO = corto o riel apagado. PC1 `GNSS_ANT_DETECT` sigue sin manejar (mantener en alta impedancia, inferir antena abierta por C/N0).
|
||||||
8. U27 now isolates F9P RXD2: F9P-only power cycles with the modem up become safe on boards that have it; keep the 0.5.5/0.5.6 back-feed rules for PA2/PA10/PC7/PC12. Rdfu1 is 100 k (≤ 27 µA into TXD2 with the F9P off).
|
8. U27 ahora aísla el RXD2 del F9P: los ciclos de energía solo del F9P con el módem encendido se vuelven seguros en tarjetas que lo tengan; mantener las reglas de retorno de corriente 0.5.5/0.5.6 para PA2/PA10/PC7/PC12. Rdfu1 es 100 k (≤ 27 µA hacia TXD2 con el F9P apagado).
|
||||||
9. `/MODEM_STATUS` (PC9) has a 100 k pull-down and `/DIN_4G` a 100 k pull-up in hardware: no internal pulls needed. R106 is 1 k.
|
9. `/MODEM_STATUS` (PC9) tiene pull-down de 100 k y `/DIN_4G` pull-up de 100 k en hardware: no hacen falta pulls internos. R106 es 1 k.
|
||||||
10. PA9 is a test pad (TP9, `USART1_TX`): usable as a TX-only debug log or ROM USART bootloader.
|
10. PA9 es un pad de prueba (TP9, `USART1_TX`): usable como log de depuración solo TX o bootloader USART de ROM.
|
||||||
11. U25 set-point is now 5.32 V nominal (R121 57.6 k): keep `CHG_RAIL_ON` 5.05 V / `CHG_RAIL_OFF` 4.90 V; compute VDDA from VREFINT.
|
11. El punto de ajuste de U25 es ahora 5.32 V nominal (R121 57.6 k): mantener `CHG_RAIL_ON` 5.05 V / `CHG_RAIL_OFF` 4.90 V; calcular VDDA desde VREFINT.
|
||||||
12. LSE: Y4 is CL 7 pF → set `LSEMOD` (high drive) before `LSEON`, LSI fallback. HSE is still 25 MHz (new 3225 crystal); `BOARD_SER_XTAL_HZ` = 3 686 400 (Y2 value text now matches).
|
12. LSE: Y4 es CL 7 pF → activar `LSEMOD` (alto drive) antes de `LSEON`, respaldo LSI. HSE sigue en 25 MHz (cristal 3225 nuevo); `BOARD_SER_XTAL_HZ` = 3 686 400 (el texto de valor de Y2 ahora coincide).
|
||||||
13. Battery mode (D9): LTE-only (`AT+CNMP=38`), Ethernet off.
|
13. Modo batería (D9): solo LTE (`AT+CNMP=38`), Ethernet apagado.
|
||||||
|
|
||||||
## 12. Incidents and surprises
|
## 12. Incidentes y sorpresas
|
||||||
|
|
||||||
1. **J-04 wire stubs were not all dangling.** The audit listed three stub UUIDs. Deleting all three broke two connections: at P1.4 the GND label sits at the far end of 46f71e27 (only 2b755f7f is the dangling overhang), and at R52.2 the GND label sits mid-segment on 7c1dbfc0 (only a 0.76 mm tail past the label was dangling). ERC showed 3 new errors and the netlist diff flagged exactly P1.4 and R52.2 as unexpected. Fixed by deleting only 2b755f7f, keeping 46f71e27 and the P1.4 junction, and trimming 7c1dbfc0 to end at its label. Re-verified: expected == actual, ERC 0 errors.
|
1. **No todos los tramos de cable de J-04 estaban colgando.** La auditoría listó tres UUID de tramos. Borrar los tres rompió dos conexiones: en P1.4 la etiqueta GND está en el extremo lejano de 46f71e27 (solo 2b755f7f es el sobrante colgante), y en R52.2 la etiqueta GND está a mitad de segmento en 7c1dbfc0 (solo una cola de 0.76 mm pasada la etiqueta colgaba). ERC mostró 3 errores nuevos y el diff de netlist marcó exactamente P1.4 y R52.2 como inesperados. Se corrigió borrando solo 2b755f7f, conservando 46f71e27 y la unión de P1.4, y recortando 7c1dbfc0 para que termine en su etiqueta. Re-verificado: esperado == obtenido, ERC 0 errores.
|
||||||
2. **`device_commit_files` re-sent a cached upload** when a staged path was reused: my second commit of Group 1 wrote the first version. Caught by hashing the Mac file after every commit; from then on every commit used a unique staged path. Every committed state in this report was hash-checked on the Mac.
|
2. **Y3 necesitaba un cambio de símbolo**, no de huella: `Device:Crystal` (2 pines) sobre el land 3225-4P habría puesto HSE_OUT en el pad 2 de GND. Se cambió a `Device:Crystal_GND24` en su lugar (UUID conservados, pines 3/4 añadidos), probado por la netlist.
|
||||||
3. **Y3 needed a symbol swap**, not a footprint swap: `Device:Crystal` (2 pins) on the 3225-4P land would have put HSE_OUT on GND pad 2. Swapped to `Device:Crystal_GND24` in place (UUIDs kept, pins 3/4 added), proven by the netlist.
|
3. **El TPS2552 no tiene símbolo en la librería de KiCad** (se creó uno embebido, §7).
|
||||||
4. **The TPS2552 has no KiCad library symbol** (embedded one authored, §7).
|
4. **El TPS7A2033PDBVR está en la categoría «Pre-ordered Chips» de JLC** (stock 28 370): pre-ordenar como J14.
|
||||||
5. **TPS7A2033PDBVR is in JLC's "Pre-ordered Chips" category** (stock 28 370): pre-order like J14.
|
5. Queda un cruce de cable en U30: es la caja envolvente de la herramienta MCP para el símbolo USBLC6, verticalmente asimétrico; el PDF muestra el cable de VBUS saliendo del pin hacia afuera.
|
||||||
6. One wire-crossing hit on U30 remains: the MCP tool's bounding box for the vertically asymmetric USBLC6 symbol; the PDF shows the VBUS wire leaving the pin outward.
|
|
||||||
|
|
||||||
## 13. New LCSC numbers (JLC DB lookup via KiCad MCP, 2026-09-28)
|
## 13. Números LCSC nuevos (consulta a la base de datos de JLC vía KiCad MCP, 2026-09-28)
|
||||||
|
|
||||||
| LCSC | Part | Package | Stock | Type | Used on |
|
| LCSC | Parte | Encapsulado | Stock | Tipo | Usado en |
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| C206912 | Littelfuse 0154003.DR 3 A | SMD 9.7×5 (Nano2 holder) | 2 217 | Ext | F2 |
|
| C206912 | Littelfuse 0154003.DR 3 A | SMD 9.7×5 (portafusible Nano2) | 2 217 | Ext | F2 |
|
||||||
| C22840 | 1.43 kΩ 1 % | 0603 | 4 965 | Ext | R50 |
|
| C22840 | 1.43 kΩ 1 % | 0603 | 4 965 | Ext | R50 |
|
||||||
| C1975527 | Littelfuse PESD0402-240 | 0402 | 9 394 | Ext | D28 |
|
| C1975527 | Littelfuse PESD0402-240 | 0402 | 9 394 | Ext | D28 |
|
||||||
| C46506 | TI TPS2552DBVR | SOT-23-6 | 3 002 | Ext | U28 |
|
| C46506 | TI TPS2552DBVR | SOT-23-6 | 3 002 | Ext | U28 |
|
||||||
| C224019 | Littelfuse SMBJ33A | DO-214AA | 9 624 | Ext | D35 |
|
| C224019 | Littelfuse SMBJ33A | DO-214AA | 9 624 | Ext | D35 |
|
||||||
| C57156 | NXP SC16IS752IPW,128 | TSSOP-28 | 2 670 | Ext | U10 |
|
| C57156 | NXP SC16IS752IPW,128 | TSSOP-28 | 2 670 | Ext | U10 |
|
||||||
| C177479 | HKR RCT03499KFLF 499 k | 0603 | 26 862 | Ext | R53 |
|
| C177479 | HKR RCT03499KFLF 499 k | 0603 | 26 862 | Ext | R53 |
|
||||||
| C23082 | 57.6 kΩ 1 % | 0603 | 3 673 | Ext | R121 |
|
| C23082 | 57.6 kΩ 1 % | 0603 | 3 673 | Ext | R121 |
|
||||||
| C5440143 | Samwha 47 µF 16 V X7R | 1210 | 242 640 | Ext | C161, C162 |
|
| C5440143 | Samwha 47 µF 16 V X7R | 1210 | 242 640 | Ext | C161, C162 |
|
||||||
| C15578 | TI TLV1117LV33DCYR | SOT-223 | 26 999 | Ext | U17 |
|
| C15578 | TI TLV1117LV33DCYR | SOT-223 | 26 999 | Ext | U17 |
|
||||||
| C881921 | Lelon OVZ221M1CTR-0608 220 µF 16 V polymer | 6.3×7.7 | 2 442 | Ext | C78, C130, C131, C165 |
|
| C881921 | Lelon OVZ221M1CTR-0608 220 µF 16 V polímero | 6.3×7.7 | 2 442 | Ext | C78, C130, C131, C165 |
|
||||||
| C22862 | 113 kΩ 1 % | 0603 | 59 728 | Ext | R116 |
|
| C22862 | 113 kΩ 1 % | 0603 | 59 728 | Ext | R116 |
|
||||||
| C1542 | 6.8 nF 50 V X7R | 0402 | 128 063 | Pref | C141 |
|
| C1542 | 6.8 nF 50 V X7R | 0402 | 128 063 | Pref | C141 |
|
||||||
| C1572 | 56 pF C0G | 0402 | 83 992 | Ext | C142 |
|
| C1572 | 56 pF C0G | 0402 | 83 992 | Ext | C142 |
|
||||||
| C86817 | Murata 22 µF 16 V X5R | 0805 | 4 144 | Ext | C163, C164, C166, C167 |
|
| C86817 | Murata 22 µF 16 V X5R | 0805 | 4 144 | Ext | C163, C164, C166, C167 |
|
||||||
| C99269 | TI TMP102AIDRLR | SOT-563 | 34 854 | Ext | U29, U31 |
|
| C99269 | TI TMP102AIDRLR | SOT-563 | 34 854 | Ext | U29, U31 |
|
||||||
| C25808 | 120 kΩ 1 % | 0603 | 773 686 | Basic | R138 |
|
| C25808 | 120 kΩ 1 % | 0603 | 773 686 | Basic | R138 |
|
||||||
| C1589 | 10 nF 50 V X7R | 0603 | 6 584 349 | Ext | C169, C91 |
|
| C1589 | 10 nF 50 V X7R | 0603 | 6 584 349 | Ext | C169, C91 |
|
||||||
| C2862740 | TI TPS7A2033PDBVR | SOT-23-5 | 28 370 | Ext (**pre-order category**) | U21 |
|
| C2862740 | TI TPS7A2033PDBVR | SOT-23-5 | 28 370 | Ext (categoría pre-orden) | U21 |
|
||||||
| C23162 | 4.7 kΩ 1 % | 0603 | 21 915 184 | Basic | R140 |
|
| C23162 | 4.7 kΩ 1 % | 0603 | 21 915 184 | Basic | R140 |
|
||||||
| C12518 | Nexperia 74LVC1G125GV,125 | SOT-753 | 5 234 | Ext | U27 |
|
| C12518 | Nexperia 74LVC1G125GV,125 | SOT-753 | 5 234 | Ext | U27 |
|
||||||
| C7519 | ST USBLC6-2SC6 | SOT-23-6 | 1 415 | Ext | U30 |
|
| C7519 | ST USBLC6-2SC6 | SOT-23-6 | 1 415 | Ext | U30 |
|
||||||
| C25803 | 100 kΩ 1 % | 0603 | 10 814 547 | Basic | new pull resistors, Rdfu1, H-02b set |
|
| C25803 | 100 kΩ 1 % | 0603 | 10 814 547 | Basic | resistencias de pull nuevas, Rdfu1, conjunto H-02b |
|
||||||
| C14663 | 100 nF 50 V X7R | 0603 | 37 493 696 | Basic | C168, C170, C172–C174 |
|
| C14663 | 100 nF 50 V X7R | 0603 | 37 493 696 | Basic | C168, C170, C172–C174 |
|
||||||
| C23345 | 22 Ω 1 % | 0603 | 4 031 533 | Basic | R132–R134 |
|
| C23345 | 22 Ω 1 % | 0603 | 4 031 533 | Basic | R132–R134 |
|
||||||
| C1525 | 100 nF 16 V X7R | 0402 | 43 509 060 | Basic | C171 |
|
| C1525 | 100 nF 16 V X7R | 0402 | 43 509 060 | Basic | C171 |
|
||||||
| C14676 | 1 kΩ 5 % | 0603 | 757 955 | Ext | R106 |
|
| C14676 | 1 kΩ 5 % | 0603 | 757 955 | Ext | R106 |
|
||||||
| C2901684 | SCTF SX3B25.000F1010F30 25 MHz CL 10 pF | 3225-4P | 11 076 | Ext | Y3 |
|
| C2901684 | SCTF SX3B25.000F1010F30 25 MHz CL 10 pF | 3225-4P | 11 076 | Ext | Y3 |
|
||||||
| C38523 | 12 pF C0G | 0603 | 3 346 489 | Basic | C113, C114 |
|
| C38523 | 12 pF C0G | 0603 | 3 346 489 | Basic | C113, C114 |
|
||||||
| C48615 | Epson Q13FC13500002 FC-135 CL 7 pF | 3215-2P | 101 342 | Ext | Y4 |
|
| C48615 | Epson Q13FC13500002 FC-135 CL 7 pF | 3215-2P | 101 342 | Ext | Y4 |
|
||||||
| C1679 | 6.8 pF C0G | 0603 | 1 445 998 | Pref | C115, C116 |
|
| C1679 | 6.8 pF C0G | 0603 | 1 445 998 | Pref | C115, C116 |
|
||||||
| C4190 | 2.2 kΩ 1 % | 0603 | 2 920 710 | Basic | Rigb1 |
|
| C4190 | 2.2 kΩ 1 % | 0603 | 2 920 710 | Basic | Rigb1 |
|
||||||
| C1663 | 33 pF C0G | 0603 | 2 808 576 | Basic | C95, C96 |
|
| C1663 | 33 pF C0G | 0603 | 2 808 576 | Basic | C95, C96 |
|
||||||
| C1779 | 4.7 µF 25 V X5R | 0805 | 4 715 349 | Basic | C90 |
|
| C1779 | 4.7 µF 25 V X5R | 0805 | 4 715 349 | Basic | C90 |
|
||||||
| C2827694 | PESD5V0S1BA | SOD-323 | 303 975 | Ext | D36–D38 |
|
| C2827694 | PESD5V0S1BA | SOD-323 | 303 975 | Ext | D36–D38 |
|
||||||
| C25804 | 10 kΩ 1 % | 0603 | (existing Basic) | Basic | R136 |
|
| C25804 | 10 kΩ 1 % | 0603 | (Basic existente) | Basic | R136 |
|
||||||
|
|
||||||
Final BOM (`kicad/_to_delete/v6-apply-20260928/bom_final*.csv`, kicad-cli): 306 populated BOM lines; only TP1–TP8 have no LCSC (copper pads, as before).
|
BOM final (`kicad/_to_delete/v6-apply-20260928/bom_final*.csv`, kicad-cli): 306 líneas de BOM pobladas; solo TP1–TP8 no tienen LCSC (pads de cobre, como antes).
|
||||||
|
|
||||||
## 14. Files and backups
|
## 14. Archivos
|
||||||
|
|
||||||
- Edited in place: `03-Architecture-Hardware/kicad/hbox-watchdog-v6.kicad_sch`, `.kicad_pro`, `.kicad_dru`, `Drogheda-v6.pretty/SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP.kicad_mod`.
|
- Editados en su lugar: `03-Architecture-Hardware/kicad/hbox-watchdog-v6.kicad_sch`, `.kicad_pro`, `.kicad_dru`, `Drogheda-v6.pretty/SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP.kicad_mod`.
|
||||||
- PDF: `03-Architecture-Hardware/hbox-watchdog-v6-schematic.pdf`.
|
- PDF: `03-Architecture-Hardware/hbox-watchdog-v6-schematic.pdf`.
|
||||||
- Backups (nothing deleted): `kicad/_to_delete/v6-apply-20260928/` — `00-pre/` (sch, pro, dru, prl, SO-8 footprint, DRC side-file), `01-blockers/`, `02-majors/`, `03-minors/`, `04-rules/`, `05-final/`, `netlists/00-baseline … 05-final.xml`, `erc_work/` (ERC isolation copies), `drc_work/` (DRC on a board copy with the new rules; report + JSON), `scratch/` (intermediate PDFs, library-extraction file), `bom_final.csv`, `bom_final_ungrouped.csv`.
|
- El `.kicad_pcb` no se tocó. Si KiCad estaba abierto en v6 durante este pase, cerrarlo **sin guardar** y reabrir antes de Update PCB (protocolo de resincronización §5).
|
||||||
- Container: `/home/claude/v6audit/apply/` — this report, `netlist_diff_total.md`, `out/0N-*/` (edit logs, expected sets, per-group diffs), `tools/` (editor, model, diff, group scripts), `drc/`, the PDF.
|
- Git (lo ejecuta Leo; nada se confirmó desde aquí): commit dentro del submódulo `kicad` (sch, pro, dru, huella SO-8), push a Gitea `HBox_PCB`, después actualizar el gitlink del padre; `_to_delete/` está en gitignore.
|
||||||
- The `.kicad_pcb` is untouched. If KiCad was open on v6 during this pass, close it **without saving** and reopen before Update PCB (resync protocol §5).
|
|
||||||
|
|
||||||
**Git (for Leo to run; nothing was committed from here):** commit inside the `kicad` submodule (sch, pro, dru, SO-8 footprint), push to Gitea `HBox_PCB`, then bump the parent gitlink; `_to_delete/` is gitignored.
|
Ver también: [manual v6](../manuales/manual-tarjeta-v6.md) · [auditoría completa v6](v6-auditoria-completa.md) · [mapa de pines MCU v6](v6-pinmap.md) · [revisión contra lecciones V5.5](v6-revision-lecciones-v55.md) · [informe de cambios V5.6](v56-cambios-esquematico.md) (lo que de esta auditoría se llevó a la V5.6).
|
||||||
|
|
||||||
|
## Historial de revisiones
|
||||||
|
|
||||||
|
| Versión | Fecha | Cambios |
|
||||||
|
|---|---|---|
|
||||||
|
| 1.0 | 2026-09-28 | Informe original (inglés): aplicación de los hallazgos de la auditoría v6 al esquemático. |
|
||||||
|
| 1.1 | 2026-09-29 | Traducción al español; hashes, respaldos y notas de proceso al anexo de trazabilidad. Sin cambios técnicos. |
|
||||||
|
|
||||||
|
??? note "Anexo técnico — trazabilidad"
|
||||||
|
**SHA-256 antes / después:**
|
||||||
|
|
||||||
|
| Archivo | Antes | Después |
|
||||||
|
|---|---|---|
|
||||||
|
| `hbox-watchdog-v6.kicad_sch` | `ecee9fed851f02e74074340bf8361bced7c385b2502b19c368861b9851c2f04a` | `d54e330d189910afd58e18fc7cd498bdb3e6e5b7b3c4472b6cae7f95650b34c4` |
|
||||||
|
| `hbox-watchdog-v6.kicad_pro` | `25c57f3936b96a4e31cb5947668c172d318189258d6a5d2fa34d230df8958028` | `d577aa43076f5f751c291041dbf3054cb93a87facfe9f339ef91b60e073bd6ce` |
|
||||||
|
| `hbox-watchdog-v6.kicad_dru` | `47538e6cfadc0c53421ff59dadabc0e7f0ad5f11d9e2250618728788080aca1a` | `31ce0f4f23e8178b4b5e837b452e7bb8647d446ffd420559049eaaae78100831` |
|
||||||
|
| `Drogheda-v6.pretty/SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP.kicad_mod` | `0171be85ff9bf1d27232731a9931ad9d6c3c2bcdee2f5f3558ee94d2566413f9` | `3f38f26e435c477a7701636d4d5e1c05b4c7bd523e8dd04f9f57128657736313` |
|
||||||
|
| `hbox-watchdog-v6.kicad_pcb` | `6ddec80d1c15f79e69dff6c1a850b28345a5d826389f79cee8c61998240b36bf` | sin cambio |
|
||||||
|
| `hbox-watchdog-v6-schematic.pdf` | — | `a2c94a49…` |
|
||||||
|
|
||||||
|
Respaldos (nada se borró): `kicad/_to_delete/v6-apply-20260928/` — `00-pre/` (sch, pro, dru, prl, huella SO-8, archivo lateral de DRC), `01-blockers/`, `02-majors/`, `03-minors/`, `04-rules/`, `05-final/`, `netlists/00-baseline … 05-final.xml`, `erc_work/` (copias de aislamiento de ERC), `drc_work/` (DRC sobre una copia de la tarjeta con las reglas nuevas; reporte + JSON), `scratch/` (PDF intermedios, archivo de extracción de librería), `bom_final.csv`, `bom_final_ungrouped.csv`. Área de trabajo del contenedor: `/home/claude/v6audit/apply/` — este informe, `netlist_diff_total.md`, `out/0N-*/` (logs de edición, conjuntos esperados, diffs por grupo), `tools/` (editor, modelo, diff, scripts por grupo), `drc/`, el PDF.
|
||||||
|
|
||||||
|
**Nota de proceso:** durante el grupo 1 una segunda confirmación de archivo reenvió una copia en caché y escribió la primera versión; se detectó por el hash del archivo en la Mac y desde entonces cada confirmación usó una ruta única. Cada estado confirmado en este informe se comprobó por hash en la Mac.
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: EinarBoard V5.6 (HBOX V5) — Hoja de datos de ingeniería
|
title: "EinarBoard V5.6 (HBOX V5) — Hoja de datos de ingeniería"
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
date: 2026-09-29
|
date: 2026-09-29
|
||||||
version: "1.0"
|
version: "1.0"
|
||||||
@ -10,17 +10,20 @@ author: Helgen Technologies
|
|||||||
|
|
||||||
# EinarBoard V5.6 (HBOX V5) — Hoja de datos de ingeniería
|
# EinarBoard V5.6 (HBOX V5) — Hoja de datos de ingeniería
|
||||||
|
|
||||||
!!! info "Tarjeta: EinarBoard **V5.6** — proyecto KiCad `hbox-watchdog-v5` (lote en pedido, sep-2026)"
|
!!! note "Alcance y fuentes"
|
||||||
Esta tarjeta es la evolución de la V5.5 fabricada (STM32F411 a bordo + zócalos simpleRTK2B y 4G NTRIP Master). **No es la v6** (GNSS y 4G soldados a bordo, `hbox-watchdog-v6`, en diseño): la v6 tiene su propia sección en el sitio. Cuando este documento dice «copiado de v6» se refiere solo al origen de un valor de componente.
|
Evolución de la V5.5 fabricada (STM32F411 a bordo + zócalos simpleRTK2B y 4G NTRIP Master). No es la v6 (GNSS y 4G soldados, `hbox-watchdog-v6`, en diseño); "copiado de v6" se refiere solo al origen de un valor de componente. Fuentes: netlist `kicad/_to_delete/v56-work-20260928/p5ntc-after.xml` (SHA-256 `45d3f034…8e42a7`, exportada de `kicad/hbox-watchdog-v5.kicad_sch` el 2026-09-28), `2026-09-28_Drogheda_EinarBoard-V5.6_Schematic-Change-Report_v1.0.md` (§1, §9, §10), `2026-09-27_Drogheda_EinarBoard-V5.6_ECO_ES_v1.0.md`, `04-Source-Code/firmware/hbox_v5_bringup/board_v5.h`, `hbox_v5_bringup.ino` 0.6.0 y `README.md`. Lo no verificado va marcado `<!-- VERIFICAR -->`.
|
||||||
|
|
||||||
|
## Resumen
|
||||||
|
|
||||||
> **Fuentes de cada número:** netlist `kicad/_to_delete/v56-work-20260928/p5ntc-after.xml` (SHA-256 `45d3f034…8e42a7`, exportada de `kicad/hbox-watchdog-v5.kicad_sch` el 2026-09-28), `2026-09-28_Drogheda_EinarBoard-V5.6_Schematic-Change-Report_v1.0.md` (§1, §9, §10), `2026-09-27_Drogheda_EinarBoard-V5.6_ECO_ES_v1.0.md`, `04-Source-Code/firmware/hbox_v5_bringup/board_v5.h`, `hbox_v5_bringup.ino` 0.6.0 y `README.md`. Lo que no pudo verificarse va marcado `<!-- VERIFICAR -->`.
|
La EinarBoard V5.6 es la tarjeta portadora/watchdog del rastreador HBOX RTK. Lleva a bordo:
|
||||||
|
|
||||||
## Executive summary (EN)
|
- MCU STM32F411RET6 (LQFP-64, HSE 25 MHz, USB-C DFU/consola en J11).
|
||||||
|
- LTC4040, respaldo de batería 1S: límite de entrada 2.5 A, carga 1.4 A, boost de respaldo 4.79 V, umbral de falla de alimentación 4.44 V. Alimenta el riel `SYS5V`, que corta el interruptor P11.
|
||||||
|
- Zócalos para los módulos ArduSimple: simpleRTK2B (u-blox ZED-F9P, formato UNO, MOD1, en el riel `SW_5V` que controla el MCU) y 4G NTRIP Master (formato XBee, J7/J8, con buck propio AP64350 de 3.3 V que el MCU enciende con `MODEM_EN` y resetea con `MODEM_RST`).
|
||||||
|
- Periféricos: Ethernet W5500 (SPI2, RJ45 J10, sin PoE); puente UART doble SC16IS752 para RS-485 (P15) y RS-232 (P16); expansor PCF8574 para el medidor de batería de 4 LEDs y el LED RGB externo (P14); SHT40 (T/HR del aire); dos TMP102 (cargador @0x48, módem @0x49); NTC del paquete leída por el LTC4040 y el MCU; entrada de NTC de punto caliente (P12); buck del ventilador (24 V → 5 V, P6); relevador K1 de Modo B a prueba de fallas, que mantiene el tráfico GNSS → módem aunque el MCU muera.
|
||||||
|
- Entradas: 24 V del vehículo (P1, solo ventilador y lectura de ignición) y 5 V de una Mean Well SD-15B-05 externa (P2).
|
||||||
|
|
||||||
EinarBoard V5.6 is the Helgen carrier/watchdog PCB inside the HBOX RTK tracker. It hosts an on-board **STM32F411RET6** (LQFP-64, 25 MHz HSE, USB-C DFU/console on J11), an **LTC4040** 1S battery-backup manager (2.5 A input limit, 1.4 A charge, 4.79 V backup boost, 4.44 V power-fail threshold) feeding a cut-off-switchable **SYS5V** rail, and sockets for the two ArduSimple modules: the **simpleRTK2B** (u-blox ZED-F9P, UNO-form socket MOD1, on the MCU-gated `SW_5V` rail) and the **4G NTRIP Master** (XBee-form socket J7/J8, on a dedicated **AP64350** 3.3 V buck that the MCU can now enable/disable via `MODEM_EN` and reset via `MODEM_RST`). Peripherals: W5500 **Ethernet** (SPI2, RJ45 J10, no PoE), SC16IS752 dual UART bridge giving **RS-485** (P15) and **RS-232** (P16), PCF8574 expander for the 4-LED battery gauge and the external RGB LED (P14), SHT40 air T/RH, two TMP102 (charger @0x48, modem @0x49), pack NTC read by both the LTC4040 and the MCU, hot-spot NTC input (P12), fan buck (24 V → 5 V, P6) and a fail-safe Modo-B relay K1 that keeps GNSS → modem traffic flowing even with the MCU dead. Power in: 24 V vehicle (P1, fan only + ignition sense) and 5 V from an external Mean Well SD-15B-05 (P2). V5.6 is the V5.5 board (15 pcs, JLC 22-Aug-2026) plus the 27/28-Sep ECO: modem rail moved to SYS5V under MCU control, charger re-sized for the SD-15B, LiFePO4 (LFP-HT 26650) chemistry straps, modem/charger temperature sensors, USB ESD on J9, ETH_RST pull-down, JP6 cut-off bypass, P5 probe connector removed. Firmware: `hbox_v5_bringup` 0.6.0 (single binary for V5.5/V5.6; V5.6-only features — MODEM_EN/RST, RTCM tap, tcell — land in 0.6.x).
|
V5.6 = V5.5 (15 pzas, JLC 22-ago-2026) + ECO 27/28-sep: riel del módem en `SYS5V` bajo control del MCU, cargador redimensionado para la SD-15B, straps de química LiFePO4 (LFP-HT 26650), sensores de temperatura de módem y cargador, ESD en J9, pull-down en `ETH_RST`, puente JP6 del corte, sin conector P5. Firmware: `hbox_v5_bringup` 0.6.0 (un binario para V5.5/V5.6; `MODEM_EN/RST`, derivación RTCM y `tcell` llegan en 0.6.x).
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 1. Qué es
|
## 1. Qué es
|
||||||
|
|
||||||
@ -28,8 +31,8 @@ EinarBoard V5.6 is the Helgen carrier/watchdog PCB inside the HBOX RTK tracker.
|
|||||||
|---|---|---|
|
|---|---|---|
|
||||||
| Nombre | **EinarBoard V5.6** — tarjeta portadora/watchdog del HBOX RTK (cuadro de título KiCad: *EINARBoard HBox*, Helgen Servicios Especializados) | netlist `title_block` |
|
| Nombre | **EinarBoard V5.6** — tarjeta portadora/watchdog del HBOX RTK (cuadro de título KiCad: *EINARBoard HBox*, Helgen Servicios Especializados) | netlist `title_block` |
|
||||||
| Proyecto KiCad | `03-Architecture-Hardware/kicad/hbox-watchdog-v5.*` (V5.5 y V5.6 comparten proyecto; V5.6 = ECO aplicada al esquemático el 28-sep; PCB pendiente de *Update PCB from Schematic*; etiqueta git `v5.5-as-fabbed` guarda el estado del lote anterior) | Informe de cambios §9 |
|
| Proyecto KiCad | `03-Architecture-Hardware/kicad/hbox-watchdog-v5.*` (V5.5 y V5.6 comparten proyecto; V5.6 = ECO aplicada al esquemático el 28-sep; PCB pendiente de *Update PCB from Schematic*; etiqueta git `v5.5-as-fabbed` guarda el estado del lote anterior) | Informe de cambios §9 |
|
||||||
| MCU | U16 **STM32F411RET6** LQFP-64 soldado (ya no hay Blackpill en zócalo) · HSE Y3 25 MHz · LSE Y4 32.768 kHz · SYSCLK 96 MHz, USB 48 MHz | `board_v5.h`, `.ino` |
|
| MCU | U16 **STM32F411RET6** LQFP-64 soldado (ya no hay Blackpill en zócalo) · HSE Y3 25 MHz · LSE Y4 32.768 kHz · SYSCLK 96 MHz, USB 48 MHz | `board_v5.h`, `.ino` |
|
||||||
| Módulos en zócalo | **MOD1** simpleRTK2B (u-blox ZED-F9P, formato UNO) · **J7/J8** 4G NTRIP Master (formato XBee, paso 2.00 mm) | netlist |
|
| Módulos en zócalo | **MOD1** simpleRTK2B (u-blox ZED-F9P, formato UNO) · **J7/J8** 4G NTRIP Master (formato XBee, paso 2.00 mm) | netlist |
|
||||||
| Firmware | `hbox_v5_bringup` **0.6.0** (`hbox-v5-bringup_0.6.0.bin`), consola USB CDC en J11 | `README.md` |
|
| Firmware | `hbox_v5_bringup` **0.6.0** (`hbox-v5-bringup_0.6.0.bin`), consola USB CDC en J11 | `README.md` |
|
||||||
| Lote V5.5 | 15 pzas, JLCPCB 22-ago-2026 | FACTS / procedimiento v5 |
|
| Lote V5.5 | 15 pzas, JLCPCB 22-ago-2026 | FACTS / procedimiento v5 |
|
||||||
| Lote V5.6 | Por pedir (semana del 29-sep-2026); BOM 94 LCSC comprobados para 30 tarjetas | Informe §10 |
|
| Lote V5.6 | Por pedir (semana del 29-sep-2026); BOM 94 LCSC comprobados para 30 tarjetas | Informe §10 |
|
||||||
@ -67,31 +70,31 @@ EinarBoard V5.6 is the Helgen carrier/watchdog PCB inside the HBOX RTK tracker.
|
|||||||
|
|
||||||
| Riel | Origen | Regulador / paso | Valor | Alimenta | Notas |
|
| Riel | Origen | Regulador / paso | Valor | Alimenta | Notas |
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| `24V_IN` → `24V` | P1.1 (vehículo 24 V nominal; ignición 12–24 V) | D10 SMBJ33A a GND, Q10 IRFR5305 (protección de polaridad, DzG1 BZX84C15 + Rrp1 10 k en compuerta) | 24 V | Solo U2 (ventilador) | El resto de la tarjeta **no** depende de 24 V |
|
| `24V_IN` → `24V` | P1.1 (vehículo 24 V nominal; ignición 12–24 V) | D10 SMBJ33A a GND, Q10 IRFR5305 (protección de polaridad, DzG1 BZX84C15 + Rrp1 10 k en compuerta) | 24 V | Solo U2 (ventilador) | El resto de la tarjeta **no** depende de 24 V |
|
||||||
| `5V_FAN` | `24V` | U2 MP1584EN (EN por Ren1 100 k / Ren2 20 k desde `24V`), L2 10 µH, Dbk1 SS34, FB R20 100 k / R21 19.1 k | ≈ 5.0 V (0.8 V × (1 + 100/19.1) = 4.99 V) | P6.1 ventilador; retorno conmutado por Q2 AO3400A (PA6) | JP1 (abierto) une `5V_FAN` con `VEH5V` — no cerrar |
|
| `5V_FAN` | `24V` | U2 MP1584EN (EN por Ren1 100 k / Ren2 20 k desde `24V`), L2 10 µH, Dbk1 SS34, FB R20 100 k / R21 19.1 k | ≈ 5.0 V (0.8 V × (1 + 100/19.1) = 4.99 V) | P6.1 ventilador; retorno conmutado por Q2 AO3400A (PA6) | JP1 (abierto) une `5V_FAN` con `VEH5V` — no cerrar |
|
||||||
| `VEH5V` | P2.1 (Mean Well SD-15B-05 externa, ajustada 5.2–5.4 V; unidades medidas 5.25–5.57 V) | C78 220 µF polímero + C30/C31 | 5.25–5.57 V | RS1, divisor PFI, R7/R8 (`5V_SENSE`), R55 (NTC bias), U6 VIN/OVSNS | Lección E-PFI: nunca trabajar el módem sin batería con menos de 5.2 V en P2 |
|
| `VEH5V` | P2.1 (Mean Well SD-15B-05 externa, ajustada 5.2–5.4 V; unidades medidas 5.25–5.57 V) | C78 220 µF polímero + C30/C31 | 5.25–5.57 V | RS1, divisor PFI, R7/R8 (`5V_SENSE`), R55 (NTC bias), U6 VIN/OVSNS | Lección E-PFI: nunca trabajar el módem sin batería con menos de 5.2 V en P2 |
|
||||||
| `VIN_SW` | `VEH5V` | RS1 **10 mΩ** 1 W (límite de entrada LTC4040 = 25 mV / 10 mΩ = **2.5 A**) | — | Q7 AO4406A (diodo ideal, IGATE U6.15) | V5.5 tenía 8 mΩ (3.1 A > 3 A de la fuente → plegado) |
|
| `VIN_SW` | `VEH5V` | RS1 **10 mΩ** 1 W (límite de entrada LTC4040 = 25 mV / 10 mΩ = **2.5 A**) | — | Q7 AO4406A (diodo ideal, IGATE U6.15) | V5.5 tenía 8 mΩ (3.1 A > 3 A de la fuente → plegado) |
|
||||||
| `MAIN5V` (VSYS) | Q7 o boost de respaldo de U6 | **U6 LTC4040EUFD** · L6 2.2 µH/8 A · C32/C33/C34 (≥ 100 µF) | = VEH5V − caída, o **4.79 V** en respaldo (R53 499 k / R54 100 k) | P11.1, JP6.1, straps JP2/JP3/JP4 | **PFI 4.44 V** de caída (R51 270 k / R52 100 k); PFO en TP2 |
|
| `MAIN5V` (VSYS) | Q7 o boost de respaldo de U6 | **U6 LTC4040EUFD** · L6 2.2 µH/8 A · C32/C33/C34 (≥ 100 µF) | = VEH5V − caída, o **4.79 V** en respaldo (R53 499 k / R54 100 k) | P11.1, JP6.1, straps JP2/JP3/JP4 | **PFI 4.44 V** de caída (R51 270 k / R52 100 k); PFO en TP2 |
|
||||||
| `SYS5V` | `MAIN5V` a través de **P11 CUTOFF-SW** (o JP6 puenteado) | — | ≈ MAIN5V | F1/Q1 (etapa RTK), U7 (módem), U12 (Ethernet), D12→U17 (3V3), K1 bobina, R2 | Abrir P11 apaga **todo** salvo el LTC4040 y el cargador |
|
| `SYS5V` | `MAIN5V` a través de **P11 CUTOFF-SW** (o JP6 puenteado) | — | ≈ MAIN5V | F1/Q1 (etapa RTK), U7 (módem), U12 (Ethernet), D12→U17 (3V3), K1 bobina, R2 | Abrir P11 apaga todo salvo el LTC4040 y el cargador |
|
||||||
| `SW_IN` → `SW_5V` | `SYS5V` | **F1 PPTC BSMD1812-400-12V** (4 A hold / 8 A trip, ≤ 25 mΩ) → **Q1 AO3401A** (compuerta por Q5 ← R1 ← PA1 `PWR_CTRL`, R2 10 k pull-up = OFF por defecto) | ≈ 5.0 V con etapa ON | **MOD1.5** (simpleRTK2B) · C3 220 µF polímero + C40 22 µF | `PWR_CTRL` HIGH = etapa ON. Solo el F9P cuelga de aquí en V5.6 |
|
| `SW_IN` → `SW_5V` | `SYS5V` | **F1 PPTC BSMD1812-400-12V** (4 A hold / 8 A trip, ≤ 25 mΩ) → **Q1 AO3401A** (compuerta por Q5 ← R1 ← PA1 `PWR_CTRL`, R2 10 k pull-up = OFF por defecto) | ≈ 5.0 V con etapa ON | **MOD1.5** (simpleRTK2B) · C3 220 µF polímero + C40 22 µF | `PWR_CTRL` HIGH = etapa ON. Solo el F9P cuelga de aquí en V5.6 |
|
||||||
| `3V3_MODEM` | `SYS5V` (V5.5: `SW_5V`) | **U7 AP64350SP-13** · L7 4.7 µH/4 A · Cin C119/C120 22 µF + C121 10 µF · FB R60 100 k / R61 31.6 k · comp. Rcomp2 9.1 k / Ccomp2 10 nF / C123 68 pF · Rfreq2 200 k · Cbst2 100 nF · Dbk2 DNP | **3.33 V** (0.8 × (1 + 100/31.6)) | J7.1 / J8.7 (4G NTRIP Master) · C41 22 µF + C122 22 µF + C43 220 µF polímero | **EN = PC3 `MODEM_EN`** por R105 10 k, R106 100 k a GND → módem **apagado** con MCU en reset/DFU. Validar en banco: escalón 0→2 A < 150 mV sin oscilación (Informe §9) |
|
| `3V3_MODEM` | `SYS5V` (V5.5: `SW_5V`) | **U7 AP64350SP-13** · L7 4.7 µH/4 A · Cin C119/C120 22 µF + C121 10 µF · FB R60 100 k / R61 31.6 k · comp. Rcomp2 9.1 k / Ccomp2 10 nF / C123 68 pF · Rfreq2 200 k · Cbst2 100 nF · Dbk2 DNP | **3.33 V** (0.8 × (1 + 100/31.6)) | J7.1 / J8.7 (4G NTRIP Master) · C41 22 µF + C122 22 µF + C43 220 µF polímero | **EN = PC3 `MODEM_EN`** por R105 10 k, R106 100 k a GND → módem **apagado** con MCU en reset/DFU. Validar en banco: escalón 0→2 A < 150 mV sin oscilación (Informe §9) |
|
||||||
| `3V3_ETH` | `SYS5V` | **U12 MP1584EN** (EN = VIN: siempre encendido) · L8 10 µH/2 A · D11 SS34 · FB R87 100 k / R88 31.6 k | **3.33 V** (0.8 × (1 + 100/31.6)) | U11 W5500, J10 (TCT/RCT) | Sobrevive los ciclos de la etapa RTK; en batería el W5500 sigue alimentado (por eso R112 lo mantiene en reset) |
|
| `3V3_ETH` | `SYS5V` | **U12 MP1584EN** (EN = VIN: siempre encendido) · L8 10 µH/2 A · D11 SS34 · FB R87 100 k / R88 31.6 k | **3.33 V** (0.8 × (1 + 100/31.6)) | U11 W5500, J10 (TCT/RCT) | Sobrevive los ciclos de la etapa RTK; en batería el W5500 sigue alimentado (por eso R112 lo mantiene en reset) |
|
||||||
| `LDO_IN` → `3V3` | `SYS5V` por **D12** SS34 **o** `DFU_VBUS` (J11) por **D13** SS34 | **U17 TLV1117LV33** (SOT-223; V5.5: AMS1117-3.3) · C117 · C23/C80… | 3.3 V | MCU, sensores, U10/U13/U14/U15, LEDs, SW2, TP7, P14.1, H4.1, MOD1.2 (IOREF) | TLV1117LV: dropout bajo → 3V3 estable en respaldo (LDO_IN ≈ 4.25–4.65 V); Vin máx 5.5 V |
|
| `LDO_IN` → `3V3` | `SYS5V` por **D12** SS34 o `DFU_VBUS` (J11) por **D13** SS34 | **U17 TLV1117LV33** (SOT-223; V5.5: AMS1117-3.3) · C117 · C23/C80… | 3.3 V | MCU, sensores, U10/U13/U14/U15, LEDs, SW2, TP7, P14.1, H4.1, MOD1.2 (IOREF) | TLV1117LV: dropout bajo → 3V3 estable en respaldo (LDO_IN ≈ 4.25–4.65 V); Vin máx 5.5 V |
|
||||||
| `VDDA` | `3V3` | R104 + C109/C112 | 3.3 V | U16 VDDA (ADC) | — |
|
| `VDDA` | `3V3` | R104 + C109/C112 | 3.3 V | U16 VDDA (ADC) | — |
|
||||||
| `BAT_PLUS` | P4.1 | U6.23 BAT · L6 · C35 · R5/R6 ÷2 → `BAT_SENSE` PA0 | 1S: Li-ion 3.0–4.0 V (V5.5) / LFP 2.5–3.6 V (V5.6) | Boost de respaldo del LTC4040 | Ver §8 |
|
| `BAT_PLUS` | P4.1 | U6.23 BAT · L6 · C35 · R5/R6 ÷2 → `BAT_SENSE` PA0 | 1S: Li-ion 3.0–4.0 V (V5.5) / LFP 2.5–3.6 V (V5.6) | Boost de respaldo del LTC4040 | Ver §8 |
|
||||||
| `USB_VBUS` | J9 | D19 USBLC6-2SC6 | 5 V del portátil | J7.6 (USB de servicio del módem) | No alimenta la tarjeta |
|
| `USB_VBUS` | J9 | D19 USBLC6-2SC6 | 5 V del portátil | J7.6 (USB de servicio del módem) | No alimenta la tarjeta |
|
||||||
| `DFU_VBUS` | J11 | D16 PESD5V0S1BA · D13 → `LDO_IN` | 5 V del portátil | Solo el 3V3 (MCU + sensores) | Con USB solo: W5500, módem y F9P **sin** energía |
|
| `DFU_VBUS` | J11 | D16 PESD5V0S1BA · D13 → `LDO_IN` | 5 V del portátil | Solo el 3V3 (MCU + sensores) | Con USB solo: W5500, módem y F9P sin energía |
|
||||||
|
|
||||||
### 3.1 Cargador LTC4040 (U6) — parámetros
|
### 3.1 Cargador LTC4040 (U6) — parámetros
|
||||||
|
|
||||||
| Parámetro | Valor V5.6 | Componentes | V5.5 | Fuente |
|
| Parámetro | Valor V5.6 | Componentes | V5.5 | Fuente |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| Corriente de carga | **1.4 A** (2000 / 1430 ± 5 % → 1.32–1.48 A) | R50 **1.43 k** 1 % (PROG) | 2.42 A (825 Ω) | Informe §10 A-03 |
|
| Corriente de carga | **1.4 A** (2000 / 1430 ± 5 % → 1.32–1.48 A) | R50 **1.43 k** 1 % (PROG) | 2.42 A (825 Ω) | Informe §10 A-03 |
|
||||||
| Límite de entrada (SYSLIM) | **2.5 A** | RS1 **10 mΩ** 1 % 1 W | 3.1 A (8 mΩ) | Informe §1 |
|
| Límite de entrada (SYSLIM) | **2.5 A** | RS1 **10 mΩ** 1 % 1 W | 3.1 A (8 mΩ) | Informe §1 |
|
||||||
| Umbral PFI (caída) | **4.44 V** (1.2 V × 3.7) | R51 270 k / R52 100 k | igual | README fw 0.2.1; netlist |
|
| Umbral PFI (caída) | **4.44 V** (1.2 V × 3.7) | R51 270 k / R52 100 k | igual | README fw 0.2.1; netlist |
|
||||||
| Voltaje de respaldo (BSTFB = RSTFB) | **4.79 V** | R53 499 k / R54 100 k | igual | Informe §1 (R53 sin cambio) |
|
| Voltaje de respaldo (BSTFB = RSTFB) | **4.79 V** | R53 499 k / R54 100 k | igual | Informe §1 (R53 sin cambio) |
|
||||||
| Química / flotación | **LiFePO4 3.50 V** (F2=0, F1=0, F0=1) | JP2 **2-3** (`F2_SEL`→GND) · JP3 1-2 (F1→GND) · JP4 1-2 (F0→MAIN5V) | Li-ion 4.00 V (JP2 1-2) | Informe §9; Review-vs-V5.5 F6 |
|
| Química / flotación | **LiFePO4 3.50 V** (F2=0, F1=0, F0=1) | JP2 **2-3** (`F2_SEL`→GND) · JP3 1-2 (F1→GND) · JP4 1-2 (F0→MAIN5V) | Li-ion 4.00 V (JP2 1-2) | Informe §9; Review-vs-V5.5 F6 |
|
||||||
| NTC de celda (propiedad del cargador) | Ventana de carga **+10…+60 °C** con NTC **B3380** en el paquete | R55 (RNTB) **5.6 k** 1 % de `VEH5V` a `NTC` (P4.3) | 10 k (Li-ion) | Informe §9 |
|
| NTC de celda (propiedad del cargador) | Ventana de carga **+10…+60 °C** con NTC **B3380** en el paquete | R55 (RNTB) **5.6 k** 1 % de `VEH5V` a `NTC` (P4.3) | 10 k (Li-ion) | Informe §9 |
|
||||||
| Fin de carga | C/8 (interno LTC4040) | — | — | FACTS |
|
| Fin de carga | C/8 (interno LTC4040) | — | — | FACTS |
|
||||||
| CHGOFF | `CHRG_EN` PA8 (HIGH = carga OFF) · R56 100 k a GND | U6.4 | igual | `board_v5.h` |
|
| CHGOFF | `CHRG_EN` PA8 (HIGH = carga OFF) · R56 100 k a GND | U6.4 | igual | `board_v5.h` |
|
||||||
| CHRG / FAULT | `CHRG_STAT` PB3 · `CHRG_FAULT` PB4, colector abierto, pull-ups R57/R58 100 k (LOW = cargando / falla) | U6.8 / U6.9 | igual | `board_v5.h` |
|
| CHRG / FAULT | `CHRG_STAT` PB3 · `CHRG_FAULT` PB4, colector abierto, pull-ups R57/R58 100 k (LOW = cargando / falla) | U6.8 / U6.9 | igual | `board_v5.h` |
|
||||||
@ -106,8 +109,8 @@ Fuente: netlist V5.6 + `board_v5.h` (0.6.0). Los pines PC1/PC2/PC3/PC4/PC5/PC7 s
|
|||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| 1 | VBAT | `3V3` | — | Alimentación RTC | — |
|
| 1 | VBAT | `3V3` | — | Alimentación RTC | — |
|
||||||
| 2 | PC13 | `LED_C13` | OUT, activo bajo | LED azul D17 | R102 1 k a 3V3 |
|
| 2 | PC13 | `LED_C13` | OUT, activo bajo | LED azul D17 | R102 1 k a 3V3 |
|
||||||
| 3 / 4 | PC14 / PC15 | `LSE_IN` / `LSE_OUT` | OSC32 | Y4 32.768 kHz | C115 / C116 |
|
| 3 / 4 | PC14 / PC15 | `LSE_IN` / `LSE_OUT` | OSC32 | Y4 32.768 kHz | C115 / C116 |
|
||||||
| 5 / 6 | PH0 / PH1 | `HSE_IN` / `HSE_OUT` | OSC | Y3 25 MHz | C113 / C114 |
|
| 5 / 6 | PH0 / PH1 | `HSE_IN` / `HSE_OUT` | OSC | Y3 25 MHz | C113 / C114 |
|
||||||
| 7 | NRST | `NRST` | IN | Reset: SW1, P10, TP5 | C104 |
|
| 7 | NRST | `NRST` | IN | Reset: SW1, P10, TP5 | C104 |
|
||||||
| 8 | PC0 | `ETH_INT` | IN | INT del W5500 (U11.36) | — |
|
| 8 | PC0 | `ETH_INT` | IN | INT del W5500 (U11.36) | — |
|
||||||
| 9 | PC1 | `MODEM_RST_MCU` | OUT (open-drain, LOW = reset) | Reset del módem por MCU (**V5.6**) | R107 1 k → `MODEM_RST` (J7.5, SW4G1) |
|
| 9 | PC1 | `MODEM_RST_MCU` | OUT (open-drain, LOW = reset) | Reset del módem por MCU (**V5.6**) | R107 1 k → `MODEM_RST` (J7.5, SW4G1) |
|
||||||
@ -119,11 +122,11 @@ Fuente: netlist V5.6 + `board_v5.h` (0.6.0). Los pines PC1/PC2/PC3/PC4/PC5/PC7 s
|
|||||||
| 16 | PA2 | `GNSS_TX` | USART2_TX | → MOD1.16 (F9P UART1 RX) | — |
|
| 16 | PA2 | `GNSS_TX` | USART2_TX | → MOD1.16 (F9P UART1 RX) | — |
|
||||||
| 17 | PA3 | `GNSS_RX` | USART2_RX | ← MOD1.15 (F9P UART1 TX), NMEA | — |
|
| 17 | PA3 | `GNSS_RX` | USART2_RX | ← MOD1.15 (F9P UART1 TX), NMEA | — |
|
||||||
| 20 | PA4 | `5V_SENSE` | ADC1_IN4 | `VEH5V` ÷ 2 | R7 / R8 10 k, C7 |
|
| 20 | PA4 | `5V_SENSE` | ADC1_IN4 | `VEH5V` ÷ 2 | R7 / R8 10 k, C7 |
|
||||||
| 21 | PA5 | `IGN_SENSE` | IN digital (INPUT_PULLDOWN) | Ignición 12–24 V | Rig1 22 k / Rig2 22 k ∥ Rigb1 3.3 k, D5 BAT54, C9 |
|
| 21 | PA5 | `IGN_SENSE` | IN digital (INPUT_PULLDOWN) | Ignición 12–24 V | Rig1 22 k / Rig2 22 k ∥ Rigb1 3.3 k, D5 BAT54, C9 |
|
||||||
| 22 | PA6 | `FAN_PWM` | OUT (HIGH = ventilador ON) | Compuerta de Q2 | Rg1 |
|
| 22 | PA6 | `FAN_PWM` | OUT (HIGH = ventilador ON) | Compuerta de Q2 | Rg1 |
|
||||||
| 23 | PA7 | — | — | Sin conectar | — |
|
| 23 | PA7 | — | — | Sin conectar | — |
|
||||||
| 24 | PC4 | `MODEM_ON_SLEEP` | IN (**V5.6**, DNP) | XBee ON/SLEEP (J8.3) | R109 10 k **DNP** |
|
| 24 | PC4 | `MODEM_ON_SLEEP` | IN (**V5.6**, DNP) | XBee ON/SLEEP (J8.3) | R109 10 k DNP |
|
||||||
| 25 | PC5 | `NTC_CELL` | ADC1_IN15 (**V5.6**) | NTC del paquete (`tcell`) | R113 100 k / R114 120 k / C125 10 nF desde P4.3 |
|
| 25 | PC5 | `NTC_CELL` | ADC1_IN15 (**V5.6**) | NTC del paquete (`tcell`) | R113 100 k / R114 120 k / C125 10 nF desde P4.3 |
|
||||||
| 26 | PB0 | `EXT_LED` | OUT (HIGH = ON) | LED de panel D1 (P8) vía Q4 | Rled1 10 k |
|
| 26 | PB0 | `EXT_LED` | OUT (HIGH = ON) | LED de panel D1 (P8) vía Q4 | Rled1 10 k |
|
||||||
| 27 | PB1 | `NTC_TEMP` | ADC1_IN9 | NTC de punto caliente (P12): 3V3 – R42 10 k – NTC – GND | C24 |
|
| 27 | PB1 | `NTC_TEMP` | ADC1_IN9 | NTC de punto caliente (P12): 3V3 – R42 10 k – NTC – GND | C24 |
|
||||||
| 28 | PB2 | `BOOT1_STRAP` | strap | R99 10 k a GND — **no reutilizar** | — |
|
| 28 | PB2 | `BOOT1_STRAP` | strap | R99 10 k a GND — **no reutilizar** | — |
|
||||||
@ -154,24 +157,24 @@ Fuente: netlist V5.6 + `board_v5.h` (0.6.0). Los pines PC1/PC2/PC3/PC4/PC5/PC7 s
|
|||||||
| 19, 32, 48, 64 | VDD | `3V3` | — | — | C105–C108 |
|
| 19, 32, 48, 64 | VDD | `3V3` | — | — | C105–C108 |
|
||||||
| 30 | VCAP1 | `VCAP1` | — | C111 | — |
|
| 30 | VCAP1 | `VCAP1` | — | C111 | — |
|
||||||
|
|
||||||
## 5. Mapa de direcciones I²C (I2C1, PB6/PB7, 100 kHz, pull-ups 4.7 k)
|
## 5. Mapa de direcciones I²C (I2C1, PB6/PB7, 100 kHz, pull-ups 4.7 k)
|
||||||
|
|
||||||
| Dirección | Ref | Dispositivo | Función | Pin de dirección | Fuente |
|
| Dirección | Ref | Dispositivo | Función | Pin de dirección | Fuente |
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| 0x20 | U13 | PCF8574 (SOIC-16W) | P0–P3 medidor DB1–DB4 (LOW = ON) · P4–P6 RGB R/G/B en P14 (LOW = ON) · P7 libre (en V5.5/V4: puente 0.5.6 → SW4G1) | A0–A2 = GND | `board_v5.h` |
|
| 0x20 | U13 | PCF8574 (SOIC-16W) | P0–P3 medidor DB1–DB4 (LOW = ON) · P4–P6 RGB R/G/B en P14 (LOW = ON) · P7 libre (en V5.5/V4: puente 0.5.6 → SW4G1) | A0–A2 = GND | `board_v5.h` |
|
||||||
| 0x44 | U3 | SHT40-AD1B | Temperatura y humedad del aire del gabinete (`tair`, `rh`) | fijo | `board_v5.h` |
|
| 0x44 | U3 | SHT40-AD1B | Temperatura y humedad del aire del gabinete (`tair`, `rh`) | fijo | `board_v5.h` |
|
||||||
| 0x48 | U4 | TMP102 (SOT-563) | Temperatura del **cargador** (`tbat`/`tchg`) — en V5.6 colocar junto a U6/L6 | ADD0 = GND | Informe §10 / FACTS |
|
| 0x48 | U4 | TMP102 (SOT-563) | Temperatura del cargador (`tbat`/`tchg`) — en V5.6 colocar junto a U6/L6 | ADD0 = GND | Informe §10 / FACTS |
|
||||||
| 0x49 | U18 | TMP102 (SOT-563) | Temperatura del **módem** — colocar entre J7/J8 y el módulo (**V5.6**) | ADD0 = 3V3 | Informe §2 |
|
| 0x49 | U18 | TMP102 (SOT-563) | Temperatura del módem — colocar entre J7/J8 y el módulo (**V5.6**) | ADD0 = 3V3 | Informe §2 |
|
||||||
| 0x4D | U10 | SC16IS752IPW (TSSOP-28) | UART dual: canal A → RS-485, canal B → RS-232/TTL; ~IRQ → PB8 | A1 = A0 = GND, pin 9 = VDD (modo I²C) | `board_v5.h` |
|
| 0x4D | U10 | SC16IS752IPW (TSSOP-28) | UART dual: canal A → RS-485, canal B → RS-232/TTL; ~IRQ → PB8 | A1 = A0 = GND, pin 9 = VDD (modo I²C) | `board_v5.h` |
|
||||||
|
|
||||||
## 6. Sensores de temperatura y humedad
|
## 6. Sensores de temperatura y humedad
|
||||||
|
|
||||||
| Sensor | Ref / pin | Señal firmware | Qué mide | Rango útil | Fuente |
|
| Sensor | Ref / pin | Señal firmware | Qué mide | Rango útil | Fuente |
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| SHT40 | U3 @0x44 | `tair`, `rh` | Aire dentro del gabinete | −40…+125 °C, 0–100 %RH | `.ino` leyenda |
|
| SHT40 | U3 @0x44 | `tair`, `rh` | Aire dentro del gabinete | −40…+125 °C, 0–100 %RH | `.ino` leyenda |
|
||||||
| TMP102 | U4 @0x48 | `tbat` (0.6.0) / `tchg` (V5.6) | Cargador LTC4040 / bobina L6 | −40…+125 °C | Informe §10 |
|
| TMP102 | U4 @0x48 | `tbat` (0.6.0) / `tchg` (V5.6) | Cargador LTC4040 / bobina L6 | −40…+125 °C | Informe §10 |
|
||||||
| TMP102 | U18 @0x49 | (0.6.x) `tmodem` | Módem 4G | −40…+125 °C | Informe §2 |
|
| TMP102 | U18 @0x49 | (0.6.x) `tmodem` | Módem 4G | −40…+125 °C | Informe §2 |
|
||||||
| NTC del paquete | P4.3 → U6.17 (LTC4040) **y** PC5 ADC1_IN15 vía R113/R114/C125 | `tcell` (V5.6, 0.6.x) | Celda del paquete (NTC B3380 en LFP-HT) | Ventana de carga +10…+60 °C (hardware) | netlist; Informe §9 |
|
| NTC del paquete | P4.3 → U6.17 (LTC4040) y PC5 ADC1_IN15 vía R113/R114/C125 | `tcell` (V5.6, 0.6.x) | Celda del paquete (NTC B3380 en LFP-HT) | Ventana de carga +10…+60 °C (hardware) | netlist; Informe §9 |
|
||||||
| NTC de punto caliente | P12.1 → PB1 ADC1_IN9 (3V3 – R42 10 k – NTC) | `tntc` (`n/c` = sin sonda) | Sonda opcional pegada al punto caliente (módem/batería) | — | `board_v5.h` |
|
| NTC de punto caliente | P12.1 → PB1 ADC1_IN9 (3V3 – R42 10 k – NTC) | `tntc` (`n/c` = sin sonda) | Sonda opcional pegada al punto caliente (módem/batería) | — | `board_v5.h` |
|
||||||
| Sensor interno del MCU | ADC canal de temperatura | `tmcu` / `tc`, `tmax` | Silicio del F411 | — | `.ino` |
|
| Sensor interno del MCU | ADC canal de temperatura | `tmcu` / `tc`, `tmax` | Silicio del F411 | — | `.ino` |
|
||||||
| *(eliminado)* | P5 TEMP_PROBE | — | Sonda externa I²C — **no existe en V5.6** | — | Informe §10 |
|
| *(eliminado)* | P5 TEMP_PROBE | — | Sonda externa I²C — **no existe en V5.6** | — | Informe §10 |
|
||||||
@ -184,33 +187,33 @@ Pinout completo pin a pin (generado de la netlist): [Pinout de arneses y conecto
|
|||||||
|
|
||||||
| Ref | Tipo | Pines | Función | Notas |
|
| Ref | Tipo | Pines | Función | Notas |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| P1 | Phoenix MKDS 1.5 / 5 pos. 5.00 mm (GX16-5 en el gabinete) | 1 `24V_IN` · 2 `GND` · 3 `IGN_IN` · 4 `GND` · 5 n/c | Entrada de vehículo | Ignición **cruda** 12–24 V |
|
| P1 | Phoenix MKDS 1.5 / 5 pos. 5.00 mm (GX16-5 en el gabinete) | 1 `24V_IN` · 2 `GND` · 3 `IGN_IN` · 4 `GND` · 5 n/c | Entrada de vehículo | Ignición cruda 12–24 V |
|
||||||
| P2 | JST-XH 2 | 1 `VEH5V` · 2 `GND` | 5 V de la SD-15B-05 | Calibre ≥ 3 A |
|
| P2 | JST-XH 2 | 1 `VEH5V` · 2 `GND` | 5 V de la SD-15B-05 | Calibre ≥ 3 A |
|
||||||
| P4 | JST-XH 3 | 1 `BAT_PLUS` · 2 `GND` · 3 `NTC` | Paquete 1S + NTC | V5.6: LFP-HT 26650, NTC B3380 |
|
| P4 | JST-XH 3 | 1 `BAT_PLUS` · 2 `GND` · 3 `NTC` | Paquete 1S + NTC | V5.6: LFP-HT 26650, NTC B3380 |
|
||||||
| P6 | JST-XH 2 | 1 `5V_FAN` · 2 `FAN_RET` | Ventilador 5 V, 2 hilos | Q2 conmuta el retorno |
|
| P6 | JST-XH 2 | 1 `5V_FAN` · 2 `FAN_RET` | Ventilador 5 V, 2 hilos | Q2 conmuta el retorno |
|
||||||
| P8 | JST-XH 2 | 1 `LED_A` · 2 `LED_K` | LED de panel (cableado en duro, PB0) | Sigue vivo aunque falle el I²C |
|
| P8 | JST-XH 2 | 1 `LED_A` · 2 `LED_K` | LED de panel (cableado en duro, PB0) | Sigue vivo aunque falle el I²C |
|
||||||
| P10 | JST-XH 2 | 1 `NRST` · 2 `GND` | Botón de reset externo | Solo resetea el MCU |
|
| P10 | JST-XH 2 | 1 `NRST` · 2 `GND` | Botón de reset externo | Solo resetea el MCU |
|
||||||
| P11 | JST-XH 2 | 1 `MAIN5V` · 2 `SYS5V` | Interruptor de corte | Abierto = tarjeta apagada (salvo LTC4040) |
|
| P11 | JST-XH 2 | 1 `MAIN5V` · 2 `SYS5V` | Interruptor de corte | Abierto = tarjeta apagada (salvo LTC4040) |
|
||||||
| P12 | JST-XH 2 | 1 `NTC_TEMP` · 2 `GND` | NTC de punto caliente | Opcional |
|
| P12 | JST-XH 2 | 1 `NTC_TEMP` · 2 `GND` | NTC de punto caliente | Opcional |
|
||||||
| P14 | JST-XH 4 | 1 `3V3` · 2 `RGBR_K` · 3 `RGBG_K` · 4 `RGBB_K` | LED RGB externo, ánodo común | R89/R90/R91 120 Ω |
|
| P14 | JST-XH 4 | 1 `3V3` · 2 `RGBR_K` · 3 `RGBG_K` · 4 `RGBB_K` | LED RGB externo, ánodo común | R89/R90/R91 120 Ω |
|
||||||
| P15 | Phoenix MC 1.5 / 3 pos. 3.5 mm | 1 `RS485_A` · 2 `RS485_B` · 3 `GND` | RS-485 semidúplex (U14 SP3485, canal A de U10) | JP5 = terminación 120 Ω (R82) |
|
| P15 | Phoenix MC 1.5 / 3 pos. 3.5 mm | 1 `RS485_A` · 2 `RS485_B` · 3 `GND` | RS-485 semidúplex (U14 SP3485, canal A de U10) | JP5 = terminación 120 Ω (R82) |
|
||||||
| P16 | Phoenix MC 1.5 / 3 pos. 3.5 mm | 1 `RS232_TX` · 2 `RS232_RX` · 3 `GND` | RS-232 (U15 MAX3232, canal B de U10) | No usar junto con H4 |
|
| P16 | Phoenix MC 1.5 / 3 pos. 3.5 mm | 1 `RS232_TX` · 2 `RS232_RX` · 3 `GND` | RS-232 (U15 MAX3232, canal B de U10) | No usar junto con H4 |
|
||||||
| H4 | Header 2.54 mm × 4 | 1 `3V3` · 2 `SER_TXB` · 3 `SER_RXB` · 4 `GND` | Canal B en TTL 3V3 | Mismo canal que P16 |
|
| H4 | Header 2.54 mm × 4 | 1 `3V3` · 2 `SER_TXB` · 3 `SER_RXB` · 4 `GND` | Canal B en TTL 3V3 | Mismo canal que P16 |
|
||||||
| J11 | USB-C (GCT USB4085) | D+/D− → PA12/PA11, VBUS → D13 → 3V3 | **DFU + consola** | ESD D14/D15/D16 |
|
| J11 | USB-C (GCT USB4085) | D+/D− → PA12/PA11, VBUS → D13 → 3V3 | DFU + consola | ESD D14/D15/D16 |
|
||||||
| J9 | USB-C (GCT USB4085) | D+/D−/VBUS → J7.7/J7.8/J7.6 | USB de servicio del **módem** | ESD D19 (V5.6). No alimenta la tarjeta |
|
| J9 | USB-C (GCT USB4085) | D+/D−/VBUS → J7.7/J7.8/J7.6 | USB de servicio del módem | ESD D19 (V5.6). No alimenta la tarjeta |
|
||||||
| J10 | RJ45 HR911105A (magnéticas + LEDs) | TX± U11.1/2, RX± U11.5/6, LEDs LINK/ACT | Ethernet 10/100 | **Sin PoE** (pines 7/8 sin conectar) |
|
| J10 | RJ45 HR911105A (magnéticas + LEDs) | TX± U11.1/2, RX± U11.5/6, LEDs LINK/ACT | Ethernet 10/100 | **Sin PoE** (pines 7/8 sin conectar) |
|
||||||
| MOD1 | Zócalo UNO hembra | 5 `SW_5V` · 2 `3V3` (IOREF) · 15/16 UART1 · 17 `DOUT_4G` · 23 `USART1_RX` · GND | simpleRTK2B | Resto sin conectar (indicación ArduSimple) |
|
| MOD1 | Zócalo UNO hembra | 5 `SW_5V` · 2 `3V3` (IOREF) · 15/16 UART1 · 17 `DOUT_4G` · 23 `USART1_RX` · GND | simpleRTK2B | Resto sin conectar (indicación ArduSimple) |
|
||||||
| J7 / J8 | Zócalo XBee 2×10, paso 2.00 mm | Ver pinout | 4G NTRIP Master | J8 pad k = pin XBee 21−k |
|
| J7 / J8 | Zócalo XBee 2×10, paso 2.00 mm | Ver pinout | 4G NTRIP Master | J8 pad k = pin XBee 21−k |
|
||||||
|
|
||||||
### 7.2 Puentes de soldadura
|
### 7.2 Puentes de soldadura
|
||||||
|
|
||||||
| Ref | Default V5.6 | Función | Cuándo cambiarlo |
|
| Ref | Default V5.6 | Función | Cuándo cambiarlo |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| **JP1** | Abierto | `5V_FAN` ↔ `VEH5V` | Nunca en producción (drenaría el riel de la SD-15B / respaldo) |
|
| **JP1** | Abierto | `5V_FAN` ↔ `VEH5V` | Nunca en producción (drenaría el riel de la SD-15B / respaldo) |
|
||||||
| **JP2** | **2-3** (`F2_SEL` → GND) = **LFP** | Strap F2 del LTC4040 | 1-2 (→ `MAIN5V`) = Li-ion 4.00 V. **Debe coincidir con la química del paquete y con R55** |
|
| **JP2** | **2-3** (`F2_SEL` → GND) = LFP | Strap F2 del LTC4040 | 1-2 (→ `MAIN5V`) = Li-ion 4.00 V. **Debe coincidir con la química del paquete y con R55** |
|
||||||
| **JP3** | 1-2 (`F1_SEL` → GND) = F1:0 | Strap F1 | No cambiar |
|
| **JP3** | 1-2 (`F1_SEL` → GND) = F1:0 | Strap F1 | No cambiar |
|
||||||
| **JP4** | 1-2 (`F0_SEL` → `MAIN5V`) = F0:1 | Strap F0 | No cambiar |
|
| **JP4** | 1-2 (`F0_SEL` → `MAIN5V`) = F0:1 | Strap F0 | No cambiar |
|
||||||
| **JP5** | Abierto | Terminación 120 Ω del RS-485 (R82 entre A y B) | Cerrar solo en el nodo terminal del bus |
|
| **JP5** | Abierto | Terminación 120 Ω del RS-485 (R82 entre A y B) | Cerrar solo en el nodo terminal del bus |
|
||||||
| **JP6** | Abierto (**nuevo V5.6**) | Puentea P11 (`MAIN5V` ↔ `SYS5V`) | Cerrar solo en unidades sin interruptor de corte |
|
| **JP6** | Abierto (**nuevo V5.6**) | Puentea P11 (`MAIN5V` ↔ `SYS5V`) | Cerrar solo en unidades sin interruptor de corte |
|
||||||
|
|
||||||
### 7.3 Botones
|
### 7.3 Botones
|
||||||
@ -225,32 +228,32 @@ Pinout completo pin a pin (generado de la netlist): [Pinout de arneses y conecto
|
|||||||
|
|
||||||
| Ref | Color / nombre | Control | Significado (fw 0.6.0) |
|
| Ref | Color / nombre | Control | Significado (fw 0.6.0) |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| D18 | Verde **PWR** | R103 1 k desde `3V3` | Hay 3.3 V (USB o SYS5V) |
|
| D18 | Verde PWR | R103 1 k desde `3V3` | Hay 3.3 V (USB o SYS5V) |
|
||||||
| D17 | Azul **C13** | PC13, activo bajo | Parpadeo rápido: esperando consola USB (hasta 4 s); después lo maneja el firmware |
|
| D17 | Azul **C13** | PC13, activo bajo | Parpadeo rápido: esperando consola USB (hasta 4 s); después lo maneja el firmware |
|
||||||
| DB1–DB4 | Medidor de batería | U13 P0–P3 (RB1–RB4 120 Ω) | Umbrales **3.60 / 3.75 / 3.90 / 3.97 V** (−0.10 V de histéresis) — calibrados para Li-ion <!-- VERIFICAR: umbrales para LFP pendientes en 0.6.x --> |
|
| DB1–DB4 | Medidor de batería | U13 P0–P3 (RB1–RB4 120 Ω) | Umbrales **3.60 / 3.75 / 3.90 / 3.97 V** (−0.10 V de histéresis) — calibrados para Li-ion <!-- VERIFICAR: umbrales para LFP pendientes en 0.6.x --> |
|
||||||
| RGB externo (P14) | R/G/B ánodo común | U13 P4–P6 | **Verde** = RTK fix · **Azul** = etapa ON sin RTK · **Magenta** = etapa ON sin NMEA · **Amarillo** = en batería · **Rojo** = etapa OFF |
|
| RGB externo (P14) | R/G/B ánodo común | U13 P4–P6 | Verde = RTK fix · Azul = etapa ON sin RTK · Magenta = etapa ON sin NMEA · Amarillo = en batería · Rojo = etapa OFF |
|
||||||
| D1 (P8) | LED de panel | PB0 → Q4 | Indicador de respaldo cableado en duro |
|
| D1 (P8) | LED de panel | PB0 → Q4 | Indicador de respaldo cableado en duro |
|
||||||
| D4G1 | LED del módem | J8.8 `MODEM_LED` → Rmled1 1 k | Asociación del 4G NTRIP Master (salida 1.8 V → tenue) |
|
| D4G1 | LED del módem | J8.8 `MODEM_LED` → Rmled1 1 k | Asociación del 4G NTRIP Master (salida 1.8 V → tenue) |
|
||||||
| J10 LINK / ACT | Integrados en el RJ45 | U11.25 / U11.27 (R96/R97) | Enlace / actividad Ethernet |
|
| J10 LINK / ACT | Integrados en el RJ45 | U11.25 / U11.27 (R96/R97) | Enlace / actividad Ethernet |
|
||||||
|
|
||||||
## 8. Valores máximos y rangos de operación
|
## 8. Valores máximos y rangos de operación
|
||||||
|
|
||||||
| Parámetro | Mín | Típ | Máx | Nota / fuente |
|
| Parámetro | Mín | Típ | Máx | Nota / fuente |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| Entrada P1 `24V_IN` | 12 V (ignición) | 24 V | 28 V (U2 MP1584EN V_IN máx); TVS D10 SMBJ33A (V_RWM 33 V) <!-- VERIFICAR: el TVS no protege al MP1584 entre 28 y 33 V --> | netlist; datasheet MP1584 |
|
| Entrada P1 `24V_IN` | 12 V (ignición) | 24 V | 28 V (U2 MP1584EN V_IN máx); TVS D10 SMBJ33A (V_RWM 33 V) <!-- VERIFICAR: el TVS no protege al MP1584 entre 28 y 33 V --> | netlist; datasheet MP1584 |
|
||||||
| Ignición P1.3 | 12 V | 24 V | 24 V (divisor 22 k / 22 k ∥ 3.3 k → 2.8 V a 24 V; clamp BAT54 a 3V3) | Informe V3+V4 §obs-ign |
|
| Ignición P1.3 | 12 V | 24 V | 24 V (divisor 22 k / 22 k ∥ 3.3 k → 2.8 V a 24 V; clamp BAT54 a 3V3) | Informe V3+V4 §obs-ign |
|
||||||
| Entrada P2 `VEH5V` | **5.2 V** (regla de banco sin batería) | 5.3 V | **5.5 V** (LTC4040 VIN operativo; U17 Vin máx 5.5 V − D12) | E-PFI; Informe §10 A-08 |
|
| Entrada P2 `VEH5V` | **5.2 V** (regla de banco sin batería) | 5.3 V | **5.5 V** (LTC4040 VIN operativo; U17 Vin máx 5.5 V − D12) | E-PFI; Informe §10 A-08 |
|
||||||
| Corriente de entrada P2 | — | — | 2.5 A (SYSLIM por RS1); fuente SD-15B-05 = 3 A | Informe §1 |
|
| Corriente de entrada P2 | — | — | 2.5 A (SYSLIM por RS1); fuente SD-15B-05 = 3 A | Informe §1 |
|
||||||
| Paquete P4 | 1S | LFP-HT 26650 (V5.6) / Li-ion 18650 1S4P ≈ 12 Ah (V5.5) | — | FACTS; Informe V3+V4 |
|
| Paquete P4 | 1S | LFP-HT 26650 (V5.6) / Li-ion 18650 1S4P ≈ 12 Ah (V5.5) | — | FACTS; Informe V3+V4 |
|
||||||
| Voltaje de celda (firmware) | Corte etapa **3.40 V**, rearme **3.70 V** o 5 V presente | — | Flotación 3.50 V (LFP) / 4.00 V (Li-ion) | `.ino` 0.4.0/0.6.0 <!-- VERIFICAR: umbrales 3.40/3.70 V son de Li-ion; para LFP revisar en 0.6.x --> |
|
| Voltaje de celda (firmware) | Corte etapa **3.40 V**, rearme **3.70 V** o 5 V presente | — | Flotación 3.50 V (LFP) / 4.00 V (Li-ion) | `.ino` 0.4.0/0.6.0 <!-- VERIFICAR: umbrales 3.40/3.70 V son de Li-ion; para LFP revisar en 0.6.x --> |
|
||||||
| Corriente de carga | 1.32 A | 1.40 A | 1.48 A; inhibida con celda ≥ 45 °C (rearme < 40 °C) por firmware; ventana NTC +10…+60 °C por hardware | Informe §10; `.ino` `CHG_CELL_HOT_C` |
|
| Corriente de carga | 1.32 A | 1.40 A | 1.48 A; inhibida con celda ≥ 45 °C (rearme < 40 °C) por firmware; ventana NTC +10…+60 °C por hardware | Informe §10; `.ino` `CHG_CELL_HOT_C` |
|
||||||
| Riel `3V3_MODEM` | — | 3.33 V | 3.5 A (AP64350) — el módem pide 1–2 A en ráfaga | Informe §1 |
|
| Riel `3V3_MODEM` | — | 3.33 V | 3.5 A (AP64350) — el módem pide 1–2 A en ráfaga | Informe §1 |
|
||||||
| Riel `SW_5V` | — | 5.0 V | 4 A hold / 8 A trip (F1) | Informe §9 |
|
| Riel `SW_5V` | — | 5.0 V | 4 A hold / 8 A trip (F1) | Informe §9 |
|
||||||
| Temperatura — corte térmico de la etapa (fw) | aviso 50 °C | — | corte a **60 °C** en `tbat`/`tntc`, rearme < 55 °C | `.ino` 0.4.0 |
|
| Temperatura — corte térmico de la etapa (fw) | aviso 50 °C | — | corte a **60 °C** en `tbat`/`tntc`, rearme < 55 °C | `.ino` 0.4.0 |
|
||||||
| Temperatura — ventilador en batería (fw) | ON ≥ 48 °C | — | OFF ≤ 45 °C (termostato); con 24 V + ignición: 100 % | `.ino` 0.4.0 |
|
| Temperatura — ventilador en batería (fw) | ON ≥ 48 °C | — | OFF ≤ 45 °C (termostato); con 24 V + ignición: 100 % | `.ino` 0.4.0 |
|
||||||
| Temperatura ambiente de operación de la tarjeta | −20 °C | — | +85 °C (rango de validación de los sensores en el autotest) <!-- VERIFICAR: no hay rango de operación formal declarado en ningún documento del proyecto --> | `.ino` `runTests` |
|
| Temperatura ambiente de operación de la tarjeta | −20 °C | — | +85 °C (rango de validación de los sensores en el autotest) <!-- VERIFICAR: no hay rango de operación formal declarado en ningún documento del proyecto --> | `.ino` `runTests` |
|
||||||
| USB J11 / J9 | 5 V | — | 5.5 V; ESD PESD5V0S1BA (J11) / USBLC6-2SC6 (J9) | netlist |
|
| USB J11 / J9 | 5 V | — | 5.5 V; ESD PESD5V0S1BA (J11) / USBLC6-2SC6 (J9) | netlist |
|
||||||
| Bus RS-485 | — | — | Terminación 120 Ω opcional (JP5); SP3485 ±7 V modo común (datasheet) | netlist |
|
| Bus RS-485 | — | — | Terminación 120 Ω opcional (JP5); SP3485 ±7 V modo común (datasheet) | netlist |
|
||||||
|
|
||||||
## 9. Interfaz de firmware (`hbox_v5_bringup` 0.6.0)
|
## 9. Interfaz de firmware (`hbox_v5_bringup` 0.6.0)
|
||||||
|
|
||||||
@ -259,16 +262,16 @@ Pinout completo pin a pin (generado de la netlist): [Pinout de arneses y conecto
|
|||||||
| Consola | USB CDC en **J11**, 115200 (el baud no importa en CDC), líneas CR+LF. Primera línea: `hbox_v5_bringup 0.6.0 built …`, luego `board=EinarBoard v5 (HBOX v5)` |
|
| Consola | USB CDC en **J11**, 115200 (el baud no importa en CDC), líneas CR+LF. Primera línea: `hbox_v5_bringup 0.6.0 built …`, luego `board=EinarBoard v5 (HBOX v5)` |
|
||||||
| Compilación | `arduino-cli` STM32duino 3.x, FQBN `GenF4:pnum=GENERIC_F411RETX,usb=CDCgen,xserial=generic,rtlib=nanofp`, `-DHSE_VALUE=25000000UL`; variante Ethernet de banco `-DENABLE_ETH=1` (0.6.0-eth); `-DENABLE_CHARGE=0` = cargador siempre OFF (0.5.x) |
|
| Compilación | `arduino-cli` STM32duino 3.x, FQBN `GenF4:pnum=GENERIC_F411RETX,usb=CDCgen,xserial=generic,rtlib=nanofp`, `-DHSE_VALUE=25000000UL`; variante Ethernet de banco `-DENABLE_ETH=1` (0.6.0-eth); `-DENABLE_CHARGE=0` = cargador siempre OFF (0.5.x) |
|
||||||
| Flasheo | DFU por J11: SW2 pulsado → SW1 pulsar/soltar → soltar SW2 → `dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.6.0.bin` (o STM32CubeProgrammer, USB, `0x08000000`) |
|
| Flasheo | DFU por J11: SW2 pulsado → SW1 pulsar/soltar → soltar SW2 → `dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.6.0.bin` (o STM32CubeProgrammer, USB, `0x08000000`) |
|
||||||
| Modo por defecto | **AUTO** (flash byte `0x5A` = MANUAL): la etapa se enciende sola 3 s después de haber 5 V en P2; respaldo continuo en batería; reset del MCU al volver el 5 V tras ≥ 10 s de respaldo |
|
| Modo por defecto | **AUTO** (flash byte `0x5A` = MANUAL): la etapa se enciende sola 3 s después de haber 5 V en P2; respaldo continuo en batería; reset del MCU al volver el 5 V tras ≥ 10 s de respaldo |
|
||||||
| Watchdog | IWDG 16 s |
|
| Watchdog | IWDG 16 s |
|
||||||
|
|
||||||
### 9.1 Teclas de consola (texto de ayuda `h`)
|
### 9.1 Teclas de consola (texto de ayuda `h`)
|
||||||
|
|
||||||
| Tecla | Acción |
|
| Tecla | Acción |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `r` | Repetir autotest · `g` recorrido del medidor/RGB · `i` escaneo I²C · `s` STAT ahora · `t` `$PHLG` ahora · `l` leyenda · `v` puntos de medición · `h` ayuda |
|
| `r` | Repetir autotest · `g` recorrido del medidor/RGB · `i` escaneo I²C · `s` STAT ahora · `t` `$PHLG` ahora · `l` leyenda · `v` puntos de medición · `h` ayuda |
|
||||||
| `P` + `Y` | Armar (10 s) y confirmar el encendido de la etapa RTK (requiere v5 > 4.5 V); `P` de nuevo = apagar |
|
| `P` + `Y` | Armar (10 s) y confirmar el encendido de la etapa RTK (requiere v5 > 4.5 V); `P` de nuevo = apagar |
|
||||||
| `n` | Monitor NMEA 20 s (fix 4 = RTK FIX) |
|
| `n` | Monitor NMEA 20 s (fix 4 = RTK FIX) |
|
||||||
| `A` | AUTO / MANUAL (se guarda en flash) |
|
| `A` | AUTO / MANUAL (se guarda en flash) |
|
||||||
| `B` | Modo B on/off (K1 + `$PHLG` en banda) |
|
| `B` | Modo B on/off (K1 + `$PHLG` en banda) |
|
||||||
| `M` | Pulso `MODEM_RST` (V5.5/V4: por U13 P7 y el puente 0.5.6; V5.6: por PC1 en 0.6.x) |
|
| `M` | Pulso `MODEM_RST` (V5.5/V4: por U13 P7 y el puente 0.5.6; V5.6: por PC1 en 0.6.x) |
|
||||||
@ -280,22 +283,22 @@ Pinout completo pin a pin (generado de la netlist): [Pinout de arneses y conecto
|
|||||||
|
|
||||||
| Prueba | PASS si |
|
| Prueba | PASS si |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `CLOCK_HSE` | SYSCLK = 96 MHz, HSE listo, PLL desde HSE |
|
| `CLOCK_HSE` | SYSCLK = 96 MHz, HSE listo, PLL desde HSE |
|
||||||
| `LSE_Y4` | LSERDY = 1 (Y4 32.768 kHz) |
|
| `LSE_Y4` | LSERDY = 1 (Y4 32.768 kHz) |
|
||||||
| `I2C` ×4 | ACK de PCF8574 0x20, SHT40 0x44, TMP102 0x48, SC16IS752 0x4D (+ escaneo 0x08–0x77) <!-- VERIFICAR: 0.6.0 no incluye U18 0x49 en la lista; añadir en 0.6.x --> |
|
| `I2C` ×4 | ACK de PCF8574 0x20, SHT40 0x44, TMP102 0x48, SC16IS752 0x4D (+ escaneo 0x08–0x77) <!-- VERIFICAR: 0.6.0 no incluye U18 0x49 en la lista; añadir en 0.6.x --> |
|
||||||
| `TMP102` / `SHT40` | Lectura entre −20 y +85 °C |
|
| `TMP102` / `SHT40` | Lectura entre −20 y +85 °C |
|
||||||
| `SC16IS752` | Registro *scratchpad* lee lo escrito (sin *loopback* de canal todavía; previsto 0.6.1) |
|
| `SC16IS752` | Registro *scratchpad* lee lo escrito (sin *loopback* de canal todavía; previsto 0.6.1) |
|
||||||
| `GAUGE_WALK` | Visual: DB1→DB4 y luego R, G, B |
|
| `GAUGE_WALK` | Visual: DB1→DB4 y luego R, G, B |
|
||||||
| `ADC` / `DIN` | Informativos: `vbat v5 ntc mcu` y `ign chrg fault ser_irq eth_int` |
|
| `ADC` / `DIN` | Informativos: `vbat v5 ntc mcu` y `ign chrg fault ser_irq eth_int` |
|
||||||
| Resultado | `---- RESULT: n PASS / m FAIL ----` → `>>> BOARD OK` o `>>> BOARD CHECK FAILED` |
|
| Resultado | `---- RESULT: n PASS / m FAIL ----` → `>>> BOARD OK` o `>>> BOARD CHECK FAILED` |
|
||||||
|
|
||||||
### 9.3 Línea `STAT` (cada 5 s)
|
### 9.3 Línea `STAT` (cada 5 s)
|
||||||
|
|
||||||
`STAT up= vbat= v5=(ok|BAJO|no) ign= chrg= flt= tntc= tbat= tair= rh= tmcu= i2cerr= stack= modo= fan= rec= [LIMP] [backup=] [duty=…] carga=FASE [+CALIENTE][+OP] pin= ltc= cortes= modoB= relay= phlg_aire= v5min= vbatmin= bkp= mrst= [eth=… ip= lineas= bytes= drop= conn=] [t_on= nmea= bad= gga= sats= hdop= age= rtcm_age= sta= rtcm_last= sag5= sagb= flat= modem=]`
|
`STAT up= vbat= v5=(ok|BAJO|no) ign= chrg= flt= tntc= tbat= tair= rh= tmcu= i2cerr= stack= modo= fan= rec= [LIMP] [backup=] [duty=…] carga=FASE [+CALIENTE][+OP] pin= ltc= cortes= modoB= relay= phlg_aire= v5min= vbatmin= bkp= mrst= [eth=… ip= lineas= bytes= drop= conn=] [t_on= nmea= bad= gga= sats= hdop= age= rtcm_age= sta= rtcm_last= sag5= sagb= flat= modem=]`
|
||||||
|
|
||||||
Fases del gobernador de carga (`carga=`): `HOLDOFF` (< 120 s tras boot/STACK ON) · `NOTRUN` · `BATT` · `WAIT` (riel 4.90–5.05 V) · `PROVING n/30s` · `ON` · `SHED` · `COOLDOWN faltan s`. Umbrales: arranque ≥ 5.05 V estable 30 s, corte < 4.90 V (muestra rápida), enfriamiento 60 s → 30 min, celda ≥ 45 °C inhibe.
|
Fases del gobernador de carga (`carga=`): `HOLDOFF` (< 120 s tras boot/STACK ON) · `NOTRUN` · `BATT` · `WAIT` (riel 4.90–5.05 V) · `PROVING n/30s` · `ON` · `SHED` · `COOLDOWN faltan s`. Umbrales: arranque ≥ 5.05 V estable 30 s, corte < 4.90 V (muestra rápida), enfriamiento 60 s → 30 min, celda ≥ 45 °C inhibe.
|
||||||
|
|
||||||
### 9.4 Trama `$PHLG` (cada 10 s en consola, cada 30 s en banda; checksum XOR)
|
### 9.4 Trama `$PHLG` (cada 10 s en consola, cada 30 s en banda; checksum XOR)
|
||||||
|
|
||||||
Campos 1–24 (formato de flota v3.x, lo lee `htracker/retranslator.py`) + 25–29 (0.5.1, *append-only*):
|
Campos 1–24 (formato de flota v3.x, lo lee `htracker/retranslator.py`) + 25–29 (0.5.1, *append-only*):
|
||||||
|
|
||||||
@ -309,20 +312,20 @@ Fuente: Informe de cambios §1 (tabla antes → después), §2–§3 (partes y p
|
|||||||
|
|
||||||
| Área | V5.5 (as-fabbed 22-ago) | V5.6 | Refs | Motivo |
|
| Área | V5.5 (as-fabbed 22-ago) | V5.6 | Refs | Motivo |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| Riel del módem | U7 MP1584EN desde `SW_5V` (tras F1/Q1), EN = VIN | **U7 AP64350SP-13** desde **`SYS5V`**, EN = **PC3 `MODEM_EN`** (R105 10 k, R106 100 k ↓) | U7, L7 4.7 µH/4 A, Cbst2 100 nF, Rcomp2 9.1 k, Ccomp2 10 nF, C123 68 pF, Rfreq2 200 k, C119/C120 22 µF, C121 10 µF, C122 22 µF, Dbk2 DNP | Módem oscuro en batería (MP1584 no arranca a 4.6 V); el MCU puede apagar/encender el módem |
|
| Riel del módem | U7 MP1584EN desde `SW_5V` (tras F1/Q1), EN = VIN | **U7 AP64350SP-13** desde **`SYS5V`**, EN = **PC3 `MODEM_EN`** (R105 10 k, R106 100 k ↓) | U7, L7 4.7 µH/4 A, Cbst2 100 nF, Rcomp2 9.1 k, Ccomp2 10 nF, C123 68 pF, Rfreq2 200 k, C119/C120 22 µF, C121 10 µF, C122 22 µF, Dbk2 DNP | Módem oscuro en batería (MP1584 no arranca a 4.6 V); el MCU puede apagar/encender el módem |
|
||||||
| Control del módem | Solo SW4G1 (V4/V5.5 con puente 0.5.6 a U13 P7) | **PC1 `MODEM_RST`** (R107 1 k) · **PC2 `MODEM_LED`** (R108 10 k) · PC4 `XBEE_ONSLP` (R109 DNP) · **PC7 `RTCM_TAP`** USART6_RX (R111 1 k) | R107–R111 | Reset y diagnóstico del módem desde firmware; escucha de RTCM |
|
| Control del módem | Solo SW4G1 (V4/V5.5 con puente 0.5.6 a U13 P7) | **PC1 `MODEM_RST`** (R107 1 k) · **PC2 `MODEM_LED`** (R108 10 k) · PC4 `XBEE_ONSLP` (R109 DNP) · **PC7 `RTCM_TAP`** USART6_RX (R111 1 k) | R107–R111 | Reset y diagnóstico del módem desde firmware; escucha de RTCM |
|
||||||
| Capacitores de riel | C3 47 µF elco, C43 100 µF/6.3 V elco, C78 220 µF/10 V elco 85 °C | **C3, C43, C78 = 220 µF/16 V polímero** (Lelon OVZ221M1CTR-0608, C881921) | C3, C43, C78 | Ráfagas LTE; vida a 85 °C en gabinete |
|
| Capacitores de riel | C3 47 µF elco, C43 100 µF/6.3 V elco, C78 220 µF/10 V elco 85 °C | **C3, C43, C78 = 220 µF/16 V polímero** (Lelon OVZ221M1CTR-0608, C881921) | C3, C43, C78 | Ráfagas LTE; vida a 85 °C en gabinete |
|
||||||
| Cargador | RS1 8 mΩ (3.1 A), R50 825 Ω (2.42 A) | **RS1 10 mΩ/1 W (2.5 A)**, **R50 1.43 k (1.40 A)** | RS1, R50 | La SD-15B (3 A) se plegaba (incidente 10-ago) |
|
| Cargador | RS1 8 mΩ (3.1 A), R50 825 Ω (2.42 A) | **RS1 10 mΩ/1 W (2.5 A)**, **R50 1.43 k (1.40 A)** | RS1, R50 | La SD-15B (3 A) se plegaba (incidente 10-ago) |
|
||||||
| Química | Li-ion 4.00 V: JP2 1-2, R55 10 k | **LFP 3.50 V: JP2 2-3, R55 5.6 k** (NTC B3380, ventana +10…+60 °C) | JP2, R55 | Paquete LFP-HT 26650 para puertos a 45 °C |
|
| Química | Li-ion 4.00 V: JP2 1-2, R55 10 k | **LFP 3.50 V: JP2 2-3, R55 5.6 k** (NTC B3380, ventana +10…+60 °C) | JP2, R55 | Paquete LFP-HT 26650 para puertos a 45 °C |
|
||||||
| Fusible etapa | F1 PPTC 3 A (C20627123) | **F1 BSMD1812-400-12V** 4 A/8 A, 25 mΩ | F1 | Caída ≤ 60 mV a 2.5 A |
|
| Fusible etapa | F1 PPTC 3 A (C20627123) | **F1 BSMD1812-400-12V** 4 A/8 A, 25 mΩ | F1 | Caída ≤ 60 mV a 2.5 A |
|
||||||
| Térmico | U4 TMP102 (posición V5.5), sonda externa P5 | **U4 junto a U6/L6 (cargador)**, **U18 TMP102 0x49 junto al módem** (+ C124), **NTC del paquete también a PC5** (R113 100 k / R114 120 k / C125 10 nF), **P5 eliminado** | U4, U18, C124, R113, R114, C125, P5 | Ver el calor donde ocurre; sin sonda externa |
|
| Térmico | U4 TMP102 (posición V5.5), sonda externa P5 | **U4 junto a U6/L6 (cargador)**, **U18 TMP102 0x49 junto al módem** (+ C124), **NTC del paquete también a PC5** (R113 100 k / R114 120 k / C125 10 nF), **P5 eliminado** | U4, U18, C124, R113, R114, C125, P5 | Ver el calor donde ocurre; sin sonda externa |
|
||||||
| Ethernet | `ETH_RST` sin pull; C90 10 µF, C91 4.7 µF | **R112 4.7 k** `ETH_RST` → GND; **C90 4.7 µF**, **C91 10 nF** (datasheet W5500) | R112, C90, C91 | W5500 en reset mientras el MCU está en reset (130 mA en batería); valores de datasheet |
|
| Ethernet | `ETH_RST` sin pull; C90 10 µF, C91 4.7 µF | **R112 4.7 k** `ETH_RST` → GND; **C90 4.7 µF**, **C91 10 nF** (datasheet W5500) | R112, C90, C91 | W5500 en reset mientras el MCU está en reset (130 mA en batería); valores de datasheet |
|
||||||
| USB módem | Sin ESD en J9 | **D19 USBLC6-2SC6** | D19 | Robustez |
|
| USB módem | Sin ESD en J9 | **D19 USBLC6-2SC6** | D19 | Robustez |
|
||||||
| Corte | Solo P11 | **JP6** en paralelo con P11 (abierto) | JP6 | Unidades sin interruptor |
|
| Corte | Solo P11 | **JP6** en paralelo con P11 (abierto) | JP6 | Unidades sin interruptor |
|
||||||
| LDO 3V3 | U17 AMS1117-3.3 | **U17 TLV1117LV33DCYR** (mismo SOT-223) | U17 | Dropout: 3V3 marginal en respaldo; Iq 0.1 mA |
|
| LDO 3V3 | U17 AMS1117-3.3 | **U17 TLV1117LV33DCYR** (mismo SOT-223) | U17 | Dropout: 3V3 marginal en respaldo; Iq 0.1 mA |
|
||||||
| BOM / stock | U10 C729142 (15 en stock), R53 C131054 (6), 100 k C103211 | **U10 C57156**, **R53 C177479**, 100 k → **C25803** (1 %, básica) | U10, R53, ×12 | Stock JLC para 30 tarjetas |
|
| BOM / stock | U10 C729142 (15 en stock), R53 C131054 (6), 100 k C103211 | **U10 C57156**, **R53 C177479**, 100 k → **C25803** (1 %, básica) | U10, R53, ×12 | Stock JLC para 30 tarjetas |
|
||||||
| Huella | U15 `SOIC-16W` (campo obsoleto) | U15 **`SOIC-16_3.9x9.9mm`** (la PCB ya la usaba) | U15 | Evitar que *Update PCB* cambie la huella buena |
|
| Huella | U15 `SOIC-16W` (campo obsoleto) | U15 **`SOIC-16_3.9x9.9mm`** (la PCB ya la usaba) | U15 | Evitar que *Update PCB* cambie la huella buena |
|
||||||
| Sin cambio (decisión) | R53 499 k (boost 4.79 V), C40 22 µF en `SW_5V`, U12, R60/R61, cristales HC-49, A-11 (R56), D-09, A-13 (PFO al MCU: sin pin libre) | — | — | Informe §6, §9, §10 |
|
| Sin cambio (decisión) | R53 499 k (boost 4.79 V), C40 22 µF en `SW_5V`, U12, R60/R61, cristales HC-49, A-11 (R56), D-09, A-13 (PFO al MCU: sin pin libre) | — | — | Informe §6, §9, §10 |
|
||||||
|
|
||||||
## 11. Pedido y BOM
|
## 11. Pedido y BOM
|
||||||
|
|
||||||
@ -330,12 +333,14 @@ Fuente: Informe de cambios §1 (tabla antes → después), §2–§3 (partes y p
|
|||||||
|---|---|
|
|---|---|
|
||||||
| BOM V5.6 (94 LCSC, verificados para 30 pzas el 28-sep) | Campo `LCSC` de cada componente en `kicad/hbox-watchdog-v5.kicad_sch` → exportar con `kicad-cli sch export bom` / plugin JLC; guía: `03-Architecture-Hardware/JLCPCB-Order-Guide.md` |
|
| BOM V5.6 (94 LCSC, verificados para 30 pzas el 28-sep) | Campo `LCSC` de cada componente en `kicad/hbox-watchdog-v5.kicad_sch` → exportar con `kicad-cli sch export bom` / plugin JLC; guía: `03-Architecture-Hardware/JLCPCB-Order-Guide.md` |
|
||||||
| BOM maestro del gabinete (módulos, fuente, paquete, cables) | `03-Architecture-Hardware/Drogheda-BOM-Maestro.xlsx`, `BOM-master.md`, `Assembly-BOM-Split.md` |
|
| BOM maestro del gabinete (módulos, fuente, paquete, cables) | `03-Architecture-Hardware/Drogheda-BOM-Maestro.xlsx`, `BOM-master.md`, `Assembly-BOM-Split.md` |
|
||||||
| Pendientes antes de pedir | *Update PCB* + re-ruteo del bloque U7 y 17 huellas nuevas · DRC 0 · auditoría pad-a-pad contra `board_v5.h`/0.6.x · **prueba de Ethernet en una V5.5** (nunca ejercitado en hardware real) · escalón de carga en `3V3_MODEM` · carga LFP a 45 °C sin pausa NTC (Informe §8–§9) |
|
| Pendientes antes de pedir | *Update PCB* + re-ruteo del bloque U7 y 17 huellas nuevas · DRC 0 · auditoría pad-a-pad contra `board_v5.h`/0.6.x · **prueba de Ethernet en una V5.5** (nunca ejercitado en hardware real) · escalón de carga en `3V3_MODEM` · carga LFP a 45 °C sin pausa NTC (Informe §8–§9) |
|
||||||
| Esquemático PDF | `03-Architecture-Hardware/hbox-watchdog-v56-schematic.pdf` |
|
| Esquemático PDF | `03-Architecture-Hardware/hbox-watchdog-v56-schematic.pdf` |
|
||||||
| Cristal Y2 | Valor en esquemático `1.8432MHz`, LCSC C2238 = X49SM36864MSD2SC-1 (**3.6864 MHz**, que es lo que dice `board_v5.h` y la serigrafía del cristal) <!-- VERIFICAR y corregir el campo Value en el esquemático --> |
|
| Cristal Y2 | Valor en esquemático `1.8432MHz`, LCSC C2238 = X49SM36864MSD2SC-1 (**3.6864 MHz**, que es lo que dice `board_v5.h` y la serigrafía del cristal) <!-- VERIFICAR y corregir el campo Value en el esquemático --> |
|
||||||
|
|
||||||
## Historial de revisiones
|
## Historial de revisiones
|
||||||
|
|
||||||
| Versión | Fecha | Autor | Cambio |
|
| Versión | Fecha | Cambios |
|
||||||
|---|---|---|---|
|
|---|---|---|
|
||||||
| 1.0 | 2026-09-29 | Helgen Technologies | Primera versión (V5.6 con ECO en esquemático; PCB pendiente) |
|
| 1.0 | 2026-09-29 | Primera versión (V5.6 con ECO en esquemático; PCB pendiente) |
|
||||||
|
|
||||||
|
Ver también: [manual V5](../manuales/manual-tarjeta-V5.md) · [pinout V5.6](v56-pinout.md) · [informe de cambios](v56-cambios-esquematico.md) · [ECO](v56-eco.md) · [instrucciones de layout](v56-layout-instrucciones.md).
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: EinarBoard V5.6 — Cómo pasar la ECO del esquemático a la PCB (instrucciones de layout)
|
title: "EinarBoard V5.6 — del esquemático a la PCB"
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
date: 2026-09-29
|
date: 2026-09-29
|
||||||
tags: [project-drogheda, hardware, kicad, v5.6, layout]
|
tags: [project-drogheda, hardware, kicad, v5.6, layout]
|
||||||
@ -7,24 +7,23 @@ tags: [project-drogheda, hardware, kicad, v5.6, layout]
|
|||||||
|
|
||||||
# EinarBoard V5.6 — del esquemático a la PCB
|
# EinarBoard V5.6 — del esquemático a la PCB
|
||||||
|
|
||||||
!!! info "Tarjeta: EinarBoard **V5.6** — proyecto KiCad `hbox-watchdog-v5` (lote en pedido, sep-2026)"
|
!!! note "EinarBoard V5.6 (`hbox-watchdog-v5`), lote en pedido"
|
||||||
Esta tarjeta es la evolución de la V5.5 fabricada (STM32F411 a bordo + zócalos simpleRTK2B y 4G NTRIP Master). **No es la v6** (GNSS y 4G soldados a bordo, `hbox-watchdog-v6`, en diseño): la v6 tiene su propia sección en el sitio. Cuando este documento dice «copiado de v6» se refiere solo al origen de un valor de componente.
|
Esta tarjeta es la evolución de la V5.5 fabricada (STM32F411 a bordo + zócalos simpleRTK2B y 4G NTRIP Master). **No es la v6** (GNSS y 4G soldados a bordo, `hbox-watchdog-v6`, en diseño): la v6 tiene su propia sección en el sitio. Cuando este documento dice «copiado de v6» se refiere solo al origen de un valor de componente.
|
||||||
|
|
||||||
|
Para: Michelle (layout) y Leo (revisión). Proyecto KiCad: `03-Architecture-Hardware/kicad/hbox-watchdog-v5.kicad_pro` (KiCad 10). Ya **no existe** un proyecto `-v56`: la V5.6 se edita en el mismo proyecto; el estado fabricado V5.5 es el tag git `v5.5-as-fabbed`.
|
||||||
|
|
||||||
**Para:** Michelle (layout) y Leo (revisión). **Proyecto KiCad:** `03-Architecture-Hardware/kicad/hbox-watchdog-v5.kicad_pro` (KiCad 10). Ya **no existe** un proyecto `-v56`: la V5.6 se edita en el mismo proyecto; el estado fabricado V5.5 es el tag git `v5.5-as-fabbed`.
|
Referencias: [Informe de cambios al esquemático](../hardware/v56-cambios-esquematico.md) (qué cambió y por qué, §1–§10) · [ECO V5.6](../hardware/v56-eco.md) (requisitos R1–R5, sección E de EMC) · [Hoja de datos V5.6](v56-datasheet.md) · [Pinout V5.6](v56-pinout.md).
|
||||||
|
|
||||||
**Referencias:** [Informe de cambios al esquemático](../hardware/v56-cambios-esquematico.md) (qué cambió y por qué, §1–§10) · [ECO V5.6](../hardware/v56-eco.md) (requisitos R1–R5, sección E de EMC) · [Hoja de datos V5.6](v56-datasheet.md) · [Pinout V5.6](v56-pinout.md).
|
|
||||||
|
|
||||||
!!! warning "Reglas"
|
!!! warning "Reglas"
|
||||||
- Trabajar **solo** en `hbox-watchdog-v5.*`; no tocar `hbox-watchdog-v6.*` ni `v3`/`v4`.
|
- Trabajar solo en `hbox-watchdog-v5.*`; no tocar `hbox-watchdog-v6.*` ni `v3`/`v4`.
|
||||||
- Commit en el submódulo `kicad` primero, luego el gitlink en el repo padre (guía Git del sitio).
|
- Commit en el submódulo `kicad` primero, luego el gitlink en el repo padre (guía Git del sitio).
|
||||||
- No ejecutar «Update footprints from library» ni marcar «Replace footprints with those specified in schematic» al actualizar la PCB: las huellas colocadas en la V5.5 son las correctas (RJ45, Phoenix, U15 angosto).
|
- No ejecutar «Update footprints from library» ni marcar «Replace footprints with those specified in schematic» al actualizar la PCB: las huellas colocadas en la V5.5 son las correctas (RJ45, Phoenix, U15 angosto).
|
||||||
|
|
||||||
## 1. Esquemático (Leo, 15 min)
|
## 1. Esquemático (Leo, 15 min)
|
||||||
|
|
||||||
1. Abrir `hbox-watchdog-v5.kicad_pro` → eeschema → **Guardar** una vez (KiCad reescribe el archivo generado por script en formato canónico; el diff en git será grande, es normal).
|
1. Abrir `hbox-watchdog-v5.kicad_pro` → eeschema → Guardar una vez (KiCad reescribe el archivo generado por script en formato canónico; el diff en git será grande, es normal).
|
||||||
2. **ERC**: se espera 1 error preexistente (etiqueta `GND` suelta en 50.8, 25.146 — borrarla deja 0 errores) y los mismos avisos de librería que la V5.5. Ningún aviso nuevo.
|
2. ERC: se espera 1 error preexistente (etiqueta `GND` suelta en 50.8, 25.146 — borrarla deja 0 errores) y los mismos avisos de librería que la V5.5. Ningún aviso nuevo.
|
||||||
3. Revisar visualmente el bloque **U7** (x≈433–475, y≈185–210 mm) y el bloque **«V5.6 ECO (2026-09-28)»** (x 70–210, y 362–580 mm, 5 filas). Los componentes nuevos van por etiquetas: se pueden mover junto a su bloque sin rehacer conexiones.
|
3. Revisar visualmente el bloque **U7** (x≈433–475, y≈185–210 mm) y el bloque **«V5.6 ECO (2026-09-28)»** (x 70–210, y 362–580 mm, 5 filas). Los componentes nuevos van por etiquetas: se pueden mover junto a su bloque sin rehacer conexiones.
|
||||||
4. Commit del `.kicad_sch`.
|
4. Commit del `.kicad_sch`.
|
||||||
|
|
||||||
## 2. Update PCB from Schematic (F8)
|
## 2. Update PCB from Schematic (F8)
|
||||||
@ -34,63 +33,65 @@ Resultado esperado del diálogo (sin «replace footprints»):
|
|||||||
| Acción | Refs |
|
| Acción | Refs |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Huella sustituida en su sitio (mismo UUID, pinout distinto → re-rutear) | **U7** → `Drogheda-v6:SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP` (AP64350) |
|
| Huella sustituida en su sitio (mismo UUID, pinout distinto → re-rutear) | **U7** → `Drogheda-v6:SO-8_L4.9-W3.9-P1.27-LS6.0-BL-EP` (AP64350) |
|
||||||
| Huella cambiada | **JP2** Bridged12 → Bridged23 (misma geometría) |
|
| Huella cambiada | **JP2** → `Drogheda:SolderJumper-3_P1.3mm_Bridged23_RoundedPad1.0x1.5mm` (huella del proyecto; puente en 2-3 = LFP) |
|
||||||
| Huellas nuevas (caen en el origen) | C119 C120 C121 C122 C123 C124 **C125** · R105 R106 R107 R108 R109(DNP) R110 ya no existe R111 R112 **R113 R114** · U18 (SOT-563) · D19 (SOT-23-6) · JP6 |
|
| Huellas nuevas (caen en el origen) | C119 C120 C121 C122 C123 C124 **C125** · R105 R106 R107 R108 R109(DNP) R110 ya no existe R111 R112 **R113 R114** · U18 (SOT-563) · D19 (SOT-23-6) · JP6 |
|
||||||
| Huella eliminada | **P5** (TEMP_PROBE, JST XH-4) |
|
| Huella eliminada | **P5** (TEMP_PROBE, JST XH-4) |
|
||||||
| DNP (quedan en placa, sin pieza) | Dbk2, R109 |
|
| DNP (quedan en placa, sin pieza) | Dbk2, R109 |
|
||||||
| Sin cambio de huella, solo valor/LCSC | RS1, R50, R53, R55, R112, U10, U15 (campo corregido = huella ya colocada), U17, C3, C43, C78, C90, C91, L7, F1, Cbst2, Rcomp2, Ccomp2, Rfreq2, Y2 |
|
| Sin cambio de huella, solo valor/LCSC | RS1, R50, R53, R55, R112, U10, U15 (campo corregido = huella ya colocada), U17, C3, C43, C78, C90, C91, L7, F1, Cbst2, Rcomp2, Ccomp2, Rfreq2, Y2 |
|
||||||
|
|
||||||
Si el log se queja de `Connector_RJ45` o de la huella Phoenix «Vertical»: es el desajuste de nombre de librería preexistente; ignorar (no reemplazar huellas).
|
Antes de F8: hacer `git pull` del repositorio HBox_PCB (trae la huella de JP2 y la tabla de librerías corregida). El log de F8 no debe mostrar «footprint not found»; si aparece, la copia local está desactualizada.
|
||||||
|
|
||||||
## 3. Layout — en este orden
|
## 3. Layout — en este orden
|
||||||
|
|
||||||
**A. Térmico del LTC4040 (bloqueante, lección F5)**
|
**A. Térmico del LTC4040 (bloqueante, lección F5)**
|
||||||
|
|
||||||
1. `SW_BAT` (U6.21/22 → L6.1): polígono en F.Cu **≥ 2 mm**, sin cuellos de 0.3 mm más allá del abanico de los pines.
|
1. `SW_BAT` (U6.21/22 → L6.1): polígono en F.Cu **≥ 2 mm**, sin cuellos de 0.3 mm más allá del abanico de los pines.
|
||||||
2. `BAT_PLUS` (P4 → L6.2 → U6.23): **≥ 1.5 mm** + ≥ 4 vías por cambio de capa; sensado del pin 23 como Kelvin desde L6.2/C35.
|
2. `BAT_PLUS` (P4 → L6.2 → U6.23): **≥ 1.5 mm** + ≥ 4 vías por cambio de capa; sensado del pin 23 como Kelvin desde L6.2/C35.
|
||||||
3. **EP de U6: ≥ 9 vías** 0.3/0.6 mm (3×3, paso 0.9×1.2 mm), conexión sólida a la zona.
|
3. **EP de U6: ≥ 9 vías** 0.3/0.6 mm (3×3, paso 0.9×1.2 mm), conexión sólida a la zona.
|
||||||
4. L6 a ≤ 5 mm de U6; C30/C31 ≤ 3 mm del pin 6; C32/C33/C34 ≤ 2 mm de los pines 1/24.
|
4. L6 a ≤ 5 mm de U6; C30/C31 ≤ 3 mm del pin 6; C32/C33/C34 ≤ 2 mm de los pines 1/24.
|
||||||
5. **U4 (TMP102, 0x48) se mueve** desde junto al MCU a **≤ 5 mm del EP de U6**, entre U6 y L6 = sensor del cargador (`tchg`). C124 no es su desacoplo (es de U18): usar el 100 nF que ya tiene U4.
|
5. **U4 (TMP102, 0x48) se mueve** desde junto al MCU a **≤ 5 mm del EP de U6**, entre U6 y L6 = sensor del cargador (`tchg`). C124 no es su desacoplo (es de U18): usar el 100 nF que ya tiene U4.
|
||||||
6. In1/In2 sólidos ≥ 5 mm alrededor de U6/L6 (mover `VFB_BST`, `IGATE`, `CHRG_*` de In1).
|
6. In1/In2 sólidos ≥ 5 mm alrededor de U6/L6 (mover `VFB_BST`, `IGATE`, `CHRG_*` de In1).
|
||||||
|
|
||||||
**B. Bloque U7 (AP64350, módem)**
|
**B. Bloque U7 (AP64350, módem)**
|
||||||
|
|
||||||
7. Re-rutear: Cin **C119/C120/C121 < 3 mm** del pin 2 (VIN) con GND al EP; **Cbst2** pegado a pines 1/8; **C123/Rcomp2/Ccomp2** y **Rfreq2** junto a pines 4/6 con retorno a GND corto; EP con vías; L7 ≤ 5 mm del pin 8 (SW); `SW3_NODE` ≤ 25 mm².
|
7. Re-rutear: Cin **C119/C120/C121 < 3 mm** del pin 2 (VIN) con GND al EP; **Cbst2** pegado a pines 1/8; **C123/Rcomp2/Ccomp2** y **Rfreq2** junto a pines 4/6 con retorno a GND corto; EP con vías; L7 ≤ 5 mm del pin 8 (SW); `SW3_NODE` ≤ 25 mm².
|
||||||
8. R60/R61 (FB) ≤ 3 mm del pin 5, lejos del pin 8.
|
8. R60/R61 (FB) ≤ 3 mm del pin 5, lejos del pin 8.
|
||||||
9. **C3 y C43** (220 µF polímero, mismo can 6.3×7.7) en su sitio; C122 (22 µF) junto a C43 en 3V3_MODEM.
|
9. **C3 y C43** (220 µF polímero, mismo can 6.3×7.7) en su sitio; C122 (22 µF) junto a C43 en 3V3_MODEM.
|
||||||
|
|
||||||
**C. Piezas nuevas**
|
C. Piezas nuevas
|
||||||
|
|
||||||
10. **U18 + C124** entre J7/J8 y el módem (fuente de calor). SOT-563: revisar orientación en 3D.
|
10. **U18 + C124** entre J7/J8 y el módem (fuente de calor). SOT-563: revisar orientación en 3D.
|
||||||
11. **D19** en la salida D+/D− de **J9** (flow-through), ≤ 3 mm de cobre, vía a GND ≤ 1 mm.
|
11. **D19** en la salida D+/D− de **J9** (flow-through), ≤ 3 mm de cobre, vía a GND ≤ 1 mm.
|
||||||
12. **R112 (4.7 k)** junto a U11 pin 37. **R107/R108** cerca de J7/J8; **R111** cerca de J7.2; **R105/R106** junto a U7 pin 3.
|
12. **R112 (4.7 k)** junto a U11 pin 37. **R107/R108** cerca de J7/J8; **R111** cerca de J7.2; **R105/R106** junto a U7 pin 3.
|
||||||
13. **R113/R114/C125** (divisor NTC → PC5) junto a P4/R55, pista corta a U16 pin 25.
|
13. **R113/R114/C125** (divisor NTC → PC5) junto a P4/R55, pista corta a U16 pin 25.
|
||||||
14. **JP6** junto a P11 (silk «CUTOFF BYPASS — abierto»).
|
14. **JP6** junto a P11 (silk «CUTOFF BYPASS — abierto»).
|
||||||
15. **P5 fuera**: liberar el área; no dejar pads huérfanos.
|
15. **P5 fuera**: liberar el área; no dejar pads huérfanos.
|
||||||
|
|
||||||
**D. EMC (sección E de la ECO)**
|
D. EMC (sección E de la ECO)
|
||||||
|
|
||||||
16. Divisor FB del ventilador (R20/R21) junto al pin 4 de U2; ESD DFU (D14/D15/D16) en línea con J11; cristales ≤ 5 mm de sus ICs; costura de vías bajo MOD1 y en cada isla de GND ≥ 20 mm²; ninguna celda de 20×20 mm sin vía de GND.
|
16. Divisor FB del ventilador (R20/R21) junto al pin 4 de U2; ESD DFU (D14/D15/D16) en línea con J11; cristales ≤ 5 mm de sus ICs; costura de vías bajo MOD1 y en cada isla de GND ≥ 20 mm²; ninguna celda de 20×20 mm sin vía de GND.
|
||||||
17. Cin de cada regulador (U2, U12, U7) con lazo < 3 mm.
|
17. Cin de cada regulador (U2, U12, U7) con lazo < 3 mm.
|
||||||
|
|
||||||
**E. Serigrafía**
|
E. Serigrafía
|
||||||
|
|
||||||
18. `SW4G1 = RESET MÓDEM`, `SW1 = RESET MCU`, `SW2 = BOOT0 (DFU)`, `JP2 = QUÍMICA 1-2 Li-ion / 2-3 LFP`, `JP5 = TERM RS-485`, `JP6 = CUTOFF BYPASS`, nombre de función en cada conector (P15 RS-485 A/B/G, P16 RS-232 TX/RX/G, J10 ETH sin PoE). Textos ≥ 0.8 mm / 0.15 mm.
|
18. `SW4G1 = RESET MÓDEM`, `SW1 = RESET MCU`, `SW2 = BOOT0 (DFU)`, `JP2 = QUÍMICA 1-2 Li-ion / 2-3 LFP`, `JP5 = TERM RS-485`, `JP6 = CUTOFF BYPASS`, nombre de función en cada conector (P15 RS-485 A/B/G, P16 RS-232 TX/RX/G, J10 ETH sin PoE). Textos ≥ 0.8 mm / 0.15 mm.
|
||||||
|
|
||||||
## 4. Salida
|
## 4. Salida
|
||||||
|
|
||||||
19. Rellenar zonas → **DRC = 0 errores**; anchos: ningún aviso en `SW_BAT`, `BAT_PLUS`, `MAIN5V`, `SYS5V`.
|
19. Rellenar zonas → **DRC = 0 errores**; anchos: ningún aviso en `SW_BAT`, `BAT_PLUS`, `MAIN5V`, `SYS5V`.
|
||||||
20. Exportar PDF de esquemático y capas a `03-Architecture-Hardware/` (`hbox-watchdog-v5_V5.6_*.pdf`).
|
20. Exportar PDF de esquemático y capas a `03-Architecture-Hardware/` (`hbox-watchdog-v5_V5.6_*.pdf`).
|
||||||
21. **BOM y CPL desde el esquemático** (`kicad-cli sch export bom` con el campo `LCSC`, no desde la placa); comprobar: sin `TBD`, DNP marcados (Dbk2, R109), U10 = C57156, R53 = C177479, U15 = C15846 sobre huella angosta.
|
21. BOM y CPL desde el esquemático (`kicad-cli sch export bom` con el campo `LCSC`, no desde la placa); comprobar: sin `TBD`, DNP marcados (Dbk2, R109), U10 = C57156, R53 = C177479, U15 = C15846 sobre huella angosta.
|
||||||
22. Pedido JLC: lote según Leo; ENIG; verificar stock el día del pedido (U10, R53, C25803 ya son los sustitutos con stock).
|
22. Pedido JLC: lote según Leo; ENIG; verificar stock el día del pedido (U10, R53, C25803 ya son los sustitutos con stock).
|
||||||
23. Commit en `kicad` → gitlink en el padre → avisar a Leo.
|
23. Commit en `kicad` → gitlink en el padre → avisar a Leo.
|
||||||
|
|
||||||
## 5. Después de la PCB (no bloquea el pedido)
|
## 5. Después de la PCB (no bloquea el pedido)
|
||||||
|
|
||||||
- Banco en una V5.5: Ethernet con el binario `-eth` ([procedimiento](../procedimientos/v5-prueba-ethernet-serie.md)).
|
- Banco en una V5.5: Ethernet con el binario `-eth` ([procedimiento](../procedimientos/v5-prueba-ethernet-serie.md)).
|
||||||
- Firmware 0.6.1: umbrales LFP (indicador, corte 3.40 V → LFP), `tcell` en PC5, `tchg` en U4, autoprueba U18 (0x49), lazo de puertos serie.
|
- Firmware 0.6.1: umbrales LFP (indicador, corte 3.40 V → LFP), `tcell` en PC5, `tchg` en U4, autoprueba U18 (0x49), lazo de puertos serie.
|
||||||
- Paquete LFP-HT 26650 con NTC B3380 (caja y BOM mecánica).
|
- Paquete LFP-HT 26650 con NTC B3380 (caja y BOM mecánica).
|
||||||
|
|
||||||
| Versión | Fecha | Cambio |
|
## Historial de revisiones
|
||||||
|
|
||||||
|
| Versión | Fecha | Cambios |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1.0 | 2026-09-29 | Primera versión. |
|
| 1.0 | 2026-09-29 | Primera versión. |
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: HBOX EinarBoard V5.6 — Pinout de arneses y conectores
|
title: "HBOX EinarBoard V5.6 — Pinout de arneses y conectores"
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
date: 2026-09-29
|
date: 2026-09-29
|
||||||
version: "1.0"
|
version: "1.0"
|
||||||
@ -8,11 +8,10 @@ tags: [project-drogheda, hardware, harness, pinout, einarboard, v5.6]
|
|||||||
|
|
||||||
# HBOX EinarBoard V5.6 — Pinout de arneses y conectores
|
# HBOX EinarBoard V5.6 — Pinout de arneses y conectores
|
||||||
|
|
||||||
!!! info "Tarjeta: EinarBoard **V5.6** — proyecto KiCad `hbox-watchdog-v5` (lote en pedido, sep-2026)"
|
!!! note "EinarBoard V5.6 (`hbox-watchdog-v5`), lote en pedido"
|
||||||
Esta tarjeta es la evolución de la V5.5 fabricada (STM32F411 a bordo + zócalos simpleRTK2B y 4G NTRIP Master). **No es la v6** (GNSS y 4G soldados a bordo, `hbox-watchdog-v6`, en diseño): la v6 tiene su propia sección en el sitio. Cuando este documento dice «copiado de v6» se refiere solo al origen de un valor de componente.
|
Esta tarjeta es la evolución de la V5.5 fabricada (STM32F411 a bordo + zócalos simpleRTK2B y 4G NTRIP Master). **No es la v6** (GNSS y 4G soldados a bordo, `hbox-watchdog-v6`, en diseño): la v6 tiene su propia sección en el sitio. Cuando este documento dice «copiado de v6» se refiere solo al origen de un valor de componente.
|
||||||
|
|
||||||
|
Generado automáticamente desde la netlist del esquemático (independiente de la colocación). `GND` = plano de tierra de la tarjeta; su lista completa de pads se omite. Las nets de potencia van marcadas ⚡ para elegir calibre de cable. Se omiten las banderas `PWR_FLAG` (PFx).
|
||||||
Auto-generated from the PCB netlist (placement-independent) / **Generado automáticamente desde la netlist del esquemático** (independiente de la colocación). `GND` = plano de tierra de la tarjeta; su lista completa de pads se omite. Las nets de potencia van marcadas ⚡ para elegir calibre de cable. Se omiten las banderas `PWR_FLAG` (PFx).
|
|
||||||
|
|
||||||
| Netlist | Valor |
|
| Netlist | Valor |
|
||||||
|---|---|
|
|---|---|
|
||||||
@ -220,7 +219,7 @@ Fila 1 del zócalo XBee (pines 1–10 del módulo, en orden). Módem ArduSimple
|
|||||||
|
|
||||||
### J8 — XBEE-ROW-2
|
### J8 — XBEE-ROW-2
|
||||||
|
|
||||||
Fila 2 del zócalo XBee: **pad k = pin XBee (21 − k)** (espejo; regla verificada en el Informe técnico V3+V4 contra el footprint-R00 de ArduSimple: J8.8 = pin 13 LED, J8.6 = pin 15 GND, J8.10 = pin 11 GND). La net `XBEE_ONSLP` en J8.3 (R109 **DNP**) corresponde por esa regla al pin XBee 18; el ECO la etiqueta «pin 13 ON/SLEEP». <!-- VERIFICAR contra el datasheet del 4G NTRIP Master antes de poblar R109 -->
|
Fila 2 del zócalo XBee: **pad k = pin XBee (21 − k)** (espejo; regla verificada en el Informe técnico V3+V4 contra el footprint-R00 de ArduSimple: J8.8 = pin 13 LED, J8.6 = pin 15 GND, J8.10 = pin 11 GND). La net `XBEE_ONSLP` en J8.3 (R109 DNP) corresponde por esa regla al pin XBee 18; el ECO la etiqueta «pin 13 ON/SLEEP». <!-- VERIFICAR contra el datasheet del 4G NTRIP Master antes de poblar R109 -->
|
||||||
|
|
||||||
| Pin | Señal | Net | Conecta con |
|
| Pin | Señal | Net | Conecta con |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
@ -309,16 +308,16 @@ Zócalo UNO del simpleRTK2B Pro (ArduSimple). Solo se usan 5V, IOREF, GND, D0/D1
|
|||||||
|
|
||||||
| Conector | V5.5 (lote 22-ago) | V5.6 | Fuente |
|
| Conector | V5.5 (lote 22-ago) | V5.6 | Fuente |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| **P5** TEMP_PROBE (3V3/GND/SDA/SCL) | Presente | **Eliminado** — ya no hay sonda externa de T/RH; la temperatura del cargador la mide U4 y la del módem U18 en la tarjeta | Informe de cambios §10 / netlist `p5ntc-after.xml` (sin P5) |
|
| **P5** TEMP_PROBE (3V3/GND/SDA/SCL) | Presente | Eliminado — ya no hay sonda externa de T/RH; la temperatura del cargador la mide U4 y la del módem U18 en la tarjeta | Informe de cambios §10 / netlist `p5ntc-after.xml` (sin P5) |
|
||||||
| **P4.3** NTC | Solo al LTC4040 (U6.17) con R55 10 k (Li-ion) | Además al MCU **PC5** por R113 100 k / R114 120 k / C125 10 nF (`NTC_CELL`); R55 **5.6 k** para química **LFP-HT** (NTC B3380) | netlist; Informe §9 |
|
| **P4.3** NTC | Solo al LTC4040 (U6.17) con R55 10 k (Li-ion) | Además al MCU **PC5** por R113 100 k / R114 120 k / C125 10 nF (`NTC_CELL`); R55 **5.6 k** para química **LFP-HT** (NTC B3380) | netlist; Informe §9 |
|
||||||
| **JP2** | `F2:Li-ion` puente 1-2 | **`F2:LFP` puente 2-3** (flotación LiFePO4) | Informe §9 |
|
| **JP2** | `F2:Li-ion` puente 1-2 | **`F2:LFP` puente 2-3** (flotación LiFePO4) | Informe §9 |
|
||||||
| **JP6** | No existía | Nuevo, en paralelo con P11 (`MAIN5V`↔`SYS5V`), **abierto** — puentear solo si la unidad no lleva interruptor de corte | Informe §2 |
|
| **JP6** | No existía | Nuevo, en paralelo con P11 (`MAIN5V`↔`SYS5V`), abierto — puentear solo si la unidad no lleva interruptor de corte | Informe §2 |
|
||||||
| **J7.2** DOUT_4G | Solo a MOD1.17 | Además al MCU **PC7** (USART6_RX) por R111 1 k — escucha RTCM | Informe §3 |
|
| **J7.2** DOUT_4G | Solo a MOD1.17 | Además al MCU **PC7** (USART6_RX) por R111 1 k — escucha RTCM | Informe §3 |
|
||||||
| **J7.5** MODEM_RST | Solo SW4G1 | Además al MCU **PC1** por R107 1 k | Informe §3 |
|
| **J7.5** MODEM_RST | Solo SW4G1 | Además al MCU **PC1** por R107 1 k | Informe §3 |
|
||||||
| **J8.8** MODEM_LED | Solo Rmled1/D4G1 | Además al MCU **PC2** por R108 10 k | Informe §3 |
|
| **J8.8** MODEM_LED | Solo Rmled1/D4G1 | Además al MCU **PC2** por R108 10 k | Informe §3 |
|
||||||
| **J8.3** | Sin conexión | `XBEE_ONSLP` → PC4 por R109 10 k **DNP** | Informe §2–3 |
|
| **J8.3** | Sin conexión | `XBEE_ONSLP` → PC4 por R109 10 k DNP | Informe §2–3 |
|
||||||
| **J9** USB-C módem | Sin ESD | **D19 USBLC6-2SC6** en D+/D−/VBUS | Informe §2 |
|
| **J9** USB-C módem | Sin ESD | **D19 USBLC6-2SC6** en D+/D−/VBUS | Informe §2 |
|
||||||
| **J10** RJ45 | Sin cambio (sin PoE) | Sin cambio; U11 con R112 4.7 k pull-down en `ETH_RST`, C90 4.7 µF, C91 10 nF | Informe §10 |
|
| **J10** RJ45 | Sin cambio (sin PoE) | Sin cambio; U11 con R112 4.7 k pull-down en `ETH_RST`, C90 4.7 µF, C91 10 nF | Informe §10 |
|
||||||
| **P11** CUTOFF-SW | `MAIN5V`/`SYS5V` | Sin cambio (JP6 lo puentea si se desea) | netlist |
|
| **P11** CUTOFF-SW | `MAIN5V`/`SYS5V` | Sin cambio (JP6 lo puentea si se desea) | netlist |
|
||||||
| **P1, P2, P6, P8, P10, P12, P14, P15, P16, J11, MOD1** | — | **Sin cambio** eléctrico | diff de netlist v55-baseline → V5.6 (Informe §4) |
|
| **P1, P2, P6, P8, P10, P12, P14, P15, P16, J11, MOD1** | — | **Sin cambio** eléctrico | diff de netlist v55-baseline → V5.6 (Informe §4) |
|
||||||
|
|
||||||
@ -327,7 +326,7 @@ Zócalo UNO del simpleRTK2B Pro (ArduSimple). Solo se usan 5V, IOREF, GND, D0/D1
|
|||||||
|
|
||||||
## Historial de revisiones
|
## Historial de revisiones
|
||||||
|
|
||||||
| Versión | Fecha | Autor | Cambio |
|
| Versión | Fecha | Cambios |
|
||||||
|---|---|---|---|
|
|---|---|---|
|
||||||
| 1.0 | 2026-09-29 | Helgen Technologies (generado por script desde la netlist) | Primera versión para V5.6 |
|
| 1.0 | 2026-09-29 | Primera versión para V5.6 |
|
||||||
|
|
||||||
|
|||||||
@ -1,32 +1,35 @@
|
|||||||
---
|
---
|
||||||
title: HBOX Watchdog v3 PROD — Assembly BOM Split
|
title: "HBOX Watchdog V3 (PROD) — BOM dividido para ensamble"
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
date: 2026-07-05
|
date: 2026-07-05
|
||||||
tags: [project-drogheda, hardware, pcb, assembly, jlcpcb, bom]
|
tags: [project-drogheda, hardware, pcb, assembly, jlcpcb, bom, v3]
|
||||||
status: Board routed, DRC fab-clean — assembly reference for JLCPCB PCBA order
|
author: Helgen Technologies
|
||||||
|
status: HISTÓRICO — referencia de ensamble del pedido PCBA V3 en JLCPCB (jul-2026)
|
||||||
---
|
---
|
||||||
|
|
||||||
# HBOX Watchdog v3 PROD — Assembly BOM Split
|
# HBOX Watchdog V3 (PROD) — BOM dividido para ensamble
|
||||||
|
|
||||||
Audit of the routed board (`kicad/hbox-watchdog-v3-PROD.kicad_pcb`, 126 footprints)
|
Tarjeta: V3 (EinarBoard 1.0, `kicad/hbox-watchdog-v3-PROD`, 126 huellas).
|
||||||
for the JLCPCB assembly order. Three buckets: **(A)** what JLC solders onto the
|
|
||||||
board, **(B)** the plug-in modules that sit on top (you install), and **(C)** what
|
|
||||||
lives off-board and connects through the JST harness.
|
|
||||||
|
|
||||||
| Bucket | Count | JLC assembles? |
|
!!! note "Solo V3 — para V5.6 usa [Pinout V5.6](../hardware/v56-pinout.md)"
|
||||||
|
El BOM de la V5.6 (94 LCSC) se exporta desde el esquemático `hbox-watchdog-v5`; ver [hoja de datos V5.6 §11](../hardware/v56-datasheet.md).
|
||||||
|
|
||||||
|
Traducido del original en inglés (05-jul-2026).
|
||||||
|
|
||||||
|
Auditoría de la tarjeta ruteada (`kicad/hbox-watchdog-v3-PROD.kicad_pcb`, 126 huellas) para el pedido de ensamble en JLCPCB. Tres grupos: (A) lo que JLC suelda en la tarjeta, (B) los módulos enchufables que van encima (los instala Helgen) y (C) lo que vive fuera de la tarjeta y se conecta por el arnés JST.
|
||||||
|
|
||||||
|
| Grupo | Cantidad | ¿JLC lo ensambla? |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| A. On-board parts (SMD + THT) | 103 parts + 12 connectors + 5 sockets | **Yes** |
|
| A. Partes en la tarjeta (SMD + THT) | 103 partes + 12 conectores + 5 zócalos | Sí |
|
||||||
| B. Plug-in modules (on top) | 3 modules | No — you install |
|
| B. Módulos enchufables (encima) | 3 módulos | No — los instala Helgen |
|
||||||
| C. External via JST harness | wired to 12 connectors | No — off-board |
|
| C. Externos por el arnés JST | cableados a 12 conectores | No — fuera de la tarjeta |
|
||||||
| Fab features (2 test points, 4 mounting holes) | 6 | n/a |
|
| Elementos de fabricación (2 puntos de prueba, 4 barrenos de montaje) | 6 | n/a |
|
||||||
|
|
||||||
---
|
## A. Ensamblado por JLC — en la PCB
|
||||||
|
|
||||||
## A. Assembled by JLC — on the PCB
|
### A1 · Partes SMD (PCBA estándar — 98 partes)
|
||||||
|
|
||||||
### A1 · SMD parts (standard PCBA — 98 parts)
|
| Cant. | Valor | Encapsulado | Refs |
|
||||||
|
|
||||||
| Qty | Value | Package | Refs |
|
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| 10 | 10k | R0603 | R2, R5, R6, R7, R8, R41, Rigb, Rled, Rrp, Rtp |
|
| 10 | 10k | R0603 | R2, R5, R6, R7, R8, R41, Rigb, Rled, Rrp, Rtp |
|
||||||
| 8 | 100k | R0603 | R20, R56, R57, R58, Ren1, Rfreq, Rfreq2, Rgs |
|
| 8 | 100k | R0603 | R20, R56, R57, R58, Ren1, Rfreq, Rfreq2, Rgs |
|
||||||
@ -37,7 +40,7 @@ lives off-board and connects through the JST harness.
|
|||||||
| 3 | SS34 | D_SMA | D2, Dbk, Dbk2 |
|
| 3 | SS34 | D_SMA | D2, Dbk, Dbk2 |
|
||||||
| 3 | 22uF | C0805 | C35, C40, C41 |
|
| 3 | 22uF | C0805 | C35, C40, C41 |
|
||||||
| 3 | 100k/1% | R0603 | R52, R54, R60 |
|
| 3 | 100k/1% | R0603 | R52, R54, R60 |
|
||||||
| 2 | MP1584EN | SOIC-8-EP | U2 (fan buck), U7 (modem buck) |
|
| 2 | MP1584EN | SOIC-8-EP | U2 (buck del ventilador), U7 (buck del módem) |
|
||||||
| 2 | 2.2nF | C0603 | Ccomp, Ccomp2 |
|
| 2 | 2.2nF | C0603 | Ccomp, Ccomp2 |
|
||||||
| 2 | 100R | R0603 | Rg, Rig |
|
| 2 | 100R | R0603 | Rg, Rig |
|
||||||
| 2 | 10uF | C0805 | C30, C34 |
|
| 2 | 10uF | C0805 | C30, C34 |
|
||||||
@ -48,7 +51,7 @@ lives off-board and connects through the JST harness.
|
|||||||
| 2 | AO3400A | SOT-23 | Q2, Q4 |
|
| 2 | AO3400A | SOT-23 | Q2, Q4 |
|
||||||
| 2 | 10k/1% | R0603 | R42, R55 |
|
| 2 | 10k/1% | R0603 | R42, R55 |
|
||||||
| 2 | 47uF | C1210 | C32, C33 |
|
| 2 | 47uF | C1210 | C32, C33 |
|
||||||
| 1 | **LTC4040EUFD** | QFN-24 | U6 (backup-supply/charger) |
|
| 1 | **LTC4040EUFD** | QFN-24 | U6 (respaldo/cargador) |
|
||||||
| 1 | AO4406A | SOIC-8 | Q7 |
|
| 1 | AO4406A | SOIC-8 | Q7 |
|
||||||
| 1 | AO3401A | SOT-23 | Q1 |
|
| 1 | AO3401A | SOT-23 | Q1 |
|
||||||
| 1 | IRFR5305 | TO-252 | Q10 |
|
| 1 | IRFR5305 | TO-252 | Q10 |
|
||||||
@ -56,85 +59,81 @@ lives off-board and connects through the JST harness.
|
|||||||
| 1 | BAT54 | SOD-123 | D5 |
|
| 1 | BAT54 | SOD-123 | D5 |
|
||||||
| 1 | 1N4148W | SOD-123 | D6 |
|
| 1 | 1N4148W | SOD-123 | D6 |
|
||||||
| 1 | SMBJ33A | D_SMB | D10 |
|
| 1 | SMBJ33A | D_SMB | D10 |
|
||||||
| 1 | **SHT40-AD1B** | DFN-4 | U3 (humidity/temp) |
|
| 1 | **SHT40-AD1B** | DFN-4 | U3 (humedad/temperatura) |
|
||||||
| 1 | **TMP102** | SOT-563 | U4 (temp) |
|
| 1 | **TMP102** | SOT-563 | U4 (temperatura) |
|
||||||
| 1 | 8mR/1% | R1206 | RS1 (current sense) |
|
| 1 | 8mR/1% | R1206 | RS1 (sensado de corriente) |
|
||||||
| 1 | PPTC 3A | Fuse1812 | F1 |
|
| 1 | PPTC 3A | Fuse1812 | F1 |
|
||||||
| 3 | 2.2uH / 10uH / 10uH-2A | SRU8028 8×8 | L6, L2, L7 |
|
| 3 | 2.2uH / 10uH / 10uH-2A | SRU8028 8×8 | L6, L2, L7 |
|
||||||
| 1 | 22uF/50V | C1210 | C22 |
|
| 1 | 22uF/50V | C1210 | C22 |
|
||||||
| 1 | 22uF/16V | C0805 | C23 |
|
| 1 | 22uF/16V | C0805 | C23 |
|
||||||
| 1 | 2.2uF | C0603 | C31 |
|
| 1 | 2.2uF | C0603 | C31 |
|
||||||
| — | *(single-value R's)* | R0603 | Ren2 20k, Rdfu 22k, R21 19.1k, R50 825R, R51 287k, R53 499k, R61 31.6k |
|
| — | *(resistencias de un solo valor)* | R0603 | Ren2 20k, Rdfu 22k, R21 19.1k, R50 825R, R51 287k, R53 499k, R61 31.6k |
|
||||||
| 4 | jumpers | SolderJumper | JP1 (0R), JP2 (F2), JP3 (F1), JP4 (F0) |
|
| 4 | puentes | SolderJumper | JP1 (0R), JP2 (F2), JP3 (F1), JP4 (F0) |
|
||||||
|
|
||||||
### A2 · Through-hole parts (THT — JLC "through-hole assembly" surcharge, or hand-solder)
|
### A2 · Partes through-hole (THT — recargo de JLC por «through-hole assembly», o soldar a mano)
|
||||||
|
|
||||||
| Ref | Part | Note |
|
| Ref | Parte | Nota |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| K1 | Omron G5V-1 DC5 relay | Modo-B fail-safe bypass |
|
| K1 | Relevador Omron G5V-1 DC5 | Bypass fail-safe del Modo B |
|
||||||
| SW1 | 6 mm push (RESET) | |
|
| SW1 | Botón de 6 mm (RESET) | |
|
||||||
| C3, C10, C43 | Radial electrolytics (47µF, 47µF/50V, 100µF) | |
|
| C3, C10, C43 | Electrolíticos radiales (47 µF, 47 µF/50 V, 100 µF) | |
|
||||||
|
|
||||||
### A3 · Connectors & module sockets (THT — soldered to board)
|
### A3 · Conectores y zócalos de módulos (THT — soldados a la tarjeta)
|
||||||
|
|
||||||
| Ref | Part | Purpose |
|
| Ref | Parte | Propósito |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| P1 | Phoenix MKDS 1.5-5 (5-pos terminal) | GX16 machine power in |
|
| P1 | Phoenix MKDS 1.5-5 (terminal de 5 posiciones) | Entrada de energía de la máquina (GX16) |
|
||||||
| P2, P8, P10, P11, P12 | JST-XH 2-pin | see bucket C |
|
| P2, P8, P10, P11, P12 | JST-XH 2-pin | ver grupo C |
|
||||||
| P4, P13 | JST-XH 3-pin | |
|
| P4, P13 | JST-XH 3-pin | |
|
||||||
| P3, P5, P6 | JST-XH 4-pin | |
|
| P3, P5, P6 | JST-XH 4-pin | |
|
||||||
| H3 | 1×3 pin header | USART1 reserved |
|
| H3 | Header de 1×3 pines | USART1 reservado |
|
||||||
| **J1, J2** | 1×20 female 2.54 | **Blackpill socket** |
|
| **J1, J2** | Hembra 1×20 de 2.54 mm | Zócalo del Blackpill |
|
||||||
| **J7, J8** | 1×10 female 2.00 | **4G XBee socket** |
|
| **J7, J8** | Hembra 1×10 de 2.00 mm | **Zócalo XBee del 4G** |
|
||||||
| **MOD1** | Arduino-UNO-form female headers | **simpleRTK2B Pro socket** |
|
| **MOD1** | Headers hembra formato Arduino UNO | **Zócalo del simpleRTK2B Pro** |
|
||||||
|
|
||||||
> ⚠️ **Confirm before ordering:** engineering notes flag **P3 / P13 / H3 as DNP**
|
!!! warning "Confirmar antes de pedir"
|
||||||
> (Modo-B + K1 NC bypass makes them redundant), but they are **not** marked DNP in
|
Las notas de ingeniería marcan **P3 / P13 / H3 como DNP** (Modo B + el bypass NC de K1 los vuelven redundantes), pero **no** están marcados DNP en el archivo de la tarjeta — JLC los poblaría. Decidir conector por conector.
|
||||||
> the board file — so JLC would populate them. Decide per-connector.
|
|
||||||
|
|
||||||
---
|
## B. Módulos enchufables — montados encima (los instala Helgen; no van en el pedido a JLC)
|
||||||
|
|
||||||
## B. Plug-in modules — mounted ON TOP (you install, NOT in the JLC order)
|
Son tarjetas completas que se asientan en los zócalos de arriba. **No** añadirlos al BOM de JLC — se colocan a mano cuando llega el PCBA.
|
||||||
|
|
||||||
These are complete boards that seat into the sockets above. Do **not** add them to
|
| Módulo | Se asienta en | Notas |
|
||||||
the JLC BOM — they're hand-fitted after the PCBA arrives.
|
|
||||||
|
|
||||||
| Module | Seats into | Notes |
|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **simpleRTK2B Pro** (ZED-F9P) | MOD1 (Arduino headers) | GNSS RTK receiver |
|
| **simpleRTK2B Pro** (ZED-F9P) | MOD1 (headers Arduino) | receptor GNSS RTK |
|
||||||
| **STM32F411 Blackpill** | J1 + J2 (2×20) | watchdog MCU |
|
| **STM32F411 Blackpill** | J1 + J2 (2×20) | MCU del watchdog |
|
||||||
| **4G NTRIP Master** (XBee LTE) | J7 + J8 (2×10, 2 mm) | modem, 3V3 socket |
|
| **4G NTRIP Master** (XBee LTE) | J7 + J8 (2×10, 2 mm) | módem, zócalo a 3V3 |
|
||||||
|
|
||||||
---
|
## C. Externos — conectados por el arnés JST (NO en la tarjeta)
|
||||||
|
|
||||||
## C. External — connected via the JST harness (NOT on the board)
|
Todo lo que se enchufa en los conectores de borde y vive fuera del HBOX (o en el gabinete). Cablear según el [pinout de arneses](pinout-arneses.md).
|
||||||
|
|
||||||
Everything that plugs into the edge connectors and lives outside the HBOX (or in the
|
| Conector | Se cablea a (externo) | Pines clave |
|
||||||
cabinet). Wire per the harness pinout (`harness-connector-pinout.md`).
|
|
||||||
|
|
||||||
| Conn | Wires to (external) | Key pins |
|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **P1** GX16-5 | Machine power + ignition from the cabinet | 1 = 24V_IN ⚡, 3 = IGN_IN, 2 = GND |
|
| **P1** GX16-5 | Energía de la máquina + ignición desde el gabinete | 1 = 24V_IN ⚡, 3 = IGN_IN, 2 = GND |
|
||||||
| **P2** 5V-IN | Mean Well SD-15B-05 5 V supply (VEH5V rail) | 1 = VEH5V ⚡, 2 = GND |
|
| **P2** 5V-IN | Fuente Mean Well SD-15B-05 de 5 V (riel VEH5V) | 1 = VEH5V ⚡, 2 = GND |
|
||||||
| **P3** RTK2B-UART1 | RTK2B UART1 tap (GNSS TX/RX) | 1 = SW_5V ⚡, 3 = GNSS_TX, 4 = GNSS_RX |
|
| **P3** RTK2B-UART1 | Derivación del UART1 del RTK2B (GNSS TX/RX) | 1 = SW_5V ⚡, 3 = GNSS_TX, 4 = GNSS_RX |
|
||||||
| **P4** BATT | 1S4P 12 Ah pack + NTC | 1 = BAT_PLUS ⚡, 3 = NTC, 2 = GND |
|
| **P4** BATT | Paquete 1S4P 12 Ah + NTC | 1 = BAT_PLUS ⚡, 3 = NTC, 2 = GND |
|
||||||
| **P5** TEMP_PROBE | External I²C temp/probe header | 1 = 3V3, 3 = SDA, 4 = SCL |
|
| **P5** TEMP_PROBE | Header externo de sonda I²C de temperatura | 1 = 3V3, 3 = SDA, 4 = SCL |
|
||||||
| **P6** FAN | Cooling fan (5 V, tach) | 1 = 5V_FAN ⚡, 2 = FAN_RET, 4 = TACH |
|
| **P6** FAN | Ventilador de enfriamiento (5 V, tacómetro) | 1 = 5V_FAN ⚡, 2 = FAN_RET, 4 = TACH |
|
||||||
| **P8** PANEL_LED | Panel status LED | 1 = LED_A, 2 = LED_K |
|
| **P8** PANEL_LED | LED de estado del panel | 1 = LED_A, 2 = LED_K |
|
||||||
| **P10** RESET-EXT | External reset button | 1 = NRST, 2 = GND |
|
| **P10** RESET-EXT | Botón de reset externo | 1 = NRST, 2 = GND |
|
||||||
| **P11** CUTOFF-SW | Power cutoff switch (SYS→MAIN 5 V) | 1 = MAIN5V ⚡, 2 = SYS5V ⚡ |
|
| **P11** CUTOFF-SW | Interruptor de corte de energía (SYS→MAIN 5 V) | 1 = MAIN5V ⚡, 2 = SYS5V ⚡ |
|
||||||
| **P12** NTC-HOTSPOT | Cabinet hotspot NTC | 1 = NTC_TEMP, 2 = GND |
|
| **P12** NTC-HOTSPOT | NTC de punto caliente del gabinete | 1 = NTC_TEMP, 2 = GND |
|
||||||
| **P13** MODO-B-UPLINK | Modo-B uplink to 4G | 1 = USART1_RX, 2 = DIN_4G, 3 = GND |
|
| **P13** MODO-B-UPLINK | Enlace de subida Modo B al 4G | 1 = USART1_RX, 2 = DIN_4G, 3 = GND |
|
||||||
|
|
||||||
---
|
## Pendientes antes del pedido a JLCPCB
|
||||||
|
|
||||||
## Action items before the JLCPCB order
|
1. Añadir números de parte LCSC al BOM (`fab-jlcpcb/…-BOM.csv`) — exporta solo valor + huella; el PCBA de JLC empareja por número LCSC. Cuidado con los raros: **LTC4040EUFD, SHT40-AD1B, TMP102, MP1584EN, AO4406A, Bourns SRU8028** — verificar stock en JLC/LCSC.
|
||||||
|
2. Decidir el ensamble THT — JLC cobra extra por through-hole (K1, SW1, C3/C10/C43, todos los conectores/zócalos). Enfoque común: JLC hace SMD y los conectores + zócalos se sueldan a mano (también evita pagarle a JLC las partes grandes Phoenix/JST).
|
||||||
|
3. **Resolver la pregunta DNP de P3 / P13 / H3** de arriba.
|
||||||
|
4. **No** poner en el BOM los tres módulos enchufables (grupo B).
|
||||||
|
|
||||||
1. **Add LCSC part numbers** to the BOM (`fab-jlcpcb/…-BOM.csv`) — it exports value +
|
Ver también: [manual V3](../manuales/manual-tarjeta-V3.md) · [guía de ensamble y QC](guia-ensamble-qc.md).
|
||||||
footprint only; JLC PCBA matches on LCSC part #. Watch the odd ones:
|
|
||||||
**LTC4040EUFD, SHT40-AD1B, TMP102, MP1584EN, AO4406A, Bourns SRU8028** — verify JLC/LCSC stock.
|
## Historial de revisiones
|
||||||
2. **Decide THT assembly** — JLC charges extra for through-hole (K1, SW1, C3/C10/C43,
|
|
||||||
all connectors/sockets). Common approach: JLC does SMD, you hand-solder the
|
| Versión | Fecha | Cambios |
|
||||||
connectors + sockets (also avoids paying JLC for the big Phoenix/JST parts).
|
|---|---|---|
|
||||||
3. **Resolve the P3 / P13 / H3 DNP question** above.
|
| 1.0 | 2026-07-05 | Auditoría original (inglés). |
|
||||||
4. Do **not** BOM the three plug-in modules (bucket B).
|
| 1.1 | 2026-09-29 | Traducción al español, nota de alcance V3 / V5.6 y enlaces. Tablas sin cambios. |
|
||||||
|
|||||||
@ -1,15 +1,21 @@
|
|||||||
---
|
---
|
||||||
title: HBOX Watchdog v3 PROD — Harness / Connector Pinout
|
title: "HBOX Watchdog V3 (PROD) — Pinout de arneses y conectores"
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
date: 2026-07-04
|
date: 2026-07-04
|
||||||
tags: [project-drogheda, hardware, harness, pinout]
|
tags: [project-drogheda, hardware, harness, pinout, v3]
|
||||||
|
author: Helgen Technologies
|
||||||
---
|
---
|
||||||
|
|
||||||
# HBOX Watchdog v3 PROD — Harness / Connector Pinout
|
# HBOX Watchdog V3 (PROD) — Pinout de arneses y conectores
|
||||||
|
|
||||||
Auto-generated from the PCB netlist (placement-independent). `GND` = the board ground plane (In1.Cu); its full pad list is omitted. Power nets flagged for wire gauge.
|
Tarjeta: V3 (EinarBoard 1.0, `kicad/hbox-watchdog-v3-PROD`).
|
||||||
|
|
||||||
| Conn | Function | Pins |
|
!!! note "Solo V3 — para V5.6 usa [Pinout V5.6](../hardware/v56-pinout.md)"
|
||||||
|
Este pinout es de la tarjeta V3 (registro congelado tal como se fabricó). La V4 comparte conectores con la V5 salvo lo indicado en el [manual V4](../manuales/manual-tarjeta-V4.md).
|
||||||
|
|
||||||
|
Generado automáticamente desde la netlist de la PCB (independiente de la colocación). `GND` = plano de tierra de la tarjeta (In1.Cu); se omite su lista completa de pads. Las nets de potencia van marcadas ⚡ para elegir el calibre del cable.
|
||||||
|
|
||||||
|
| Conector | Función | Pines |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **P1** | GX16-5 | 5 |
|
| **P1** | GX16-5 | 5 |
|
||||||
| **P2** | 5V-IN-SD15B05 | 2 |
|
| **P2** | 5V-IN-SD15B05 | 2 |
|
||||||
@ -25,88 +31,97 @@ Auto-generated from the PCB netlist (placement-independent). `GND` = the board g
|
|||||||
|
|
||||||
## P1 — GX16-5
|
## P1 — GX16-5
|
||||||
|
|
||||||
| Pin | Net | Ties to |
|
| Pin | Net | Conecta con |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1 | `24V_IN` ⚡power | D10.1, Q10.2 |
|
| 1 | `24V_IN` ⚡ potencia | D10.1, Q10.2 |
|
||||||
| 2 | `GND` | board ground plane |
|
| 2 | `GND` | plano de tierra de la tarjeta |
|
||||||
| 3 | `IGN_IN` | Rig.1 |
|
| 3 | `IGN_IN` | Rig.1 |
|
||||||
| 4 | — | *(no net)* |
|
| 4 | — | *(sin net)* |
|
||||||
| 5 | — | *(no net)* |
|
| 5 | — | *(sin net)* |
|
||||||
|
|
||||||
## P2 — 5V-IN-SD15B05
|
## P2 — 5V-IN-SD15B05
|
||||||
|
|
||||||
| Pin | Net | Ties to |
|
| Pin | Net | Conecta con |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1 | `VEH5V` ⚡power | C30.1, C31.1, JP1.2, R51.1, R55.1, R7.1, RS1.1, U6.6, U6.16 |
|
| 1 | `VEH5V` ⚡ potencia | C30.1, C31.1, JP1.2, R51.1, R55.1, R7.1, RS1.1, U6.6, U6.16 |
|
||||||
| 2 | `GND` | board ground plane |
|
| 2 | `GND` | plano de tierra de la tarjeta |
|
||||||
|
|
||||||
## P3 — RTK2B-UART1
|
## P3 — RTK2B-UART1
|
||||||
|
|
||||||
| Pin | Net | Ties to |
|
| Pin | Net | Conecta con |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1 | `SW_5V` ⚡power | C3.1, C40.1, MOD1.5, Q1.3, U7.2, U7.7 |
|
| 1 | `SW_5V` ⚡ potencia | C3.1, C40.1, MOD1.5, Q1.3, U7.2, U7.7 |
|
||||||
| 2 | `GND` | board ground plane |
|
| 2 | `GND` | plano de tierra de la tarjeta |
|
||||||
| 3 | `GNSS_TX` | J1.8, MOD1.16 |
|
| 3 | `GNSS_TX` | J1.8, MOD1.16 |
|
||||||
| 4 | `GNSS_RX` | J1.9, MOD1.15 |
|
| 4 | `GNSS_RX` | J1.9, MOD1.15 |
|
||||||
|
|
||||||
## P4 — BATT-1S4P+NTC
|
## P4 — BATT-1S4P+NTC
|
||||||
|
|
||||||
| Pin | Net | Ties to |
|
| Pin | Net | Conecta con |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1 | `BAT_PLUS` ⚡power | C35.1, L6.2, R5.1, U6.23 |
|
| 1 | `BAT_PLUS` ⚡ potencia | C35.1, L6.2, R5.1, U6.23 |
|
||||||
| 2 | `GND` | board ground plane |
|
| 2 | `GND` | plano de tierra de la tarjeta |
|
||||||
| 3 | `NTC` | R55.2, U6.17 |
|
| 3 | `NTC` | R55.2, U6.17 |
|
||||||
|
|
||||||
## P5 — TEMP_PROBE
|
## P5 — TEMP_PROBE
|
||||||
|
|
||||||
| Pin | Net | Ties to |
|
| Pin | Net | Conecta con |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1 | `3V3` ⚡power | Cu3.1, Cu4.1, D5.1, J1.18, J2.20, MOD1.2, R3.1, R30.1, R31.1, R42.1, R57.1, R58.1, Rdfu.2, Rtp.1, U3.3, U4.5 |
|
| 1 | `3V3` ⚡ potencia | Cu3.1, Cu4.1, D5.1, J1.18, J2.20, MOD1.2, R3.1, R30.1, R31.1, R42.1, R57.1, R58.1, Rdfu.2, Rtp.1, U3.3, U4.5 |
|
||||||
| 2 | `GND` | board ground plane |
|
| 2 | `GND` | plano de tierra de la tarjeta |
|
||||||
| 3 | `I2C_SDA` | J2.15, R31.2, U3.1, U4.6 |
|
| 3 | `I2C_SDA` | J2.15, R31.2, U3.1, U4.6 |
|
||||||
| 4 | `I2C_SCL` | J2.14, R30.2, U3.2, U4.1 |
|
| 4 | `I2C_SCL` | J2.14, R30.2, U3.2, U4.1 |
|
||||||
|
|
||||||
## P6 — FAN
|
## P6 — FAN
|
||||||
|
|
||||||
| Pin | Net | Ties to |
|
| Pin | Net | Conecta con |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1 | `5V_FAN` ⚡power | C23.1, D2.1, JP1.1, L2.2, R20.1 |
|
| 1 | `5V_FAN` ⚡ potencia | C23.1, D2.1, JP1.1, L2.2, R20.1 |
|
||||||
| 2 | `FAN_RET` | D2.2, Q2.3 |
|
| 2 | `FAN_RET` | D2.2, Q2.3 |
|
||||||
| 3 | `GND` | board ground plane |
|
| 3 | `GND` | plano de tierra de la tarjeta |
|
||||||
| 4 | `FAN_TACH_RAW` | Rts.1 |
|
| 4 | `FAN_TACH_RAW` | Rts.1 |
|
||||||
|
|
||||||
## P8 — PANEL_LED
|
## P8 — PANEL_LED
|
||||||
|
|
||||||
| Pin | Net | Ties to |
|
| Pin | Net | Conecta con |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1 | `LED_A` | D1.2, R3.2 |
|
| 1 | `LED_A` | D1.2, R3.2 |
|
||||||
| 2 | `LED_K` | D1.1, Q4.3 |
|
| 2 | `LED_K` | D1.1, Q4.3 |
|
||||||
|
|
||||||
## P10 — RESET-EXT
|
## P10 — RESET-EXT
|
||||||
|
|
||||||
| Pin | Net | Ties to |
|
| Pin | Net | Conecta con |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1 | `NRST` | J1.5, SW1.1 |
|
| 1 | `NRST` | J1.5, SW1.1 |
|
||||||
| 2 | `GND` | board ground plane |
|
| 2 | `GND` | plano de tierra de la tarjeta |
|
||||||
|
|
||||||
## P11 — CUTOFF-SW
|
## P11 — CUTOFF-SW
|
||||||
|
|
||||||
| Pin | Net | Ties to |
|
| Pin | Net | Conecta con |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1 | `MAIN5V` ⚡power | C32.1, C33.1, C34.1, JP2.1, JP3.3, JP4.1, Q7.1, Q7.2, Q7.3, R53.1, U6.1, U6.24 |
|
| 1 | `MAIN5V` ⚡ potencia | C32.1, C33.1, C34.1, JP2.1, JP3.3, JP4.1, Q7.1, Q7.2, Q7.3, R53.1, U6.1, U6.24 |
|
||||||
| 2 | `SYS5V` ⚡power | D6.1, F1.1, J1.20, J2.18, K1.2, R2.2 |
|
| 2 | `SYS5V` ⚡ potencia | D6.1, F1.1, J1.20, J2.18, K1.2, R2.2 |
|
||||||
|
|
||||||
## P12 — NTC-HOTSPOT
|
## P12 — NTC-HOTSPOT
|
||||||
|
|
||||||
| Pin | Net | Ties to |
|
| Pin | Net | Conecta con |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1 | `NTC_TEMP` | C24.1, J1.15, R42.2 |
|
| 1 | `NTC_TEMP` | C24.1, J1.15, R42.2 |
|
||||||
| 2 | `GND` | board ground plane |
|
| 2 | `GND` | plano de tierra de la tarjeta |
|
||||||
|
|
||||||
## P13 — MODO-B-UPLINK
|
## P13 — MODO-B-UPLINK
|
||||||
|
|
||||||
| Pin | Net | Ties to |
|
| Pin | Net | Conecta con |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 1 | `USART1_RX` | H3.2, J2.7, K1.1, MOD1.23, Rdfu.1 |
|
| 1 | `USART1_RX` | H3.2, J2.7, K1.1, MOD1.23, Rdfu.1 |
|
||||||
| 2 | `DIN_4G` | J7.3, K1.5, K1.6 |
|
| 2 | `DIN_4G` | J7.3, K1.5, K1.6 |
|
||||||
| 3 | `GND` | board ground plane |
|
| 3 | `GND` | plano de tierra de la tarjeta |
|
||||||
|
|
||||||
|
Ver también: [manual V3](../manuales/manual-tarjeta-V3.md) · [BOM dividido para ensamble (V3)](bom-split.md) · [guía de ensamble y QC](guia-ensamble-qc.md).
|
||||||
|
|
||||||
|
## Historial de revisiones
|
||||||
|
|
||||||
|
| Versión | Fecha | Cambios |
|
||||||
|
|---|---|---|
|
||||||
|
| 1.0 | 2026-07-04 | Generado desde la netlist V3 PROD (inglés). |
|
||||||
|
| 1.1 | 2026-09-29 | Encabezados en español, nota de alcance V3 / V5.6 y enlaces. Tablas sin cambios. |
|
||||||
|
|||||||
Binary file not shown.
@ -1,26 +1,29 @@
|
|||||||
---
|
---
|
||||||
title: Manuales por tarjeta — índice
|
title: "Manuales por tarjeta"
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
date: 2026-09-29
|
date: 2026-09-29
|
||||||
version: "1.0"
|
version: "1.1"
|
||||||
tags: [project-drogheda, hardware, einarboard, manual, indice]
|
tags: [project-drogheda, hardware, einarboard, manual, indice]
|
||||||
author: Helgen Technologies
|
author: Helgen Technologies
|
||||||
---
|
---
|
||||||
|
|
||||||
# Manuales por tarjeta
|
# Manuales por tarjeta
|
||||||
|
|
||||||
Una página por generación de tarjeta EinarBoard: cómo reconocerla, conectores, puentes, botones, LEDs, flasheo y limitaciones. **El firmware se elige por la tarjeta, nunca por el número de versión** — el nombre del binario lleva la tarjeta.
|
Cada manual cubre cómo reconocer la tarjeta, conectores, puentes, botones, LEDs, flasheo y limitaciones. El binario lleva la tarjeta en el nombre; reglas en [Descargas](../descargas/index.md#firmware-del-hbox-que-binario-va-en-que-tarjeta).
|
||||||
|
|
||||||
| Tarjeta | Nombre | Estado (sep-2026) | Firmware | Proyecto KiCad | Manual |
|
| Tarjeta | Nombre | Estado (sep-2026) | Firmware | Proyecto KiCad | Manual |
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| **V3** | EinarBoard 1.0 (Blackpill en zócalo) | 10 pzas jul-2026; 3 unidades en campo (RTK-003/006/014); registro congelado | `hbox-tarjetaV3_4.0.0.bin` | `hbox-watchdog-v3-PROD` | [manual-tarjeta-V3](manual-tarjeta-V3.md) |
|
| V3 | EinarBoard 1.0 (Blackpill en zócalo) | 10 pzas jul-2026; 3 unidades en campo (RTK-003/006/014); registro congelado | `hbox-tarjetaV3_4.0.0.bin` | `hbox-watchdog-v3-PROD` | [Manual V3](manual-tarjeta-V3.md) |
|
||||||
| **V4** | EinarBoard 2.0 (Blackpill + Ethernet + serie) | Fabricada ago-2026; en prueba con 0.6.0 | `hbox-tarjetaV4_0.6.0.bin` | `hbox-watchdog-v4` | [manual-tarjeta-V4](manual-tarjeta-V4.md) |
|
| V4 | EinarBoard 2.0 (Blackpill + Ethernet + serie) | Fabricada ago-2026; en prueba con 0.6.0 | `hbox-tarjetaV4_0.6.0.bin` | `hbox-watchdog-v4` | [Manual V4](manual-tarjeta-V4.md) |
|
||||||
| **V5.5** | EinarBoard 4.0 (serigrafía) / HBOX v5 — MCU soldado | 15 pzas 22-ago-2026; en ensamble y campo | `hbox-v5-bringup_0.6.0.bin` | `hbox-watchdog-v5` (tag `v5.5-as-fabbed`) | [manual-tarjeta-V5](manual-tarjeta-V5.md) |
|
| V5.5 | EinarBoard 4.0 (serigrafía) / HBOX v5, MCU soldado | 15 pzas 22-ago-2026; en ensamble y campo | `hbox-v5-bringup_0.6.0.bin` | `hbox-watchdog-v5` (tag `v5.5-as-fabbed`) | [Manual V5](manual-tarjeta-V5.md) |
|
||||||
| **V5.6** | HBOX v5 + ECO 27/28-sep (módem controlado por MCU, LFP, sensores) | Esquemático listo; PCB y pedido pendientes | `hbox-v5-bringup_0.6.0.bin` (0.6.x para las funciones nuevas) | `hbox-watchdog-v5` | [manual-tarjeta-V5](manual-tarjeta-V5.md) §9 |
|
| V5.6 | HBOX v5 + ECO 27/28-sep (módem controlado por MCU, LFP, sensores) | Esquemático cerrado; PCB en layout; pedido pendiente | `hbox-v5-bringup_0.6.0.bin` (0.6.x para las funciones nuevas) | `hbox-watchdog-v5` | [Manual V5](manual-tarjeta-V5.md) §9 |
|
||||||
| **v6** | GNSS + 4G a bordo | En diseño | — | `hbox-watchdog-v6` | [manual-tarjeta-v6](manual-tarjeta-v6.md) |
|
| v6 | GNSS + 4G a bordo | En diseño; no pedir | — | `hbox-watchdog-v6` | [Manual v6](manual-tarjeta-v6.md) |
|
||||||
|
|
||||||
Documentos de ingeniería: [Hoja de datos V5.6](../hardware/v56-datasheet.md) · [Pinout V5.6](../hardware/v56-pinout.md) · [Pinout V3](../montaje/pinout-arneses.md) · [Descargas de firmware](../descargas/index.md).
|
Documentos de ingeniería: [Tarjetas y hardware](../hardware/index.md).
|
||||||
|
|
||||||
| Versión | Fecha | Autor | Cambio |
|
## Historial de revisiones
|
||||||
|---|---|---|---|
|
|
||||||
| 1.0 | 2026-09-29 | Helgen Technologies | Primera versión |
|
| Versión | Fecha | Cambios |
|
||||||
|
|---|---|---|
|
||||||
|
| 1.0 | 2026-09-29 | Primera versión. |
|
||||||
|
| 1.1 | 2026-09-29 | Edición breve; estado V5.6 alineado con la portada. |
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
title: Manual de tarjeta — EinarBoard V3 (EinarBoard 1.0, hbox-watchdog-v3-PROD)
|
title: "Manual de tarjeta — EinarBoard V3 (EinarBoard 1.0)"
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
date: 2026-09-29
|
date: 2026-09-29
|
||||||
version: "1.0"
|
version: "1.1"
|
||||||
tags: [project-drogheda, hardware, einarboard, v3, manual, tecnicos, blackpill]
|
tags: [project-drogheda, hardware, einarboard, v3, manual, tecnicos, blackpill]
|
||||||
author: Helgen Technologies
|
author: Helgen Technologies
|
||||||
audience: técnicos de banco y de campo
|
audience: técnicos de banco y de campo
|
||||||
@ -10,17 +10,17 @@ audience: técnicos de banco y de campo
|
|||||||
|
|
||||||
# Manual de tarjeta — EinarBoard V3 (EinarBoard 1.0)
|
# Manual de tarjeta — EinarBoard V3 (EinarBoard 1.0)
|
||||||
|
|
||||||
Primera tarjeta de producción del HBOX. **Registro congelado tal como se fabricó** (`kicad/hbox-watchdog-v3-PROD.*`, no editar). Fuente: *Informe técnico interno V3+V4* v1.5 (§4 y §5), `harness-connector-pinout.md` (netlist V3) y `reflasheo-unidades.md`.
|
Primera tarjeta de producción del HBOX, Blackpill en zócalo. Registro congelado como se fabricó (`kicad/hbox-watchdog-v3-PROD.*`, no editar). Fuente: *Informe técnico interno V3+V4* v1.5 (§4 y §5), `harness-connector-pinout.md` (netlist V3) y `reflasheo-unidades.md`.
|
||||||
|
|
||||||
| Ítem | Valor |
|
| Ítem | Valor |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Proyecto KiCad | `kicad/hbox-watchdog-v3-PROD.*` (cuadro de título *EINARBoard HBOX* rev. 1.1, 2026-07-07) |
|
| Proyecto KiCad | `kicad/hbox-watchdog-v3-PROD.*` (cuadro de título *EINARBoard HBOX* rev. 1.1, 2026-07-07) |
|
||||||
| Tamaño / capas | 135 × 100 mm · 4 capas (In1 = plano GND) · ENIG · máscara azul |
|
| Tamaño / capas | 135 × 100 mm · 4 capas (In1 = plano GND) · ENIG · máscara azul |
|
||||||
| MCU | **WeAct Blackpill STM32F411CEU6** en zócalos J1/J2 |
|
| MCU | WeAct Blackpill STM32F411CEU6 en zócalos J1/J2 |
|
||||||
| Fabricación | JLCPCB orden `W2026070815023249` (08-jul-2026): **10 PCB + 10 PCBA** (J1/J2 soldados a mano con el módulo como escantillón) |
|
| Fabricación | JLCPCB orden `W2026070815023249` (08-jul-2026): 10 PCB + 10 PCBA (J1/J2 soldados a mano con el módulo como escantillón) |
|
||||||
| Unidades en campo | **RTK-003, RTK-006, RTK-014** |
|
| Unidades en campo | RTK-003, RTK-006, RTK-014 |
|
||||||
| Firmware | **`hbox-tarjetaV3_4.0.0.bin`** (`blackpillrtkcode_v4`: lógica v3.0.3 + telemetría en banda). ⚠ publicado sin prueba de banco (sep-2026) |
|
| Firmware | `hbox-tarjetaV3_4.0.0.bin` (`blackpillrtkcode_v4`: lógica v3.0.3 + telemetría en banda). Publicado sin prueba de banco (sep-2026) |
|
||||||
| Paquete | Li-ion 18650 1S4P ≈ 12 Ah · JP2 1-2 (`F2:Li-ion`, 4.00 V) · carga 2.42 A (R50 825 Ω) |
|
| Paquete | Li-ion 18650 1S4P ≈ 12 Ah · JP2 1-2 (`F2:Li-ion`, 4.00 V) · carga 2.42 A (R50 825 Ω) |
|
||||||
|
|
||||||
<!-- foto: vista superior V3 — MOD1 a la izquierda, J1/J2 al centro, J7/J8 + J9 a la derecha, P1 abajo -->
|
<!-- foto: vista superior V3 — MOD1 a la izquierda, J1/J2 al centro, J7/J8 + J9 a la derecha, P1 abajo -->
|
||||||
|
|
||||||
@ -28,11 +28,11 @@ Primera tarjeta de producción del HBOX. **Registro congelado tal como se fabric
|
|||||||
|
|
||||||
| Rasgo | V3 |
|
| Rasgo | V3 |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Blackpill en zócalo, **sin RJ45, sin clemas verdes, sin P14** | Sí (la V4 tiene RJ45 y clemas; la V5 no tiene Blackpill) |
|
| Blackpill en zócalo, sin RJ45, sin clemas verdes, sin P14 | Sí (la V4 tiene RJ45 y clemas; la V5 no tiene Blackpill) |
|
||||||
| Un solo USB-C en la tarjeta (**J9**, módem); consola por el USB del Blackpill | Sí |
|
| Un solo USB-C en la tarjeta (J9, módem); consola por el USB del Blackpill | Sí |
|
||||||
| Medidor DB1–DB4 cableado **directo** a PB12–PB15 (sin expansor) | Sí |
|
| Medidor DB1–DB4 cableado directo a PB12–PB15 (sin expansor) | Sí |
|
||||||
| Serigrafía | `Advanced Engineering Division · www.helgen.tech`, `STM32F411 BLACKPILL`, `ArduSimple simpleRTK2B Pro`, `4G NTRIP MASTER`, `BP3.0`; etiquetas de J1/J2 `G-TX G-RX U-TX U-RX CHEN CSTA CFLT PCTL BSNS FPWM ELED FTAC` |
|
| Serigrafía | `Advanced Engineering Division · www.helgen.tech`, `STM32F411 BLACKPILL`, `ArduSimple simpleRTK2B Pro`, `4G NTRIP MASTER`, `BP3.0`; etiquetas de J1/J2 `G-TX G-RX U-TX U-RX CHEN CSTA CFLT PCTL BSNS FPWM ELED FTAC` |
|
||||||
| Conectores DNP con huella vacía | **P3** (RTK2B-UART1), **P13** (MODO-B-UPLINK), **H3** (USART1-RSV) |
|
| Conectores DNP con huella vacía | P3 (RTK2B-UART1), P13 (MODO-B-UPLINK), H3 (USART1-RSV) |
|
||||||
|
|
||||||
## 2. Conectores
|
## 2. Conectores
|
||||||
|
|
||||||
@ -40,69 +40,62 @@ Pinout pin a pin (generado de la netlist V3): [Pinout de arneses y conectores (V
|
|||||||
|
|
||||||
| Ref | Qué se conecta | Pines |
|
| Ref | Qué se conecta | Pines |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| P1 | Vehículo GX16-5 | 1 = +24 V · 2 = GND · 3 = ignición **cruda** 12–24 V · 4–5 = n/c |
|
| P1 | Vehículo GX16-5 | 1 = +24 V · 2 = GND · 3 = ignición cruda 12–24 V · 4–5 = n/c |
|
||||||
| P2 | SD-15B-05 | 1 = +5 V · 2 = GND — **ajustar a 5.2–5.4 V en P2** (errata E-PFI) |
|
| P2 | SD-15B-05 | 1 = +5 V · 2 = GND. Ajustar a 5.2–5.4 V en P2 (errata E-PFI) |
|
||||||
| P4 | Paquete Li-ion | 1 = BAT+ · 2 = GND · 3 = NTC |
|
| P4 | Paquete Li-ion | 1 = BAT+ · 2 = GND · 3 = NTC |
|
||||||
| P5 | Sonda T/RH externa I²C | 1 = 3V3 · 2 = GND · 3 = SDA · 4 = SCL |
|
| P5 | Sonda T/RH externa I²C | 1 = 3V3 · 2 = GND · 3 = SDA · 4 = SCL |
|
||||||
| P6 | Ventilador | 1 = +5V_FAN · 2 = retorno · 3 = GND · 4 = tach (no usado) |
|
| P6 | Ventilador | 1 = +5V_FAN · 2 = retorno · 3 = GND · 4 = tach (no usado) |
|
||||||
| P8 | LED de panel | 1 = ánodo · 2 = cátodo |
|
| P8 | LED de panel | 1 = ánodo · 2 = cátodo |
|
||||||
| P10 | Reset externo | 1 = NRST · 2 = GND |
|
| P10 | Reset externo | 1 = NRST · 2 = GND |
|
||||||
| P11 | **Interruptor de corte** | 1 = MAIN5V · 2 = SYS5V (abierto = todo apagado salvo el cargador) |
|
| P11 | Interruptor de corte | 1 = MAIN5V · 2 = SYS5V (abierto = todo apagado salvo el cargador) |
|
||||||
| P12 | NTC de punto caliente | 1 = NTC · 2 = GND |
|
| P12 | NTC de punto caliente | 1 = NTC · 2 = GND |
|
||||||
| J9 | USB del módem | Configuración del 4G NTRIP Master |
|
| J9 | USB del módem | Configuración del 4G NTRIP Master |
|
||||||
| MOD1 · J7/J8 | simpleRTK2B · 4G NTRIP Master | J8 pad k = pin XBee 21−k |
|
| MOD1 · J7/J8 | simpleRTK2B · 4G NTRIP Master | J8 pad k = pin XBee 21−k |
|
||||||
| J1 / J2 | Blackpill | **Ver errata E-J1 (§3)** |
|
| J1 / J2 | Blackpill | Errata E-J1 (§3) |
|
||||||
|
|
||||||
## 3. Erratas obligatorias de la V3
|
## 3. Erratas de la V3
|
||||||
|
|
||||||
!!! warning "E-J1 — el zócalo J1 está espejado"
|
!!! warning "Erratas E-J1 y E-CLR"
|
||||||
En la tarjeta física, con el Blackpill sentado de la única forma posible, **J2 queda correcto y J1 invertido extremo por extremo** (J1.k → pin 21−k del módulo). J1.20 (5 V) cae en VBAT del módulo: **nunca energizar una V3 con el Blackpill sentado directamente**. Mitigación de banco: módulo fuera del zócalo + **arnés "adaptador inversor"** Dupont en J1 (5→NRST · 6→A0 · 7→A1 · 8→A2 · 9→A3 · 10→A4 · 11→A5 · 12→A6 · 14→B0 · 15→B1 · 18→3V3 · 19→GND · 20→5V; 1–4/13/16 sin conectar; 17 se omite); J2 directo pad n → pin n. No hay parche por software.
|
E-J1, zócalo J1 espejado. Con el Blackpill sentado de la única forma posible, J2 queda correcto y J1 invertido extremo por extremo (J1.k → pin 21−k del módulo). J1.20 (5 V) cae en VBAT del módulo: nunca energices una V3 con el Blackpill sentado directamente. En banco: módulo fuera del zócalo + arnés "adaptador inversor" Dupont en J1 (5→NRST · 6→A0 · 7→A1 · 8→A2 · 9→A3 · 10→A4 · 11→A5 · 12→A6 · 14→B0 · 15→B1 · 18→3V3 · 19→GND · 20→5V; 1–4/13/16 sin conectar; 17 se omite); J2 directo pad n → pin n. No hay parche por software.
|
||||||
|
|
||||||
!!! warning "E-CLR — prueba de recepción obligatoria (corto interno de 24 V)"
|
E-CLR, prueba de recepción obligatoria (corto interno de 24 V). Sin energía, continuidad P2.1 ↔ P1.1 y P11.1 ↔ P1.1: en una tarjeta sana ambas abiertas. Un bip = puente interno 24 V → 5 V = tarjeta chatarra (no retrabajable).
|
||||||
Sin energía, medir continuidad **P2.1 ↔ P1.1** y **P11.1 ↔ P1.1**: en una tarjeta sana ambas están **abiertas**. Un bip = puente interno 24 V → 5 V = tarjeta chatarra (no retrabajable).
|
|
||||||
|
|
||||||
!!! note "E-PFI — hipo del módem en banco sin batería"
|
E-PFI — hipo del módem en banco sin batería: con menos de 5.2 V en P2 y sin paquete, las ráfagas del módem cruzan el PFI (4.60 V en V3) y el LTC4040 desconecta la entrada en bucle. Fuente a 5.2–5.4 V medidos en P2 (nunca > 5.4) o paquete conectado ([reglas de banco](../procedimientos/diagnostico-banco.md#reglas-de-banco)).
|
||||||
Con menos de 5.2 V en P2 y sin paquete, las ráfagas del módem cruzan el umbral PFI (4.60 V en V3) y el LTC4040 desconecta la entrada en bucle. Regla: fuente a **5.2–5.4 V medidos en P2** (nunca > 5.4) **o** paquete conectado.
|
|
||||||
|
|
||||||
## 4. Puentes, botones y LEDs
|
## 4. Puentes, botones y LEDs
|
||||||
|
|
||||||
| Ref | Default / función |
|
| Ref | Default / función |
|
||||||
|---|---|
|
|---|---|
|
||||||
| JP2 / JP3 / JP4 | F2:Li-ion (1-2) / F1:0 / F0:1 → 4.00 V. No tocar |
|
| JP2 / JP3 / JP4 | F2:Li-ion (1-2) / F1:0 / F0:1 → 4.00 V. No tocar |
|
||||||
| JP1 | Abierto (5V_FAN ↔ VEH5V). Nunca cerrar |
|
| JP1 | Abierto (5V_FAN ↔ VEH5V). Nunca cerrar |
|
||||||
| SW1 | Reset del MCU (= P10 = NRST del Blackpill) |
|
| SW1 | Reset del MCU (= P10 = NRST del Blackpill) |
|
||||||
| SW4G1 | Reset del módem |
|
| SW4G1 | Reset del módem |
|
||||||
| KEY (Blackpill) | BOOT0 para DFU |
|
| KEY (Blackpill) | BOOT0 para DFU |
|
||||||
| DB1–DB4 | Medidor de batería, directo en PB12–PB15 (330 Ω) |
|
| DB1–DB4 | Medidor de batería, directo en PB12–PB15 (330 Ω) |
|
||||||
| LED de panel (P8) | PB0 vía Q4 |
|
| LED de panel (P8) | PB0 vía Q4 |
|
||||||
| D4G1 | Actividad del módem (tenue) |
|
| D4G1 | Actividad del módem (tenue) |
|
||||||
| TP1 / TP2 | CLPROG / PFO del LTC4040 |
|
| TP1 / TP2 | CLPROG / PFO del LTC4040 |
|
||||||
|
|
||||||
## 5. Cómo flashear
|
## 5. Flasheo
|
||||||
|
|
||||||
Procedimiento con verificación: [Reflasheo de unidades](../procedimientos/reflasheo-unidades.md) §4–§5.
|
Solo el USB-C del Blackpill; KEY (BOOT0) + NRST → `0483:DF11`; `hbox-tarjetaV3_4.0.0.bin` en `0x08000000`. Verifica en consola la versión 4.0.0 y que llega telemetría al monitor. Procedimiento: [reflasheo](../procedimientos/reflasheo-unidades.md). Solo binarios `hbox-tarjetaV3_…` ([Descargas](../descargas/index.md#firmware-del-hbox-que-binario-va-en-que-tarjeta)).
|
||||||
|
|
||||||
1. Solo el USB-C del **Blackpill** a la laptop.
|
|
||||||
2. Mantener **KEY (BOOT0)** → pulsar y soltar **NRST** → soltar KEY. Aparece `0483:DF11`.
|
|
||||||
3. `dfu-util -a 0 -s 0x08000000:leave -D hbox-tarjetaV3_4.0.0.bin` (o STM32CubeProgrammer, `0x08000000`).
|
|
||||||
4. Verificar en consola que arranca la versión 4.0.0 y que llega telemetría al monitor.
|
|
||||||
|
|
||||||
!!! warning
|
|
||||||
Nunca `hbox-tarjetaV4_*.bin` ni `hbox-v5-bringup_*.bin` en una V3 (en V3 PB12–PB15 son LEDs; en V4/V5 son el bus SPI del W5500 — el mapa de pines es distinto).
|
|
||||||
|
|
||||||
## 6. Limitaciones conocidas
|
## 6. Limitaciones conocidas
|
||||||
|
|
||||||
- Sin Ethernet, sin RS-485/RS-232, sin LED RGB, sin expansor I²C.
|
- Sin Ethernet, sin RS-485/RS-232, sin LED RGB, sin expansor I²C.
|
||||||
- Módem oscuro en batería (igual que V4/V5.5); sin puente 0.5.6 posible (no hay PCF8574): solo SW4G1 o 24 V.
|
- Módem oscuro en batería (igual que V4/V5.5); sin puente de reset posible (no hay PCF8574): solo SW4G1 o 24 V.
|
||||||
- PFI 4.60 V (más alto que V4/V5: 4.40–4.44 V) → más sensible a caídas de la fuente.
|
- PFI 4.60 V (más alto que V4/V5: 4.40–4.44 V) → más sensible a caídas de la fuente.
|
||||||
- Firmware 4.0.0 (blackpillrtkcode_v4) con consola y comandos propios, distintos de `hbox_v5_bringup`; la ventilación sigue la política v3.0.3 ([prueba de banco](../procedimientos/fan-policy-bench-test.md)).
|
- Firmware 4.0.0 (blackpillrtkcode_v4) con consola y comandos propios, distintos de `hbox_v5_bringup`; la ventilación sigue la política v3.0.3 ([prueba de banco](../procedimientos/fan-policy-bench-test.md)).
|
||||||
|
|
||||||
## 7. Referencias
|
## 7. Referencias
|
||||||
|
|
||||||
[Pinout V3](../montaje/pinout-arneses.md) · [Bring-up EinarBoard 1.0](../procedimientos/einarboard-1.0-bringup.md) · [Reflasheo](../procedimientos/reflasheo-unidades.md) · Informe técnico V3+V4 (PDF, repo `03-Architecture-Hardware/Informe-Tecnico-V3-V4/`).
|
[Diagnóstico en campo](../diagnostico/procedimiento-diagnostico-campo.md) · [Diagnóstico en banco](../procedimientos/diagnostico-banco.md) · [Pinout V3](../montaje/pinout-arneses.md) · [Bring-up EinarBoard 1.0](../procedimientos/einarboard-1.0-bringup.md) · [Reflasheo](../procedimientos/reflasheo-unidades.md) · Informe técnico V3+V4 (PDF, repo `03-Architecture-Hardware/Informe-Tecnico-V3-V4/`).
|
||||||
|
|
||||||
## Historial de revisiones
|
## Historial de revisiones
|
||||||
|
|
||||||
| Versión | Fecha | Autor | Cambio |
|
| Versión | Fecha | Cambios |
|
||||||
|---|---|---|---|
|
|---|---|---|
|
||||||
| 1.0 | 2026-09-29 | Helgen Technologies | Primera versión |
|
| 1.0 | 2026-09-29 | Primera versión. |
|
||||||
|
| 1.1 | 2026-09-29 | Edición breve; flasheo remite al reflasheo. |
|
||||||
|
|
||||||
|
Versiones anteriores en git.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
title: Manual de tarjeta — EinarBoard V4 (EinarBoard 2.0, Blackpill en zócalo)
|
title: "Manual de tarjeta — EinarBoard V4 (EinarBoard 2.0)"
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
date: 2026-09-29
|
date: 2026-09-29
|
||||||
version: "1.0"
|
version: "1.1"
|
||||||
tags: [project-drogheda, hardware, einarboard, v4, manual, tecnicos, blackpill]
|
tags: [project-drogheda, hardware, einarboard, v4, manual, tecnicos, blackpill]
|
||||||
author: Helgen Technologies
|
author: Helgen Technologies
|
||||||
audience: técnicos de banco y de campo
|
audience: técnicos de banco y de campo
|
||||||
@ -10,16 +10,16 @@ audience: técnicos de banco y de campo
|
|||||||
|
|
||||||
# Manual de tarjeta — EinarBoard V4 (EinarBoard 2.0)
|
# Manual de tarjeta — EinarBoard V4 (EinarBoard 2.0)
|
||||||
|
|
||||||
La V4 es **el diseño de la V5 con el MCU en un módulo Blackpill enchufado** en vez de soldado: mismas nets, mismos pines, mismas direcciones I²C. Fuente: `board_v4.h` (verificado pad a pad contra `hbox-watchdog-v4.kicad_pcb` el 21-sep-2026) y el *Informe técnico interno V3+V4* (`03-Architecture-Hardware/Informe-Tecnico-V3-V4/…_v1.5.pdf`, §6).
|
Blackpill en zócalo + Ethernet y puertos serie. Es el diseño de la V5 con el MCU en un módulo Blackpill enchufado: mismas redes, pines y direcciones I²C. Fuente: `board_v4.h` (verificado pad a pad contra `hbox-watchdog-v4.kicad_pcb` el 21-sep-2026) y el *Informe técnico interno V3+V4* (`03-Architecture-Hardware/Informe-Tecnico-V3-V4/…_v1.5.pdf`, §6).
|
||||||
|
|
||||||
| Ítem | Valor |
|
| Ítem | Valor |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Proyecto KiCad | `kicad/hbox-watchdog-v4.*` (cuadro de título rev. 2.0) |
|
| Proyecto KiCad | `kicad/hbox-watchdog-v4.*` (cuadro de título rev. 2.0) |
|
||||||
| Serigrafía | **`EINARBoard 2.0` · `HBOX v4 - 2026-07` · `Advanced Engineering` · `www.helgen.tech`**; etiquetas `STM32F411 BLACKPILL`, `ArduSimple simpleRTK2B Pro`, `4G NTRIP MASTER`, `MASTER RESET`, `4G NTRIP RESET` |
|
| Serigrafía | `EINARBoard 2.0` · `HBOX v4 - 2026-07` · `Advanced Engineering` · `www.helgen.tech`; etiquetas `STM32F411 BLACKPILL`, `ArduSimple simpleRTK2B Pro`, `4G NTRIP MASTER`, `MASTER RESET`, `4G NTRIP RESET` |
|
||||||
| Tamaño | 155 × 100 mm (20 mm más ancha que la V3, lado derecho) |
|
| Tamaño | 155 × 100 mm (20 mm más ancha que la V3, lado derecho) |
|
||||||
| MCU | **WeAct Blackpill STM32F411CEU6** en zócalos J1/J2 (J1 con pads renumerados: corrige la errata E-J1 de la V3) |
|
| MCU | WeAct Blackpill STM32F411CEU6 en zócalos J1/J2 (J1 con pads renumerados: corrige la errata E-J1 de la V3) |
|
||||||
| Fabricación | JLCPCB, orden preparada 02/03-ago-2026 (lote Y5) <!-- VERIFICAR: número de tarjetas fabricadas y fecha de entrega --> |
|
| Fabricación | JLCPCB, orden preparada 02/03-ago-2026 (lote Y5) <!-- VERIFICAR: número de tarjetas fabricadas y fecha de entrega --> |
|
||||||
| Firmware | **`hbox-tarjetaV4_0.6.0.bin`** (mismo sketch `hbox_v5_bringup` compilado con `-DHBOX_BOARD_V4` para Blackpill). SHA-256 `1458470bbdd95b49…` |
|
| Firmware | `hbox-tarjetaV4_0.6.0.bin` (mismo sketch `hbox_v5_bringup` compilado con `-DHBOX_BOARD_V4` para Blackpill). SHA-256 `1458470bbdd95b49…` |
|
||||||
| Paquete | Li-ion 18650 1S4P · JP2 en 1-2 (`F2:Li-ion`) · R55 10 k |
|
| Paquete | Li-ion 18650 1S4P · JP2 en 1-2 (`F2:Li-ion`) · R55 10 k |
|
||||||
|
|
||||||
<!-- foto: vista superior V4 con Blackpill sentado, RJ45 arriba-izquierda, clemas P15/P16 abajo, P14 a la derecha -->
|
<!-- foto: vista superior V4 con Blackpill sentado, RJ45 arriba-izquierda, clemas P15/P16 abajo, P14 a la derecha -->
|
||||||
@ -28,76 +28,62 @@ La V4 es **el diseño de la V5 con el MCU en un módulo Blackpill enchufado** en
|
|||||||
|
|
||||||
| Rasgo | V4 | Comparar con |
|
| Rasgo | V4 | Comparar con |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| Módulo Blackpill enchufado + **RJ45** + clemas verdes P15/P16 | Sí | V3: Blackpill pero **sin** RJ45 ni clemas. V5: RJ45 y clemas pero **sin** Blackpill |
|
| Blackpill enchufado + RJ45 + clemas verdes P15/P16 | Sí | V3: Blackpill sin RJ45 ni clemas. V5: RJ45 y clemas sin Blackpill |
|
||||||
| USB-C en la tarjeta | Solo **J9** (módem). La consola/DFU es el **USB-C del propio Blackpill** | V5 tiene J11 aparte |
|
| USB-C en la tarjeta | Solo J9 (módem); consola y DFU por el USB-C del Blackpill | V5 tiene J11 |
|
||||||
| Botones | **SW1** RESET (`MASTER RESET`), **SW4G1** (`4G NTRIP RESET`) + los dos del Blackpill (NRST y KEY = BOOT0) | — |
|
| Botones | SW1 RESET (`MASTER RESET`), SW4G1 (`4G NTRIP RESET`) + los dos del Blackpill (NRST y KEY = BOOT0) | — |
|
||||||
| Silk de J1/J2 | `E-CS / E-SCK / E-MISO / E-MOSI`, `CHEN`, `U-TX / U-RX`, `CSTA / CFLT / BYP / SCL / SDA`… | — |
|
| Silk de J1/J2 | `E-CS / E-SCK / E-MISO / E-MOSI`, `CHEN`, `U-TX / U-RX`, `CSTA / CFLT / BYP / SCL / SDA`… | — |
|
||||||
|
|
||||||
## 2. Conectores
|
## 2. Conectores
|
||||||
|
|
||||||
Mismos conectores que la V5.5 (ver [pinout V5.6](../hardware/v56-pinout.md) y la tabla de diferencias al final de ese documento) **más P5** (sonda T/RH externa, JST 4: 3V3/GND/SDA/SCL) y **P6 de 4 pines** (5V_FAN / FAN_RET / GND / FAN_TACH). Sin J11 (la consola va por el Blackpill). `P3`, `P13` y `H3` de la V3 ya no existen.
|
Como la V5.5 ([pinout V5.6](../hardware/v56-pinout.md), tabla de diferencias al final) más P5 (sonda T/RH externa, JST 4) y P6 de 4 pines. Sin J11. `P3`, `P13` y `H3` de la V3 ya no existen.
|
||||||
|
|
||||||
| Ref | Qué se conecta | Pines |
|
| Ref | Qué se conecta | Pines |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| P1 | Vehículo (GX16-5) | 1 = +24 V · 2 = GND · 3 = ignición 12–24 V · 4 = GND · 5 = n/c |
|
| P1 | Vehículo (GX16-5) | 1 = +24 V · 2 = GND · 3 = ignición 12–24 V · 4 = GND · 5 = n/c |
|
||||||
| P2 | SD-15B-05 | 1 = +5 V · 2 = GND (ajustar a 5.2–5.4 V en P2) |
|
| P2 | SD-15B-05 | 1 = +5 V · 2 = GND (ajustar a 5.2–5.4 V en P2) |
|
||||||
| P4 | Paquete Li-ion | 1 = BAT+ · 2 = GND · 3 = NTC |
|
| P4 | Paquete Li-ion | 1 = BAT+ · 2 = GND · 3 = NTC |
|
||||||
| P5 | Sonda externa I²C (opcional) | 1 = 3V3 · 2 = GND · 3 = SDA · 4 = SCL |
|
| P5 | Sonda externa I²C (opcional) | 1 = 3V3 · 2 = GND · 3 = SDA · 4 = SCL |
|
||||||
| P6 | Ventilador | 1 = +5V_FAN · 2 = retorno · 3 = GND · 4 = tacómetro (no usado) |
|
| P6 | Ventilador | 1 = +5V_FAN · 2 = retorno · 3 = GND · 4 = tacómetro (no usado) |
|
||||||
| P8 / P10 / P11 / P12 | LED de panel / reset externo / **interruptor de corte** / NTC de punto caliente | Como en V5 |
|
| P8 / P10 / P11 / P12 | LED de panel / reset externo / interruptor de corte / NTC de punto caliente | Como en V5 |
|
||||||
| P14 | LED RGB externo | 1 = 3V3 · 2 = R · 3 = G · 4 = B |
|
| P14 | LED RGB externo | 1 = 3V3 · 2 = R · 3 = G · 4 = B |
|
||||||
| P15 / P16 / H4 | RS-485 / RS-232 / TTL del canal B | Como en V5 (no usar P16 y H4 a la vez) |
|
| P15 / P16 / H4 | RS-485 / RS-232 / TTL del canal B | Como en V5 (no usar P16 y H4 a la vez) |
|
||||||
| J9 | USB del módem | Solo configuración del 4G NTRIP Master |
|
| J9 | USB del módem | Solo configuración del 4G NTRIP Master |
|
||||||
| J10 | Ethernet (sin PoE) | Solo con 5 V presente |
|
| J10 | Ethernet (sin PoE) | Solo con 5 V presente |
|
||||||
| MOD1 · J7/J8 | simpleRTK2B · 4G NTRIP Master | Como en V5 |
|
| MOD1 · J7/J8 | simpleRTK2B · 4G NTRIP Master | Como en V5 |
|
||||||
| **J1 / J2** | Blackpill | J1 = fila VBAT…5V; J2 = fila PB12…3V3. **Sentar el módulo con el USB hacia J2** |
|
| J1 / J2 | Blackpill | J1 = fila VBAT…5V; J2 = fila PB12…3V3. Módulo con el USB hacia J2 |
|
||||||
|
|
||||||
## 3. Puentes y botones
|
## 3. Puentes y botones
|
||||||
|
|
||||||
| Ref | Default | Función |
|
| Ref | Default | Función |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| JP2 | 1-2 (`F2:Li-ion`) | Química: Li-ion 4.00 V. **No cambiar** salvo que se cambie el paquete a LFP (entonces 2-3 + R55 5.6 k) |
|
| JP2 | 1-2 (`F2:Li-ion`) | Química: Li-ion 4.00 V. Solo cambia con paquete LFP (2-3 + R55 5.6 k) |
|
||||||
| JP3 / JP4 | 1-2 | Straps F1/F0 — no tocar |
|
| JP3 / JP4 | 1-2 | Straps F1/F0 — no tocar |
|
||||||
| JP1 | abierto | Nunca cerrar |
|
| JP1 | abierto | Nunca cerrar |
|
||||||
| JP5 | abierto | Terminación 120 Ω RS-485 |
|
| JP5 | abierto | Terminación 120 Ω RS-485 ([regla](../procedimientos/v5-prueba-ethernet-serie.md#conexion-en-la-instalacion)) |
|
||||||
| SW1 | — | Reset del MCU (= NRST del Blackpill = P10) |
|
| SW1 | — | Reset del MCU (= NRST del Blackpill = P10) |
|
||||||
| SW4G1 | — | Reset del módem. Con el **puente 0.5.6** el firmware lo pulsa solo (tecla `M`, y 3 s después de cada STACK ON) |
|
| SW4G1 | — | Reset del módem. Con el puente U13-P7 el firmware lo pulsa solo (tecla `M` y 3 s después de cada STACK ON) |
|
||||||
| KEY (Blackpill) | — | BOOT0: para entrar en DFU |
|
| KEY (Blackpill) | — | BOOT0: para entrar en DFU |
|
||||||
|
|
||||||
!!! note "Puente 0.5.6 (obligatorio para que el MCU pueda resetear el módem)"
|
Puente de reset del módem (necesario para que el MCU resetee el módem): diodo Schottky de señal del pin 12 de U13 (P7, SOIC-16 ancho) al pad 1 de SW4G1 (`MODEM_RST`), cátodo en U13. Diodo, soldadura y prueba con `M`: [V4 — preparación 1](../procedimientos/v4-prueba-fw-0.5.6.md#preparacion-1-puente-de-reset-del-modem).
|
||||||
Diodo Schottky (BAT54 / 1N5819; sirve 1N4148) del **pin 12 de U13 (P7, SOIC-16 ancho)** al **pad 1 de SW4G1** (`MODEM_RST`), **cátodo en U13**. Verificar con `M` en consola: el pad 1 de SW4G1 baja a < 0.4 V durante 0.5 s y el módem reinicia. Procedimiento y foto: [V4 — preparación y prueba](../procedimientos/v4-prueba-fw-0.5.6.md).
|
|
||||||
|
|
||||||
## 4. LEDs
|
## 4. LEDs
|
||||||
|
|
||||||
| LED | Significado |
|
| LED | Significado |
|
||||||
|---|---|
|
|---|---|
|
||||||
| DB1–DB4 (medidor, vía PCF8574) | Batería 3.60 / 3.75 / 3.90 / 3.97 V |
|
| DB1–DB4 (medidor, vía PCF8574) | Batería 3.60 / 3.75 / 3.90 / 3.97 V |
|
||||||
| RGB (P14, vía PCF8574) | Verde RTK fix · Azul etapa ON sin RTK · Magenta sin NMEA · Amarillo en batería · Rojo etapa OFF |
|
| RGB (P14, vía PCF8574) | Verde RTK fix · Azul etapa ON sin RTK · Magenta sin NMEA · Amarillo en batería · Rojo etapa OFF |
|
||||||
| LED azul del Blackpill (PC13) | Lo maneja el firmware (parpadeo rápido = esperando consola) |
|
| LED azul del Blackpill (PC13) | Lo maneja el firmware (parpadeo rápido = esperando consola) |
|
||||||
| LED de panel (P8) | Respaldo cableado en duro (PB0) |
|
| LED de panel (P8) | Respaldo cableado en duro (PB0) |
|
||||||
| D4G1 | Actividad del módem (tenue) |
|
| D4G1 | Actividad del módem (tenue) |
|
||||||
| J10 LINK / ACT | Ethernet |
|
| J10 LINK / ACT | Ethernet |
|
||||||
|
|
||||||
## 5. Cómo flashear
|
## 5. Flasheo
|
||||||
|
|
||||||
1. Conectar **solo** el USB-C del **Blackpill** a la laptop. **Nada en P2** (con el W5500 alimentado, `ETH_INT` = PB2 = BOOT1 puede impedir entrar en DFU).
|
Solo el USB-C del Blackpill, nada en P2 (con el W5500 alimentado, `ETH_INT` = PB2 = BOOT1 puede impedir el DFU). KEY (BOOT0) + NRST (o SW1) → `0483:DF11`. Solo `hbox-tarjetaV4_…` ([Descargas](../descargas/index.md#firmware-del-hbox-que-binario-va-en-que-tarjeta)). La consola debe decir `board=EinarBoard v4 (HBOX v4)`; si dice `v5`, es el binario equivocado. Procedimiento: [V4 — flasheo](../procedimientos/v4-prueba-fw-0.5.6.md#flasheo-de-060).
|
||||||
2. Mantener **KEY (BOOT0)** del Blackpill → pulsar y soltar **NRST** (o SW1) → soltar KEY. Aparece `0483:DF11`.
|
|
||||||
3. Flashear:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
dfu-util -a 0 -s 0x08000000:leave -D hbox-tarjetaV4_0.6.0.bin
|
|
||||||
```
|
|
||||||
|
|
||||||
(o STM32CubeProgrammer, USB, `0x08000000`).
|
|
||||||
|
|
||||||
4. Consola: la primera línea debe decir **`board=EinarBoard v4 (HBOX v4)`**. Si dice `v5`, es el binario equivocado.
|
|
||||||
|
|
||||||
!!! warning
|
|
||||||
No flashear `blackpillrtkcode` (V3) ni `hbox-v5-bringup_x.y.z.bin` (V5) en una V4. Solo `hbox-tarjetaV4_x.y.z.bin`. Binarios: [Descargas](../descargas/index.md).
|
|
||||||
|
|
||||||
## 6. Consola y autotest
|
## 6. Consola y autotest
|
||||||
|
|
||||||
Idénticos a la V5 (mismo firmware): teclas `h l r s t i g v P Y n A B M R C`, línea `STAT` cada 5 s, `$PHLG` cada 10 s, autotest con `CLOCK_HSE`, `LSE`, I²C (0x20 / 0x44 / 0x48 / 0x4D), `SC16IS752`, `GAUGE_WALK`. Ver el [manual V5](manual-tarjeta-V5.md) §7–§8.
|
Iguales a la V5 (mismo firmware): teclas `h l r s t i g v P Y n A B M R C`, línea `STAT` cada 5 s, `$PHLG` cada 10 s, autotest con `CLOCK_HSE`, `LSE`, I²C (0x20 / 0x44 / 0x48 / 0x4D), `SC16IS752`, `GAUGE_WALK`. Ver el [manual V5](manual-tarjeta-V5.md) §7–§8.
|
||||||
|
|
||||||
## 7. Diferencias eléctricas frente a la V5.5
|
## 7. Diferencias eléctricas frente a la V5.5
|
||||||
|
|
||||||
@ -108,22 +94,25 @@ Idénticos a la V5 (mismo firmware): teclas `h l r s t i g v P Y n A B M R C`, l
|
|||||||
| Consola/DFU | USB-C del Blackpill | J11 |
|
| Consola/DFU | USB-C del Blackpill | J11 |
|
||||||
| Sonda externa | P5 presente | P5 presente (se elimina en V5.6) |
|
| Sonda externa | P5 presente | P5 presente (se elimina en V5.6) |
|
||||||
| Ventilador | P6 de 4 pines (tach sin uso) | P6 de 2 pines |
|
| Ventilador | P6 de 4 pines (tach sin uso) | P6 de 2 pines |
|
||||||
| Ignición | Divisor 22 k / 3.3 k (nodo ≈ 3.1 V a 24 V) | Igual |
|
| Ignición | Divisor 22 k / 3.3 k (nodo ≈ 3.1 V a 24 V) | Igual |
|
||||||
| PFI / amortiguación | 4.40 V (R51 270 k) + C78 220 µF | Igual |
|
| PFI / amortiguación | 4.40 V (R51 270 k) + C78 220 µF | Igual |
|
||||||
| Lo demás | Mismo cargador, mismo módem (MP1584 desde `SW_5V`), mismo Ethernet/serie/expansor | — |
|
| Lo demás | Mismo cargador, mismo módem (MP1584 desde `SW_5V`), mismo Ethernet/serie/expansor | — |
|
||||||
|
|
||||||
## 8. Limitaciones conocidas (iguales a V5.5)
|
## 8. Limitaciones conocidas (iguales a V5.5)
|
||||||
|
|
||||||
- **Módem oscuro en batería**: no arranca sobre el boost; solo SW4G1 (o el puente 0.5.6 + `M`) o los 24 V lo reviven. Firmware ≥ 0.5.9: sin ciclos de etapa en batería; reset del MCU al volver el 5 V.
|
- Módem oscuro en batería: no arranca sobre el boost; solo SW4G1 (o el puente 0.5.6 + `M`) o los 24 V lo reviven. Firmware ≥ 0.5.9: sin ciclos de etapa en batería; reset del MCU al volver el 5 V.
|
||||||
- **Cargador**: apagado en firmware < 0.6.0; el gobernador de 0.6.0 lo habilita con 24 V y riel estable.
|
- Cargador: apagado en firmware < 0.6.0; el gobernador de 0.6.0 lo habilita con 24 V y riel estable.
|
||||||
- Ethernet y serie sin prueba en hardware real.
|
- Ethernet y serie sin prueba en hardware real.
|
||||||
|
|
||||||
## 9. Procedimientos relacionados
|
## 9. Procedimientos relacionados
|
||||||
|
|
||||||
[V4 — preparación y prueba con 0.5.6/0.6.0](../procedimientos/v4-prueba-fw-0.5.6.md) · [Acta V4](../formularios/v4.html) · [Reflasheo de unidades](../procedimientos/reflasheo-unidades.md) · [Prueba módem en batería](../procedimientos/prueba-bateria-modem.md) · [Manual V5](manual-tarjeta-V5.md).
|
[V4 — preparación y prueba con firmware 0.6.0](../procedimientos/v4-prueba-fw-0.5.6.md) · [Política de ventilador (banco)](../procedimientos/fan-policy-bench-test.md) · [Acta V4](../formularios/v4.html) · [Reflasheo de unidades](../procedimientos/reflasheo-unidades.md) · [Prueba módem en batería](../procedimientos/prueba-bateria-modem.md) · [Manual V5](manual-tarjeta-V5.md).
|
||||||
|
|
||||||
## Historial de revisiones
|
## Historial de revisiones
|
||||||
|
|
||||||
| Versión | Fecha | Autor | Cambio |
|
| Versión | Fecha | Cambios |
|
||||||
|---|---|---|---|
|
|---|---|---|
|
||||||
| 1.0 | 2026-09-29 | Helgen Technologies | Primera versión |
|
| 1.0 | 2026-09-29 | Primera versión. |
|
||||||
|
| 1.1 | 2026-09-29 | Edición breve; puente y flasheo remiten al procedimiento V4 (el manual listaba 1N5819, que el procedimiento prohíbe). |
|
||||||
|
|
||||||
|
Versiones anteriores en git.
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
title: Manual de tarjeta — EinarBoard V5 (V5.5 y V5.6)
|
title: "Manual de tarjeta — EinarBoard V5 (V5.5 y V5.6)"
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
date: 2026-09-29
|
date: 2026-09-29
|
||||||
version: "1.0"
|
version: "1.1"
|
||||||
tags: [project-drogheda, hardware, einarboard, v5, v5.5, v5.6, manual, tecnicos]
|
tags: [project-drogheda, hardware, einarboard, v5, v5.5, v5.6, manual, tecnicos]
|
||||||
author: Helgen Technologies
|
author: Helgen Technologies
|
||||||
audience: técnicos de banco y de campo
|
audience: técnicos de banco y de campo
|
||||||
@ -10,14 +10,14 @@ audience: técnicos de banco y de campo
|
|||||||
|
|
||||||
# Manual de tarjeta — EinarBoard V5 (V5.5 y V5.6)
|
# Manual de tarjeta — EinarBoard V5 (V5.5 y V5.6)
|
||||||
|
|
||||||
Una página por tarjeta. Aquí está lo que un técnico necesita para **reconocerla, conectarla, flashearla y leer su consola**. Los números de ingeniería (voltajes, valores de componentes) están en la [hoja de datos V5.6](../hardware/v56-datasheet.md); el pinout pin a pin en el [pinout V5.6](../hardware/v56-pinout.md).
|
Valores de ingeniería: [hoja de datos V5.6](../hardware/v56-datasheet.md). Pin a pin: [pinout V5.6](../hardware/v56-pinout.md).
|
||||||
|
|
||||||
| | V5.5 | V5.6 |
|
| | V5.5 | V5.6 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| Estado | **15 tarjetas fabricadas** (JLCPCB, 22-ago-2026), en ensamble y en campo | Esquemático listo (ECO 27/28-sep); **PCB y pedido pendientes** |
|
| Estado | 15 tarjetas fabricadas (JLCPCB, 22-ago-2026), en ensamble y en campo | Esquemático listo (ECO 27/28-sep); PCB y pedido pendientes |
|
||||||
| Proyecto KiCad | `kicad/hbox-watchdog-v5.*` (etiqueta git `v5.5-as-fabbed`) | `kicad/hbox-watchdog-v5.*` (mismo proyecto, ECO aplicada) |
|
| Proyecto KiCad | `kicad/hbox-watchdog-v5.*` (etiqueta git `v5.5-as-fabbed`) | `kicad/hbox-watchdog-v5.*` (ECO aplicada) |
|
||||||
| Firmware | `hbox-v5-bringup_0.6.0.bin` | `hbox-v5-bringup_0.6.0.bin` (0.6.x añadirá el control del módem) |
|
| Firmware | `hbox-v5-bringup_0.6.0.bin` | `hbox-v5-bringup_0.6.0.bin` (0.6.x añadirá el control del módem) |
|
||||||
| Paquete de batería | Li-ion 18650 1S4P · JP2 en 1-2 · R55 10 k | **LFP-HT 26650** · **JP2 en 2-3** · R55 5.6 k · NTC B3380 |
|
| Paquete de batería | Li-ion 18650 1S4P · JP2 en 1-2 · R55 10 k | LFP-HT 26650 · JP2 en 2-3 · R55 5.6 k · NTC B3380 |
|
||||||
|
|
||||||
## 1. Identificación
|
## 1. Identificación
|
||||||
|
|
||||||
@ -26,180 +26,149 @@ Una página por tarjeta. Aquí está lo que un técnico necesita para **reconoce
|
|||||||
|
|
||||||
| Rasgo | Cómo reconocerla |
|
| Rasgo | Cómo reconocerla |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Serigrafía | **`EINARBoard 4.0` · `HBOX v5 - 2026-08` · `www.helgen.tech`** (los nombres de serigrafía y de proyecto no coinciden: la serigrafía dice 4.0, la tarjeta es V5) |
|
| Serigrafía | `EINARBoard 4.0` · `HBOX v5 - 2026-08` · `www.helgen.tech` (la serigrafía dice 4.0; la tarjeta es V5) |
|
||||||
| MCU | **STM32F411 soldado** (LQFP-64, U16) — **no hay Blackpill** en zócalo. Si ves un módulo Blackpill, es V3 o V4 |
|
| MCU | STM32F411 soldado (LQFP-64, U16), sin Blackpill. Con Blackpill es V3 o V4 |
|
||||||
| Dos USB-C en la tarjeta | **J11** DFU/consola (junto a SW1/SW2 y al RJ45) y **J9** USB del módem (junto al zócalo XBee) |
|
| Dos USB-C | J11 DFU/consola (junto a SW1/SW2 y al RJ45) y J9 USB del módem (junto al zócalo XBee) |
|
||||||
| RJ45 | **J10** con LEDs integrados (sin PoE) |
|
| RJ45 | J10 con LEDs integrados, sin PoE |
|
||||||
| Clemas verdes | **P15** RS-485 y **P16** RS-232 (Phoenix 3.5 mm) |
|
| Clemas verdes | P15 RS-485 y P16 RS-232 (Phoenix 3.5 mm) |
|
||||||
| Cristales | Y3 25 MHz (MCU), Y1 25 MHz (W5500), **Y2 3.6864 MHz** (SC16IS752), Y4 32.768 kHz |
|
| Cristales | Y3 25 MHz (MCU), Y1 25 MHz (W5500), Y2 3.6864 MHz (SC16IS752), Y4 32.768 kHz |
|
||||||
| V5.5 vs V5.6 (a simple vista) | V5.6: U7 en encapsulado SO-8 con *exposed pad* (AP64350) y tres 220 µF polímero (C3, C43, C78); **sin P5** (JST 4 pines TEMP_PROBE); JP6 junto a P11; U18 (SOT-563) junto al zócalo XBee. Ver §9 |
|
| V5.5 vs V5.6 | V5.6: U7 en SO-8 con exposed pad (AP64350), tres 220 µF polímero (C3, C43, C78), sin P5, JP6 junto a P11, U18 (SOT-563) junto al zócalo XBee (§9) |
|
||||||
|
|
||||||
## 2. Conectores (resumen)
|
## 2. Conectores
|
||||||
|
|
||||||
Pinout completo: [Pinout de arneses y conectores V5.6](../hardware/v56-pinout.md) (V5.5 idéntico salvo lo listado en §9).
|
V5.5 igual al [pinout V5.6](../hardware/v56-pinout.md) salvo lo listado en §9.
|
||||||
|
|
||||||
| Ref | Qué se conecta | Pines | Cuidado |
|
| Ref | Qué va | Pines | Cuidado |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| **P1** | Arnés del vehículo (GX16-5 del gabinete) | 1 = +24 V · 2 = GND · 3 = ignición (12–24 V cruda) · 4 = GND · 5 = n/c | Solo alimenta el ventilador y la lectura de ignición |
|
| P1 | Arnés del vehículo (GX16-5) | 1 = +24 V · 2 = GND · 3 = ignición (12–24 V cruda) · 4 = GND · 5 = n/c | Solo alimenta el ventilador y la lectura de ignición |
|
||||||
| **P2** | Mean Well SD-15B-05 (5 V) | 1 = +5 V · 2 = GND | Ajustar la fuente a **5.2–5.4 V medidos en P2**; cable corto, ≥ 3 A |
|
| P2 | Mean Well SD-15B-05 | 1 = +5 V · 2 = GND | Ajustar a 5.2–5.4 V medidos en P2; cable corto, ≥ 3 A |
|
||||||
| **P4** | Paquete de batería | 1 = BAT+ · 2 = GND · 3 = NTC | **La química debe coincidir con JP2** (§3). Nunca conectar el paquete en las pruebas de tarjeta desnuda |
|
| P4 | Paquete de batería | 1 = BAT+ · 2 = GND · 3 = NTC | Química = JP2 ([ensamble §2](../procedimientos/v5-ensamble.md#2-tarjeta-sin-energia)). Nunca en pruebas de tarjeta desnuda |
|
||||||
| **P6** | Ventilador 5 V, 2 hilos | 1 = +5V_FAN · 2 = retorno conmutado | — |
|
| P6 | Ventilador 5 V, 2 hilos | 1 = +5V_FAN · 2 = retorno conmutado | — |
|
||||||
| **P8** | LED de panel | 1 = ánodo · 2 = cátodo | — |
|
| P8 | LED de panel | 1 = ánodo · 2 = cátodo | — |
|
||||||
| **P10** | Botón de reset externo | 1 = NRST · 2 = GND | Solo reinicia el MCU |
|
| P10 | Botón de reset externo | 1 = NRST · 2 = GND | Solo reinicia el MCU |
|
||||||
| **P11** | Interruptor de corte | 1 = MAIN5V · 2 = SYS5V | **Abierto = tarjeta apagada**. En banco, puentear con un jumper |
|
| P11 | Interruptor de corte | 1 = MAIN5V · 2 = SYS5V | Abierto = tarjeta apagada. En banco, jumper |
|
||||||
| **P12** | NTC de punto caliente (opcional) | 1 = NTC · 2 = GND | Sin sonda, la consola muestra `tntc=n/c` |
|
| P12 | NTC de punto caliente (opcional) | 1 = NTC · 2 = GND | Sin sonda, `tntc=n/c` |
|
||||||
| **P14** | LED RGB externo (ánodo común) | 1 = 3V3 · 2 = R · 3 = G · 4 = B | — |
|
| P14 | LED RGB externo (ánodo común) | 1 = 3V3 · 2 = R · 3 = G · 4 = B | — |
|
||||||
| **P15** | RS-485 | 1 = A · 2 = B · 3 = GND | JP5 = terminación 120 Ω |
|
| P15 | RS-485 | 1 = A · 2 = B · 3 = GND | JP5 = terminación 120 Ω |
|
||||||
| **P16** | RS-232 | 1 = TX · 2 = RX · 3 = GND | No usar a la vez que H4 (TTL) |
|
| P16 | RS-232 | 1 = TX · 2 = RX · 3 = GND | No usar a la vez que H4 (TTL) |
|
||||||
| **J11** | USB-C **DFU + consola** | — | Alimenta solo el 3.3 V (MCU + sensores). No enciende módem ni F9P |
|
| J11 | USB-C DFU + consola | — | Alimenta solo el 3.3 V (MCU + sensores); no enciende módem ni F9P |
|
||||||
| **J9** | USB-C del **módem** | — | Solo para configurar el 4G NTRIP Master desde la laptop |
|
| J9 | USB-C del módem | — | Solo para configurar el módem desde la laptop |
|
||||||
| **J10** | Ethernet RJ45 | — | Sin PoE. Solo con 5 V presente (en USB solo, el W5500 está en reset) |
|
| J10 | Ethernet RJ45 | — | Sin PoE; solo con 5 V (con USB solo el W5500 queda en reset) |
|
||||||
| **MOD1** | simpleRTK2B (zócalo UNO) | — | Interruptores del módulo: ver [Módulos RTK y 4G](../procedimientos/v5-modulos-integracion.md) |
|
| MOD1 | simpleRTK2B (zócalo UNO) | — | Interruptores del módulo: [módulos RTK y 4G](../procedimientos/v5-modulos-integracion.md) |
|
||||||
| **J7/J8** | 4G NTRIP Master (zócalo XBee) | — | Orientación: pin 1 (VCC) en J7.1 |
|
| J7/J8 | Módem (zócalo XBee) | — | Pin 1 (VCC) en J7.1 |
|
||||||
| **P5** | Sonda T/RH externa | 1 = 3V3 · 2 = GND · 3 = SDA · 4 = SCL | **Solo V5.5**; no existe en V5.6 |
|
| P5 | Sonda T/RH externa | 1 = 3V3 · 2 = GND · 3 = SDA · 4 = SCL | Solo V5.5 |
|
||||||
|
|
||||||
## 3. Puentes de soldadura
|
## 3. Puentes de soldadura
|
||||||
|
|
||||||
| Ref | V5.5 | V5.6 | Función |
|
| Ref | V5.5 | V5.6 | Función |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| **JP2** | 1-2 (`F2:Li-ion`) | **2-3 (`F2:LFP`)** | **Química del paquete.** Li-ion → 4.00 V; LFP → 3.50 V. Un paquete Li-ion con JP2 en 2-3 nunca carga del todo; un paquete LFP con JP2 en 1-2 se **sobrecarga**. Comprobar con lupa antes de conectar P4 |
|
| JP2 | 1-2 (`F2:Li-ion`) | 2-3 (`F2:LFP`) | Química del paquete: Li-ion flota a 4.00 V, LFP a 3.50 V. Regla: [ensamble §2](../procedimientos/v5-ensamble.md#2-tarjeta-sin-energia) |
|
||||||
| JP3 / JP4 | 1-2 / 1-2 | igual | Straps F1/F0 del LTC4040 — no tocar |
|
| JP3 / JP4 | 1-2 / 1-2 | Igual | Straps F1/F0 del LTC4040; no tocar |
|
||||||
| JP1 | abierto | abierto | Une el 5 V del ventilador con el de la SD-15B — **nunca cerrar** |
|
| JP1 | Abierto | Abierto | Une el 5 V del ventilador con el de la SD-15B; nunca cerrar |
|
||||||
| **JP5** | abierto | abierto | Terminación 120 Ω del RS-485 (cerrar solo si la tarjeta es el último nodo del bus) |
|
| JP5 | Abierto | Abierto | Terminación 120 Ω del RS-485 ([regla](../procedimientos/v5-prueba-ethernet-serie.md#conexion-en-la-instalacion)) |
|
||||||
| **JP6** | — | abierto | Puentea P11 (corte). Cerrar solo en unidades **sin** interruptor de corte |
|
| JP6 | — | Abierto | Puentea P11; cerrar solo en unidades sin interruptor de corte |
|
||||||
|
|
||||||
## 4. Botones
|
## 4. Botones
|
||||||
|
|
||||||
| Ref | Serigrafía | Qué hace |
|
| Ref | Serigrafía | Función |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **SW1** | RESET | Reinicia el MCU (igual que P10). No apaga el módem ni el F9P |
|
| SW1 | RESET | Reinicia el MCU (igual que P10); no apaga módem ni F9P |
|
||||||
| **SW2** | BOOT / BOOT0 | Con SW2 pulsado + SW1 → modo DFU (para flashear) |
|
| SW2 | BOOT / BOOT0 | SW2 pulsado + SW1 → modo DFU |
|
||||||
| **SW4G1** | 4G NTRIP RESET | Reinicia el módem. Es lo único que revive un módem oscuro en una V5.5 en batería (además de volver a los 24 V) |
|
| SW4G1 | 4G NTRIP RESET | Reinicia el módem. Con los 24 V, lo único que revive un módem oscuro en una V5.5 en batería |
|
||||||
|
|
||||||
## 5. LEDs — qué significan
|
## 5. LEDs
|
||||||
|
|
||||||
| LED | Estado | Significado |
|
| LED | Estado | Significado |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **D18 PWR** (verde) | Encendido | Hay 3.3 V (USB en J11 o 5 V en P2 con P11 cerrado) |
|
| D18 PWR (verde) | Encendido | Hay 3.3 V (USB en J11, o 5 V en P2 con P11 cerrado) |
|
||||||
| **D17 C13** (azul) | Parpadeo rápido al arrancar | Espera la consola USB (máx. 4 s). Chip virgen = apagado |
|
| D17 C13 (azul) | Parpadeo rápido al arrancar | Espera la consola USB (máx. 4 s). Chip virgen: apagado |
|
||||||
| **DB1–DB4** (medidor) | 1–4 encendidos | Batería: 3.60 / 3.75 / 3.90 / 3.97 V (umbrales Li-ion; los de LFP se ajustan en 0.6.x) |
|
| DB1–DB4 (medidor) | 1–4 encendidos | Batería 3.60 / 3.75 / 3.90 / 3.97 V (umbrales Li-ion; LFP en 0.6.x) |
|
||||||
| **RGB** (P14) | Verde | RTK fix |
|
| RGB (P14) | Verde | RTK FIX |
|
||||||
| | Azul | Etapa ON, sin RTK fix |
|
| | Azul | Etapa ON, sin RTK FIX |
|
||||||
| | Magenta | Etapa ON, sin NMEA (F9P no habla) |
|
| | Magenta | Etapa ON, sin NMEA (el F9P no habla) |
|
||||||
| | Amarillo | En batería (sin 5 V en P2) |
|
| | Amarillo | En batería (sin 5 V en P2) |
|
||||||
| | Rojo | Etapa OFF |
|
| | Rojo | Etapa OFF (sin 5 V, batería < 3.40 V, > 60 °C o apagada por operador) |
|
||||||
| **D4G1** (junto al XBee) | Parpadeo tenue | Actividad/asociación del módem 4G (es tenue por diseño) |
|
| D4G1 (junto al XBee) | Parpadeo tenue | Actividad del módem (tenue por diseño) |
|
||||||
| **J10** LINK / ACT | Verde / amarillo | Enlace y actividad Ethernet |
|
| J10 LINK / ACT | Verde / amarillo | Enlace y actividad Ethernet |
|
||||||
|
|
||||||
## 6. Cómo flashear (DFU por J11)
|
## 6. Flasheo
|
||||||
|
|
||||||
Procedimiento completo con inspección y pruebas de rieles: [1 · Prueba y flasheo de tarjetas](../procedimientos/v5-prueba-y-flasheo.md). Binario: [Descargas](../descargas/index.md) → `hbox-v5-bringup_0.6.0.bin` (verificar SHA-256 contra `SHA256SUMS.txt`).
|
DFU por J11, solo USB, sin P1/P2 ni batería: mantén SW2, pulsa y suelta SW1, suelta SW2 (`STM32 BOOTLOADER`, `0483:DF11`). Procedimiento completo: [prueba y flasheo §5](../procedimientos/v5-prueba-y-flasheo.md#5-flasheo-por-usb-dfu-j11-5-min). Binario: [Descargas](../descargas/index.md). La consola debe decir `hbox_v5_bringup 0.6.0` y `board=EinarBoard v5 (HBOX v5)`.
|
||||||
|
|
||||||
1. Conectar **solo** el USB-C en **J11** (nada en P1/P2, sin batería en P4).
|
Nunca flashees `blackpillrtkcode` (V3) en una V5: usa PB12–PB15 como LEDs y en la V5 son el SPI del W5500.
|
||||||
2. Mantener pulsado **SW2**.
|
|
||||||
3. Sin soltar SW2, pulsar y soltar **SW1**.
|
|
||||||
4. Soltar SW2. La laptop detecta **`STM32 BOOTLOADER`** (`0483:DF11`).
|
|
||||||
5. Flashear:
|
|
||||||
|
|
||||||
```bash
|
## 7. Consola
|
||||||
dfu-util -l # debe listar [0483:df11]
|
|
||||||
dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.6.0.bin
|
|
||||||
```
|
|
||||||
|
|
||||||
o con **STM32CubeProgrammer**: USB → Connect → *Erasing & Programming* → archivo `.bin`, dirección `0x08000000`, marcar *Verify* y *Run after programming* → Start.
|
USB CDC en J11 a 115200 (CoolTerm, `screen`, monitor de Arduino), CR+LF. `h` = ayuda, `l` = leyenda. Cada 5 s sale `STAT …` y cada 10 s `$PHLG,…`. Para reportar: líneas `EVT` + la última `STAT`.
|
||||||
|
|
||||||
6. Abrir la consola serie (puerto USB CDC, 115200): la primera línea debe decir `hbox_v5_bringup 0.6.0` y luego `board=EinarBoard v5 (HBOX v5)`.
|
| Tecla | Uso |
|
||||||
|
|
||||||
!!! warning "Nunca flashear `blackpillrtkcode` (V3) en una V5"
|
|
||||||
Ese firmware usa PB12–PB15 como LEDs; en la V5 esos pines son el bus SPI del chip Ethernet.
|
|
||||||
|
|
||||||
## 7. Consola — lo básico
|
|
||||||
|
|
||||||
Terminal serie sobre USB (J11): CoolTerm, `screen`, monitor de Arduino. Líneas terminan en CR+LF. Tecla **`h`** = ayuda, **`l`** = leyenda de campos.
|
|
||||||
|
|
||||||
| Tecla | Uso en banco |
|
|
||||||
|---|---|
|
|---|---|
|
||||||
| `r` | Repetir el autotest (§8) |
|
| `r` | Repetir el autotest (§8) |
|
||||||
| `s` / `t` | `STAT` ahora / `$PHLG` ahora |
|
| `s` / `t` | `STAT` / `$PHLG` ahora |
|
||||||
| `i` / `g` | Escaneo I²C / recorrido de LEDs (DB1→DB4, R, G, B) |
|
| `i` / `g` | Escaneo I²C / recorrido de LEDs (DB1→DB4, R, G, B) |
|
||||||
| `v` | Puntos de medición con multímetro (SYS5V, PWR_CTRL, GATE_LS, SW_5V, 3V3_MODEM, MODEM_RST) |
|
| `v` | Puntos de medición (SYS5V, PWR_CTRL, GATE_LS, SW_5V, 3V3_MODEM, MODEM_RST) |
|
||||||
| `P` → `Y` | Encender la etapa RTK (solo con 5 V en P2); `P` otra vez = apagar |
|
| `P` → `Y` | Encender la etapa RTK (solo con 5 V en P2); `P` otra vez apaga |
|
||||||
| `n` | Ver NMEA 20 s (fix 4 = RTK FIX) |
|
| `n` | NMEA 20 s (fix 4 = RTK FIX) |
|
||||||
| `A` | Modo AUTO ↔ MANUAL (de fábrica AUTO: la etapa enciende sola con 5 V) |
|
| `A` | AUTO ↔ MANUAL (de fábrica AUTO: la etapa enciende sola con 5 V) |
|
||||||
| `M` | Pulso de reset al módem (V5.5: requiere el puente 0.5.6 U13-P7 → SW4G1) |
|
| `M` | Pulso de reset al módem (V5.5: requiere el puente U13-P7 → SW4G1) |
|
||||||
| `R` | Reset por software del MCU |
|
| `R` | Reset por software del MCU |
|
||||||
| `C` | Bloquear/permitir el cargador (veto del operador) |
|
| `C` | Bloquear/permitir el cargador |
|
||||||
|
|
||||||
Cada 5 s sale una línea `STAT …` y cada 10 s una `$PHLG,…`. Para un reporte: copiar las líneas `EVT` + la última `STAT`.
|
## 8. Autotest
|
||||||
|
|
||||||
## 8. Autotest — lista PASS/FAIL
|
Al arrancar y con `r`. Termina en `>>> BOARD OK` o `>>> BOARD CHECK FAILED`.
|
||||||
|
|
||||||
Se ejecuta al arrancar y con `r`. Resultado final: `>>> BOARD OK` o `>>> BOARD CHECK FAILED`.
|
| Línea | PASS significa | Si FAIL |
|
||||||
|
|
||||||
| Línea | PASS significa | Si sale FAIL |
|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `[PASS] CLOCK_HSE` | Cristal Y3 25 MHz y PLL a 96 MHz | Y3 / C113 / C114 |
|
| `[PASS] CLOCK_HSE` | Y3 25 MHz y PLL a 96 MHz | Y3 / C113 / C114 |
|
||||||
| `[PASS] LSE_Y4` | Cristal Y4 32.768 kHz oscila | Y4 / C115 / C116 (no impide operar) |
|
| `[PASS] LSE_Y4` | Y4 32.768 kHz oscila | Y4 / C115 / C116 (no impide operar) |
|
||||||
| `[PASS] I2C PCF8574 U13 @0x20` | Expansor de LEDs responde | U13, pull-ups R30/R31 |
|
| `[PASS] I2C PCF8574 U13 @0x20` | Expansor de LEDs | U13, pull-ups R30/R31 |
|
||||||
| `[PASS] I2C SHT40 U3 @0x44` | Sensor de aire responde | U3 |
|
| `[PASS] I2C SHT40 U3 @0x44` | Sensor de aire | U3 |
|
||||||
| `[PASS] I2C TMP102 U4 @0x48` | Sensor de temperatura responde | U4 |
|
| `[PASS] I2C TMP102 U4 @0x48` | Sensor de temperatura | U4 |
|
||||||
| `[PASS] I2C SC16IS752 U10 @0x4D` | Puente serie responde | U10, Y2 |
|
| `[PASS] I2C SC16IS752 U10 @0x4D` | Puente serie | U10, Y2 |
|
||||||
| `[PASS] TMP102` / `[PASS] SHT40` | Lecturas entre −20 y 85 °C | Sensor o bus |
|
| `[PASS] TMP102` / `[PASS] SHT40` | Lecturas entre −20 y 85 °C | Sensor o bus |
|
||||||
| `[PASS] SC16IS752` | Registro *scratchpad* OK | U10 |
|
| `[PASS] SC16IS752` | Scratchpad OK | U10 |
|
||||||
| `[PASS] GAUGE_WALK` | **Visual**: DB1→DB4 y luego R, G, B encienden en orden | LED, resistencia RB1–4 / R89–91, U13 |
|
| `[PASS] GAUGE_WALK` | Visual: DB1→DB4 y R, G, B en orden | LED, RB1–4 / R89–91, U13 |
|
||||||
| `[PASS] ADC` | Informativo: `vbat v5 ntc mcu` | Con USB solo, `v5≈0` y `vbat≈0` es normal |
|
| `[PASS] ADC` | Informativo: `vbat v5 ntc mcu` | Con solo USB, `v5≈0` y `vbat≈0` es normal |
|
||||||
| `[PASS] DIN` | Informativo: `ign chrg fault ser_irq eth_int` | — |
|
| `[PASS] DIN` | Informativo: `ign chrg fault ser_irq eth_int` | — |
|
||||||
|
|
||||||
En V5.6 el escaneo I²C (`i`) debe mostrar además **0x49** (U18, sensor del módem).
|
En V5.6 el escaneo I²C (`i`) muestra además 0x49 (U18, sensor del módem).
|
||||||
|
|
||||||
## 9. Diferencias V5.5 → V5.6 (lo que cambia para el técnico)
|
## 9. Diferencias V5.5 → V5.6
|
||||||
|
|
||||||
| Tema | V5.5 | V5.6 |
|
| Tema | V5.5 | V5.6 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| Módem en batería | El módem cuelga del riel de la etapa; si se apaga en batería **no vuelve** hasta SW4G1 o 24 V | El módem tiene su propio regulador (U7 AP64350) desde SYS5V; el MCU lo enciende/apaga (`MODEM_EN`) y lo resetea (`MODEM_RST`) sin puente |
|
| Módem en batería | Cuelga del riel de la etapa; apagado en batería no vuelve hasta SW4G1 o 24 V | Regulador propio (U7 AP64350) desde SYS5V; el MCU lo enciende (`MODEM_EN`) y resetea (`MODEM_RST`) sin puente |
|
||||||
| Puente 0.5.6 (U13 pin 12 → SW4G1) | Necesario para que `M` funcione | **No hace falta** (PC1 hace el reset) |
|
| Puente U13 pin 12 → SW4G1 | Necesario para `M` | No hace falta (PC1 hace el reset) |
|
||||||
| Paquete | Li-ion 18650 1S4P, JP2 1-2 | **LFP-HT 26650**, **JP2 2-3**, R55 5.6 k |
|
| Paquete | Li-ion 18650 1S4P, JP2 1-2 | LFP-HT 26650, JP2 2-3, R55 5.6 k |
|
||||||
| Corriente de carga | 2.4 A programada (la fuente se plegaba) | **1.4 A**, límite de entrada 2.5 A |
|
| Corriente de carga | 2.4 A (la fuente se plegaba) | 1.4 A, límite de entrada 2.5 A |
|
||||||
| Sonda externa | P5 (JST 4) | **No existe.** U4 mide el cargador; U18 (0x49) mide el módem; el NTC del paquete lo lee también el MCU |
|
| Sonda externa | P5 (JST 4) | No existe. U4 mide el cargador, U18 (0x49) el módem; el MCU también lee el NTC del paquete |
|
||||||
| Interruptor de corte | Solo P11 | P11 o JP6 puenteado |
|
| Interruptor de corte | Solo P11 | P11 o JP6 puenteado |
|
||||||
| USB del módem J9 | Sin protección ESD | Con ESD (D19) |
|
| USB del módem J9 | Sin ESD | Con ESD (D19) |
|
||||||
| Ethernet | W5500 puede salir de reset solo (130 mA en batería) | Se queda en reset mientras el MCU no lo levante (R112) |
|
| Ethernet | El W5500 puede salir de reset solo (130 mA en batería) | Queda en reset hasta que el MCU lo levante (R112) |
|
||||||
| Regulador 3.3 V | AMS1117 | TLV1117LV (funciona bien en batería baja) |
|
| Regulador 3.3 V | AMS1117 | TLV1117LV (funciona con batería baja) |
|
||||||
|
|
||||||
## 10. Ethernet y puertos serie
|
## 10. Ethernet y puertos serie
|
||||||
|
|
||||||
- **Ethernet (J10):** solo con el firmware de banco `0.6.0-eth`; pide DHCP o usa `192.168.7.2/24` y abre un TCP a `192.168.7.1:5010` por donde salen NMEA + `$PHLG` + `$PHEV` + `$PHID`. Tecla `E`. Sin PoE.
|
- Ethernet (J10): solo con el build de banco `0.6.0-eth`; DHCP o `192.168.7.2/24`, TCP a `192.168.7.1:5010` con NMEA + `$PHLG` + `$PHEV` + `$PHID`. Tecla `E`.
|
||||||
- **RS-485 (P15) / RS-232 (P16):** el firmware 0.6.0 solo comprueba que el SC16IS752 responde; no hay tráfico de aplicación aún (loopback previsto en 0.6.1).
|
- RS-485 (P15) / RS-232 (P16): 0.6.0 solo comprueba que el SC16IS752 responde; loopback previsto en 0.6.1.
|
||||||
- Procedimiento: [Prueba de banco de Ethernet y puertos serie](../procedimientos/v5-prueba-ethernet-serie.md) — obligatoria en una V5.5 antes de pedir la V5.6.
|
- Procedimiento: [Ethernet y puertos serie](../procedimientos/v5-prueba-ethernet-serie.md), obligatorio en una V5.5 antes de pedir la V5.6.
|
||||||
|
|
||||||
## 11. Limitaciones conocidas de la V5.5
|
## 11. Limitaciones de la V5.5
|
||||||
|
|
||||||
!!! warning "Módem oscuro en batería"
|
- Módem oscuro en batería: si el módem se apaga en batería (ciclo de etapa, brown-out) no arranca sobre el boost del LTC4040; solo lo reviven SW4G1 o los 24 V. Por eso el firmware ≥ 0.5.9 nunca cicla la etapa en batería y resetea el MCU al volver el 5 V ([hallazgos](../procedimientos/prueba-bateria-modem.md#3-hallazgos-2527-sep)).
|
||||||
En una V5.5 en batería, si el módem se apaga (ciclo de etapa, brown-out) **no arranca** sobre el boost del LTC4040. Solo lo reviven **SW4G1** o el regreso de los 24 V. Por eso el firmware ≥ 0.5.9 nunca cicla la etapa en batería y resetea el MCU al volver el 5 V.
|
- Hasta 0.5.9 el cargador estaba apagado por firmware. 0.6.0 carga con 24 V, etapa ON > 120 s y riel ≥ 5.05 V, y corta bajo 4.90 V. Reflashea unidades con firmware anterior.
|
||||||
|
- La consola no sabe si el módem está vivo: `modem=vivo|SOSPECHOSO|?` es una inferencia por RTCM y caídas del riel.
|
||||||
|
- Ethernet y serie no se han probado en hardware real (sep-2026).
|
||||||
|
- Y2: la pieza dice 3.6864; el esquemático V5.6 dice `1.8432MHz` <!-- VERIFICAR el campo Value en KiCad; la pieza LCSC C2238 es de 3.6864 MHz -->.
|
||||||
|
|
||||||
!!! note "Cargador apagado en firmware < 0.6.0"
|
Procedimientos V5: [Producción](../produccion/index.md) · [Taller](../taller/index.md).
|
||||||
Hasta 0.5.9 el cargador estaba **apagado por firmware** ("paquete de un solo uso"). Con 0.6.0 el gobernador carga solo con 24 V, etapa ON > 120 s y riel ≥ 5.05 V; corta bajo 4.90 V. Unidades con firmware anterior: reflashear.
|
|
||||||
|
|
||||||
- La consola V5.5 no puede saber si el módem está vivo (`modem=vivo|SOSPECHOSO|?` es una inferencia por RTCM y por caídas del riel).
|
|
||||||
- Ethernet y serie **no** se han ejercitado en hardware real (sep-2026).
|
|
||||||
- Cristal Y2: la serigrafía del cristal dice 3.6864; el esquemático V5.6 dice `1.8432MHz` <!-- VERIFICAR el campo Value en KiCad; la pieza LCSC C2238 es de 3.6864 MHz -->.
|
|
||||||
|
|
||||||
## 12. Procedimientos relacionados
|
|
||||||
|
|
||||||
| Paso | Documento |
|
|
||||||
|---|---|
|
|
||||||
| Prueba y flasheo de la tarjeta desnuda | [v5-prueba-y-flasheo](../procedimientos/v5-prueba-y-flasheo.md) · [acta](../formularios/v5.html) |
|
|
||||||
| Módulos RTK y 4G | [v5-modulos-integracion](../procedimientos/v5-modulos-integracion.md) |
|
|
||||||
| Ensamble de la unidad | [v5-ensamble](../procedimientos/v5-ensamble.md) |
|
|
||||||
| Prueba final | [v5-prueba-final-unidad](../procedimientos/v5-prueba-final-unidad.md) |
|
|
||||||
| Módem en batería (0.6.0) | [prueba-bateria-modem](../procedimientos/prueba-bateria-modem.md) |
|
|
||||||
| Ethernet y serie | [v5-prueba-ethernet-serie](../procedimientos/v5-prueba-ethernet-serie.md) |
|
|
||||||
| Configuración de la unidad | [v5-configuracion-unidad](../procedimientos/v5-configuracion-unidad.md) |
|
|
||||||
| Reflasheo en taller | [reflasheo-unidades](../procedimientos/reflasheo-unidades.md) |
|
|
||||||
| Hoja de datos / pinout | [v56-datasheet](../hardware/v56-datasheet.md) · [v56-pinout](../hardware/v56-pinout.md) |
|
|
||||||
|
|
||||||
## Historial de revisiones
|
## Historial de revisiones
|
||||||
|
|
||||||
| Versión | Fecha | Autor | Cambio |
|
| Versión | Fecha | Cambios |
|
||||||
|---|---|---|---|
|
|---|---|---|
|
||||||
| 1.0 | 2026-09-29 | Helgen Technologies | Primera versión (V5.5 fabricada + V5.6 en esquemático) |
|
| 1.0 | 2026-09-29 | Primera versión (V5.5 fabricada + V5.6 en esquemático). |
|
||||||
|
| 1.1 | 2026-09-29 | Edición breve; flasheo, química/JP2 y JP5 remiten a su procedimiento. |
|
||||||
|
|
||||||
|
Versiones anteriores en git.
|
||||||
|
|||||||
@ -1,21 +1,22 @@
|
|||||||
---
|
---
|
||||||
title: Manual de tarjeta — EinarBoard v6 (en diseño)
|
title: "Manual de tarjeta — EinarBoard v6 (en diseño)"
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
date: 2026-09-29
|
date: 2026-09-29
|
||||||
version: "0.1"
|
version: "0.2"
|
||||||
tags: [project-drogheda, hardware, einarboard, v6, manual, placeholder]
|
tags: [project-drogheda, hardware, einarboard, v6, manual, placeholder]
|
||||||
author: Helgen Technologies
|
author: Helgen Technologies
|
||||||
---
|
---
|
||||||
|
|
||||||
# Manual de tarjeta — EinarBoard v6 (en diseño)
|
# Manual de tarjeta — EinarBoard v6 (en diseño)
|
||||||
|
|
||||||
**Estado:** en diseño (`kicad/hbox-watchdog-v6.*`). No hay tarjetas fabricadas; **no aplica a ningún procedimiento de técnicos todavía.**
|
En diseño (`kicad/hbox-watchdog-v6.*`). No hay tarjetas fabricadas y no aplica a ningún procedimiento de técnicos. Este manual se escribe con el primer lote.
|
||||||
|
|
||||||
- Qué cambia: GNSS (u-blox ZED-F9P) y módem 4G (A7670SA) **soldados en la tarjeta**, sin zócalos MOD1/J7-J8; fuente de 5 V a bordo (U25) en vez de la Mean Well externa.
|
- Qué cambia: GNSS (u-blox ZED-F9P) y módem 4G (A7670SA) soldados en la tarjeta, sin zócalos MOD1/J7-J8; fuente de 5 V a bordo (U25) en lugar de la Mean Well externa.
|
||||||
- Referencia técnica vigente: [Auditoría pre-fabricación (ES)](../hardware/v6-auditoria-prefab.md) · [Pre-fabrication audit (EN)](../hardware/v6-prefab-audit.md) · [Plan de cobre y colocación EMC](../hardware/EinarBoard-v6_Plan-de-Cobre_ES.html).
|
- Referencia técnica: [auditoría pre-fabricación](../hardware/v6-auditoria-prefab.md) ([inglés](../hardware/v6-prefab-audit.md)) · [plan de cobre y colocación EMC](../hardware/EinarBoard-v6_Plan-de-Cobre_ES.html) · [revisión contra lecciones V5.5](../hardware/v6-revision-lecciones-v55.md) · [auditoría completa](../hardware/v6-auditoria-completa.md) · [cambios al esquemático](../hardware/v6-cambios-esquematico.md) · [mapa de pines del MCU](../hardware/v6-pinmap.md).
|
||||||
- Lecciones de V5.5 aplicadas a v6: `03-Architecture-Hardware/2026-09-28_Drogheda_EinarBoard-v6_Review-vs-V5.5-Lessons_v1.0.md` y auditoría completa `2026-09-28_Drogheda_EinarBoard-v6_Full-Audit_v1.0.md` (repo).
|
|
||||||
- Este manual se redactará cuando exista el primer lote.
|
|
||||||
|
|
||||||
| Versión | Fecha | Autor | Cambio |
|
## Historial de revisiones
|
||||||
|---|---|---|---|
|
|
||||||
| 0.1 | 2026-09-29 | Helgen Technologies | Marcador de posición |
|
| Versión | Fecha | Cambios |
|
||||||
|
|---|---|---|
|
||||||
|
| 0.1 | 2026-09-29 | Marcador de posición. |
|
||||||
|
| 0.2 | 2026-09-29 | Edición breve. |
|
||||||
|
|||||||
@ -1,165 +1,179 @@
|
|||||||
# EinarBoard v6 — MCU pin map (U16 STM32F411RET6, LQFP64) for `board_v6.h` / FW 0.7.x
|
---
|
||||||
|
title: "EinarBoard v6 — Mapa de pines del MCU (U16 STM32F411RET6, LQFP64) para board_v6.h / FW 0.7.x"
|
||||||
|
tags: [project-drogheda, hardware, einarboard, v6, pinmap, stm32, firmware]
|
||||||
|
date: 2026-09-28
|
||||||
|
project: Project Drogheda
|
||||||
|
author: Helgen Technologies
|
||||||
|
---
|
||||||
|
|
||||||
!!! warning "Tarjeta: EinarBoard **v6** — proyecto KiCad `hbox-watchdog-v6` (EN DISEÑO, no se pide todavía) / Board: v6, in design"
|
# EinarBoard v6 — Mapa de pines del MCU (U16 STM32F411RET6, LQFP64) para `board_v6.h` / FW 0.7.x
|
||||||
|
|
||||||
|
!!! warning "EinarBoard v6 (`hbox-watchdog-v6`): en diseño, no se pide"
|
||||||
Diseño nuevo con ZED-F9P y módem A7670SA soldados a bordo. **No es la V5.6** que se manda a fabricar esta semana (`hbox-watchdog-v5`, zócalos para simpleRTK2B y 4G NTRIP Master). Los hallazgos marcados «Impacto en V5.6» ya se aplicaron a la V5.6 y están en su informe de cambios.
|
Diseño nuevo con ZED-F9P y módem A7670SA soldados a bordo. **No es la V5.6** que se manda a fabricar esta semana (`hbox-watchdog-v5`, zócalos para simpleRTK2B y 4G NTRIP Master). Los hallazgos marcados «Impacto en V5.6» ya se aplicaron a la V5.6 y están en su informe de cambios.
|
||||||
|
|
||||||
Snapshot: sch ecee9fed… / pcb 6ddec80d… (evidence pack 2026-09-28) · Author: D/G auditor (read-only)
|
Prosa y encabezados en español; la tabla de 64 pines y el borrador de `board_v6.h` se dejan en inglés (fuente directa para firmware). Fuente: `findings/pinmap-v6.md` de la [auditoría completa v6](v6-auditoria-completa.md) (§4), mismo snapshot del 2026-09-28. La tabla describe **la v6 tal como está dibujada**. Las filas marcadas ▶ audit llevan la consecuencia a nivel de pin de un hallazgo verificado de forma independiente, o de la asignación de pines libres que ambas verificaciones aceptan. Nada de esto se ha aplicado al esquemático (ver el [informe de cambios v6](v6-cambios-esquematico.md) para lo que sí se aplicó); las notas «▶ audit» dicen qué cambia si se adopta la corrección.
|
||||||
|
|
||||||
> **Editorial header (v1.0, 2026-09-28).** Source: the D/G auditor's `findings/pinmap-v6.md` (same date, same snapshot), republished as the standalone companion of `2026-09-28_Drogheda_EinarBoard-v6_Full-Audit_v1.0.md` (§4). The table describes **v6 as drawn**. Rows marked **▶ audit** carry the pin-level consequence of a finding that was independently verified (verify_1 = power/RF, verify_2 = layout/BOM/MCU) or of the spare-pin allocation both verifiers accept. Nothing below has been applied to the schematic; the "▶ audit" notes say what changes **if** the fix is adopted. Corrections applied to the auditor's text:
|
**Correcciones aplicadas al texto original (v1.0, 2026-09-28):**
|
||||||
> 1. **PA15 / ETH_RST:** pull-down is **4.7 kΩ (C23162)**, not 100 kΩ. The W5500 RSTn has its own internal 62–112 kΩ pull-up (DS v1.0.2 §5.3) on top of the PA15 JTDI 30–50 kΩ pull-up; 4.7 k gives ≤ 0.62 V worst case. D-04's alternative "move to PD2 + 100 k" fails (1.56–2.04 V) and is withdrawn (verify_1, E-02 absorbs D-04).
|
|
||||||
> 2. **Spare-pin allocation (verify_1 conflict (h)):** PD2 = `ETH_PWR_EN` (E-01), PB10 = `PFO` (A-13, absorbs D-10), PC5 = pack-NTC tap (F-51), PA9 = spare (D-12 test pad). D-10's CLPROG → PC5 is dropped. **Open:** D-08's board-ID strap also wanted PD2; no free pin is left for it except PA9 (Leo to choose).
|
|
||||||
> 3. **D-01:** the isolating gate is the **Nexperia 74LVC1G125GV, C12518** (verified Ioff), not the TECH PUBLIC clone C3040595; Rdfu1 22 k → 100 k (C25803). The 10 k series-R alternative is withdrawn (≈ 0.28 mA, same order as the V5.5 back-feed) (verify_2).
|
|
||||||
> 4. **D-06 is merged into F-02 and rated Blocker** (Rig1 ≤ 3 mm of copper from P1.3 + SMBJ33A C224019), not ≤ 5 mm/Major (verify_2).
|
|
||||||
> 5. **HSE distances** are pad-edge **8.32 / 11.30 mm** (the 10.30 / 14.21 mm below are pad-centre) (verify_2, D-02).
|
|
||||||
> 6. **C-01 (Blocker, absorbs D-07):** with the TPS2552 antenna feed, PC2 (`/GNSS_ANT_SHORT_N`) becomes a real short-fault input (FAULT̅, 10 k to /3V3_GNSS); PC1 stays undriven.
|
|
||||||
> 7. **PB4 decode:** the power auditor, citing the LTC4040 datasheet table (p.14), decodes "pausa NTC" = CHRG low ∧ FAULT low and bad battery = CHRG high ∧ FAULT low; this governs over the wording in the PB4 row.
|
|
||||||
|
|
||||||
**Coverage: 64 / 64 pins.** Sources: `evidence/mcu_pins.csv` (netlist), `evidence/pcb_pads.csv` (distances, pad-centre to pad-centre, same net), `evidence/firmware_pins.csv` (V5 `board_v5.h` + `hbox_v5_bringup.ino` 0.6.0), ST DS10314 (DocID026289 Rev 7) Table 8 (pin definitions, I/O structure) and Table 53 (I/O static), and ST's own alternate-function database (`STM32_open_pin_data`: `mcu/STM32F411R(C-E)Tx.xml` + `mcu/IP/GPIO-STM32F411_gpio_v1_0_Modes.xml`, the CubeMX source for DS10314 Table 9). The embedded schematic symbol was checked against the ST LQFP64 pinout: **64/64 pin numbers and names match** (the ERC "symbol differs from library" warning on U16 is cosmetic).
|
1. **PA15 / ETH_RST:** el pull-down es **4.7 kΩ (C23162)**, no 100 kΩ. El RSTn del W5500 tiene su propio pull-up interno de 62–112 kΩ (DS v1.0.2 §5.3) además del pull-up JTDI de 30–50 kΩ de PA15; 4.7 k da ≤ 0.62 V en el peor caso. La alternativa de D-04 «mover a PD2 + 100 k» falla (1.56–2.04 V) y se retira (verificación, E-02 absorbe D-04).
|
||||||
|
2. Asignación de pines libres (conflicto (h) de la verificación): PD2 = `ETH_PWR_EN` (E-01), PB10 = `PFO` (A-13, absorbe D-10), PC5 = derivación de la NTC del paquete (F-51), PA9 = libre (pad de prueba D-12). El CLPROG → PC5 de D-10 se descarta. Abierto: el strap de identificación de tarjeta de D-08 también quería PD2; no queda pin libre salvo PA9 (Leo decide).
|
||||||
|
3. **D-01:** la compuerta aislante es la **Nexperia 74LVC1G125GV, C12518** (Ioff verificado), no el clon TECH PUBLIC C3040595; Rdfu1 22 k → 100 k (C25803). La alternativa de 10 k en serie se retira (≈ 0.28 mA, mismo orden que el retorno de corriente de la V5.5).
|
||||||
|
4. **D-06 se fusiona en F-02 y queda como Bloqueante** (Rig1 a ≤ 3 mm de cobre de P1.3 + SMBJ33A C224019), no ≤ 5 mm/Mayor.
|
||||||
|
5. Distancias del HSE: borde a borde de pad **8.32 / 11.30 mm** (los 10.30 / 14.21 mm de abajo son centro a centro) (D-02).
|
||||||
|
6. **C-01 (Bloqueante, absorbe D-07):** con la alimentación de antena por TPS2552, PC2 (`/GNSS_ANT_SHORT_N`) se vuelve una entrada real de falla por corto (FAULT̅, 10 k a /3V3_GNSS); PC1 sigue sin manejar.
|
||||||
|
7. **Decodificación de PB4:** citando la tabla de la hoja de datos del LTC4040 (p. 14), «pausa NTC» = CHRG bajo ∧ FAULT bajo y batería mala = CHRG alto ∧ FAULT bajo; esto prevalece sobre el texto de la fila PB4.
|
||||||
|
|
||||||
Legend. **FT** = 5 V-tolerant in digital mode only (DS10314 Table 8 note 4: not in analog or oscillator mode; Table 53 note 5: internal pull-up/down must be off above VDD+0.3 V). **TC** = 3.3 V-only. On this LQFP64 only **PA0** and **PB5** are TC; every other GPIO is FT. PC13–PC15 are backup-domain pins (Table 8 note 2: sink ≤ 3 mA, ≤ 2 MHz, ≤ 30 pF, never a source). **No MCU pin on v6 carries a 5 V or a 1.8 V signal**: all modem 1.8 V lines go through U23/U24 (74LVC2T45) or open-drain Q20/Q21, and every pull-up is to /3V3.
|
**Cobertura: 64 / 64 pines.** Fuentes: `evidence/mcu_pins.csv` (netlist), `evidence/pcb_pads.csv` (distancias centro a centro de pad, misma net), `evidence/firmware_pins.csv` (`board_v5.h` de V5 + `hbox_v5_bringup.ino` 0.6.0), ST DS10314 (DocID026289 Rev 7) tabla 8 (definición de pines, estructura de E/S) y tabla 53 (E/S estática), y la base de datos de funciones alternas de ST (`STM32_open_pin_data`: `mcu/STM32F411R(C-E)Tx.xml` + `mcu/IP/GPIO-STM32F411_gpio_v1_0_Modes.xml`, la fuente de CubeMX para la tabla 9 del DS10314). El símbolo embebido del esquemático se cotejó contra el pinout LQFP64 de ST: **64/64 números y nombres de pin coinciden** (el aviso ERC «symbol differs from library» en U16 es cosmético).
|
||||||
"Same?" = does the V5 macro on this pin mean the same thing on v6.
|
|
||||||
|
|
||||||
## 1. Pin table (physical pins 1–64)
|
Leyenda. FT = tolerante a 5 V solo en modo digital (DS10314 tabla 8 nota 4: no en modo analógico ni de oscilador; tabla 53 nota 5: el pull-up/down interno debe estar apagado por encima de VDD+0.3 V). TC = solo 3.3 V. En este LQFP64 solo **PA0** y **PB5** son TC; todos los demás GPIO son FT. PC13–PC15 son pines del dominio de respaldo (tabla 8 nota 2: sumidero ≤ 3 mA, ≤ 2 MHz, ≤ 30 pF, nunca fuente). **Ningún pin del MCU en v6 lleva una señal de 5 V ni de 1.8 V**: todas las líneas de 1.8 V del módem pasan por U23/U24 (74LVC2T45) o por Q20/Q21 en open-drain, y todo pull-up es a /3V3. «¿Igual?» = si la macro de V5 en ese pin significa lo mismo en v6.
|
||||||
|
|
||||||
| Pin | Name | v6 net | Connected parts (short) | Function on v6 | Dir / mode (FW) | Peripheral + AF / ADC / EXTI | 5 V needed? / pin | V5 macro on this pin → same? | Proposed v6 macro | Notes / conflicts |
|
## 1. Tabla de pines (pines físicos 1–64)
|
||||||
|
|
||||||
|
| Pin | Nombre | Net v6 | Partes conectadas (resumen) | Función en v6 | Dir / modo (FW) | Periférico + AF / ADC / EXTI | ¿Necesita 5 V? / pin | Macro V5 en este pin → ¿igual? | Macro v6 propuesta | Notas / conflictos |
|
||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|---|---|---|---|---|---|---|---|---|---|---|
|
||||||
| 1 | VBAT | /3V3 | 3V3 big net | Backup-domain supply, tied to 3V3 (no coin cell) | power | — | — / S | — | — | RTC + BKP regs + LSE lost whenever /3V3 drops (P5 cut-off open, no USB) |
|
| 1 | VBAT | /3V3 | 3V3 big net | Backup-domain supply, tied to 3V3 (no coin cell) | power | — | — / S | — | — | RTC + BKP regs + LSE lost whenever /3V3 drops (P5 cut-off open, no USB) |
|
||||||
| 2 | PC13 | /LED_C13 | D17 blue LED (K) ← R102 1 k ← /3V3 | Board status LED, active LOW (sink) | OUT, LOW = on | GPIO, EXTI13 | No / FT backup-domain | `PIN_LED_C13` → **same** | `PIN_LED_C13` | I = (3.3 − 2.8 V Vf, C125103) / 1 k ≈ 0.5 mA ≤ 3 mA sink limit ✓ (dim) |
|
| 2 | PC13 | /LED_C13 | D17 blue LED (K) ← R102 1 k ← /3V3 | Board status LED, active LOW (sink) | OUT, LOW = on | GPIO, EXTI13 | No / FT backup-domain | `PIN_LED_C13` → same | `PIN_LED_C13` | I = (3.3 − 2.8 V Vf, C125103) / 1 k ≈ 0.5 mA ≤ 3 mA sink limit ✓ (dim) |
|
||||||
| 3 | PC14-OSC32_IN | /LSE_IN | Y4.1 (32.768 kHz C32346, CL 12.5 pF), C115 12 pF | LSE | oscillator | RCC_OSC32_IN | — | `BOARD_LSE_HZ` → same | `BOARD_LSE_HZ 32768UL` | Y4.1 5.54 mm, C115 2.96 mm. Crystal/caps mismatch → D-03 |
|
| 3 | PC14-OSC32_IN | /LSE_IN | Y4.1 (32.768 kHz C32346, CL 12.5 pF), C115 12 pF | LSE | oscillator | RCC_OSC32_IN | — | `BOARD_LSE_HZ` → same | `BOARD_LSE_HZ 32768UL` | Y4.1 5.54 mm, C115 2.96 mm. Crystal/caps mismatch → D-03 |
|
||||||
| 4 | PC15-OSC32_OUT | /LSE_OUT | Y4.2, C116 12 pF | LSE | oscillator | RCC_OSC32_OUT | — | same | — | Y4.2 7.91 mm, C116 6.49 mm (> 5 mm) |
|
| 4 | PC15-OSC32_OUT | /LSE_OUT | Y4.2, C116 12 pF | LSE | oscillator | RCC_OSC32_OUT | — | same | — | Y4.2 7.91 mm, C116 6.49 mm (> 5 mm) |
|
||||||
| 5 | PH0-OSC_IN | /HSE_IN | Y3.1 (25 MHz HC-49S C14872, CL 20 pF), C113 15 pF | HSE (USB, PLL, **ROM DFU needs it**) | oscillator | RCC_OSC_IN | — | `BOARD_HSE_HZ` → same | `BOARD_HSE_HZ 25000000UL` | Y3.1 **10.30 mm** ctr (**8.32 mm pad edge**, verify_2), C113 13.72 mm, track 14.5 mm → D-02. ▶ audit: Y3 → C2901684 + C113/C114 12 pF C38523 (alt. C9006 + 15 pF C1644) |
|
| 5 | PH0-OSC_IN | /HSE_IN | Y3.1 (25 MHz HC-49S C14872, CL 20 pF), C113 15 pF | HSE (USB, PLL, ROM DFU needs it) | oscillator | RCC_OSC_IN | — | `BOARD_HSE_HZ` → same | `BOARD_HSE_HZ 25000000UL` | Y3.1 **10.30 mm** ctr (**8.32 mm pad edge**, verify_2), C113 13.72 mm, track 14.5 mm → D-02. ▶ audit: Y3 → C2901684 + C113/C114 12 pF C38523 (alt. C9006 + 15 pF C1644) |
|
||||||
| 6 | PH1-OSC_OUT | /HSE_OUT | Y3.2, C114 15 pF | HSE | oscillator | RCC_OSC_OUT | — | same | — | Y3.2 **14.21 mm** ctr (**11.30 mm pad edge**, verify_2), C114 17.02 mm, track 20.7 mm → D-02 |
|
| 6 | PH1-OSC_OUT | /HSE_OUT | Y3.2, C114 15 pF | HSE | oscillator | RCC_OSC_OUT | — | same | — | Y3.2 **14.21 mm** ctr (**11.30 mm pad edge**, verify_2), C114 17.02 mm, track 20.7 mm → D-02 |
|
||||||
| 7 | NRST | /NRST | C104 100 nF (3.26 mm), SW1 RESET, P6.1 RESET-EXT, TP5 | MCU reset only | RST (int. pull-up 30–50 kΩ) | — | — | — (V5: P10) | — | NRST reaches only the MCU. Route 108.6 mm (91.9 F.Cu + 16.8 In2). P6 external cable has no ESD → G-08 |
|
| 7 | NRST | /NRST | C104 100 nF (3.26 mm), SW1 RESET, P6.1 RESET-EXT, TP5 | MCU reset only | RST (int. pull-up 30–50 kΩ) | — | — | — (V5: P10) | — | NRST reaches only the MCU. Route 108.6 mm (91.9 F.Cu + 16.8 In2). P6 external cable has no ESD → G-08 |
|
||||||
| 8 | PC0 | /ETH_INT | U11.36 ~INT (W5500) | W5500 interrupt, active LOW | IN pull-up | GPIO, ADC1_IN10, **EXTI0** | No / FT | `PIN_ETH_INT` → **same** | `PIN_ETH_INT` | BOOT1 trap avoided (V4 had it on PB2) ✓ |
|
| 8 | PC0 | /ETH_INT | U11.36 ~INT (W5500) | W5500 interrupt, active LOW | IN pull-up | GPIO, ADC1_IN10, **EXTI0** | No / FT | `PIN_ETH_INT` → same | `PIN_ETH_INT` | BOOT1 trap avoided (V4 had it on PB2) ✓ |
|
||||||
| 9 | PC1 | /GNSS_ANT_DETECT | U18.4 ANT_DETECT — **F9P input** | none usable (see D-07) | **ANALOG / hi-Z**, never drive HIGH while F9P off | GPIO, ADC1_IN11, EXTI1 | No / FT | V5: NC · **V5.6: MODEM_RST_MCU** → different | `PIN_GNSS_ANT_DET` (reserved) | No antenna-current supervisor on v6: MCU cannot learn antenna state here. ▶ audit C-01: stays undriven (open-antenna detect not implemented; infer from C/N0) |
|
| 9 | PC1 | /GNSS_ANT_DETECT | U18.4 ANT_DETECT — **F9P input** | none usable (see D-07) | ANALOG / hi-Z, never drive HIGH while F9P off | GPIO, ADC1_IN11, EXTI1 | No / FT | V5: NC · **V5.6: MODEM_RST_MCU** → different | `PIN_GNSS_ANT_DET` (reserved) | No antenna-current supervisor on v6: MCU cannot learn antenna state here. ▶ audit C-01: stays undriven (open-antenna detect not implemented; infer from C/N0) |
|
||||||
| 10 | PC2 | /GNSS_ANT_SHORT_N | U18.6 ANT_SHORT_N — **F9P input** | none usable (D-07) | ANALOG / hi-Z | GPIO, ADC1_IN12 (SPI2_MISO AF5 unused) | No / FT | V5: NC · **V5.6: MODEM_LED_MCU** → different | `PIN_GNSS_ANT_SHORT_N` (reserved) | as PC1. ▶ audit C-01: TPS2552DBVR (C46506) FAULT̅ drives this net (10 k C25804 to /3V3_GNSS) → LOW = antenna short; input, no MCU pull; valid only while the F9P rail is on |
|
| 10 | PC2 | /GNSS_ANT_SHORT_N | U18.6 ANT_SHORT_N — **F9P input** | none usable (D-07) | ANALOG / hi-Z | GPIO, ADC1_IN12 (SPI2_MISO AF5 unused) | No / FT | V5: NC · **V5.6: MODEM_LED_MCU** → different | `PIN_GNSS_ANT_SHORT_N` (reserved) | as PC1. ▶ audit C-01: TPS2552DBVR (C46506) FAULT̅ drives this net (10 k C25804 to /3V3_GNSS) → LOW = antenna short; input, no MCU pull; valid only while the F9P rail is on |
|
||||||
| 11 | PC3 | /GNSS_RTK_STAT | U18.20 RTK_STAT (output) | RTK status: 0 = fixed, blinking = corrections in use, 1 = none | IN, pull-DOWN while F9P off | GPIO, ADC1_IN13, **EXTI3** (shared with PB3) | No / FT | V5: NC · **V5.6: MODEM_EN (output!)** → different | `PIN_GNSS_RTK_STAT` | A V5.6 binary would drive this against the F9P output → D-08 |
|
| 11 | PC3 | /GNSS_RTK_STAT | U18.20 RTK_STAT (output) | RTK status: 0 = fixed, blinking = corrections in use, 1 = none | IN, pull-DOWN while F9P off | GPIO, ADC1_IN13, **EXTI3** (shared with PB3) | No / FT | V5: NC · **V5.6: MODEM_EN (output!)** → different | `PIN_GNSS_RTK_STAT` | A V5.6 binary would drive this against the F9P output → D-08 |
|
||||||
| 12 | VSSA | GND | — | analog ground | power | — | — | — | — | |
|
| 12 | VSSA | GND | — | analog ground | power | — | — | — | — | |
|
||||||
| 13 | VDDA | /VDDA | R104 10 Ω ← 3V3, C109 100 nF (3.13 mm), C112 1 µF (4.61 mm) | ADC reference (VREF+ bonded) | power | — | — | `ADC_REF 3.3f` → same | — | ✓ DS10314 recommendation |
|
| 13 | VDDA | /VDDA | R104 10 Ω ← 3V3, C109 100 nF (3.13 mm), C112 1 µF (4.61 mm) | ADC reference (VREF+ bonded) | power | — | — | `ADC_REF 3.3f` → same | — | ✓ DS10314 recommendation |
|
||||||
| 14 | PA0-WKUP | /BAT_SENSE | R5 10 k ← /BAT_PLUS, R6 10 k → GND, C5 100 nF (5.6 mm) | Pack voltage / 2 | ANALOG | **ADC1_IN0** (WKUP1 spare) | No (≤ 2.10 V at 4.2 V) / **TC** | `PIN_BAT_SENSE` → **same** | `PIN_BAT_SENSE` | `DIV_RATIO 2.0` unchanged. 0.21 mA permanent pack drain |
|
| 14 | PA0-WKUP | /BAT_SENSE | R5 10 k ← /BAT_PLUS, R6 10 k → GND, C5 100 nF (5.6 mm) | Pack voltage / 2 | ANALOG | **ADC1_IN0** (WKUP1 spare) | No (≤ 2.10 V at 4.2 V) / TC | `PIN_BAT_SENSE` → same | `PIN_BAT_SENSE` | `DIV_RATIO 2.0` unchanged. 0.21 mA permanent pack drain |
|
||||||
| 15 | PA1 | /PWR_CTRL | R1 1 k → Q5 MMBT3904 base (**no base pull-down**) → /GATE_LS (R2 10 k to SYS5V) → Q1 AO3401A → /SW_5V → U21 AP2112K → /3V3_GNSS | **F9P rail enable**, HIGH = on | OUT PP, LOW at boot | GPIO / TIM2_CH2 AF1 (soft-start PWM) | No / FT | `PIN_PWR_CTRL` → **CHANGED**: V5 = RTK + 4G stack; v6 = F9P only (modem has PC10) | `PIN_GNSS_PWR` (keep `PIN_PWR_CTRL` alias) | Floats in reset/DFU → D-09 (absorbs A-12). ▶ audit: 100 k C25803 `/BASE_LS` → GND next to Q5 |
|
| 15 | PA1 | /PWR_CTRL | R1 1 k → Q5 MMBT3904 base (**no base pull-down**) → /GATE_LS (R2 10 k to SYS5V) → Q1 AO3401A → /SW_5V → U21 AP2112K → /3V3_GNSS | **F9P rail enable**, HIGH = on | OUT PP, LOW at boot | GPIO / TIM2_CH2 AF1 (soft-start PWM) | No / FT | `PIN_PWR_CTRL` → **CHANGED**: V5 = RTK + 4G stack; v6 = F9P only (modem has PC10) | `PIN_GNSS_PWR` (keep `PIN_PWR_CTRL` alias) | Floats in reset/DFU → D-09 (absorbs A-12). ▶ audit: 100 k C25803 `/BASE_LS` → GND next to Q5 |
|
||||||
| 16 | PA2 | /GNSS_TX | U18.43 RXD (F9P UART1 in) | MCU → F9P UART1 (UBX config) | AF PP only while F9P on; INPUT no-pull when off | **USART2_TX AF7** | No / FT | `PIN_GNSS_TX` → same (was simpleRTK2B UART1) | `PIN_GNSS_TX` | 0.5.5 float rule is mandatory (direct into F9P) |
|
| 16 | PA2 | /GNSS_TX | U18.43 RXD (F9P UART1 in) | MCU → F9P UART1 (UBX config) | AF PP only while F9P on; INPUT no-pull when off | **USART2_TX AF7** | No / FT | `PIN_GNSS_TX` → same (was simpleRTK2B UART1) | `PIN_GNSS_TX` | 0.5.5 float rule is mandatory (direct into F9P) |
|
||||||
| 17 | PA3 | /GNSS_RX | U18.42 TXD (F9P UART1 out) | F9P → MCU NMEA/UBX | AF; pull-up only while F9P on | **USART2_RX AF7** | No / FT | `PIN_GNSS_RX` → same | `PIN_GNSS_RX` | `GNSS = Serial2` |
|
| 17 | PA3 | /GNSS_RX | U18.42 TXD (F9P UART1 out) | F9P → MCU NMEA/UBX | AF; pull-up only while F9P on | **USART2_RX AF7** | No / FT | `PIN_GNSS_RX` → same | `PIN_GNSS_RX` | `GNSS = Serial2` |
|
||||||
| 18 | VSS | GND | — | ground | power | — | — | — | — | |
|
| 18 | VSS | GND | — | ground | power | — | — | — | — | |
|
||||||
| 19 | VDD | /3V3 | nearest C106 3.29 mm | supply | power | — | — | — | — | per-pin cap target ≤ 2 mm (Note) |
|
| 19 | VDD | /3V3 | nearest C106 3.29 mm | supply | power | — | — | — | — | per-pin cap target ≤ 2 mm (Note) |
|
||||||
| 20 | PA4 | /5V_SENSE | R7 10 k ← /VEH5V, R8 10 k, C7 100 nF (5.5 mm) | VEH5V / 2 (now U25 output or bench P2) | ANALOG | **ADC1_IN4** | No (2.50 V at 5.00 V, 2.66 V at 5.32 V) / FT | `PIN_5V_SENSE` → same net; source is now on-board U25 | `PIN_5V_SENSE` | LTC4040 PFI real threshold 1.19 V × 3.7 = 4.40 V (LTC4040 DS pin 19) |
|
| 20 | PA4 | /5V_SENSE | R7 10 k ← /VEH5V, R8 10 k, C7 100 nF (5.5 mm) | VEH5V / 2 (now U25 output or bench P2) | ANALOG | **ADC1_IN4** | No (2.50 V at 5.00 V, 2.66 V at 5.32 V) / FT | `PIN_5V_SENSE` → same net; source is now on-board U25 | `PIN_5V_SENSE` | LTC4040 PFI real threshold 1.19 V × 3.7 = 4.40 V (LTC4040 DS pin 19) |
|
||||||
| 21 | PA5 | /IGN_SENSE | Rig1 22 k ← /IGN_IN (P1.3); Rig2 22 k ∥ Rigb1 3.3 k → GND; C9 100 nF (3.09 mm); D5 BAT54 → /3V3 | Ignition present / vehicle-voltage estimate | **ANALOG** on v6 (V5 read it digital) | **ADC1_IN5** (EXTI5 if digital) | No at the pin (3.23 V at 28 V; clamp ≈ 3.55 V above 30.3 V) / FT (not in analog mode) | `PIN_IGN_SENSE` → same net, **digital read no longer adequate** (12 V vehicles) | `PIN_IGN_SENSE` | Divider midpoint, pin and C9 on one net (junction verified) · D-05, D-06. ▶ audit F-02 (Blocker, absorbs D-06): Rig1 moves ≤ 3 mm of copper from P1.3 + SMBJ33A C224019 at P1.3, so the long run becomes the 22 k-limited `/IGN_SENSE`; pin net unchanged. D-05: Rigb1 3.3 k → 2.2 k C4190 → ratio 0.0833 (12 V → 1.00 V, 24 V → 2.00 V, 36 V → 3.00 V) |
|
| 21 | PA5 | /IGN_SENSE | Rig1 22 k ← /IGN_IN (P1.3); Rig2 22 k ∥ Rigb1 3.3 k → GND; C9 100 nF (3.09 mm); D5 BAT54 → /3V3 | Ignition present / vehicle-voltage estimate | **ANALOG** on v6 (V5 read it digital) | **ADC1_IN5** (EXTI5 if digital) | No at the pin (3.23 V at 28 V; clamp ≈ 3.55 V above 30.3 V) / FT (not in analog mode) | `PIN_IGN_SENSE` → same net, **digital read no longer adequate** (12 V vehicles) | `PIN_IGN_SENSE` | Divider midpoint, pin and C9 on one net (junction verified) · D-05, D-06. ▶ audit F-02 (Blocker, absorbs D-06): Rig1 moves ≤ 3 mm of copper from P1.3 + SMBJ33A C224019 at P1.3, so the long run becomes the 22 k-limited `/IGN_SENSE`; pin net unchanged. D-05: Rigb1 3.3 k → 2.2 k C4190 → ratio 0.0833 (12 V → 1.00 V, 24 V → 2.00 V, 36 V → 3.00 V) |
|
||||||
| 22 | PA6 | /FAN_PWM | Rg1 100 Ω → Q2 AO3400A gate, Rgs1 100 k | Fan low-side switch, HIGH = on | OUT PP (ON/OFF policy) | GPIO / **TIM3_CH1 AF2** | No / FT | `PIN_FAN_PWM` → **same** | `PIN_FAN` | TIM3 is also PA7's capture timer (§2.4) |
|
| 22 | PA6 | /FAN_PWM | Rg1 100 Ω → Q2 AO3400A gate, Rgs1 100 k | Fan low-side switch, HIGH = on | OUT PP (ON/OFF policy) | GPIO / **TIM3_CH1 AF2** | No / FT | `PIN_FAN_PWM` → same | `PIN_FAN` | TIM3 is also PA7's capture timer (§2.4) |
|
||||||
| 23 | PA7 | /GNSS_TIMEPULSE | U18.53 TIMEPULSE | F9P 1 PPS | IN, pull-down while F9P off | **TIM3_CH2 AF2** input capture / EXTI7 | No / FT | V5: NC → new | `PIN_GNSS_PPS` | |
|
| 23 | PA7 | /GNSS_TIMEPULSE | U18.53 TIMEPULSE | F9P 1 PPS | IN, pull-down while F9P off | **TIM3_CH2 AF2** input capture / EXTI7 | No / FT | V5: NC → new | `PIN_GNSS_PPS` | |
|
||||||
| 24 | PC4 | /NTC2 | R126 10 k/1 % → 3V3, C157 100 nF (3.11 mm), P8.1 | External NTC probe 2 (10 k B3950) | ANALOG | **ADC1_IN14** | No / FT | V5: NC (V5.6: MODEM_ON_SLEEP, DNP) → new | `PIN_NTC2` | `$PHLG tntc2` (append) |
|
| 24 | PC4 | /NTC2 | R126 10 k/1 % → 3V3, C157 100 nF (3.11 mm), P8.1 | External NTC probe 2 (10 k B3950) | ANALOG | **ADC1_IN14** | No / FT | V5: NC (V5.6: MODEM_ON_SLEEP, DNP) → new | `PIN_NTC2` | `$PHLG tntc2` (append) |
|
||||||
| 25 | PC5 | unconnected (NC flag) | — | **spare** | ANALOG (lowest Idd) | ADC1_IN15 | — | V5: NC (V5.6: MODEM_ASSOC, DNP) | `PIN_SPARE_PC5` → `PIN_NTC_CELL` | ▶ audit F-51 (verify_1 (h)): pack-NTC tap, `/NTC` → 100 k (C25803) / 120 k (C25808) + 10 nF → PC5; PC5 ≤ 2.98 V; valid only with VEH5V present. D-10's CLPROG use dropped |
|
| 25 | PC5 | unconnected (NC flag) | — | spare | ANALOG (lowest Idd) | ADC1_IN15 | — | V5: NC (V5.6: MODEM_ASSOC, DNP) | `PIN_SPARE_PC5` → `PIN_NTC_CELL` | ▶ audit F-51 (verify_1 (h)): pack-NTC tap, `/NTC` → 100 k (C25803) / 120 k (C25808) + 10 nF → PC5; PC5 ≤ 2.98 V; valid only with VEH5V present. D-10's CLPROG use dropped |
|
||||||
| 26 | PB0 | /EXT_LED | Q4 AO3400A gate, Rled1 10 k → panel LED D1 at **P9** | Panel LED, HIGH = on | OUT PP | GPIO (TIM3_CH3 AF2) | No / FT | `PIN_EXT_LED` → same (connector P8 → P9) | `PIN_EXT_LED` | |
|
| 26 | PB0 | /EXT_LED | Q4 AO3400A gate, Rled1 10 k → panel LED D1 at **P9** | Panel LED, HIGH = on | OUT PP | GPIO (TIM3_CH3 AF2) | No / FT | `PIN_EXT_LED` → same (connector P8 → P9) | `PIN_EXT_LED` | |
|
||||||
| 27 | PB1 | /NTC_TEMP | R42 10 k/1 % → 3V3, C24 100 nF (6.63 mm), P7.1 | External NTC probe 1 (hot-spot, `tntc`) | ANALOG | **ADC1_IN9** | No / FT | `PIN_NTC` → same (connector P12 → P7) | `PIN_NTC` | |
|
| 27 | PB1 | /NTC_TEMP | R42 10 k/1 % → 3V3, C24 100 nF (6.63 mm), P7.1 | External NTC probe 1 (hot-spot, `tntc`) | ANALOG | **ADC1_IN9** | No / FT | `PIN_NTC` → same (connector P12 → P7) | `PIN_NTC` | |
|
||||||
| 28 | PB2 | /BOOT1_STRAP | R99 10 k → GND (2.84 mm) | BOOT1 = 0 strap (DFU entry) | never reconfigure | BOOT1 | — | — (V4: ETH_INT!) | — | "never repurpose PB2" ✓ |
|
| 28 | PB2 | /BOOT1_STRAP | R99 10 k → GND (2.84 mm) | BOOT1 = 0 strap (DFU entry) | never reconfigure | BOOT1 | — | — (V4: ETH_INT!) | — | "never repurpose PB2" ✓ |
|
||||||
| 29 | PB10 | unconnected (NC flag) | — | **spare** | ANALOG | TIM2_CH3 AF1, I2C2_SCL AF4, SPI2_SCK AF5, EXTI10 | — | V5: NC | `PIN_SPARE_PB10` → `PIN_PFO` | ▶ audit A-13 (absorbs D-10): U6.20 PFO → PB10, 100 k C25803 pull-up to /3V3, EXTI10 falling = backup entry at VEH5V < 4.40 V |
|
| 29 | PB10 | unconnected (NC flag) | — | spare | ANALOG | TIM2_CH3 AF1, I2C2_SCL AF4, SPI2_SCK AF5, EXTI10 | — | V5: NC | `PIN_SPARE_PB10` → `PIN_PFO` | ▶ audit A-13 (absorbs D-10): U6.20 PFO → PB10, 100 k C25803 pull-up to /3V3, EXTI10 falling = backup entry at VEH5V < 4.40 V |
|
||||||
| 30 | VCAP1 | /VCAP1 | C111 4.7 µF (3.19 mm) | core regulator cap | power | — | — | — | — | ✓ |
|
| 30 | VCAP1 | /VCAP1 | C111 4.7 µF (3.19 mm) | core regulator cap | power | — | — | — | — | ✓ |
|
||||||
| 31 | VSS | GND | — | ground | power | — | — | — | — | |
|
| 31 | VSS | GND | — | ground | power | — | — | — | — | |
|
||||||
| 32 | VDD | /3V3 | nearest C105 3.65 mm | supply | power | — | — | — | — | |
|
| 32 | VDD | /3V3 | nearest C105 3.65 mm | supply | power | — | — | — | — | |
|
||||||
| 33 | PB12 | /ETH_CS | U11.32 SCSn | W5500 chip select | OUT PP (INPUT_PULLUP while W5500 idle) | GPIO (SPI2_NSS AF5 unused) | No / FT | `PIN_ETH_CS` → **same** | `PIN_ETH_CS` | |
|
| 33 | PB12 | /ETH_CS | U11.32 SCSn | W5500 chip select | OUT PP (INPUT_PULLUP while W5500 idle) | GPIO (SPI2_NSS AF5 unused) | No / FT | `PIN_ETH_CS` → same | `PIN_ETH_CS` | |
|
||||||
| 34 | PB13 | /ETH_SCK | U11.33 | SPI2 SCK | AF | **SPI2_SCK AF5** | No / FT | `PIN_ETH_SCK` → same | `PIN_ETH_SCK` | |
|
| 34 | PB13 | /ETH_SCK | U11.33 | SPI2 SCK | AF | **SPI2_SCK AF5** | No / FT | `PIN_ETH_SCK` → same | `PIN_ETH_SCK` | |
|
||||||
| 35 | PB14 | /ETH_MISO | U11.34 | SPI2 MISO (W5500 output) | AF in | **SPI2_MISO AF5** | No / FT | `PIN_ETH_MISO` → same | `PIN_ETH_MISO` | |
|
| 35 | PB14 | /ETH_MISO | U11.34 | SPI2 MISO (W5500 output) | AF in | **SPI2_MISO AF5** | No / FT | `PIN_ETH_MISO` → same | `PIN_ETH_MISO` | |
|
||||||
| 36 | PB15 | /ETH_MOSI | U11.35 | SPI2 MOSI | AF | **SPI2_MOSI AF5** | No / FT | `PIN_ETH_MOSI` → same | `PIN_ETH_MOSI` | |
|
| 36 | PB15 | /ETH_MOSI | U11.35 | SPI2 MOSI | AF | **SPI2_MOSI AF5** | No / FT | `PIN_ETH_MOSI` → same | `PIN_ETH_MOSI` | |
|
||||||
| 37 | PC6 | /USART6_TX | K1.10 (NO contact) → /DIN_4G → U23 (3.3 → 1.8 V) → U19.10 RXD | MCU → modem (AT, GGA, `$PHLG`) when K1 energised (Mode B) | AF PP while modem on; INPUT otherwise | **USART6_TX AF8** | No / FT | V5: NC. **Takes over V5 PA9 `PIN_USART1_TX` (RELAY TX)** | `PIN_MODEM_TX` | NC flag on a connected pin (cosmetic) → D-11 |
|
| 37 | PC6 | /USART6_TX | K1.10 (NO contact) → /DIN_4G → U23 (3.3 → 1.8 V) → U19.10 RXD | MCU → modem (AT, GGA, `$PHLG`) when K1 energised (Mode B) | AF PP while modem on; INPUT otherwise | **USART6_TX AF8** | No / FT | V5: NC. **Takes over V5 PA9 `PIN_USART1_TX` (RELAY TX)** | `PIN_MODEM_TX` | NC flag on a connected pin (cosmetic) → D-11 |
|
||||||
| 38 | PC7 | /USART6_RX | R106 100 Ω ← /DOUT_4G ← U24 (1.8 → 3.3 V) ← U19.9 TXD; /DOUT_4G also → U18.26 F9P RXD2 | modem → MCU (AT replies + RTCM byte count) | AF, **no pull while F9P off** | **USART6_RX AF8** | No / FT | V5: NC (V5.6 RTCM_TAP, same peripheral) | `PIN_MODEM_RX` | NC flag cosmetic (D-11 → J-04). A pull-up here back-feeds the F9P (D-01). ▶ audit D-01: U27 74LVC1G125GV C12518 on /3V3_GNSS isolates U18.26 (new net `/DOUT_4G_F9P`); PC7/R106 stay on `/DOUT_4G`. B-10: R106 100 Ω → 1 kΩ C14676 |
|
| 38 | PC7 | /USART6_RX | R106 100 Ω ← /DOUT_4G ← U24 (1.8 → 3.3 V) ← U19.9 TXD; /DOUT_4G also → U18.26 F9P RXD2 | modem → MCU (AT replies + RTCM byte count) | AF, **no pull while F9P off** | **USART6_RX AF8** | No / FT | V5: NC (V5.6 RTCM_TAP, same peripheral) | `PIN_MODEM_RX` | NC flag cosmetic (D-11 → J-04). A pull-up here back-feeds the F9P (D-01). ▶ audit D-01: U27 74LVC1G125GV C12518 on /3V3_GNSS isolates U18.26 (new net `/DOUT_4G_F9P`); PC7/R106 stay on `/DOUT_4G`. B-10: R106 100 Ω → 1 kΩ C14676 |
|
||||||
| 39 | PC8 | /MODEM_PWRKEY | Q20 2N7002 gate, R114 100 k PD → U19.1 PWRKEY (int. pull-up to VBAT) | Modem power key; MCU HIGH = key pressed | OUT PP, LOW at boot | GPIO (TIM3_CH3) | No / FT | V5: NC → new | `PIN_MODEM_PWRKEY` | on ≥ 50 ms, off ≥ 2.5 s (Phase-1 spec / Phase-2 delta) |
|
| 39 | PC8 | /MODEM_PWRKEY | Q20 2N7002 gate, R114 100 k PD → U19.1 PWRKEY (int. pull-up to VBAT) | Modem power key; MCU HIGH = key pressed | OUT PP, LOW at boot | GPIO (TIM3_CH3) | No / FT | V5: NC → new | `PIN_MODEM_PWRKEY` | on ≥ 50 ms, off ≥ 2.5 s (Phase-1 spec / Phase-2 delta) |
|
||||||
| 40 | PC9 | /MODEM_STATUS | U24.6 (2B) ← U19.66 STATUS (1.8 V) | Modem powered/ready (≈ 11.2 s after power-on) | IN **pull-DOWN** (floats when modem off: U24 Ioff) | GPIO, **EXTI9** (shared with PB9) | No / FT | V5: NC → new | `PIN_MODEM_STATUS` | poll it (EXTI9 belongs to the accelerometer) → D-14 (merged into B-10). ▶ audit B-10: 100 k C25803 `/MODEM_STATUS` → GND |
|
| 40 | PC9 | /MODEM_STATUS | U24.6 (2B) ← U19.66 STATUS (1.8 V) | Modem powered/ready (≈ 11.2 s after power-on) | IN pull-DOWN (floats when modem off: U24 Ioff) | GPIO, **EXTI9** (shared with PB9) | No / FT | V5: NC → new | `PIN_MODEM_STATUS` | poll it (EXTI9 belongs to the accelerometer) → D-14 (merged into B-10). ▶ audit B-10: 100 k C25803 `/MODEM_STATUS` → GND |
|
||||||
| 41 | PA8 | /CHRG_EN | U6.4 CHGOFF, R56 100 k → GND | Charger disable; HIGH = charge OFF | OUT PP | GPIO (TIM1_CH1 AF1) | No / FT | `PIN_CHRG_EN` → **same** | `PIN_CHRG_EN` | In reset/DFU R56 → charger ON (as V5). ▶ audit A-11: R56 100 k re-netted to /3V3 → charger OFF by default; polarity unchanged |
|
| 41 | PA8 | /CHRG_EN | U6.4 CHGOFF, R56 100 k → GND | Charger disable; HIGH = charge OFF | OUT PP | GPIO (TIM1_CH1 AF1) | No / FT | `PIN_CHRG_EN` → same | `PIN_CHRG_EN` | In reset/DFU R56 → charger ON (as V5). ▶ audit A-11: R56 100 k re-netted to /3V3 → charger OFF by default; polarity unchanged |
|
||||||
| 42 | PA9 | unconnected (NC flag) | — | **spare** | ANALOG | USART1_TX AF7, OTG_FS_VBUS AF10 | — | `PIN_USART1_TX` → **REMOVED** (role now PC6) | `PIN_DBG_TX` if a pad is added | USART1 is RX-only on v6 (TX alternates PA15/PB6 are taken). Add a test pad → D-12. ▶ audit: only remaining spare after (h); also the only candidate left for D-08's board-ID strap (open) |
|
| 42 | PA9 | unconnected (NC flag) | — | spare | ANALOG | USART1_TX AF7, OTG_FS_VBUS AF10 | — | `PIN_USART1_TX` → **REMOVED** (role now PC6) | `PIN_DBG_TX` if a pad is added | USART1 is RX-only on v6 (TX alternates PA15/PB6 are taken). Add a test pad → D-12. ▶ audit: only remaining spare after (h); also the only candidate left for D-08's board-ID strap (open) |
|
||||||
| 43 | PA10 | /USART1_RX | U18.27 TXD2 (F9P UART2 out), K1.1 (NC → modem DIN), Rdfu1 22 k → /3V3 (2.28 mm) | Passive tap on the F9P → modem stream (fail-safe path through K1 NC) | AF RX, **no internal pull** (PA10 pull-up is 7–14 kΩ, DS Table 53) | **USART1_RX AF7** | No / FT | `PIN_USART1_RX` → **same** (tap), now RX-only | `PIN_F9P_TX2_TAP` | `Uart RELAY(PA10, PA9)` → RX-only instance. ▶ audit D-01: Rdfu1 22 k → 100 k C25803 (back-feed ≤ 27 µA) |
|
| 43 | PA10 | /USART1_RX | U18.27 TXD2 (F9P UART2 out), K1.1 (NC → modem DIN), Rdfu1 22 k → /3V3 (2.28 mm) | Passive tap on the F9P → modem stream (fail-safe path through K1 NC) | AF RX, **no internal pull** (PA10 pull-up is 7–14 kΩ, DS Table 53) | **USART1_RX AF7** | No / FT | `PIN_USART1_RX` → same (tap), now RX-only | `PIN_F9P_TX2_TAP` | `Uart RELAY(PA10, PA9)` → RX-only instance. ▶ audit D-01: Rdfu1 22 k → 100 k C25803 (back-feed ≤ 27 µA) |
|
||||||
| 44 | PA11 | /DFU_DM | J11 A7/B7, D15 PESD5V0S1BA (6.74 mm from J11) | USB FS D− (ROM DFU + CDC console) | AF | **OTG_FS_DM AF10** | No / FT | `CON SerialUSB` → same | — | route 55.1 mm |
|
| 44 | PA11 | /DFU_DM | J11 A7/B7, D15 PESD5V0S1BA (6.74 mm from J11) | USB FS D− (ROM DFU + CDC console) | AF | **OTG_FS_DM AF10** | No / FT | `CON SerialUSB` → same | — | route 55.1 mm |
|
||||||
| 45 | PA12 | /DFU_DP | J11 A6/B6, D14 (3.19 mm) | USB FS D+ | AF | **OTG_FS_DP AF10** | No / FT | same | — | route 50.1 mm |
|
| 45 | PA12 | /DFU_DP | J11 A6/B6, D14 (3.19 mm) | USB FS D+ | AF | **OTG_FS_DP AF10** | No / FT | same | — | route 50.1 mm |
|
||||||
| 46 | PA13 | /SWDIO | TP3 (6.04 mm) | SWD data | AF0 (pull-up at reset) | SYS_JTMS-SWDIO AF0 | — | — | — | |
|
| 46 | PA13 | /SWDIO | TP3 (6.04 mm) | SWD data | AF0 (pull-up at reset) | SYS_JTMS-SWDIO AF0 | — | — | — | |
|
||||||
| 47 | VSS | GND | — | ground | power | — | — | — | — | |
|
| 47 | VSS | GND | — | ground | power | — | — | — | — | |
|
||||||
| 48 | VDD | /3V3 | C107 2.10 mm | supply | power | — | — | — | — | ✓ |
|
| 48 | VDD | /3V3 | C107 2.10 mm | supply | power | — | — | — | — | ✓ |
|
||||||
| 49 | PA14 | /SWCLK | TP4 (5.43 mm) | SWD clock | AF0 (pull-down at reset) | SYS_JTCK-SWCLK AF0 | — | — | — | |
|
| 49 | PA14 | /SWCLK | TP4 (5.43 mm) | SWD clock | AF0 (pull-down at reset) | SYS_JTCK-SWCLK AF0 | — | — | — | |
|
||||||
| 50 | PA15 | /ETH_RST | U11.37 RSTn | W5500 reset, LOW = held | OUT PP, drive LOW first thing | GPIO (**JTDI AF0 at reset, 30–50 kΩ pull-up**) | No / FT | `PIN_ETH_RST` → **same** | `PIN_ETH_RST` | W5500 is released during MCU reset/boot → E-02 (absorbs D-04). ▶ audit (verified): **4.7 k C23162 `/ETH_RST` → GND at U11.37** → ≤ 0.62 V worst case (W5500 internal 62–112 kΩ pull-up + PA15 30–50 kΩ); 100 k gives 2.75 V and fails |
|
| 50 | PA15 | /ETH_RST | U11.37 RSTn | W5500 reset, LOW = held | OUT PP, drive LOW first thing | GPIO (**JTDI AF0 at reset, 30–50 kΩ pull-up**) | No / FT | `PIN_ETH_RST` → same | `PIN_ETH_RST` | W5500 is released during MCU reset/boot → E-02 (absorbs D-04). ▶ audit (verified): **4.7 k C23162 `/ETH_RST` → GND at U11.37** → ≤ 0.62 V worst case (W5500 internal 62–112 kΩ pull-up + PA15 30–50 kΩ); 100 k gives 2.75 V and fails |
|
||||||
| 51 | PC10 | /MODEM_PWR_EN | U20.3 EN (AP64350), R113 100 k PD | Modem buck enable, HIGH = on | OUT PP, LOW at boot | GPIO | No / FT | V5: NC (**V5.6 used PC3**) → new | `PIN_MODEM_PWR_EN` | any MCU reset power-cycles the modem (by design). ▶ audit A-01: U20 input moves to /MAIN5V only (D20 removed, no D21); EN control unchanged (R113 100 k PD, EN pull-up 1.5 µA → 0.15 V = OFF) |
|
| 51 | PC10 | /MODEM_PWR_EN | U20.3 EN (AP64350), R113 100 k PD | Modem buck enable, HIGH = on | OUT PP, LOW at boot | GPIO | No / FT | V5: NC (**V5.6 used PC3**) → new | `PIN_MODEM_PWR_EN` | any MCU reset power-cycles the modem (by design). ▶ audit A-01: U20 input moves to /MAIN5V only (D20 removed, no D21); EN control unchanged (R113 100 k PD, EN pull-up 1.5 µA → 0.15 V = OFF) |
|
||||||
| 52 | PC11 | /MODEM_RST | Q21 2N7002 gate, R115 100 k PD → U19.16 RESET | Modem reset; MCU HIGH = asserted | OUT PP, LOW at boot | GPIO | No / FT | V5: NC (**V5.6 used PC1**) → new | `PIN_MODEM_RST` | |
|
| 52 | PC11 | /MODEM_RST | Q21 2N7002 gate, R115 100 k PD → U19.16 RESET | Modem reset; MCU HIGH = asserted | OUT PP, LOW at boot | GPIO | No / FT | V5: NC (**V5.6 used PC1**) → new | `PIN_MODEM_RST` | |
|
||||||
| 53 | PC12 | /GNSS_RESET_N | U18.49 RESET_N, R105 10 k → /3V3_GNSS | F9P hard reset, LOW = reset | **OUTPUT_OPEN_DRAIN** (or INPUT); never push HIGH | GPIO | No / FT | V5: NC → new | `PIN_GNSS_RESET_N` | push-HIGH with F9P off = back-feed |
|
| 53 | PC12 | /GNSS_RESET_N | U18.49 RESET_N, R105 10 k → /3V3_GNSS | F9P hard reset, LOW = reset | **OUTPUT_OPEN_DRAIN** (or INPUT); never push HIGH | GPIO | No / FT | V5: NC → new | `PIN_GNSS_RESET_N` | push-HIGH with F9P off = back-feed |
|
||||||
| 54 | PD2 | unconnected (NC flag) | — | **spare** | ANALOG | TIM3_ETR AF2, EXTI2 | — | V5: NC | `PIN_ETH_PWR_EN` (▶ audit) | ▶ audit E-01 (verify_1 (h)): `/ETH_PWR_EN` → U12.2 EN, 100 k C25803 → GND; HIGH = 3V3_ETH on. D-08's 10 k board-ID strap on this pin **conflicts** and is unresolved |
|
| 54 | PD2 | unconnected (NC flag) | — | spare | ANALOG | TIM3_ETR AF2, EXTI2 | — | V5: NC | `PIN_ETH_PWR_EN` (▶ audit) | ▶ audit E-01 (verify_1 (h)): `/ETH_PWR_EN` → U12.2 EN, 100 k C25803 → GND; HIGH = 3V3_ETH on. D-08's 10 k board-ID strap on this pin conflicts and is unresolved |
|
||||||
| 55 | PB3 | /CHRG_STAT | U6.8 CHRG (open-drain), R57 100 k → /3V3 | LOW = charging | IN, no pull | GPIO, **EXTI3** (JTDO/SWO AF0 at reset; TIM2_CH2) | No (3V3 pull-up) / FT | `PIN_CHRG_STAT` → **same** | `PIN_CHRG_STAT` | SWO trace unavailable |
|
| 55 | PB3 | /CHRG_STAT | U6.8 CHRG (open-drain), R57 100 k → /3V3 | LOW = charging | IN, no pull | GPIO, **EXTI3** (JTDO/SWO AF0 at reset; TIM2_CH2) | No (3V3 pull-up) / FT | `PIN_CHRG_STAT` → same | `PIN_CHRG_STAT` | SWO trace unavailable |
|
||||||
| 56 | PB4 | /CHRG_FAULT | U6.9 FAULT (open-drain), R58 100 k → /3V3 | LOW = fault / NTC pause | IN | GPIO, EXTI4 (NJTRST pull-up at reset) | No / FT | `PIN_CHRG_FAULT` → **same** | `PIN_CHRG_FAULT` | "pausa NTC" = EN allowed ∧ STAT idle ∧ FAULT low. ▶ audit: the power auditor decodes from the LTC4040 datasheet table (p.14) "pausa NTC" = CHRG low ∧ FAULT low, bad battery = CHRG high ∧ FAULT low; use that decode |
|
| 56 | PB4 | /CHRG_FAULT | U6.9 FAULT (open-drain), R58 100 k → /3V3 | LOW = fault / NTC pause | IN | GPIO, EXTI4 (NJTRST pull-up at reset) | No / FT | `PIN_CHRG_FAULT` → same | `PIN_CHRG_FAULT` | "pausa NTC" = EN allowed ∧ STAT idle ∧ FAULT low. ▶ audit: the power auditor decodes from the LTC4040 datasheet table (p.14) "pausa NTC" = CHRG low ∧ FAULT low, bad battery = CHRG high ∧ FAULT low; use that decode |
|
||||||
| 57 | PB5 | /BYP_CTRL | R40 1 k → Q6 MMBT3904 (R41 10 k B–E) → K1 coil (/SYS5V) | K1 Mode B; HIGH = energised = modem DIN ← PC6 | OUT PP, LOW at boot | GPIO (TIM3_CH2 AF2) | No / **TC** (output only ✓) | `PIN_BYP_CTRL` → same pin; NO contact now = PC6 (was PA9) | `PIN_BYP_CTRL` | K1 0.15 W while held |
|
| 57 | PB5 | /BYP_CTRL | R40 1 k → Q6 MMBT3904 (R41 10 k B–E) → K1 coil (/SYS5V) | K1 Mode B; HIGH = energised = modem DIN ← PC6 | OUT PP, LOW at boot | GPIO (TIM3_CH2 AF2) | No / TC (output only ✓) | `PIN_BYP_CTRL` → same pin; NO contact now = PC6 (was PA9) | `PIN_BYP_CTRL` | K1 0.15 W while held |
|
||||||
| 58 | PB6 | /I2C_SCL | R30 4.7 k; U3 SHT40, U10 SC16IS752, U13 PCF8574, U26 SC7A20 | I2C1 SCL | AF OD | **I2C1_SCL AF4** | No / FT | `PIN_I2C_SCL` → same | `PIN_I2C_SCL` | Map: 0x18 SC7A20 (new), 0x20 PCF8574, 0x44 SHT40, 0x4D SC16IS752. **No TMP102** (0x48/0x49) on v6 as drawn. ▶ audit F-51: TMP102 C99269 at 0x48 (ADD0 → GND) between U6 and L6; F-52 option: second TMP102 at 0x49 |
|
| 58 | PB6 | /I2C_SCL | R30 4.7 k; U3 SHT40, U10 SC16IS752, U13 PCF8574, U26 SC7A20 | I2C1 SCL | AF OD | **I2C1_SCL AF4** | No / FT | `PIN_I2C_SCL` → same | `PIN_I2C_SCL` | Map: 0x18 SC7A20 (new), 0x20 PCF8574, 0x44 SHT40, 0x4D SC16IS752. **No TMP102** (0x48/0x49) on v6 as drawn. ▶ audit F-51: TMP102 C99269 at 0x48 (ADD0 → GND) between U6 and L6; F-52 option: second TMP102 at 0x49 |
|
||||||
| 59 | PB7 | /I2C_SDA | R31 4.7 k; same devices | I2C1 SDA | AF OD | **I2C1_SDA AF4** | No / FT | `PIN_I2C_SDA` → same | `PIN_I2C_SDA` | |
|
| 59 | PB7 | /I2C_SDA | R31 4.7 k; same devices | I2C1 SDA | AF OD | **I2C1_SDA AF4** | No / FT | `PIN_I2C_SDA` → same | `PIN_I2C_SDA` | |
|
||||||
| 60 | BOOT0 | /BOOT0 | R98 10 k → GND (3.65 mm), SW2 → 3V3 | Boot select | I (B) | — | — | — | — | route 73.2 mm (61.4 mm on In1) |
|
| 60 | BOOT0 | /BOOT0 | R98 10 k → GND (3.65 mm), SW2 → 3V3 | Boot select | I (B) | — | — | — | — | route 73.2 mm (61.4 mm on In1) |
|
||||||
| 61 | PB8 | /SER_IRQ | U10.15 IRQ (open-drain), R81 10 k → 3V3 | SC16IS752 IRQ | IN | GPIO, **EXTI8** | No / FT | `PIN_SER_IRQ` → **same** | `PIN_SER_IRQ` | |
|
| 61 | PB8 | /SER_IRQ | U10.15 IRQ (open-drain), R81 10 k → 3V3 | SC16IS752 IRQ | IN | GPIO, **EXTI8** | No / FT | `PIN_SER_IRQ` → same | `PIN_SER_IRQ` | |
|
||||||
| 62 | PB9 | /ACC_INT1 | U26.5 INT1 (push-pull, active HIGH default) | Motion interrupt / STOP wake | IN, EXTI rising | GPIO, **EXTI9** (TIM4_CH4, TIM11_CH1) | No / FT | V5: NC → new | `PIN_ACC_INT1` | owns EXTI9 |
|
| 62 | PB9 | /ACC_INT1 | U26.5 INT1 (push-pull, active HIGH default) | Motion interrupt / STOP wake | IN, EXTI rising | GPIO, **EXTI9** (TIM4_CH4, TIM11_CH1) | No / FT | V5: NC → new | `PIN_ACC_INT1` | owns EXTI9 |
|
||||||
| 63 | VSS | GND | — | ground | power | — | — | — | — | |
|
| 63 | VSS | GND | — | ground | power | — | — | — | — | |
|
||||||
| 64 | VDD | /3V3 | C110 3.90 mm (shared with pin 1), C108 4.63 mm | supply | power | — | — | — | — | |
|
| 64 | VDD | /3V3 | C110 3.90 mm (shared with pin 1), C108 4.63 mm | supply | power | — | — | — | — | |
|
||||||
|
|
||||||
Count check: 50 GPIO pads (PA0–PA15 = 16, PB0–PB10 + PB12–PB15 = 15, PC0–PC15 = 16, PD2 = 1, PH0/PH1 = 2) + NRST, BOOT0, VBAT, VCAP1, VDDA, VSSA (6) + VDD ×4 + VSS ×4 = **64**. 60 pins are connected; the 4 truly unconnected spares are **PA9, PB10, PC5, PD2**.
|
Count check: 50 GPIO pads (PA0–PA15 = 16, PB0–PB10 + PB12–PB15 = 15, PC0–PC15 = 16, PD2 = 1, PH0/PH1 = 2) + NRST, BOOT0, VBAT, VCAP1, VDDA, VSSA (6) + VDD ×4 + VSS ×4 = **64**. 60 pins are connected; the 4 truly unconnected spares are **PA9, PB10, PC5, PD2**.
|
||||||
|
|
||||||
## 2. Conflicts and flags
|
## 2. Conflictos y banderas
|
||||||
|
|
||||||
### 2.1 Firmware pins that are gone or change meaning on v6
|
### 2.1 Pines de firmware que desaparecen o cambian de significado en v6
|
||||||
| V5 item | v6 status | Replacement / action |
|
|
||||||
|
| Ítem V5 | Estado en v6 | Sustituto / acción |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `PIN_USART1_TX` PA9 + `Uart RELAY(PA10, PA9)` | PA9 unconnected (NC flag) | The **console was never on PA9**: `CON = SerialUSB` (PA11/PA12, J11) is unchanged. PA9 was the Mode-B injection path into the modem through K1 NO. On v6 that path is **PC6 USART6_TX → K1.10 (NO)**, and the MCU now also hears the modem on **PC7 USART6_RX**. USART1 stays as an **RX-only** tap on PA10 (F9P TXD2). No UART TX debug pin exists on v6 (D-12). |
|
| `PIN_USART1_TX` PA9 + `Uart RELAY(PA10, PA9)` | PA9 sin conexión (bandera NC) | La **consola nunca estuvo en PA9**: `CON = SerialUSB` (PA11/PA12, J11) no cambia. PA9 era el camino de inyección del Modo B hacia el módem por K1 NO. En v6 ese camino es **PC6 USART6_TX → K1.10 (NO)**, y el MCU ahora también escucha al módem en **PC7 USART6_RX**. USART1 queda como derivación **solo RX** en PA10 (TXD2 del F9P). En v6 no existe pin TX de depuración por UART (D-12). |
|
||||||
| `PIN_PWR_CTRL` PA1 | GNSS rail only | Modem power is `PIN_MODEM_PWR_EN` PC10. Stack cycles must never be used for modem recovery. |
|
| `PIN_PWR_CTRL` PA1 | Solo riel del GNSS | La alimentación del módem es `PIN_MODEM_PWR_EN` PC10. Los ciclos de etapa nunca deben usarse para recuperar el módem. |
|
||||||
| PCF8574 P7 → SW4G1 `MODEM_RST` bodge (`PCF_MODEM_RST_BIT 0x80`, `ENABLE_MODEM_RST`) | U13.12 (P7) unconnected; no SW4G1 | Delete the bodge path; use PC11 (reset) / PC8 (PWRKEY) / PC10 (power). |
|
| Puente PCF8574 P7 → SW4G1 `MODEM_RST` (`PCF_MODEM_RST_BIT 0x80`, `ENABLE_MODEM_RST`) | U13.12 (P7) sin conexión; no hay SW4G1 | Eliminar el camino del puente; usar PC11 (reset) / PC8 (PWRKEY) / PC10 (alimentación). |
|
||||||
| TMP102 0x48 (`I2C_ADDR_TMP102`, `CHG_CELL_HOT/COOL` source) | **no TMP102 on v6** | Cell temperature for the governor has no on-board source. ▶ audit F-51 (Major, verified): TMP102 C99269 at 0x48 next to U6 (`tchg`) + pack-NTC tap on PC5 (`tcell`, valid with VEH5V present). |
|
| TMP102 0x48 (`I2C_ADDR_TMP102`, fuente de `CHG_CELL_HOT/COOL`) | **no hay TMP102 en v6** | La temperatura de celda para el gobernador no tiene fuente en la tarjeta. ▶ audit F-51 (Mayor, verificado): TMP102 C99269 en 0x48 junto a U6 (`tchg`) + derivación de la NTC del paquete en PC5 (`tcell`, válida con VEH5V presente). |
|
||||||
| `PIN_ETH_INT` V4 = PB2 | PC0 on v6 (as V5) | ✓ |
|
| `PIN_ETH_INT` V4 = PB2 | PC0 en v6 (como V5) | ✓ |
|
||||||
| V5.6 `board_v56.h` (ECO §H): MODEM_EN PC3, MODEM_RST PC1, MODEM_LED PC2, ONSLP PC4, ASSOC PC5, RTCM_TAP PC7 | v6: PC1/PC2 = F9P inputs, **PC3 = F9P RTK_STAT output**, PC4 = NTC2 | `board_v56.h` and `board_v6.h` must never share a binary: a V5.6 build drives PC3 HIGH into the F9P's push-pull RTK_STAT. Hardware board-ID strap proposed (D-08); its PD2 pin is now claimed by E-01, so the strap pin is open (PA9 is the only spare left). |
|
| `board_v56.h` de V5.6 (ECO §H): MODEM_EN PC3, MODEM_RST PC1, MODEM_LED PC2, ONSLP PC4, ASSOC PC5, RTCM_TAP PC7 | v6: PC1/PC2 = entradas del F9P, **PC3 = salida RTK_STAT del F9P**, PC4 = NTC2 | `board_v56.h` y `board_v6.h` nunca deben compartir binario: un build V5.6 maneja PC3 en ALTO contra el RTK_STAT push-pull del F9P. Se propuso un strap de identificación de tarjeta (D-08); su pin PD2 ahora lo reclama E-01, así que el pin del strap queda abierto (PA9 es el único libre). |
|
||||||
|
|
||||||
### 2.2 v6 nets with no firmware counterpart (new for 0.7.x)
|
### 2.2 Nets de v6 sin contraparte en firmware (nuevas para 0.7.x)
|
||||||
PA7 GNSS_TIMEPULSE · PC1/PC2 ANT_DETECT/ANT_SHORT_N (F9P inputs, reserve) · PC3 GNSS_RTK_STAT · PC4 NTC2 · PC6/PC7 USART6 · PC8 PWRKEY · PC9 STATUS · PC10 MODEM_PWR_EN · PC11 MODEM_RST · PC12 GNSS_RESET_N · PB9 ACC_INT1 (SC7A20 at 0x18).
|
|
||||||
|
|
||||||
### 2.3 ADC and 5 V checks
|
PA7 GNSS_TIMEPULSE · PC1/PC2 ANT_DETECT/ANT_SHORT_N (entradas del F9P, reserva) · PC3 GNSS_RTK_STAT · PC4 NTC2 · PC6/PC7 USART6 · PC8 PWRKEY · PC9 STATUS · PC10 MODEM_PWR_EN · PC11 MODEM_RST · PC12 GNSS_RESET_N · PB9 ACC_INT1 (SC7A20 en 0x18).
|
||||||
- Every analog net sits on an ADC-capable pad: BAT_SENSE PA0/IN0, 5V_SENSE PA4/IN4, IGN_SENSE PA5/IN5, NTC_TEMP PB1/IN9, NTC2 PC4/IN14. Spare ADC pad: PC5/IN15. ✅
|
|
||||||
- No 5 V signal on any pin; the two TC pins carry PA0 ≤ 2.10 V and PB5 (output). ✅
|
|
||||||
- IGN_SENSE is the only pin that can exceed VDD: it reaches 3.23 V at 28 V, and the BAT54 clamp holds it at ≈ 3.55–3.65 V above ≈ 30.3 V (0.24 mA at 36 V, 1.2 mA at 58 V into /3V3). In analog mode the FT tolerance is lost, so the clamp is what protects it. There is no negative clamp (D-06).
|
|
||||||
|
|
||||||
### 2.4 Alternate-function, timer and EXTI allocation
|
### 2.3 Comprobaciones de ADC y de 5 V
|
||||||
- **No AF conflicts.** USART2 PA2/PA3 AF7 · USART6 PC6/PC7 AF8 · USART1_RX PA10 AF7 (TX-less) · SPI2 PB13/PB14/PB15 AF5 (CS PB12 as GPIO) · I2C1 PB6/PB7 AF4 · OTG_FS PA11/PA12 AF10 · SWD PA13/PA14 AF0. Every peripheral uses one consistent AF set.
|
|
||||||
- USART1 TX cannot be recovered: its alternates are PA9 (NC), PA15 (ETH_RST) and PB6 (I2C1_SCL).
|
|
||||||
- **Timers:** fan PA6 = TIM3_CH1 and PPS PA7 = TIM3_CH2 share TIM3's time base. The fan policy is ON/OFF (GPIO, `drogheda-fan-policy`), so TIM3 is free for PPS capture. If PWM on the fan is ever restored, time-stamp the PPS on EXTI7 (DWT cycle counter) instead. PA1 soft-start uses TIM2_CH2 (free).
|
|
||||||
- **EXTI collisions** (one port per line, SYSCFG_EXTICR): **EXTI3** = PC3 RTK_STAT and PB3 CHRG_STAT; **EXTI9** = PB9 ACC_INT1 and PC9 MODEM_STATUS. Assign EXTI9 to the accelerometer (motion wake) and poll STATUS. Assign EXTI3 to RTK_STAT only if blink timing is wanted, and poll CHRG_STAT. EXTI0 (ETH_INT), EXTI7 (PPS) and EXTI8 (SER_IRQ) are unique.
|
|
||||||
|
|
||||||
### 2.5 Pins that touch the ZED-F9P (back-feed rule, lesson 0.5.5/0.5.6)
|
- Toda net analógica está en un pad con ADC: BAT_SENSE PA0/IN0, 5V_SENSE PA4/IN4, IGN_SENSE PA5/IN5, NTC_TEMP PB1/IN9, NTC2 PC4/IN14. Pad ADC libre: PC5/IN15. ✅
|
||||||
While `PIN_GNSS_PWR` is LOW: PA2 INPUT no-pull; PA10 no pull (its internal pull-up is 7–14 kΩ); PC7 no pull-up; PC12 released (open-drain); PA7/PC3 no pull-up; PC1/PC2 analog. **The hardware path U24 → /DOUT_4G → U18.26 cannot be fixed in firmware** except by keeping the modem off whenever the F9P is off (D-01, Major, absorbs C-06). ▶ audit fix (verify_2): U27 = Nexperia 74LVC1G125GV **C12518** (Ioff ±2 µA) powered from /3V3_GNSS, OE̅ = GND, 100 nF C14663; Rdfu1 → 100 k C25803. Bench check: /3V3_GNSS < 0.3 V with PA1 LOW and the modem on.
|
- Ninguna señal de 5 V en ningún pin; los dos pines TC llevan PA0 ≤ 2.10 V y PB5 (salida). ✅
|
||||||
|
- IGN_SENSE es el único pin que puede exceder VDD: llega a 3.23 V con 28 V, y el clamp BAT54 lo sostiene en ≈ 3.55–3.65 V por encima de ≈ 30.3 V (0.24 mA a 36 V, 1.2 mA a 58 V hacia /3V3). En modo analógico se pierde la tolerancia FT, así que el clamp es lo que lo protege. No hay clamp negativo (D-06).
|
||||||
|
|
||||||
## 3. Boot and debug
|
### 2.4 Asignación de funciones alternas, temporizadores y EXTI
|
||||||
|
|
||||||
| Item | v6 | Verdict |
|
- **Sin conflictos de AF.** USART2 PA2/PA3 AF7 · USART6 PC6/PC7 AF8 · USART1_RX PA10 AF7 (sin TX) · SPI2 PB13/PB14/PB15 AF5 (CS PB12 como GPIO) · I2C1 PB6/PB7 AF4 · OTG_FS PA11/PA12 AF10 · SWD PA13/PA14 AF0. Cada periférico usa un conjunto de AF consistente.
|
||||||
|
- El TX de USART1 no se puede recuperar: sus alternativas son PA9 (NC), PA15 (ETH_RST) y PB6 (I2C1_SCL).
|
||||||
|
- Temporizadores: ventilador PA6 = TIM3_CH1 y PPS PA7 = TIM3_CH2 comparten la base de tiempo de TIM3. La política del ventilador es ON/OFF (GPIO, `drogheda-fan-policy`), así que TIM3 queda libre para capturar el PPS. Si algún día se restaura el PWM del ventilador, marcar el tiempo del PPS por EXTI7 (contador de ciclos DWT). El arranque suave de PA1 usa TIM2_CH2 (libre).
|
||||||
|
- Colisiones EXTI (un puerto por línea, SYSCFG_EXTICR): **EXTI3** = PC3 RTK_STAT y PB3 CHRG_STAT; **EXTI9** = PB9 ACC_INT1 y PC9 MODEM_STATUS. Asignar EXTI9 al acelerómetro (despertar por movimiento) y sondear STATUS. Asignar EXTI3 a RTK_STAT solo si se quiere medir el parpadeo, y sondear CHRG_STAT. EXTI0 (ETH_INT), EXTI7 (PPS) y EXTI8 (SER_IRQ) son únicos.
|
||||||
|
|
||||||
|
### 2.5 Pines que tocan al ZED-F9P (regla de retorno de corriente, lección 0.5.5/0.5.6)
|
||||||
|
|
||||||
|
Mientras `PIN_GNSS_PWR` esté en BAJO: PA2 INPUT sin pull; PA10 sin pull (su pull-up interno es de 7–14 kΩ); PC7 sin pull-up; PC12 liberado (open-drain); PA7/PC3 sin pull-up; PC1/PC2 analógicos. **El camino de hardware U24 → /DOUT_4G → U18.26 no se puede corregir por firmware** salvo manteniendo el módem apagado siempre que el F9P esté apagado (D-01, Mayor, absorbe C-06). ▶ audit (corrección verificada): U27 = Nexperia 74LVC1G125GV **C12518** (Ioff ±2 µA) alimentado de /3V3_GNSS, OE̅ = GND, 100 nF C14663; Rdfu1 → 100 k C25803. Comprobación de banco: /3V3_GNSS < 0.3 V con PA1 en BAJO y el módem encendido.
|
||||||
|
|
||||||
|
## 3. Arranque y depuración
|
||||||
|
|
||||||
|
| Ítem | v6 | Veredicto |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| BOOT0 | R98 10 k → GND at 3.65 mm; SW2 to 3V3 (silk "BOOT") | ✅ |
|
| BOOT0 | R98 10 k → GND a 3.65 mm; SW2 a 3V3 (serigrafía «BOOT») | ✅ |
|
||||||
| BOOT1 / PB2 DFU trap | PB2 only on R99 10 k → GND (2.84 mm); ETH_INT on PC0 | ✅ (memory `drogheda-einarboard-30-mcu-integration`) |
|
| BOOT1 / trampa DFU en PB2 | PB2 solo en R99 10 k → GND (2.84 mm); ETH_INT en PC0 | ✅ (memoria `drogheda-einarboard-30-mcu-integration`) |
|
||||||
| ROM DFU needs HSE | Y3 25 MHz is supported, but crystal placement and gm margin are poor | ⚠ D-02 |
|
| El DFU de ROM necesita HSE | Y3 25 MHz está soportado, pero la colocación del cristal y el margen de gm son pobres | ⚠ D-02 |
|
||||||
| NRST | C104 100 nF (3.26 mm, DS10314 value) · SW1 (6 mm tact, NRST on the 6.5 mm pad pair, GND on the other) · P6 RESET-EXT (JST-XH, was P10 on V5) · TP5. Reaches only the MCU. | ✅ circuit / ⚠ no ESD at P6 (G-08) |
|
| NRST | C104 100 nF (3.26 mm, valor del DS10314) · SW1 (táctil 6 mm, NRST en el par de pads de 6.5 mm, GND en el otro) · P6 RESET-EXT (JST-XH, era P10 en V5) · TP5. Llega solo al MCU. | ✅ circuito / ⚠ sin ESD en P6 (G-08) |
|
||||||
| SWD | TP3 SWDIO (6.04 mm), TP4 SWCLK (5.43 mm), TP5 NRST, TP6 GND (17.6 mm away), TP7 3V3. No header. SWO impossible (PB3 = CHRG_STAT). | ⚠ usable with clips; D-12 |
|
| SWD | TP3 SWDIO (6.04 mm), TP4 SWCLK (5.43 mm), TP5 NRST, TP6 GND (a 17.6 mm), TP7 3V3. Sin header. SWO imposible (PB3 = CHRG_STAT). | ⚠ usable con pinzas; D-12 |
|
||||||
| USB DFU | PA11/PA12 → J11 (USB-C, CC 5.1 k ×2), D14/D15/D16 PESD5V0S1BA at 3.19 / 6.74 / 6.83 mm from J11; VBUS → D13 → AMS1117 (diode-OR with SYS5V via D12, no back-feed into SYS5V) | ✅ ECO E.5 (DFU part) met |
|
| USB DFU | PA11/PA12 → J11 (USB-C, CC 5.1 k ×2), D14/D15/D16 PESD5V0S1BA a 3.19 / 6.74 / 6.83 mm de J11; VBUS → D13 → AMS1117 (OR con SYS5V vía D12, sin retorno hacia SYS5V) | ✅ ECO E.5 (parte DFU) cumplida |
|
||||||
| HSE | Y3 C14872 YXC HC-49S 25 MHz, **CL 20 pF**, −20…+70 °C, with C113/C114 15 pF → CL_eff = 7.5 + (5…10) pF stray = 12.5–17.5 pF. Pads 8.32/11.30 mm edge (10.30/14.21 mm centre) from PH0/PH1 (target ≤ 5). | ❌ D-02 (Minor, verified) |
|
| HSE | Y3 C14872 YXC HC-49S 25 MHz, **CL 20 pF**, −20…+70 °C, con C113/C114 15 pF → CL_eff = 7.5 + (5…10) pF parásitos = 12.5–17.5 pF. Pads a 8.32/11.30 mm borde (10.30/14.21 mm centro) de PH0/PH1 (objetivo ≤ 5). | ❌ D-02 (Menor, verificado) |
|
||||||
| LSE | Y4 C32346 Epson FC-135, **CL 12.5 pF, ESR 70 kΩ**, with 12 pF caps → CL_eff ≈ 9 pF. Pads 5.54/7.91 mm. | ⚠ D-03 |
|
| LSE | Y4 C32346 Epson FC-135, **CL 12.5 pF, ESR 70 kΩ**, con capacitores de 12 pF → CL_eff ≈ 9 pF. Pads a 5.54/7.91 mm. | ⚠ D-03 |
|
||||||
|
|
||||||
## 4. Specific signals
|
## 4. Señales específicas
|
||||||
|
|
||||||
- **CHRG_STAT PB3 / CHRG_FAULT PB4:** LTC4040 open-drain (abs max 6 V), R57/R58 100 k to /3V3 (always-on MCU rail, so no back-feed). ✅ **PFO** (U6.20) goes only to TP2, with no pull-up and no MCU pin. **RST** (U6.11) is unconnected. **CLPROG** goes only to TP1 (D-10). ▶ audit: PFO → PB10 (A-13); CLPROG stays on TP1 (no ADC pin left once PC5 takes the pack NTC).
|
- **CHRG_STAT PB3 / CHRG_FAULT PB4:** open-drain del LTC4040 (máx. absoluto 6 V), R57/R58 100 k a /3V3 (riel del MCU siempre encendido, así que no hay retorno). ✅ PFO (U6.20) va solo a TP2, sin pull-up y sin pin del MCU. RST (U6.11) sin conexión. **CLPROG** va solo a TP1 (D-10). ▶ audit: PFO → PB10 (A-13); CLPROG se queda en TP1 (no queda pin ADC una vez que PC5 toma la NTC del paquete).
|
||||||
- **IGN_SENSE:** 22 k / (22 k ∥ 3.3 k = 2.870 k) → ratio 0.1154 (±1 % parts: 0.1134–0.1174). Pin voltage: **12 V → 1.385 V** (1.30 V with the internal pull-down the V5 firmware enables), **24 V → 2.769 V**, **28 V → 3.231 V**, **36 V → 4.154 V open-circuit, clamped to ≈ 3.55 V** (BAT54 0.24 mA). 58 V: 1.2 mA clamp current; Rig1 dissipates 0.135 W (> 0.1 W 0603 rating, transient only). ADC full scale is reached at 28.6 V. Digital thresholds (DS10314 Table 53, production-tested VIL 0.3 VDD = 0.99 V, VIH 0.7 VDD = 2.31 V): a HIGH is guaranteed only above **20.0 V**. **A 12–14.4 V ignition sits in the undefined band.** Junction check: /IGN_SENSE = {Rig1.2, Rig2.1, Rigb1.1, C9.1, D5.2 (A), U16.21}, one net in the netlist and on the PCB (6 pads, 1 connected group, 14.2 mm F.Cu). **The V5.6 junction loss is not present on v6.** ✅ ▶ audit F-02 (Blocker): the raw `/IGN_IN` runs 106.47 mm on In2 at 0.221 mm from `/VEH5V`; moving Rig1 to P1.3 makes that run the current-limited `/IGN_SENSE` (≤ 1.4 mA at 36 V, 2.5 mA at 58 V); C9 at the MCU keeps τ = 0.25 ms. D-05 changes the ratio to 0.0833 if Rigb1 = 2.2 k.
|
- **IGN_SENSE:** 22 k / (22 k ∥ 3.3 k = 2.870 k) → relación 0.1154 (partes ±1 %: 0.1134–0.1174). Voltaje en el pin: **12 V → 1.385 V** (1.30 V con el pull-down interno que habilita el firmware V5), **24 V → 2.769 V**, **28 V → 3.231 V**, **36 V → 4.154 V en circuito abierto, recortado a ≈ 3.55 V** (BAT54 0.24 mA). 58 V: 1.2 mA de corriente de clamp; Rig1 disipa 0.135 W (> 0.1 W del 0603, solo transitorio). La escala completa del ADC se alcanza a 28.6 V. Umbrales digitales (DS10314 tabla 53, probados en producción VIL 0.3 VDD = 0.99 V, VIH 0.7 VDD = 2.31 V): un ALTO está garantizado solo por encima de **20.0 V**. **Una ignición de 12–14.4 V queda en la banda indefinida.** Comprobación de unión: /IGN_SENSE = {Rig1.2, Rig2.1, Rigb1.1, C9.1, D5.2 (A), U16.21}, una sola net en la netlist y en la PCB (6 pads, 1 grupo conectado, 14.2 mm en F.Cu). **La pérdida de unión de la V5.6 no está presente en v6.** ✅ ▶ audit F-02 (Bloqueante): el `/IGN_IN` crudo corre 106.47 mm en In2 a 0.221 mm de `/VEH5V`; mover Rig1 a P1.3 convierte ese tramo en `/IGN_SENSE` limitado en corriente (≤ 1.4 mA a 36 V, 2.5 mA a 58 V); C9 en el MCU mantiene τ = 0.25 ms. D-05 cambia la relación a 0.0833 si Rigb1 = 2.2 k.
|
||||||
- **Modem control:** PC10 → U20 EN (R113 100 k PD); PC8 → Q20 → PWRKEY (R114 PD); PC11 → Q21 → RESET (R115 PD); PC9 ← U24 ← STATUS 1.8 V. All default OFF or released in reset/DFU. ✅
|
- Control del módem: PC10 → U20 EN (R113 100 k PD); PC8 → Q20 → PWRKEY (R114 PD); PC11 → Q21 → RESET (R115 PD); PC9 ← U24 ← STATUS 1.8 V. Todos apagados o liberados por omisión en reset/DFU. ✅
|
||||||
- **GNSS:** RESET_N PC12 with R105 10 k to /3V3_GNSS (open-drain drive) ✅; TIMEPULSE PA7 ✅; RTK_STAT PC3 ✅; ANT_DETECT/ANT_SHORT_N are receiver inputs with nothing to drive them (D-07).
|
- **GNSS:** RESET_N PC12 con R105 10 k a /3V3_GNSS (manejo open-drain) ✅; TIMEPULSE PA7 ✅; RTK_STAT PC3 ✅; ANT_DETECT/ANT_SHORT_N son entradas del receptor sin nada que las maneje (D-07).
|
||||||
- **Accelerometer INT1 (T11):** PB9 EXTI9, push-pull ✅.
|
- **INT1 del acelerómetro (T11):** PB9 EXTI9, push-pull ✅.
|
||||||
- **NTC2:** PC4, R126 10 k/1 % + C157 100 nF (3.11 mm), P8 ✅.
|
- **NTC2:** PC4, R126 10 k/1 % + C157 100 nF (3.11 mm), P8 ✅.
|
||||||
- **USART6 PC6/PC7:** AF8 on both ✅. TX goes via K1 NO (Mode B only). RX goes via R106 100 Ω and is always connected.
|
- **USART6 PC6/PC7:** AF8 en ambos ✅. TX va por K1 NO (solo Modo B). RX va por R106 100 Ω y siempre está conectado.
|
||||||
- **ERC NC flags on U16.37/38 and U10.13/14:** cosmetic. All four pins are on their nets in the netlist (U16.37 ∈ /USART6_TX {K1.10}; U16.38 ∈ /USART6_RX {R106.2}; U10.13/14 ∈ /I2C_SCL/SDA), the PCB pads carry the same nets (IPC-356 verified) and all four nets are routed. The flags should still be deleted (D-11).
|
- **Banderas NC de ERC en U16.37/38 y U10.13/14:** cosméticas. Los cuatro pines están en sus nets en la netlist (U16.37 ∈ /USART6_TX {K1.10}; U16.38 ∈ /USART6_RX {R106.2}; U10.13/14 ∈ /I2C_SCL/SDA), los pads de la PCB llevan las mismas nets (verificado por IPC-356) y las cuatro nets están ruteadas. Las banderas deben borrarse de todos modos (D-11).
|
||||||
|
|
||||||
## 5. Firmware delta list — `board_v6.h` / FW 0.7.x
|
## 5. Lista de cambios de firmware — `board_v6.h` / FW 0.7.x
|
||||||
|
|
||||||
**Pins whose meaning changes vs V5:** PA1 (GNSS only), PA9 (gone), PA10 (RX-only tap, direct F9P), PB5 (K1 NO is now PC6), PA5 (read analog), PC1/PC2/PC3/PC4/PC6–PC12/PA7/PB9 (new), TMP102 and the PCF P7 reset (gone).
|
**Pines cuyo significado cambia respecto a V5:** PA1 (solo GNSS), PA9 (desaparece), PA10 (derivación solo RX, F9P directo), PB5 (el NO de K1 ahora es PC6), PA5 (leer analógico), PC1/PC2/PC3/PC4/PC6–PC12/PA7/PB9 (nuevos), TMP102 y el reset por P7 del PCF (desaparecen).
|
||||||
|
|
||||||
**New peripherals to initialise:** USART6 (PC7 RX, PC6 TX, 115200, AT + RTCM byte counter); USART1 RX-only on PA10; TIM3_CH2 capture or EXTI7 on PA7 (PPS); EXTI9 on PB9 and the SC7A20 at 0x18 (LIS3DH-compatible: CTRL_REG1/3, INT1_CFG/THS/DURATION); ADC channels IN5 (IGN) and IN14 (NTC2); LSE in high-drive mode (`LSEMOD`) with an LSI fallback for the RTC wake; W5500 as V5.
|
Periféricos nuevos por inicializar: USART6 (PC7 RX, PC6 TX, 115200, AT + contador de bytes RTCM); USART1 solo RX en PA10; captura TIM3_CH2 o EXTI7 en PA7 (PPS); EXTI9 en PB9 y el SC7A20 en 0x18 (compatible LIS3DH: CTRL_REG1/3, INT1_CFG/THS/DURATION); canales ADC IN5 (IGN) e IN14 (NTC2); LSE en modo de alto drive (`LSEMOD`) con respaldo LSI para el despertar por RTC; W5500 como en V5.
|
||||||
|
|
||||||
**Default LOW as the very first lines of `setup()`** (before any delay or USB init): PC10 MODEM_PWR_EN, PC8 PWRKEY, PC11 MODEM_RST, PA1 GNSS_PWR, PB5 BYP_CTRL, **PA15 ETH_RST** (it comes out of reset pulled HIGH by JTDI; the 4.7 k of E-02 holds it low until then), PA6 FAN, PB0 EXT_LED, and **PD2 ETH_PWR_EN** if E-01 is adopted. PA8 CHRG_EN is owned by the governor (HIGH until it decides).
|
**En BAJO por omisión en las primerísimas líneas de `setup()`** (antes de cualquier delay o inicialización de USB): PC10 MODEM_PWR_EN, PC8 PWRKEY, PC11 MODEM_RST, PA1 GNSS_PWR, PB5 BYP_CTRL, **PA15 ETH_RST** (sale del reset en ALTO por el pull-up JTDI; el 4.7 k de E-02 lo mantiene bajo hasta entonces), PA6 FAN, PB0 EXT_LED y **PD2 ETH_PWR_EN** si se adopta E-01. PA8 CHRG_EN pertenece al gobernador (ALTO hasta que decida).
|
||||||
|
|
||||||
**New inputs if the audit fixes are adopted:** PB10 PFO (EXTI10 falling, A-13); PC5 ADC1_IN15 pack NTC, ratio 120/220 (F-51); TMP102 at 0x48 (F-51) and optionally 0x49 (F-52); PC2 antenna-short fault from the TPS2552 (C-01).
|
Entradas nuevas si se adoptan las correcciones de la auditoría: PB10 PFO (EXTI10 flanco de bajada, A-13); PC5 ADC1_IN15 NTC del paquete, relación 120/220 (F-51); TMP102 en 0x48 (F-51) y opcionalmente 0x49 (F-52); PC2 falla de corto de antena desde el TPS2552 (C-01).
|
||||||
|
|
||||||
**Leave hi-Z / analog:** PA9, PB10, PC5, PD2 (unless E-01 / A-13 / F-51 are adopted, which take PD2 / PB10 / PC5), PC1, PC2; all F9P-facing pins while the F9P is off (§2.5); PC7/PC9 while the modem is off (PC9 with pull-down).
|
Dejar en alta impedancia / analógico: PA9, PB10, PC5, PD2 (salvo que se adopten E-01 / A-13 / F-51, que toman PD2 / PB10 / PC5), PC1, PC2; todos los pines hacia el F9P mientras el F9P esté apagado (§2.5); PC7/PC9 mientras el módem esté apagado (PC9 con pull-down).
|
||||||
|
|
||||||
**Open-drain:** PC12. The PC8/PC11 drivers are external FETs, so the MCU pins are push-pull.
|
Open-drain: PC12. Los drivers de PC8/PC11 son FET externos, así que los pines del MCU son push-pull.
|
||||||
|
|
||||||
**Sequencing:** PA1 HIGH → ≥ 4 s → PC10 HIGH → 100 ms → PC8 pulse HIGH ≥ 50 ms → wait PC9 HIGH (≈ 11.2 s) or AT `RDY` → work → AT power-off or PC8 HIGH ≥ 2.5 s → PC10 LOW → PA1 LOW. **Never** leave PC10 HIGH with PA1 LOW (D-01) unless the D-01 hardware fix is fitted. Any MCU reset power-cycles the modem (R113) and the F9P (PA1 floats), so recovery logic must assume a cold modem after every reset.
|
Secuencia: PA1 ALTO → ≥ 4 s → PC10 ALTO → 100 ms → pulso PC8 ALTO ≥ 50 ms → esperar PC9 ALTO (≈ 11.2 s) o `RDY` por AT → trabajo → apagado por AT o PC8 ALTO ≥ 2.5 s → PC10 BAJO → PA1 BAJO. **Nunca** dejar PC10 en ALTO con PA1 en BAJO (D-01) salvo que esté montada la corrección de hardware de D-01. Cualquier reset del MCU apaga y enciende el módem (R113) y el F9P (PA1 flota), así que la lógica de recuperación debe asumir un módem frío después de cada reset.
|
||||||
|
|
||||||
|
Borrador del encabezado:
|
||||||
|
|
||||||
**Draft header:**
|
|
||||||
```c
|
```c
|
||||||
// board_v6.h — EinarBoard v6 (hbox-watchdog-v6), STM32F411RET6 LQFP64
|
// board_v6.h — EinarBoard v6 (hbox-watchdog-v6), STM32F411RET6 LQFP64
|
||||||
#define HBOX_BOARD_NAME "EinarBoard v6 (HBOX v6)"
|
#define HBOX_BOARD_NAME "EinarBoard v6 (HBOX v6)"
|
||||||
@ -223,3 +237,15 @@ While `PIN_GNSS_PWR` is LOW: PA2 INPUT no-pull; PA10 no pull (its internal pull-
|
|||||||
// #define I2C_ADDR_TMP102_MODEM 0x49 // F-52 option
|
// #define I2C_ADDR_TMP102_MODEM 0x49 // F-52 option
|
||||||
// PA9 stays spare (D-12 test pad); board-ID strap (D-08) pin unresolved
|
// PA9 stays spare (D-12 test pad); board-ID strap (D-08) pin unresolved
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Ver también: [manual v6](../manuales/manual-tarjeta-v6.md) · [auditoría completa v6](v6-auditoria-completa.md) · [informe de cambios al esquemático v6](v6-cambios-esquematico.md) · [revisión contra lecciones V5.5](v6-revision-lecciones-v55.md).
|
||||||
|
|
||||||
|
## Historial de revisiones
|
||||||
|
|
||||||
|
| Versión | Fecha | Cambios |
|
||||||
|
|---|---|---|
|
||||||
|
| 1.0 | 2026-09-28 | Mapa de pines de la auditoría v6, republicado con 7 correcciones editoriales (inglés). |
|
||||||
|
| 1.1 | 2026-09-29 | Prosa y encabezados en español; tabla y borrador de `board_v6.h` sin cambios. |
|
||||||
|
|
||||||
|
??? note "Anexo técnico — trazabilidad"
|
||||||
|
Snapshot: sch `ecee9fed…` / pcb `6ddec80d…` (paquete de evidencia 2026-09-28). Los archivos `evidence/*.csv` citados arriba están en `03-Architecture-Hardware/kicad/_to_delete/v6-audit-20260928/evidence/`.
|
||||||
|
|||||||
@ -1,196 +1,136 @@
|
|||||||
---
|
---
|
||||||
title: Watchdog v3 — Proto Bench Bring-up & Build-Readiness (DEV board)
|
title: "Watchdog v3 — Preparación y bring-up del prototipo en protoboard"
|
||||||
tags: [project-drogheda, hardware, watchdog, prototype, breadboard, bring-up, readiness]
|
tags: [project-drogheda, hardware, watchdog, prototype, breadboard, bring-up, readiness, historico]
|
||||||
project: Project Drogheda
|
|
||||||
author: Helgen CTO
|
|
||||||
date: 2026-06-24
|
date: 2026-06-24
|
||||||
status: Active — tomorrow's bench guide (supersedes the procedure half of watchdog-protoboard-bringup.md for v3)
|
project: Project Drogheda
|
||||||
|
author: Helgen Technologies
|
||||||
|
status: HISTÓRICO — guía de banco del 25-jun-2026 (sustituyó la mitad de procedimiento de la lista de compras para v3)
|
||||||
---
|
---
|
||||||
|
|
||||||
# Watchdog v3 — Proto Build Readiness & Bench Bring-up
|
# Watchdog v3 — Preparación y bring-up del prototipo en protoboard
|
||||||
|
|
||||||
> **Scope:** breadboard the **DEV** watchdog on the existing Blackpill and prove the state
|
Tarjeta: V3 en protoboard (prototipo DEV sobre Blackpill, antes de la EinarBoard 1.0).
|
||||||
> machine + sensing + load switch + fan/temp loop. **PCB layout is explicitly out of scope
|
|
||||||
> for tomorrow** (do it after the proto works). Authority: [[watchdog-electrical-design-state]]
|
|
||||||
> (canonical) · firmware `04-Source-Code/firmware/blackpillrtkcode_v2/` (v2.3) ·
|
|
||||||
> schematic `kicad/hbox-watchdog-v3.kicad_sch`.
|
|
||||||
|
|
||||||
> **⚠ UPDATE 2026-07-03 — sensor suite changed to parts in hand.** Proto sensors are now
|
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
|
||||||
> **AHT10** (0x38, I²C1 **alone**, 3V3) + **LM35 → PA7** + **NTC → PB1** (no SHT40/TMP102 on
|
- Para quién: ingeniería (banco QRO)
|
||||||
> proto — PCB-only). The kit's TP4056 has **no TEMP pin** → charge cutoff is **PA8 `CHRG_RUN`**
|
- Cuándo: documento histórico — bring-up del prototipo en protoboard del watchdog v3 (jun-2026), antes de la primera PCB. El paso siguiente fue el [bring-up de la EinarBoard 1.0](einarboard-1.0-bringup.md)
|
||||||
> (IRF9540N on TP4056 IN+, **inverted vs PROD CHRG_EN**). Cutoff switch wired: nodo SYS → SPST
|
- Tiempo: un día de banco
|
||||||
> → MAIN5V. **The fan in hand is 2-wire** → PB10 tach test drops. §1/§3 rows below are patched;
|
- Necesitas: la [lista de compras del protoboard](historico-protoboard.md), Blackpill, fuente de 5 V, multímetro, fuente de calor
|
||||||
> the authoritative wiring = ledger xlsx + `Drogheda_Guia-Conexion-Protoboard_ES_v2.2.pdf`.
|
|
||||||
> **Firmware v2.3 still reads SHT40 (0x44)** — the AHT10 driver / LM35 channel / CHRG_RUN flag
|
|
||||||
> are a pending firmware pass; until then the I²C and charge-cut rows are wire-now/test-later.
|
|
||||||
|
|
||||||
---
|
Traducido del original en inglés (24-jun-2026, actualizado 03-jul-2026).
|
||||||
|
|
||||||
## 0. Verdict — are you ready to build? **Yes, with three caveats**
|
Alcance: armar en protoboard el watchdog DEV sobre el Blackpill existente y probar la máquina de estados + sensado + interruptor de carga + lazo ventilador/temperatura. El layout de la PCB queda explícitamente fuera del alcance (se hace después de que el prototipo funcione). Autoridad: `watchdog-electrical-design-state` (canónico, repo) · firmware `04-Source-Code/firmware/blackpillrtkcode_v2/` (v2.3) · esquemático `kicad/hbox-watchdog-v3.kicad_sch`.
|
||||||
|
|
||||||
You can build and bring up the **core watchdog** tomorrow. Nothing about the schematic or its
|
!!! warning "Actualización 2026-07-03 — el conjunto de sensores cambió a las partes en mano"
|
||||||
ERC state blocks a breadboard build. The caveats are about *firmware coverage* and *scope
|
Los sensores del prototipo ahora son **AHT10** (0x38, I²C1 solo, 3V3) + **LM35 → PA7** + **NTC → PB1** (sin SHT40/TMP102 en el prototipo — solo en PCB). El TP4056 del kit **no tiene pin TEMP** → el corte de carga es **PA8 `CHRG_RUN`** (IRF9540N en IN+ del TP4056, **invertido respecto a `CHRG_EN` de PROD**). Interruptor de corte cableado: nodo SYS → SPST → MAIN5V. **El ventilador en mano es de 2 hilos** → la prueba de tacómetro en PB10 se elimina. Las filas de §1/§3 están parchadas; el cableado autoritativo = libro de conexiones xlsx + `Drogheda_Guia-Conexion-Protoboard_ES_v2.2.pdf`. **El firmware v2.3 todavía lee el SHT40 (0x44)** — el driver del AHT10, el canal LM35 y la bandera CHRG_RUN quedaron pendientes de un pase de firmware; hasta entonces las filas de I²C y corte de carga son «cablear ahora / probar después».
|
||||||
discipline*, not readiness:
|
|
||||||
|
|
||||||
1. **ERC "issues" are cosmetic — not a blocker.** File-based ERC on `hbox-watchdog-v3.kicad_sch`
|
## 0. Veredicto: se puede construir, con tres salvedades
|
||||||
= **0 errors, 1 warning** (a `Q_NPN_BCE` symbol-cache mismatch). The ground net is unified
|
|
||||||
(4 `GND` symbols, **0** placed `GNDREF` instances — the GNDREF you may see is just an orphaned
|
|
||||||
library-cache entry, not a real second ground). None of this affects a breadboard. *(Clean it
|
|
||||||
only before you go to PCB layout — see §2.)*
|
|
||||||
2. **Two v3 sub-circuits aren't in firmware yet.** The flashed v2.3 build does **not** drive the
|
|
||||||
4-LED battery gauge (PB12–15) or `CHRG_EN` (PA8). You can wire them, but they'll sit dark/idle
|
|
||||||
until a firmware pass. Decide per §4 whether to build them now or defer.
|
|
||||||
3. **v2.3 has never been hardware-validated.** Repo invariant: *bench-test before flash.*
|
|
||||||
Tomorrow is its first real bench test — treat step 1 (flash + confirm telemetry) as the gate
|
|
||||||
before trusting any later step.
|
|
||||||
|
|
||||||
**The one thing I couldn't verify:** your exact purchased parts. The two proto BOM `.xlsx`
|
Se puede construir y arrancar el núcleo del watchdog. Nada del esquemático ni de su estado de ERC bloquea un armado en protoboard. Las salvedades son de *cobertura de firmware* y *disciplina de alcance*, no de preparación:
|
||||||
(`watchdog-protoboard-BOM-3boards.xlsx`, `watchdog-LISTA-DE-COMPRAS-ES.xlsx`) are locked open in
|
|
||||||
LibreOffice, so I rebuilt the checklist (§3) from the design docs. Close LibreOffice and I'll diff
|
|
||||||
your actual list against it.
|
|
||||||
|
|
||||||
---
|
1. **Los «problemas» de ERC son cosméticos — no bloquean.** ERC sobre el archivo `hbox-watchdog-v3.kicad_sch` = **0 errores, 1 aviso** (un símbolo `Q_NPN_BCE` que no coincide con la caché). La red de tierra está unificada (4 símbolos `GND`, **0** instancias `GNDREF` colocadas — el GNDREF que se ve es solo una entrada huérfana de la caché de librería, no una segunda tierra real). Nada de esto afecta al protoboard. *(Limpiarlo solo antes de pasar al layout — ver §2.)*
|
||||||
|
2. **Dos subcircuitos de v3 todavía no están en firmware.** El build v2.3 flasheado **no** maneja el indicador de batería de 4 LEDs (PB12–15) ni `CHRG_EN` (PA8). Se pueden cablear, pero quedarán apagados hasta un pase de firmware. Decidir según §4 si se arman ahora o después.
|
||||||
|
3. **v2.3 nunca se ha validado en hardware.** Invariante del repositorio: *probar en banco antes de flashear.* Este es su primer banco real — tratar el paso 1 (flash + confirmar telemetría) como la compuerta antes de confiar en cualquier paso posterior.
|
||||||
|
|
||||||
## 1. What you can prove tomorrow (firmware v2.3 supports it) vs. not
|
**Lo que no se pudo verificar:** las partes compradas exactas. Los dos BOM del prototipo en `.xlsx` (`watchdog-protoboard-BOM-3boards.xlsx`, `watchdog-LISTA-DE-COMPRAS-ES.xlsx`) estaban abiertos en LibreOffice, así que el checklist (§3) se reconstruyó desde los documentos de diseño; se compara con la lista real al cerrarlos.
|
||||||
|
|
||||||
| Sub-circuit | Pins | v2.3 firmware | Testable tomorrow? |
|
## 1. Qué se puede probar (el firmware v2.3 lo soporta) y qué no
|
||||||
|
|
||||||
|
| Subcircuito | Pines | Firmware v2.3 | ¿Se prueba? |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| Boot + `$PHLG`/STREAM telemetry (USB) | USB-C | ✅ `ENABLE_PHLG=1` | **Yes** — this is the gate |
|
| Arranque + telemetría `$PHLG`/STREAM (USB) | USB-C | ✅ `ENABLE_PHLG=1` | Sí — es la compuerta |
|
||||||
| Status LED (blink codes) | PB0 | ✅ | **Yes** |
|
| LED de estado (códigos de parpadeo) | PB0 | ✅ | Sí |
|
||||||
| **RTK-stack load switch** (the recovery heart) | PA1 → 2N3904 → IRF9540 | ✅ OFF-at-reset, MCU-asserts-ON | **Yes** |
|
| Interruptor de carga de la etapa RTK (el corazón de la recuperación) | PA1 → 2N3904 → IRF9540 | ✅ OFF al reset, el MCU lo enciende | Sí |
|
||||||
| Sense: battery / 5 V / ignition | PA0 / PA4 / PA5 | ✅ hysteresis + debounce | **Yes** |
|
| Sensado: batería / 5 V / ignición | PA0 / PA4 / PA5 | ✅ histéresis + debounce | Sí |
|
||||||
| Smart fan (PWM) | PA6 · *(PB10 tach = DNP, fan in hand is 2-wire)* | ✅ 25 kHz PWM · RPM/stall **n/a** | **Yes** (PWM ramp; no tach) |
|
| Ventilador inteligente (PWM) | PA6 · *(PB10 tacómetro = DNP, el ventilador en mano es de 2 hilos)* | ✅ PWM 25 kHz · RPM/atasco n/a | Sí (rampa PWM; sin tacómetro) |
|
||||||
| I²C temp/RH — **AHT10 0x38, alone on the bus** [2026-07-03] | PB6/PB7 | ❌ v2.3 reads SHT40 0x44 → **AHT10 driver pending** (+ MCU-temp fallback works) | wire OK, **reads after firmware patch** |
|
| Temperatura/HR por I²C — **AHT10 0x38, solo en el bus** [2026-07-03] | PB6/PB7 | ❌ v2.3 lee SHT40 0x44 → **driver AHT10 pendiente** (+ el respaldo de temperatura del MCU funciona) | cablear OK, lee después del parche de firmware |
|
||||||
| Analog temp ×2 — NTC→PB1 + **LM35→PA7** [2026-07-03] | PB1 / PA7 | ❌ channels not coded | wire OK, verify with multimeter meanwhile |
|
| Temperatura analógica ×2 — NTC→PB1 + **LM35→PA7** [2026-07-03] | PB1 / PA7 | ❌ canales no codificados | cablear OK, verificar con multímetro mientras tanto |
|
||||||
| 4-LED battery gauge | PB12–15 | ❌ not coded | wire OK, **stays dark** |
|
| Indicador de batería de 4 LEDs | PB12–15 | ❌ no codificado | cablear OK, queda apagado |
|
||||||
| Temp-qualified charge cut — **`CHRG_RUN`** [2026-07-03] | PA8 → 2N3904 → IRF9540N on TP4056 IN+ | ❌ not coded (**inverted vs PROD `CHRG_EN`** — needs flag) | wire OK; hand-test by jumpering PA8 high/low |
|
| Corte de carga por temperatura — **`CHRG_RUN`** [2026-07-03] | PA8 → 2N3904 → IRF9540N en IN+ del TP4056 | ❌ no codificado (**invertido respecto a `CHRG_EN` de PROD** — necesita bandera) | cablear OK; probar a mano puenteando PA8 alto/bajo |
|
||||||
| Reset (hardware) | NRST | n/a (HW only) | **Yes** — button just works |
|
| Reset (hardware) | NRST | n/a (solo HW) | Sí — el botón simplemente funciona |
|
||||||
|
|
||||||
**Fan note [updated 2026-07-03]:** the fan in hand is **2-wire** → no tach; PB10 stays DNP and
|
**Nota del ventilador [actualizada 2026-07-03]:** el ventilador en mano es de **2 hilos** → sin tacómetro; PB10 queda DNP y la comprobación de RPM/atasco de v2.3 no lee nada (inofensivo). La falla de ventilador se inferirá por temperatura en el pase de firmware. El manejo PWM en PA6 a través del IRLZ44N se prueba exactamente igual.
|
||||||
v2.3's RPM/stall check reads nothing (harmless). Fan-fault will be inferred from temperature in
|
|
||||||
the firmware pass. PWM drive on PA6 through the IRLZ44N tests exactly the same.
|
|
||||||
|
|
||||||
---
|
## 2. La situación del ERC
|
||||||
|
|
||||||
## 2. The ERC situation (so you can stop worrying about it tonight)
|
- Lo que ERC reporta en el archivo DEV: 0 errores, 1 aviso (`Q_NPN_BCE` no encontrado en la librería `Device`). Ese aviso significa que el símbolo del esquemático viene de la caché del proyecto y la librería `Device` instalada tiene un nombre/pines ligeramente distintos — puramente cosmético, de enlace de librería.
|
||||||
|
- El GNDREF: **no hay símbolos GNDREF colocados** — solo la *definición* sobrante en la caché embebida. La tierra es una sola red.
|
||||||
|
- **Por qué no bloquea el protoboard:** ERC valida una *netlist para fabricación*. En protoboard todas las tierras se unen físicamente; la colocación fuera de rejilla y un nombre de caché distinto son invisibles para el cobre que se cablea a mano.
|
||||||
|
- Antes del layout (después), limpiar en KiCad: Tools → *Update Symbols from Library* (quita el aviso de caché de `Q_NPN_BCE`), después *Annotate* y volver a correr ERC; mover cualquier parte fuera de rejilla a la rejilla de 1.27 mm. No editar el esquemático por script mientras KiCad lo tiene abierto (conflicto de bloqueo de archivo).
|
||||||
|
|
||||||
- **What ERC actually reports on the DEV file:** 0 errors, 1 warning (`Q_NPN_BCE` not found in
|
## 3. Checklist de partes antes de armar (reconstruido — confirmar contra la caja)
|
||||||
lib `Device`). That warning means the symbol in your schematic is from the project cache and the
|
|
||||||
installed `Device` lib has a slightly different name/pins — **purely a library-link cosmetic**.
|
|
||||||
- **The GNDREF you may have seen:** there are **no placed GNDREF symbols** — only the leftover
|
|
||||||
symbol *definition* in the embedded cache. Your ground is one net.
|
|
||||||
- **Why it doesn't block the breadboard:** ERC validates a *netlist for fabrication*. On a
|
|
||||||
breadboard you tie all grounds together physically; off-grid placement and a cache-name mismatch
|
|
||||||
are invisible to copper you wire by hand.
|
|
||||||
- **Before PCB layout (later), clean these in KiCAD:** Tools → *Update Symbols from Library*
|
|
||||||
(clears the `Q_NPN_BCE` cache warning), then *Annotate* and re-run ERC; nudge any off-grid parts
|
|
||||||
onto the 1.27 mm grid. **Don't let me edit the schematic while you have KiCAD open** (file-lock
|
|
||||||
conflict) — close it first and I'll do the cleanup pass.
|
|
||||||
|
|
||||||
---
|
**Ya se tiene (no comprar):** Blackpill STM32F411, cable USB-C, 18650 + PowerBoost (o fuente de banco), Mean Well SD-15B-05 (o 5 V de banco), multímetro, una fuente de calor (secadora / taza de agua caliente) para la prueba del ventilador. *F9P + 4G master NO se necesitan para este bring-up.*
|
||||||
|
|
||||||
## 3. Pre-build parts checklist (reconstructed — confirm against your box)
|
Núcleo (los «cerebros» — indispensable):
|
||||||
|
|
||||||
**Already have (don't buy):** Blackpill STM32F411, USB-C cable, 18650 + PowerBoost (or bench PSU),
|
- [ ] Protoboard ×2 (830 puntos) + kits de jumpers (M-M y M-F)
|
||||||
Mean Well SD-15B-05 (or bench 5 V), multimeter, a heat source (hair-dryer/cup of hot water) for the
|
- [ ] Surtido de resistencias incl. **330 Ω, 1 k, 4.7 k, 10 k, 100 k, 220 Ω**
|
||||||
fan test. *F9P + 4G master are NOT needed for this bring-up.*
|
- [ ] **2N3904** ×3 (driver del interruptor de carga, TO-92)
|
||||||
|
- [ ] **IRF9540 / IRF9540N** ×2 (P-FET lado alto para 5 V, TO-220)
|
||||||
|
- [ ] LED ×5 (estado) · **100 nF** cerámico ×10 (filtros ADC/desacoplo) · 100 µF ≥ 16 V ×4 (bulk)
|
||||||
|
- [ ] **Potenciómetro de 10 kΩ** ×2 + botón táctil/interruptor deslizante ×2 (barrer VBAT / simular ignición)
|
||||||
|
- [ ] Tira de header macho 1×40 (para pinar cualquier módulo sin pines)
|
||||||
|
|
||||||
**Core (the "brains" — must-have):**
|
**Térmico (nuevo en v3):**
|
||||||
|
|
||||||
- [ ] Breadboard ×2 (830-pt) + jumper kits (M-M and M-F)
|
- [x] Ventilador 5 V, 40–60 mm — **2 hilos, en mano** [2026-07-03] (sin tacómetro; PB10 DNP)
|
||||||
- [ ] Resistor assortment incl. **330 Ω, 1 k, 4.7 k, 10 k, 100 k, 220 Ω**
|
- [ ] **IRLZ44N** ×2 (N-FET de nivel lógico, lado bajo del ventilador) — *un IRF540/IRFZ44 común no enciende con 3.3 V; si no hay IRLZ44N usar 2N2222A/TIP120 + 1 kΩ en base*
|
||||||
- [ ] **2N3904** ×3 (load-switch driver, TO-92)
|
- [ ] **1N5819** ×3 (flyback del ventilador; 1N4007 aceptable)
|
||||||
- [ ] **IRF9540 / IRF9540N** ×2 (P-FET high-side 5 V switch, TO-220)
|
- [x] Breakout I²C **AHT10** (0x38) — en mano [2026-07-03]; **solo en el bus**, 3V3 únicamente; parche de lectura de firmware pendiente (v2.3 habla SHT40)
|
||||||
- [ ] LED ×5 (status) · **100 nF** ceramic ×10 (ADC filters/decoupling) · 100 µF ≥16 V ×4 (bulk)
|
- [x] **LM35** (TO-92) — en mano [2026-07-03]; temperatura analógica #2 en **PA7**, alimentado de 5 V
|
||||||
- [ ] **10 kΩ trim pot** ×2 + tactile button/slide switch ×2 (sweep VBAT / simulate ignition)
|
|
||||||
- [ ] Male header strip 1×40 (to pin any bare module)
|
|
||||||
|
|
||||||
**Thermal (v3 new):**
|
**Adiciones de v3 (armar solo si se quieren cableadas ahora — ver §4):**
|
||||||
|
|
||||||
- [x] 5 V fan, 40–60 mm — **2-wire, in hand** [2026-07-03] (no tach; PB10 DNP)
|
- [ ] Reset: botón táctil → NRST↔GND (+ header de 2 pines opcional para reset externo)
|
||||||
- [ ] **IRLZ44N** ×2 (logic-level N-FET, fan low-side) — *plain IRF540/IRFZ44 won't turn on from
|
- [ ] Indicador de batería: **4× LED + 4× 330 Ω** en PB12–15 *(quedan apagados hasta el firmware)*
|
||||||
3.3 V; if out of IRLZ44N use 2N2222A/TIP120 + 1 kΩ base*
|
- [ ] Sustituto del respaldo de batería: módulo **TP4056** + boost **MT3608** + **2× 1N5819** (OR-ing) *(reproduce carga / pérdida de energía→respaldo / BAT_SENSE)*. **[2026-07-03]** El TP4056 del kit **no tiene pin TEMP** → la NTC de 10 kΩ del cargador no se usa; el corte por temperatura ahora está en el prototipo en hardware: PA8 `CHRG_RUN` → 1 k → 2N3904 → IRF9540N (pull-up 10 k) en IN+ del TP4056 (ALTO = carga; sin MCU = sin carga — invertido respecto a PROD). Más el interruptor de corte: nodo SYS → SPST → MAIN5V (corta vehículo y batería)
|
||||||
- [ ] **1N5819** ×3 (fan flyback; 1N4007 acceptable)
|
|
||||||
- [x] I²C **AHT10** breakout (0x38) — **in hand** [2026-07-03]; **alone on the bus**, 3V3 only;
|
|
||||||
firmware read patch pending (v2.3 speaks SHT40)
|
|
||||||
- [x] **LM35** (TO-92) — **in hand** [2026-07-03]; analog temp #2 on **PA7**, powered from 5 V
|
|
||||||
|
|
||||||
**v3 additions (build only if you want them wired now — see §4):**
|
## 4. Decisión antes de sentarse: cuánto de v3 cablear
|
||||||
|
|
||||||
- [ ] Reset: tactile button → NRST↔GND (+ optional 2-pin header for external reset)
|
- Recomendado — armar el núcleo probable + térmico (todo lo marcado *Sí* en §1). Prueba toda la lógica del watchdog y el nuevo lazo ventilador/temperatura, que es el objetivo del prototipo. Añadir el botón de reset (gratis — funciona sin firmware).
|
||||||
- [ ] Battery gauge: **4× LED + 4× 330 Ω** on PB12–15 *(will stay dark until firmware)*
|
- **Indicador (PB12–15):** cablearlo si se quiere el layout/sensación, pero no encenderá hasta que exista el driver del indicador. *Más barato añadirlo después.*
|
||||||
- [ ] Battery-backup stand-in: **TP4056** module + **MT3608** boost + **2× 1N5819** (OR-ing)
|
- **Sustituto del respaldo de batería (TP4056+MT3608):** vale la pena si se quiere observar específicamente la transferencia pérdida de energía → respaldo y que `BAT_SENSE` siga a la celda. Omitir si el día es solo para la lógica del watchdog.
|
||||||
*(reproduces charge / power-loss→backup / BAT_SENSE)*. **[2026-07-03]** The kit's TP4056 has
|
|
||||||
**no TEMP pin** → the 10 kΩ charger-NTC is unused; the temp-qualified cutoff **is now on the
|
|
||||||
proto in hardware**: PA8 `CHRG_RUN` → 1 k → 2N3904 → IRF9540N (10 k pull-up) on TP4056 IN+
|
|
||||||
(HIGH = charge; MCU absent = no charge — inverted vs PROD). Plus the **cutoff switch**:
|
|
||||||
nodo SYS → SPST → MAIN5V (kills vehicle **and** battery)
|
|
||||||
|
|
||||||
---
|
## 5. Secuencia de bring-up (correr en orden — cada paso habilita el siguiente)
|
||||||
|
|
||||||
## 4. Decision before you sit down: how much of v3 to wire
|
1. **Solo USB — flashear y compuerta.** Compilar v2.3 (Arduino IDE / STM32duino, tarjeta = Blackpill F411CE), flashear por DFU (mantener BOOT0). Abrir serie a 115200. **Confirmar líneas `BOOT` / `COLS` / `TLM` y un `$PHLG,...*CS` cada 30 s.** Si falla, detenerse y corregir el firmware antes de cablear nada.
|
||||||
|
2. LED de estado — PB0 → 330 Ω → LED → GND. Observar que los códigos de parpadeo cambien con el estado.
|
||||||
|
3. Interruptor de carga (el corazón de la recuperación) — PA1 → 1 kΩ → base del 2N3904; colector → gate del IRF9540; 10 kΩ gate→5 V; drain → 5 V conmutado; poner un LED+330 Ω en la salida conmutada. **Confirmar: OFF al reset, ON cuando PA1 lo pide.** (Apagado es el estado seguro.)
|
||||||
|
4. Divisores de sensado — 10 k/10 k ÷2 hacia **PA0** (batería vía 18650/pot) y **PA4** (riel 5 V); pot de 10 kΩ hacia **PA5** (ignición). Barrer y observar que `veh`/`ign`/`vbat` cambien en TLM con histéresis (V5V_ON 4.20 / V5V_OFF 3.80; BAT_CRIT 3.40 / BAT_REC 3.70).
|
||||||
|
5. Ventilador + tacómetro — PA6 → 220 Ω → gate del IRLZ44N; ventilador(−) en el drain; 1N5819 ∥ ventilador; 100 kΩ gate→GND. Tacómetro de 3 hilos → pull-up 10 kΩ a 3V3 → PB10. Verlo girar/rampar; **desconectar el ventilador → `fan_fault`** en telemetría.
|
||||||
|
6. Temperatura I²C — SHT40/TMP102 en PB6/PB7 (+4.7 kΩ pull-up cada uno). Calentarlo → el ventilador rampa en la curva 45→70 °C. *¿Sin sensor? El respaldo de temperatura del MCU también rampa el ventilador — calentar toda la tarjeta.*
|
||||||
|
7. (Opcional) botón de reset — NRST↔GND momentáneo; presionar → reinicio limpio, línea de causa de reset en el log.
|
||||||
|
8. (Opcional) sustituto del respaldo de batería — 5 V del vehículo → IN del TP4056; celda en BAT del TP4056; TP4056/celda → MT3608 → 5 V vía OR-ing 1N5819 al riel; NTC junto a la celda. Quitar los 5 V del vehículo → observar que el respaldo sostenga el riel y `BAT_SENSE` siga.
|
||||||
|
|
||||||
- **Recommended for tomorrow — build the testable core + thermal** (everything in §1 marked
|
## 6. Hoja de cableado (lado Blackpill, v3)
|
||||||
*Yes*). It proves the whole watchdog logic and the new fan/temp loop, which is the point of the
|
|
||||||
proto. Add the **reset button** (free — works with no firmware).
|
|
||||||
- **Gauge (PB12–15):** wire it if you want the layout/feel, but it won't light until I write the
|
|
||||||
gauge driver. *Cheaper to add later.* — **I can write that firmware pass tonight/tomorrow if you
|
|
||||||
want the LEDs live.**
|
|
||||||
- **Battery-backup stand-in (TP4056+MT3608):** worth wiring if you specifically want to watch
|
|
||||||
power-loss → backup hand-off and `BAT_SENSE` track the cell. Skip if tomorrow is about the
|
|
||||||
watchdog logic only.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 5. Bring-up sequence (run in order — each step gates the next)
|
|
||||||
|
|
||||||
1. **USB only — flash & gate.** Compile v2.3 (Arduino IDE / STM32duino, board = Blackpill F411CE),
|
|
||||||
flash via DFU (hold BOOT0). Open serial @115200. **Confirm `BOOT` / `COLS` / `TLM` lines and a
|
|
||||||
`$PHLG,...*CS` every 30 s.** If this fails, stop and fix firmware before wiring anything.
|
|
||||||
2. **Status LED** — PB0 → 330 Ω → LED → GND. Watch blink codes change with state.
|
|
||||||
3. **Load switch (the recovery heart)** — PA1 → 1 kΩ → 2N3904 base; collector → IRF9540 gate;
|
|
||||||
10 kΩ gate→5 V; drain → switched 5 V; put an LED+330 Ω on the switched output.
|
|
||||||
**Confirm: OFF at reset, ON when PA1 asserts.** (Power-off is the safe state.)
|
|
||||||
4. **Sense dividers** — 10 k/10 k ÷2 into **PA0** (battery via 18650/pot) and **PA4** (5 V rail);
|
|
||||||
10 kΩ pot into **PA5** (ignition). Sweep and watch `veh`/`ign`/`vbat` flip in TLM with
|
|
||||||
hysteresis (V5V_ON 4.20 / V5V_OFF 3.80; BAT_CRIT 3.40 / BAT_REC 3.70).
|
|
||||||
5. **Fan + tach** — PA6 → 220 Ω → IRLZ44N gate; fan(−) at the drain; 1N5819 ∥ fan; 100 kΩ
|
|
||||||
gate→GND. 3-wire tach → 10 kΩ pull-up to 3V3 → PB10. Watch it spin/ramp; **unplug fan →
|
|
||||||
`fan_fault`** in telemetry.
|
|
||||||
6. **I²C temp** — SHT40/TMP102 on PB6/PB7 (+4.7 kΩ pull-ups each). Heat it → fan ramps on the
|
|
||||||
45→70 °C curve. *No sensor? The MCU-temp fallback still ramps the fan — warm the whole board.*
|
|
||||||
7. **(Optional) reset button** — NRST↔GND momentary; press → clean reboot, reset-cause line in log.
|
|
||||||
8. **(Optional) battery-backup stand-in** — vehicle 5 V → TP4056 IN; cell on TP4056 BAT; TP4056/cell
|
|
||||||
→ MT3608 → 5 V via 1N5819 OR-ing into the rail; NTC by the cell. Pull vehicle 5 V → watch backup
|
|
||||||
hold the rail and `BAT_SENSE` track.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 6. Wiring cheat-sheet (Blackpill side, v3)
|
|
||||||
|
|
||||||
```
|
```
|
||||||
PA0 ← BAT ÷2 (10k/10k) from 18650+ / pot PA6 → 220Ω → IRLZ44N gate; fan(−); 1N5819 ∥ fan
|
PA0 ← BAT ÷2 (10k/10k) desde 18650+ / pot PA6 → 220Ω → gate IRLZ44N; ventilador(−); 1N5819 ∥ ventilador
|
||||||
PA4 ← 5V ÷2 (10k/10k) from 5V rail PB10 ← fan tach, 10k pull-up → 3V3
|
PA4 ← 5V ÷2 (10k/10k) desde riel 5V PB10 ← tacómetro, pull-up 10k → 3V3
|
||||||
PA5 ← IGN ÷2 (10k/10k) from pot/switch PB6/PB7 → I²C SCL/SDA (+4.7k each → 3V3)
|
PA5 ← IGN ÷2 (10k/10k) desde pot/interruptor PB6/PB7 → I²C SCL/SDA (+4.7k cada uno → 3V3)
|
||||||
PA1 → 1k → 2N3904 base; collector → IRF9540 PB0 → 330Ω → LED → GND
|
PA1 → 1k → base 2N3904; colector → gate IRF9540 PB0 → 330Ω → LED → GND
|
||||||
gate; 10k gate→5V; drain → switched 5V NRST ← reset button → GND (optional)
|
; 10k gate→5V; drain → 5V conmutado NRST ← botón de reset → GND (opcional)
|
||||||
→ stack (LED+330Ω as a test load) PB12–15 → 330Ω → LED → GND (gauge; dark till FW)
|
→ etapa (LED+330Ω como carga de prueba) PB12–15 → 330Ω → LED → GND (indicador; apagado hasta FW)
|
||||||
GND / 5V / 3V3 rails common. Fan 5V from a SEPARATE 5V (2nd PSU / LM2596) — not the switched stack rail.
|
Rieles GND / 5V / 3V3 comunes. 5 V del ventilador desde una fuente de 5 V SEPARADA (2ª fuente / LM2596) — no del riel conmutado de la etapa.
|
||||||
```
|
```
|
||||||
|
|
||||||
> **Proto↔PCB part map (don't get confused):** the schematic uses SMD equivalents (Q1 **AO3401A**
|
!!! note "Mapa de partes prototipo↔PCB (para no confundirse)"
|
||||||
> P-FET, Q5 **MMBT3904**, Q2 **AO3400A** fan FET). On the breadboard you use the through-hole
|
El esquemático usa equivalentes SMD (Q1 **AO3401A** P-FET, Q5 **MMBT3904**, Q2 **AO3400A** FET del ventilador). En el protoboard se usan los sustitutos through-hole de arriba (**IRF9540N / 2N3904 / IRLZ44N**) — misma topología, mismo firmware.
|
||||||
> stand-ins above (**IRF9540N / 2N3904 / IRLZ44N**) — same topology, same firmware.
|
|
||||||
|
|
||||||
---
|
## 7. Después de que el prototipo funcione — siguientes pasos
|
||||||
|
|
||||||
## 7. After the proto works — next steps (not tomorrow)
|
- Pase de firmware: driver del indicador de LEDs (PB12–15 desde `BAT_SENSE`) + lógica `CHRG_EN` de corte de carga en caliente.
|
||||||
|
- KiCad: limpieza cosmética de ERC → huellas → después layout de PCB (DEV primero, después PROD según `watchdog-production-schematic-delta`).
|
||||||
|
- Capacidad del paquete confirmada **~12 Ah** (2026-06-30; la etiqueta «40 Ah» estaba mal) — dimensiona la corriente de carga del LTC4040 (≈ C/5, ≤ 2.5 A).
|
||||||
|
|
||||||
- Firmware pass: gauge-LED driver (PB12–15 from `BAT_SENSE`) + `CHRG_EN` cut-charge-when-hot logic.
|
## Relacionados
|
||||||
- KiCAD: cosmetic ERC cleanup → footprints → **then** PCB layout (DEV first, then build PROD per
|
|
||||||
[[watchdog-production-schematic-delta]]).
|
|
||||||
- Pack Ah confirmed **~12 Ah** (2026-06-30; "40 Ah" label was wrong) — sizes the LTC4040 charge current (≈C/5, ≤2.5 A).
|
|
||||||
|
|
||||||
## Related
|
`watchdog-electrical-design-state` (canónico, repo) · [lista de compras del protoboard](historico-protoboard.md) (22-jun) · `watchdog-production-schematic-delta` (especificación del build PROD, repo) · `kicad/hbox-watchdog-v3.kicad_sch` · lo que siguió: [bring-up de la EinarBoard 1.0](einarboard-1.0-bringup.md).
|
||||||
[[watchdog-electrical-design-state]] (CANONICAL) · [[watchdog-protoboard-bringup]] (Jun-22 shop
|
|
||||||
list) · [[watchdog-production-schematic-delta]] (PROD build spec) · `kicad/hbox-watchdog-v3.kicad_sch`
|
## Historial de revisiones
|
||||||
|
|
||||||
|
| Versión | Fecha | Cambios |
|
||||||
|
|---|---|---|
|
||||||
|
| 1.0 | 2026-06-24 | Guía de banco original (inglés); actualización de sensores 03-jul. |
|
||||||
|
| 1.1 | 2026-09-29 | Traducción al español, encabezado uniforme y enlaces. Sin cambios técnicos. |
|
||||||
|
|||||||
@ -1,130 +1,114 @@
|
|||||||
---
|
---
|
||||||
tags: [project-drogheda, hardware, watchdog, prototype, breadboard, bom, bring-up]
|
title: "Watchdog — Lista de compras para el bring-up en protoboard"
|
||||||
project: Project Drogheda
|
tags: [project-drogheda, hardware, watchdog, prototype, breadboard, bom, bring-up, historico]
|
||||||
author: Helgen CTO
|
|
||||||
date: 2026-06-22
|
date: 2026-06-22
|
||||||
status: Active — shop list for the Blackpill bring-up
|
project: Project Drogheda
|
||||||
|
author: Helgen Technologies
|
||||||
|
status: HISTÓRICO — lista de compras del prototipo en Blackpill (jun-2026)
|
||||||
---
|
---
|
||||||
|
|
||||||
# Watchdog Bring‑up — Protoboard Shopping List (print me)
|
# Watchdog — Lista de compras para el bring-up en protoboard
|
||||||
|
|
||||||
> **⚠ SUPERSEDED for sensors (2026-07-03):** the proto suite is now **AHT10 (0x38, alone on
|
Tarjeta: V3 en protoboard (prototipo sobre Blackpill, antes de la EinarBoard 1.0).
|
||||||
> I²C1, 3V3) + LM35→PA7 + NTC→PB1** — no SHT40/SHT31/BME280/TMP102 on the proto (PCB-only).
|
|
||||||
> Charge cutoff = **PA8 `CHRG_RUN`** on the TP4056 IN+ (the kit module has no TEMP pin).
|
|
||||||
> Current shop lists = `watchdog-protoboard-BOM-3boards.xlsx` / `watchdog-LISTA-DE-COMPRAS-ES.xlsx`;
|
|
||||||
> wiring = ledger xlsx + Guía v2.2. The sensor/substitute rows below are kept for history only.
|
|
||||||
|
|
||||||
> Goal: breadboard the v2.2 watchdog on your **existing Blackpill**, prove the
|
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
|
||||||
> state machine + sensing + load switch + fans + temp loop, **before** any PCB.
|
- Para quién: ingeniería (banco QRO)
|
||||||
> All parts are **through‑hole / breadboard‑friendly** and stocked at a normal MX
|
- Cuándo: documento histórico — compras para el prototipo en protoboard del watchdog v2.2/v3 (jun-2026). El procedimiento de banco es [Bring-up del prototipo v3](historico-proto-bench-v3.md)
|
||||||
> electronics shop (Steren / AG Electrónica / local). Quantities include spares.
|
- Tiempo: una visita a la tienda de electrónica
|
||||||
> Pin map: [[03-Architecture-Hardware/watchdog-pcb-v3-design#2|design §2]] ·
|
- Necesitas: el Blackpill y lo listado en §0
|
||||||
> firmware: `blackpillrtkcode_v2.ino` (v2.2).
|
|
||||||
|
|
||||||
## 0. Already have — do NOT buy
|
Traducido del original en inglés (22-jun-2026, sustituido en parte el 03-jul-2026).
|
||||||
STM32F411 Blackpill · USB‑C/micro cable · 18650 + PowerBoost · Mean Well SD‑15B‑05
|
|
||||||
(or a bench PSU) · multimeter · the F9P + 4G master (only needed later, not for the
|
|
||||||
bring‑up). A **heat source** (hair dryer / lighter / hot water cup) to trigger the
|
|
||||||
thermal/fan test — household, no need to buy.
|
|
||||||
|
|
||||||
---
|
!!! warning "Sustituido para sensores (2026-07-03)"
|
||||||
|
El conjunto de sensores del prototipo pasó a ser **AHT10 (0x38, solo en I²C1, 3V3) + LM35→PA7 + NTC→PB1** — sin SHT40/SHT31/BME280/TMP102 en el prototipo (solo en PCB). Corte de carga = **PA8 `CHRG_RUN`** en IN+ del TP4056 (el módulo del kit no tiene pin TEMP). Listas de compras vigentes = `watchdog-protoboard-BOM-3boards.xlsx` / `watchdog-LISTA-DE-COMPRAS-ES.xlsx`; cableado = libro de conexiones xlsx + Guía v2.2. Las filas de sensores/sustitutos de abajo se conservan solo por historia.
|
||||||
|
|
||||||
## 1. Core — bring up the "brains" (buy this even if the shop is sparse)
|
Objetivo: armar en protoboard el watchdog v2.2 sobre el Blackpill existente y probar la máquina de estados + sensado + interruptor de carga + ventiladores + lazo de temperatura, antes de cualquier PCB. Todas las partes son through-hole / aptas para protoboard y se consiguen en una tienda de electrónica normal en México (Steren / AG Electrónica / local). Las cantidades incluyen repuestos. Mapa de pines: `watchdog-pcb-v3-design` §2 (repo) · firmware: `blackpillrtkcode_v2.ino` (v2.2).
|
||||||
|
|
||||||
| # | Item | Qty | Value / part | ~MXN | For |
|
## 0. Ya se tiene — no comprar
|
||||||
|
|
||||||
|
STM32F411 Blackpill · cable USB-C/micro · 18650 + PowerBoost · Mean Well SD-15B-05 (o una fuente de banco) · multímetro · el F9P + 4G master (solo hacen falta después, no para el bring-up). Una fuente de calor (secadora / encendedor / taza de agua caliente) para disparar la prueba térmica/de ventilador — de casa, no hay que comprarla.
|
||||||
|
|
||||||
|
## 1. Núcleo — arrancar los «cerebros» (comprar esto aunque la tienda esté escasa)
|
||||||
|
|
||||||
|
| # | Ítem | Cant. | Valor / parte | ~MXN | Para |
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| 1 | Breadboard 830‑pt | 2 | half/full | 120 | build surface (2 = room for fans/sensors) |
|
| 1 | Protoboard 830 puntos | 2 | media/completa | 120 | superficie de armado (2 = espacio para ventiladores/sensores) |
|
||||||
| 2 | Jumper wires M‑M | 1 pk | 65 pcs | 60 | board wiring |
|
| 2 | Jumpers M-M | 1 pq | 65 pzas | 60 | cableado de la placa |
|
||||||
| 3 | Jumper wires M‑F | 1 pk | 40 pcs | 50 | to Blackpill / modules |
|
| 3 | Jumpers M-F | 1 pq | 40 pzas | 50 | hacia el Blackpill / módulos |
|
||||||
| 4 | Resistor assortment box | 1 | ¼ W (incl. 330Ω,1k,4.7k,10k,100k,220Ω) | 120 | dividers, gates, pull‑ups |
|
| 4 | Caja surtida de resistencias | 1 | ¼ W (incl. 330 Ω, 1 k, 4.7 k, 10 k, 100 k, 220 Ω) | 120 | divisores, gates, pull-ups |
|
||||||
| 5 | LED (any) | 5 | 3/5 mm | 10 | status LED on PB0 |
|
| 5 | LED (cualquiera) | 5 | 3/5 mm | 10 | LED de estado en PB0 |
|
||||||
| 6 | Ceramic cap 100 nF | 10 | 0.1 µF (104) | 20 | ADC filters + decoupling |
|
| 6 | Capacitor cerámico 100 nF | 10 | 0.1 µF (104) | 20 | filtros ADC + desacoplo |
|
||||||
| 7 | Electrolytic 100 µF / ≥16 V | 4 | — | 20 | rail bulk / modem‑burst reservoir |
|
| 7 | Electrolítico 100 µF / ≥ 16 V | 4 | — | 20 | bulk del riel / reserva para ráfagas del módem |
|
||||||
| 8 | **2N3904** (NPN, TO‑92) | 3 | load‑switch driver | 15 | PA1 → P‑FET gate |
|
| 8 | **2N3904** (NPN, TO-92) | 3 | driver del interruptor de carga | 15 | PA1 → gate del P-FET |
|
||||||
| 9 | **IRF9540 / IRF9540N** (P‑MOSFET, TO‑220) | 2 | high‑side 5 V switch | 40 | switched 5 V to "stack" |
|
| 9 | **IRF9540 / IRF9540N** (P-MOSFET, TO-220) | 2 | interruptor lado alto de 5 V | 40 | 5 V conmutado hacia la «etapa» |
|
||||||
| 10 | **10 kΩ trim pot** | 2 | breadboard trimmer | 30 | sweep VBAT / ignition to test thresholds |
|
| 10 | **Potenciómetro de 10 kΩ** | 2 | trimmer para protoboard | 30 | barrer VBAT / ignición para probar umbrales |
|
||||||
| 11 | Tactile button or slide switch | 2 | — | 20 | simulate ignition on/off |
|
| 11 | Botón táctil o interruptor deslizante | 2 | — | 20 | simular ignición on/off |
|
||||||
| 12 | Male header strip | 1 | 1×40, 2.54 mm | 15 | solder onto any module that needs pins |
|
| 12 | Tira de header macho | 1 | 1×40, 2.54 mm | 15 | soldar en cualquier módulo que necesite pines |
|
||||||
|
|
||||||
**Core subtotal ≈ 520 MXN.** With this you can flash v2.2, watch the `$PHLG`/TLM log,
|
**Subtotal del núcleo ≈ 520 MXN.** Con esto se puede flashear v2.2, ver el log `$PHLG`/TLM y validar el interruptor de carga + los tres divisores de sensado + LED — toda la lógica del watchdog — sin las partes térmicas.
|
||||||
and validate the **load switch + the three sense dividers + LED** — the whole watchdog
|
|
||||||
logic — without the thermal parts.
|
|
||||||
|
|
||||||
---
|
## 2. Adiciones térmicas — ventiladores + temperatura (lo nuevo de v3)
|
||||||
|
|
||||||
## 2. Thermal add‑ons — fans + temperature (the v3 new stuff)
|
| # | Ítem | Cant. | Valor / parte | ~MXN | Para / nota |
|
||||||
|
|
||||||
| # | Item | Qty | Value / part | ~MXN | For / note |
|
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| 13 | 5 V fan, 40–60 mm, **3‑wire** | 1 | 3‑wire = has tach | 60 | one extraction fan; 3‑wire so PB10 reads RPM. Grab a 2nd as a spare if cheap |
|
| 13 | Ventilador 5 V, 40–60 mm, **3 hilos** | 1 | 3 hilos = tiene tacómetro | 60 | un ventilador de extracción; de 3 hilos para que PB10 lea RPM. Tomar un 2º como repuesto si es barato |
|
||||||
| 14 | **IRLZ44N** (logic‑level N‑MOSFET, TO‑220) | 2 | fan low‑side PWM | 30 | 1 + spare; **must be logic‑level**; see substitute below |
|
| 14 | **IRLZ44N** (N-MOSFET de nivel lógico, TO-220) | 2 | PWM lado bajo del ventilador | 30 | 1 + repuesto; debe ser de nivel lógico; ver sustituto abajo |
|
||||||
| 15 | Schottky **1N5819** | 3 | fan flyback | 10 | one across the fan (1N4007 ok if out) |
|
| 15 | Schottky **1N5819** | 3 | flyback del ventilador | 10 | uno en paralelo con el ventilador (1N4007 sirve si no hay) |
|
||||||
| 16 | I²C temp+RH breakout | 1 | **SHT31 / SHT40** ideal | 120 | matches firmware (0x44). RH catches condensation |
|
| 16 | Breakout I²C temp+HR | 1 | **SHT31 / SHT40** ideal | 120 | coincide con el firmware (0x44). La HR detecta condensación |
|
||||||
| 17 | Analog temp **LM35** (TO‑92) | 2 | sure‑thing fallback | 25 | every shop has it; heat it → watch fans ramp |
|
| 17 | Temperatura analógica **LM35** (TO-92) | 2 | respaldo seguro | 25 | lo tienen en todas las tiendas; calentarlo → ver rampar los ventiladores |
|
||||||
| 18 | **DS18B20** waterproof probe | 1 | 1‑wire | 45 | great as the battery/modem hot‑spot probe |
|
| 18 | Sonda **DS18B20** sumergible | 1 | 1-wire | 45 | excelente como sonda de punto caliente de batería/módem |
|
||||||
| 19 | LM2596 buck module (adj.) | 1 | 24/12 → 5 V | 35 | dedicated **fan 5 V** rail (caveat §0a) if no 2nd bench PSU |
|
| 19 | Módulo buck LM2596 (ajustable) | 1 | 24/12 → 5 V | 35 | riel de **5 V del ventilador** dedicado (salvedad §0a) si no hay 2ª fuente de banco |
|
||||||
|
|
||||||
**Thermal subtotal ≈ 260 MXN** (one fan + driver + one temp option). Grab #13–15 for the fan, and **one** temperature option
|
**Subtotal térmico ≈ 260 MXN** (un ventilador + driver + una opción de temperatura). Tomar #13–15 para el ventilador y una opción de temperatura (#16 ideal; si no, #17/#18).
|
||||||
(#16 ideal, else #17/#18).
|
|
||||||
|
|
||||||
---
|
## 3. Sustituciones (el inventario de la tienda varía — todas funcionan)
|
||||||
|
|
||||||
## 3. Substitutions (shop stock varies — these all work)
|
| Si no tienen… | Comprar en su lugar | Detalle |
|
||||||
|
|
||||||
| If they're out of… | Buy instead | Catch |
|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| IRLZ44N (logic‑level FET) | **2N2222A** (TO‑92) or **TIP120** (Darlington) | BJT: add 1 kΩ base resistor; fine for a <0.5 A fan. **Plain IRF540/IRFZ44 won't fully turn on from 3.3 V — avoid.** |
|
| IRLZ44N (FET de nivel lógico) | **2N2222A** (TO-92) o **TIP120** (Darlington) | BJT: añadir resistencia de base de 1 kΩ; bien para un ventilador < 0.5 A. **Un IRF540/IRFZ44 común no enciende del todo con 3.3 V — evitar.** |
|
||||||
| SHT31/SHT40 I²C breakout | **BME280/BMP280** (I²C, common) | address 0x76/0x77 → small firmware change |
|
| Breakout I²C SHT31/SHT40 | **BME280/BMP280** (I²C, común) | dirección 0x76/0x77 → cambio pequeño de firmware |
|
||||||
| Any I²C sensor | **LM35** (analog) or **DS18B20** (1‑wire) | not I²C → firmware reads ADC / 1‑wire instead (I'll patch it) |
|
| Cualquier sensor I²C | **LM35** (analógico) o **DS18B20** (1-wire) | no es I²C → el firmware lee ADC / 1-wire en su lugar (parche de firmware) |
|
||||||
| IRF9540 P‑MOSFET | keep your original, or **2N2222 high‑side** is awkward — ask for any P‑channel ≥30 V | gate fully pulled to GND by the 2N3904, so a standard P‑FET is OK here |
|
| P-MOSFET IRF9540 | conservar el original; un **2N2222 en lado alto** es incómodo — pedir cualquier canal P ≥ 30 V | el gate lo lleva a GND por completo el 2N3904, así que un P-FET estándar sirve aquí |
|
||||||
| 1N5819 Schottky | **1N4007** | slightly slower; fine at fan PWM |
|
| Schottky 1N5819 | **1N4007** | un poco más lento; bien a la PWM del ventilador |
|
||||||
|
|
||||||
---
|
## 4. Orden de bring-up (para que la lista se corresponda con acciones)
|
||||||
|
|
||||||
## 4. Bring‑up order (so the list maps to actions)
|
1. **Solo USB** — flashear v2.2, abrir serie a 115200. Confirmar líneas `BOOT/COLS/TLM` **y un `$PHLG,...*CS` cada 30 s**. (Sin partes externas — esto prueba el firmware.)
|
||||||
|
2. **LED en PB0** vía 330 Ω → observar que los códigos de parpadeo cambien con el estado.
|
||||||
|
3. Interruptor de carga — 2N3904 + IRF9540 + 1 kΩ (base) + 10 kΩ (pull-up de gate) desde un riel de 5 V; poner un LED+330 Ω en la salida conmutada. Conmutar: confirmar OFF al reset, ON cuando PA1 lo maneja. (Este es el corazón de la recuperación.)
|
||||||
|
4. Divisores de sensado — dos de 10 kΩ cada uno (÷2) hacia **PA0** (batería vía 18650) y **PA4** (riel 5 V); un pot de 10 kΩ hacia **PA5** (ignición). Barrerlos y ver `veh`/`ign` cambiar en el TLM con histéresis/debounce.
|
||||||
|
5. Ventilador — PA6 → gate (220 Ω) del IRLZ44N → ventilador(−); diodo de flyback en paralelo con el ventilador; 100 kΩ gate→GND. Verlo girar/rampar; hilo de tacómetro → pull-up 10 kΩ a 3V3 → PB10 → RPM en el log; **desconectar el ventilador → `FAN_FAULT`**.
|
||||||
|
6. Temperatura — breakout I²C en PB6/PB7 (+4.7 kΩ pull-ups), o LM35 en un pin ADC. Calentarlo → los ventiladores rampan según la curva 45→70 °C; a 75 °C entra el derate térmico existente.
|
||||||
|
|
||||||
1. **Just USB** — flash v2.2, open serial @115200. Confirm `BOOT/COLS/TLM` lines **and a
|
## 5. Hoja de cableado (lado Blackpill)
|
||||||
`$PHLG,...*CS` every 30 s**. (No external parts — this proves the firmware.)
|
|
||||||
2. **LED on PB0** via 330 Ω → watch the blink codes change with state.
|
|
||||||
3. **Load switch** — 2N3904 + IRF9540 + 1 kΩ (base) + 10 kΩ (gate pull‑up) from a 5 V rail;
|
|
||||||
put an LED+330 Ω on the switched output. Toggle: confirm **OFF at reset**, ON when PA1
|
|
||||||
drives. (This is the heart of recovery.)
|
|
||||||
4. **Sense dividers** — two 10 kΩ each (÷2) into **PA0** (battery via 18650) and **PA4**
|
|
||||||
(5 V rail); a 10 kΩ pot into **PA5** (ignition). Sweep them and watch `veh`/`ign` flip in
|
|
||||||
the TLM with hysteresis/debounce.
|
|
||||||
5. **Fan** — PA6 → gate (220 Ω) of IRLZ44N → fan(−); flyback diode across the fan;
|
|
||||||
100 kΩ gate→GND. Watch it spin/ramp; tach wire → 10 kΩ pull‑up to 3V3 → PB10 →
|
|
||||||
RPM in the log; **unplug the fan → `FAN_FAULT`**.
|
|
||||||
6. **Temperature** — I²C breakout on PB6/PB7 (+4.7 kΩ pull‑ups), or LM35 on an ADC pin.
|
|
||||||
Heat it → fans ramp per the 45→70 °C curve; at 75 °C the existing thermal derate kicks in.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 5. Wiring cheat‑sheet (Blackpill side)
|
|
||||||
|
|
||||||
```
|
```
|
||||||
PA0 ← BAT ÷2 (10k/10k) from 18650+ PA6 → 220Ω → IRLZ44N gate; fan(−); 1N5819 ∥ fan
|
PA0 ← BAT ÷2 (10k/10k) desde 18650+ PA6 → 220Ω → gate IRLZ44N; ventilador(−); 1N5819 ∥ ventilador
|
||||||
PA4 ← 5V ÷2 (10k/10k) from 5V rail PB10 ← fan tach, 10k pull-up → 3V3 (1k series)
|
PA4 ← 5V ÷2 (10k/10k) desde riel 5V PB10 ← tacómetro, pull-up 10k → 3V3 (1k en serie)
|
||||||
PA5 ← IGN ÷2 (10k/10k) from pot/switch PB6/PB7 → I²C SCL/SDA (+4.7k each → 3V3)
|
PA5 ← IGN ÷2 (10k/10k) desde pot/interr. PB6/PB7 → I²C SCL/SDA (+4.7k cada uno → 3V3)
|
||||||
PA1 → 1k → 2N3904 base; collector → IRF9540 PB0 → 330Ω → LED → GND
|
PA1 → 1k → base 2N3904; colector → gate PB0 → 330Ω → LED → GND
|
||||||
gate; 10k gate→5V; drain → switched (PA7/PB12 left free — 2nd fan if ever needed)
|
IRF9540; 10k gate→5V; drain → 5V (PA7/PB12 libres — 2º ventilador si algún día hace falta)
|
||||||
5V → stack (use an LED load to test)
|
conmutado → etapa (LED como carga)
|
||||||
GND/5V/3V3 rails common; fan 5V from a SEPARATE 5V (LM2596 or 2nd PSU) — not the stack rail.
|
Rieles GND/5V/3V3 comunes; 5 V del ventilador desde una fuente de 5 V SEPARADA (LM2596 o 2ª fuente) — no del riel de la etapa.
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
## 6. Nota sobre el sensor de temperatura y el firmware
|
||||||
|
|
||||||
## 6. Note on the temp sensor + firmware
|
El firmware v2.2 lee **I²C SHT40 (0x44) + TMP102 (0x48)**. Según lo que se consiga:
|
||||||
The v2.2 firmware reads **I²C SHT40 (0x44) + TMP102 (0x48)**. Whatever you bring back:
|
|
||||||
- **SHT31/SHT40** → works as‑is (SHT40) or a 1‑line address tweak (SHT31).
|
|
||||||
- **BME280** → change address + read call.
|
|
||||||
- **LM35 / DS18B20** → analog / 1‑wire; tell me which and I'll patch `buildPHLG()` +
|
|
||||||
the fan‑curve input to read it. For *tomorrow's* bring‑up the fan loop can also be
|
|
||||||
driven off the **MCU‑internal** temp (already in firmware) — heat the whole board and
|
|
||||||
the derate still triggers, so you can prove the fan path even before the sensor arrives.
|
|
||||||
|
|
||||||
## Related
|
- **SHT31/SHT40** → funciona tal cual (SHT40) o con un ajuste de dirección de una línea (SHT31).
|
||||||
- **3-board PROTO BOM (use this for bring-up):** `watchdog-protoboard-BOM-3boards.xlsx` (engineering, ≈MXN 5,341) + `watchdog-LISTA-DE-COMPRAS-ES.xlsx` (plain-Spanish shop list). **v3 adds:** reset (on-board + external), 4-LED battery gauge, power-cutoff switch, and battery backup (proto: TP4056+MT3608+OR-diodes+NTC; PCB: **LTC4040**). Canonical electrical state: [[03-Architecture-Hardware/watchdog-electrical-design-state|watchdog-electrical-design-state.md]].
|
- **BME280** → cambiar dirección + llamada de lectura.
|
||||||
- [[03-Architecture-Hardware/watchdog-pcb-v3-bom|v3 BOM (production + bench, xlsx)]] ·
|
- **LM35 / DS18B20** → analógico / 1-wire; se parcha `buildPHLG()` + la entrada de la curva del ventilador para leerlo. Para el bring-up inmediato el lazo del ventilador también puede manejarse con la temperatura interna del MCU (ya está en el firmware) — calentar toda la tarjeta y el derate se dispara igual, así que se puede probar el camino del ventilador antes de que llegue el sensor.
|
||||||
[[03-Architecture-Hardware/watchdog-pcb-v3-design|v3 design (pin map, sub‑circuits)]] ·
|
|
||||||
`04-Source-Code/firmware/blackpillrtkcode_v2/blackpillrtkcode_v2.ino`
|
## Relacionados
|
||||||
|
|
||||||
|
- **BOM PROTO de 3 tarjetas (usar para el bring-up):** `watchdog-protoboard-BOM-3boards.xlsx` (ingeniería, ≈ MXN 5,341) + `watchdog-LISTA-DE-COMPRAS-ES.xlsx` (lista de compras en español llano). **v3 añade:** reset (en tarjeta + externo), indicador de batería de 4 LEDs, interruptor de corte de energía y respaldo de batería (prototipo: TP4056+MT3608+diodos OR+NTC; PCB: **LTC4040**). Estado eléctrico canónico: `watchdog-electrical-design-state.md` (repo).
|
||||||
|
- `watchdog-pcb-v3-bom` (BOM v3 producción + banco, xlsx) · `watchdog-pcb-v3-design` (diseño v3: mapa de pines, subcircuitos) · `04-Source-Code/firmware/blackpillrtkcode_v2/blackpillrtkcode_v2.ino` — todos en el repo.
|
||||||
|
- Lo que siguió: [Bring-up del prototipo v3](historico-proto-bench-v3.md) → [Bring-up de la EinarBoard 1.0](einarboard-1.0-bringup.md).
|
||||||
|
|
||||||
|
## Historial de revisiones
|
||||||
|
|
||||||
|
| Versión | Fecha | Cambios |
|
||||||
|
|---|---|---|
|
||||||
|
| 1.0 | 2026-06-22 | Lista original (inglés); nota de sustitución 03-jul. |
|
||||||
|
| 1.1 | 2026-09-29 | Traducción al español, encabezado uniforme y enlaces. Sin cambios técnicos. |
|
||||||
|
|||||||
@ -1,102 +1,80 @@
|
|||||||
---
|
---
|
||||||
title: EinarBoard 1.0 (rev 1.1) — Bring-Up Runbook & Anticipated-Trouble Register
|
title: "EinarBoard 1.0 — Runbook de bring-up"
|
||||||
tags: [project-drogheda, hardware, einarboard, bringup, testing, runbook]
|
tags: [project-drogheda, hardware, einarboard, v3, bringup, testing, runbook, historico]
|
||||||
project: Project Drogheda
|
|
||||||
author: Helgen CTO
|
|
||||||
date: 2026-07-08
|
date: 2026-07-08
|
||||||
status: ACTIVE — execute in order when boards arrive
|
project: Project Drogheda
|
||||||
|
author: Helgen Technologies
|
||||||
|
status: HISTÓRICO — se ejecutó en orden cuando llegaron las tarjetas (jul-2026)
|
||||||
---
|
---
|
||||||
|
|
||||||
# EinarBoard 1.0 — Bring-Up Runbook
|
# EinarBoard 1.0 — Runbook de bring-up
|
||||||
|
|
||||||
**Order (FINAL — replacement of 2026-07-08):** original PCBA SMT026070860564 cancelled (2 BOM
|
Tarjeta: V3 (EinarBoard 1.0, rev 1.1, Blackpill en zócalo).
|
||||||
lines lost at matching); replacement placed 2026-07-08, **live-verified complete: 53 lines,
|
|
||||||
116/118 designators assembled** incl. D2/DBK2/DBK1 and all six LEDs. Rotations confirmed by Leo
|
|
||||||
in the placement viewer. Deltas vs the original parts map: LEDs = **C2295 KT-0805R (RED — all
|
|
||||||
indicators red by choice)** · RS1 = **C2988654** (HoLLR1206-1W-8mR-1%, spec-compliant alternate) ·
|
|
||||||
100nF = C1591 · 22µF ×4 = C76637 · R51 = C22972 · 22k = C31850. **J1/J2 NOT assembled (the only
|
|
||||||
unselected parts)** → bench jig-solder; buy two 1×20 2.54 female sockets locally (the C50984 reel
|
|
||||||
is locked in JLC inventory for future PCBA). Setpoints re-derived from ordered values 2026-07-08: fan 4.99 V · modem 3.33 V ·
|
|
||||||
I_chg 2.42 A · input limit 3.12 A · PFI 4.61 V · backup 4.79 V — all on target.
|
|
||||||
|
|
||||||
---
|
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
|
||||||
|
- Para quién: ingeniería (banco QRO)
|
||||||
|
- Cuándo: documento histórico — se aplicó a la primera tarjeta V3 al llegar de JLCPCB (jul-2026). Para las V3 que hoy están en campo, usa [diagnóstico en banco](diagnostico-banco.md) y [reflasheo](reflasheo-unidades.md)
|
||||||
|
- Tiempo: medio día para la tarjeta #1 (secciones C–D); 1 h por tarjeta en la réplica (F)
|
||||||
|
- Necesitas: fuente de banco con límite de corriente, multímetro, lupa, Blackpill, simpleRTK2B Pro, módem 4G, paquete 1S4P o celda de banco, resistencia de 10 kΩ (emulación de NTC)
|
||||||
|
|
||||||
## A. NOW — before production starts (the $479 gate)
|
Traducido del original en inglés (08-jul-2026).
|
||||||
|
|
||||||
- [ ] **DFM Analysis check (4–6 h after ordering, Order History → DFM Analysis).** Verify the
|
**Pedido (FINAL — reemplazo del 2026-07-08):** el PCBA original SMT026070860564 se canceló (2 líneas del BOM se perdieron en el emparejamiento); el reemplazo se colocó el 2026-07-08, **verificado completo en vivo: 53 líneas, 116/118 designadores ensamblados**, incluidos D2/DBK2/DBK1 y los seis LEDs. Rotaciones confirmadas por Leo en el visor de colocación. Diferencias contra el mapa de partes original: LEDs = **C2295 KT-0805R (ROJO — todos los indicadores rojos por decisión)** · RS1 = **C2988654** (HoLLR1206-1W-8mR-1%, alterno conforme a especificación) · 100 nF = C1591 · 22 µF ×4 = C76637 · R51 = C22972 · 22 k = C31850. **J1/J2 NO ensamblados (las únicas partes no seleccionadas)** → soldar en banco con escantillón; comprar localmente dos zócalos hembra 1×20 de 2.54 mm (el carrete C50984 quedó bloqueado en el inventario de JLC para PCBA futuros). Puntos de ajuste re-derivados de los valores pedidos el 2026-07-08: ventilador 4.99 V · módem 3.33 V · I_chg 2.42 A · límite de entrada 3.12 A · PFI 4.61 V · respaldo 4.79 V — todos en objetivo.
|
||||||
polarity dozen against the answer sheet: **U6 pin-1 TOP-LEFT · U2/U7 pin-1 BOTTOM-RIGHT ·
|
|
||||||
Q7 pin-1 TOP-LEFT · bands: D2/Dbk2/D5/D10 LEFT, Dbk1 TOP, D6 RIGHT · electrolytics "+":
|
|
||||||
C3 BOTTOM, C10/C43 LEFT · LED cathodes LEFT (D1, D4G1, DB1–4)**. The preview already caught
|
|
||||||
U6 and U2 turned 180° once — assume nothing.
|
|
||||||
- [ ] **Confirm Production File is set to Yes with 48 h auto-confirm** — an unwatched weekend
|
|
||||||
approves itself. Approve only after the DFM check passes.
|
|
||||||
- [ ] Answer every JLC review email **same day** (schedule protection).
|
|
||||||
|
|
||||||
## B. Reception (day of delivery)
|
## A. Ahora — antes de que arranque la producción (la compuerta de US$479)
|
||||||
|
|
||||||
- [ ] Visual vs the ordered renders: DNPs bare (P3/P13/H3, MOD1 field), all sockets present,
|
- [ ] **Revisión del análisis DFM (4–6 h después de pedir, Order History → DFM Analysis).** Verificar la «docena de polaridad» contra la hoja de respuestas: **U6 pin 1 ARRIBA-IZQUIERDA · U2/U7 pin 1 ABAJO-DERECHA · Q7 pin 1 ARRIBA-IZQUIERDA · bandas: D2/Dbk2/D5/D10 IZQUIERDA, Dbk1 ARRIBA, D6 DERECHA · «+» de electrolíticos: C3 ABAJO, C10/C43 IZQUIERDA · cátodos de LED IZQUIERDA (D1, D4G1, DB1–4)**. La vista previa ya atrapó una vez U6 y U2 girados 180°: no dar nada por sentado.
|
||||||
P1 wire-entry toward the edge, J9 opening at the edge.
|
- [ ] **Confirmar que Production File está en Yes con autoconfirmación a 48 h** — un fin de semana sin vigilancia se aprueba solo. Aprobar solo después de que pase la revisión DFM.
|
||||||
- [ ] Polarity dozen again, on physical boards, one board, 5 minutes with a loupe.
|
- [ ] Contestar cada correo de revisión de JLC el mismo día (protección del calendario).
|
||||||
- [ ] Measure J1↔J2 socket spacing on one board (decision record says 15.00 mm) and test-insert
|
|
||||||
a Blackpill — expect light preload if the module measures wider; note insertion force.
|
|
||||||
|
|
||||||
## C. Board #1 electrical bring-up — NO modules socketed, current-limited bench supply
|
## B. Recepción (día de entrega)
|
||||||
|
|
||||||
1. **Resistance sanity (unpowered):** 24V_IN→GND, MAIN5V→GND, 3V3_MODEM→GND — no shorts (>1 kΩ).
|
- [ ] Visual contra los renders pedidos: DNP vacíos (P3/P13/H3, campo de MOD1), todos los zócalos presentes, entrada de cable de P1 hacia el borde, apertura de J9 en el borde.
|
||||||
2. **24 V path:** bench supply 24 V, limit 200 mA → P1 pins 1/2. Check: 24V rail after Q10 ≈ 24 V
|
- [ ] La docena de polaridad otra vez, sobre tarjetas físicas, una tarjeta, 5 minutos con lupa.
|
||||||
(reverse-protection FET conducting), **5V_FAN = 5.0 V** (U2 running), fan header P6 pin 1.
|
- [ ] Medir la separación de zócalos J1↔J2 en una tarjeta (el registro de decisiones dice 15.00 mm) e insertar de prueba un Blackpill — esperar una precarga ligera si el módulo mide más ancho; anotar la fuerza de inserción.
|
||||||
3. **Vehicle 5 V path:** 5 V, limit 500 mA → P2. Check: **MAIN5V ≈ 5 V** (LTC4040 input FET
|
|
||||||
passing), SYS5V after P11 jumpered/switched ON, Blackpill socket pins J1-20/J2-18 = 5 V.
|
|
||||||
4. **Load switch default-OFF (invariant #1):** with no MCU, SW_5V must be **0 V**. Then short
|
|
||||||
J1-7 (PWR_CTRL) to 3V3 momentarily → SW_5V = 5 V, **3V3_MODEM = 3.33 V** (U7 up).
|
|
||||||
5. **Ignition sense:** 12 V and 24 V through P1-3 → IGN_SENSE (J1-11) clamps ≈ 3.5–3.6 V; 0 V → <0.3 V.
|
|
||||||
6. **⚠ CHARGER NTC TRAP (this WILL look like a dead charger):** with no battery-harness NTC on
|
|
||||||
P4-3, the LTC4040's NTC pin is pulled to VIN by R55 → reads "battery too cold" → **charging
|
|
||||||
silently paused**. For bench charge tests, connect **10 kΩ from P4-3 to P4-2 (GND)** to emulate
|
|
||||||
25 °C. Do not debug the charger without it.
|
|
||||||
7. **Charger (with NTC emulation + real 1S4P pack or bench cell):** connect pack to P4 →
|
|
||||||
CHRG (J2-11) low while charging; charge current ramps ≤ 2.42 A; input current never exceeds
|
|
||||||
~3.1 A (watch the bench meter — this validates RS1/CLPROG behavior).
|
|
||||||
8. **Backup event (THE LTC4040 validation — this block never saw a proto):** system running on
|
|
||||||
P2 5 V with pack connected → pull P2 → **VSYS holds ≈ 4.79 V** from boost, board keeps running.
|
|
||||||
Measure: no back-feed voltage appearing on the disconnected P2 pins (validates Q7 orientation
|
|
||||||
fix). Restore P2 → seamless return + recharge. **Do this before any fleet commitment.**
|
|
||||||
9. **K1 fail-safe:** unpowered board: continuity K1 pin 1 ↔ pins 5/6 (NC closed = corrections
|
|
||||||
path exists with dead MCU). Powered + PB5 high: path opens to NO (pin 10).
|
|
||||||
|
|
||||||
## D. Module integration (board #1 only, then replicate)
|
## C. Bring-up eléctrico de la tarjeta #1 — sin módulos en zócalos, fuente de banco con límite de corriente
|
||||||
|
|
||||||
- [ ] **MOD1 socket strips: solder using the simpleRTK2B Pro as the jig** (strips on module →
|
1. Verificación de resistencias (sin energía): 24V_IN→GND, MAIN5V→GND, 3V3_MODEM→GND — sin cortos (> 1 kΩ).
|
||||||
insert → solder → remove). Same jig trick for any stiff J1/J2 fit.
|
2. **Camino de 24 V:** fuente de banco a 24 V, límite 200 mA → P1 pines 1/2. Verificar: riel de 24 V después de Q10 ≈ 24 V (FET de protección inversa conduciendo), **5V_FAN = 5.0 V** (U2 funcionando), header del ventilador P6 pin 1.
|
||||||
- [ ] Blackpill in (USB end toward board-left / VB-B12 corner at pads-1 — sockets don't key!).
|
3. **Camino de 5 V del vehículo:** 5 V, límite 500 mA → P2. Verificar: **MAIN5V ≈ 5 V** (FET de entrada del LTC4040 pasando), SYS5V después de P11 con puente o interruptor en ON, pines del zócalo del Blackpill J1-20/J2-18 = 5 V.
|
||||||
Flash bench firmware via module USB.
|
4. **Interruptor de carga apagado por omisión (invariante #1):** sin MCU, SW_5V debe ser **0 V**. Después, cortocircuitar momentáneamente J1-7 (PWR_CTRL) a 3V3 → SW_5V = 5 V, **3V3_MODEM = 3.33 V** (U7 arriba).
|
||||||
- [ ] **Firmware flag: PROD `CHRG_EN` (PA8) is HIGH = charge OFF** — the proto TP4056 logic was
|
5. Sensado de ignición: 12 V y 24 V por P1-3 → IGN_SENSE (J1-11) recorta a ≈ 3.5–3.6 V; 0 V → < 0.3 V.
|
||||||
INVERTED (`CHRG_RUN` HIGH = ON). Port the flag before flashing, or units will disable charging
|
6. **⚠ Trampa de la NTC del cargador (esto VA a parecer un cargador muerto):** sin la NTC del arnés de batería en P4-3, el pin NTC del LTC4040 queda llevado a VIN por R55 → lee «batería demasiado fría» → carga pausada en silencio. Para pruebas de carga en banco, conectar **10 kΩ de P4-3 a P4-2 (GND)** para emular 25 °C. No depurar el cargador sin esto.
|
||||||
when they mean to enable it.
|
7. **Cargador (con emulación de NTC + paquete 1S4P real o celda de banco):** conectar el paquete a P4 → CHRG (J2-11) en bajo mientras carga; la corriente de carga sube hasta ≤ 2.42 A; la corriente de entrada nunca pasa de ~3.1 A (observar el amperímetro de la fuente — esto valida el comportamiento de RS1/CLPROG).
|
||||||
- [ ] Pro into MOD1 (antenna top-left, USBs bottom, per the validated orientation). **Old-rev
|
8. **Evento de respaldo (LA validación del LTC4040 — este bloque nunca pasó por un prototipo):** sistema corriendo con los 5 V de P2 y el paquete conectado → quitar P2 → **VSYS se sostiene en ≈ 4.79 V** desde el boost, la tarjeta sigue funcionando. Medir: no aparece voltaje de retorno en los pines desconectados de P2 (valida la corrección de orientación de Q7). Restaurar P2 → regreso sin interrupción + recarga. Hacer esto antes de cualquier compromiso de flota.
|
||||||
Pros: XBee switch → UART1. All revs: Pro's own XBee socket stays EMPTY; never plug the Pro's
|
9. **Fail-safe de K1:** tarjeta sin energía: continuidad K1 pin 1 ↔ pines 5/6 (NC cerrado = el camino de correcciones existe con el MCU muerto). Energizada + PB5 en alto: el camino se abre hacia NO (pin 10).
|
||||||
"USB XBee" port in service** (its FTDI sits on the RTCM3 downlink on new revs).
|
|
||||||
- [ ] **F9P config: write to FLASH, not RAM** (Jun-20 finding — RAM-only config dies at power
|
|
||||||
cycle). Verify with a power cycle before shipping any unit.
|
|
||||||
- [ ] 4G NTRIP Master into J7/J8 (VCC row = J7). Telcel micro-SIM installed first. Board USB-C
|
|
||||||
(J9) enables the modem's USB only when a host provides VBUS — bench console via J9 is safe;
|
|
||||||
it does not fight the uplink.
|
|
||||||
- [ ] End-to-end: open sky, corrections from caster → **GGA quality 4 (RTK fixed)** — the
|
|
||||||
fleet's first-ever verified fix ≥4 per the Jun-20 gap.
|
|
||||||
|
|
||||||
## E. Known-accepted risks (decision register — watch, don't re-litigate)
|
## D. Integración de módulos (solo tarjeta #1, después replicar)
|
||||||
|
|
||||||
| Risk | Decision/owner | Watch for |
|
- [ ] **Tiras del zócalo MOD1: soldar usando el simpleRTK2B Pro como escantillón** (tiras en el módulo → insertar → soldar → retirar). Mismo truco para cualquier ajuste rígido de J1/J2.
|
||||||
|
- [ ] Blackpill puesto (extremo USB hacia la izquierda de la tarjeta / esquina VB-B12 en los pads 1 — ¡los zócalos no tienen guía!). Flashear el firmware de banco por el USB del módulo.
|
||||||
|
- [ ] **Bandera de firmware: en PROD `CHRG_EN` (PA8) en ALTO = carga APAGADA** — la lógica del TP4056 del prototipo estaba INVERTIDA (`CHRG_RUN` en ALTO = ENCENDIDA). Portar la bandera antes de flashear, o las unidades desactivarán la carga cuando quieran activarla.
|
||||||
|
- [ ] Pro en MOD1 (antena arriba a la izquierda, USB abajo, según la orientación validada). **Pros de revisión vieja: interruptor XBee → UART1. Todas las revisiones: el zócalo XBee propio del Pro se queda VACÍO; nunca conectar el puerto «USB XBee» del Pro en servicio** (su FTDI queda sobre el enlace de bajada RTCM3 en las revisiones nuevas).
|
||||||
|
- [ ] **Configuración del F9P: escribir en FLASH, no en RAM** (hallazgo del 20-jun — la configuración solo en RAM muere con el ciclo de energía). Verificar con un ciclo de energía antes de embarcar cualquier unidad.
|
||||||
|
- [ ] 4G NTRIP Master en J7/J8 (fila VCC = J7). Micro-SIM Telcel instalada primero. El USB-C de la tarjeta (J9) habilita el USB del módem solo cuando un host entrega VBUS — la consola de banco por J9 es segura; no pelea con el enlace de subida.
|
||||||
|
- [ ] Extremo a extremo: cielo abierto, correcciones desde el caster → **calidad GGA 4 (RTK fijo)** — el primer fix ≥ 4 verificado de la flota, según la brecha del 20-jun.
|
||||||
|
|
||||||
|
## E. Riesgos conocidos y aceptados (registro de decisiones — vigilar, no reabrir)
|
||||||
|
|
||||||
|
| Riesgo | Decisión / responsable | Qué vigilar |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| J1/J2 rows at 15.00 mm vs 15.24 reading of module | Leo, vernier-verified, 2026-07-07 | Insertion force; pin preload; use jig-solder trick if stiff |
|
| Filas J1/J2 a 15.00 mm vs lectura de 15.24 del módulo | Leo, verificado con vernier, 2026-07-07 | Fuerza de inserción; precarga de pines; usar el truco del escantillón si queda rígido |
|
||||||
| LTC4040 block fab'd without proto validation | Gate waived consciously (boards cheap) | Step C.8 is the validation — run it FIRST |
|
| Bloque LTC4040 fabricado sin validación en prototipo | Compuerta omitida a conciencia (tarjetas baratas) | El paso C.8 es la validación — correrlo PRIMERO |
|
||||||
| C22 = 35 V part on 24 V node (spec said 50 V) | Accepted at order | Nothing expected; note for rev 1.2 BOM |
|
| C22 = parte de 35 V en el nodo de 24 V (la especificación decía 50 V) | Aceptado al pedir | No se espera nada; nota para el BOM de la rev 1.2 |
|
||||||
| C778721/C90142 ceramic bias derating | Within design margins | — |
|
| Derating por polarización de cerámicos C778721/C90142 | Dentro de los márgenes de diseño | — |
|
||||||
| D4G1 modem LED driven from 1.8 V pin | Known-dim (audit L4) | Don't debug as a fault |
|
| LED del módem D4G1 manejado desde un pin de 1.8 V | Se sabe que es tenue (auditoría L4) | No depurarlo como falla |
|
||||||
| Backup boost budget 1.93 A of 2.5 A at modem TX burst | Margin accepted; 104 µF VSYS bank | Brownout during TX only if budget exceeded — scope VSYS during TX test |
|
| Presupuesto del boost de respaldo 1.93 A de 2.5 A en ráfaga TX del módem | Margen aceptado; banco de 104 µF en VSYS | Brownout durante TX solo si se excede el presupuesto — osciloscopio en VSYS durante la prueba de TX |
|
||||||
|
|
||||||
## F. Fleet replication (after board #1 passes everything)
|
## F. Réplica en flota (después de que la tarjeta #1 pase todo)
|
||||||
|
|
||||||
Per-unit checklist: NTC harness populated (removes the C.6 emulation) · module orientations ·
|
Checklist por unidad: arnés con NTC poblado (elimina la emulación de C.6) · orientación de módulos · interruptor a UART1 en Pros viejos · configuración del F9P en FLASH verificada con ciclo de energía · tiras soldadas con escantillón · verificación de GGA ≥ 4 a cielo abierto · después integración en el HBOX según los documentos del gabinete (ajuste verificado el 2026-07-07).
|
||||||
switch-to-UART1 on old Pros · F9P FLASH config verified by power cycle · jig-soldered strips ·
|
|
||||||
GGA≥4 open-sky check · then HBOX integration per the enclosure docs (fit verified 2026-07-07).
|
Ver también: [manual V3](../manuales/manual-tarjeta-V3.md) · [pinout V3](../montaje/pinout-arneses.md) · [BOM dividido V3](../montaje/bom-split.md).
|
||||||
|
|
||||||
|
## Historial de revisiones
|
||||||
|
|
||||||
|
| Versión | Fecha | Cambios |
|
||||||
|
|---|---|---|
|
||||||
|
| 1.0 | 2026-07-08 | Runbook original (inglés). |
|
||||||
|
| 1.1 | 2026-09-29 | Traducción al español, encabezado uniforme y enlaces. Sin cambios técnicos. |
|
||||||
|
|||||||
@ -1,33 +1,40 @@
|
|||||||
---
|
---
|
||||||
title: "Procedimiento de banco — Validación de la política de ventilador FW v3.0.3"
|
title: "Validación en banco — política de ventilador por potencia (FW v3.0.3)"
|
||||||
project: Project Drogheda
|
tags: [project-drogheda, testing, ventilador, firmware, banco, v3, v4, procedimiento]
|
||||||
date: 2026-08-18
|
date: 2026-08-18
|
||||||
|
project: Project Drogheda
|
||||||
version: v1.0
|
version: v1.0
|
||||||
audience: ingeniería (banco)
|
audience: ingeniería (banco)
|
||||||
target: EinarBoard 1.0 / 2.0 (V4) + firmware blackpillrtkcode_v3 v3.0.3
|
target: EinarBoard 1.0 / 2.0 (V4) + firmware blackpillrtkcode_v3 v3.0.3
|
||||||
tags: [project-drogheda, testing, ventilador, firmware, banco]
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Validación en banco — política de ventilador por potencia (FW v3.0.3)
|
# Validación en banco — política de ventilador por potencia (FW v3.0.3)
|
||||||
|
|
||||||
|
Tarjeta: V3 (EinarBoard 1.0) y V4 (EinarBoard 2.0) con firmware `blackpillrtkcode_v3` v3.0.3.
|
||||||
|
|
||||||
|
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
|
||||||
|
- Para quién: ingeniería (banco)
|
||||||
|
- Cuándo: al validar un binario V3/V4 con la política de ventilador por potencia (v3.0.3 o posterior que la conserve)
|
||||||
|
- Tiempo: ~30 min por unidad (incluye 5 min al 100 % y el ciclo de calentamiento)
|
||||||
|
- Necesitas: fuente 24 V, fuente 5 V a 5.2 V, fuente de ignición 12–24 V, multímetro, laptop con terminal 115200, pistola de aire caliente y osciloscopio opcional
|
||||||
|
|
||||||
## 0. Qué se está probando
|
## 0. Qué se está probando
|
||||||
|
|
||||||
Desde v3.0.3 el ventilador **ya no se modula**: solo tiene dos estados.
|
Desde v3.0.3 el ventilador **ya no se modula**: solo tiene dos estados.
|
||||||
|
|
||||||
| Condición | Ventilador |
|
| Condición | Ventilador |
|
||||||
|---|---|
|
|---|---|
|
||||||
| VEH5V presente **Y** ignición ON | **100 % fijo (DC), a cualquier temperatura** |
|
| VEH5V presente Y ignición ON | **100 % fijo (DC), a cualquier temperatura** |
|
||||||
| Falta VEH5V **o** falta ignición ("modo batería") | Termostato: **enciende ≥ 48 °C, apaga < 45 °C** (temperatura de control = la más alta de aire SHT40 / batería TMP102 / MCU) |
|
| Falta VEH5V o falta ignición ("modo batería") | Termostato: **enciende ≥ 48 °C, apaga < 45 °C** (temperatura de control = la más alta de aire SHT40 / batería TMP102 / MCU) |
|
||||||
|
|
||||||
La lógica reacciona en ≤ 2 s (cadencia térmica) más el debounce de entradas (~0.75 s). No hay sensado de 24 V: la **ignición es el testigo** de que el riel de 24 V existe.
|
La lógica reacciona en ≤ 2 s (cadencia térmica) más el debounce de entradas (~0.75 s). No hay sensado de 24 V: la ignición es el testigo de que el riel de 24 V existe.
|
||||||
|
|
||||||
> ⚠️ **PELIGRO:** hay 24 V en P1. Verifique polaridad antes de energizar. No conecte ni desconecte el ventilador (P6) con la tarjeta energizada.
|
!!! danger "24 V en P1 y riel de 5 V"
|
||||||
|
Verifica la polaridad antes de energizar. No conectes ni desconectes el ventilador (P6) con la tarjeta energizada. En banco sin batería, 5 V ≥ 5.2 V o paquete conectado ([reglas de banco](diagnostico-banco.md#reglas-de-banco)); si la unidad se reinicia sola, revisa esto primero.
|
||||||
> 🛑 **ALTO:** en banco sin batería, el riel de 5 V debe estar en **≥ 5.2 V** o con el pack conectado (disparo PFI 4.60 V del LTC4040 bajo ráfaga LTE — nota 24-jul). Si la unidad se reinicia sola durante la prueba, revise esto primero.
|
|
||||||
|
|
||||||
## 1. Equipo
|
## 1. Equipo
|
||||||
|
|
||||||
Fuente de 24 V (≥ 1 A), fuente de 5 V ajustada a 5.2 V (o el SD-15B de la unidad), fuente o puente de 12–24 V para ignición, multímetro, laptop con terminal serie (USB del Blackpill, **115200 8N1**), pistola de aire caliente (a baja, < 70 °C), osciloscopio (opcional, para confirmar DC).
|
Fuente de 24 V (≥ 1 A), fuente de 5 V ajustada a 5.2 V (o el SD-15B de la unidad), fuente o puente de 12–24 V para ignición, multímetro, laptop con terminal serie (USB del Blackpill, **115200 8N1**), pistola de aire caliente (a baja, < 70 °C), osciloscopio (opcional, para confirmar DC).
|
||||||
|
|
||||||
## 2. Puntos de medición
|
## 2. Puntos de medición
|
||||||
|
|
||||||
@ -35,18 +42,18 @@ Fuente de 24 V (≥ 1 A), fuente de 5 V ajustada a 5.2 V (o el SD-15B de la unid
|
|||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| **P1** (GX16-5 / Phoenix) | 1 | `24V_IN` | Alimenta SOLO el buck del ventilador (U2 → `5V_FAN`) |
|
| **P1** (GX16-5 / Phoenix) | 1 | `24V_IN` | Alimenta SOLO el buck del ventilador (U2 → `5V_FAN`) |
|
||||||
| | 2 | `GND` | Retorno común |
|
| | 2 | `GND` | Retorno común |
|
||||||
| | 3 | `IGN_IN` | Ignición cruda 12–24 V (divisor Rig 22k / Rigb 10k → PA5) |
|
| | 3 | `IGN_IN` | Ignición cruda 12–24 V (divisor Rig 22k / Rigb 10k → PA5) |
|
||||||
| **P2** | 1 | `VEH5V` | 5 V del SD-15B (= "vehículo presente" para el firmware, umbral ON > 4.2 V / OFF < 3.8 V) |
|
| **P2** | 1 | `VEH5V` | 5 V del SD-15B (= "vehículo presente" para el firmware, umbral ON > 4.2 V / OFF < 3.8 V) |
|
||||||
| **P6** (ventilador) | 1 | `5V_FAN` | +5 V del buck — debe medir ~5 V siempre que haya 24 V en P1.1 |
|
| **P6** (ventilador) | 1 | `5V_FAN` | +5 V del buck — debe medir ~5 V siempre que haya 24 V en P1.1 |
|
||||||
| | 2 | `FAN_RET` | Drenaje de Q2 (lado bajo). **Fan ON → ~0 V; fan OFF → ~5 V** |
|
| | 2 | `FAN_RET` | Drenaje de Q2 (lado bajo). **Fan ON → ~0 V; fan OFF → ~5 V** |
|
||||||
| | 4 | `FAN_TACH_RAW` | No usado (ventilador de 2 hilos) — debe quedar al aire |
|
| | 4 | `FAN_TACH_RAW` | No usado (ventilador de 2 hilos) — debe quedar al aire |
|
||||||
| **PA6** (Blackpill / Rg) | — | `FAN_PWM` | Comando del MCU vía Rg (100 Ω) → gate de Q2. **ON → 3.3 V DC plano; OFF → 0 V** |
|
| **PA6** (Blackpill / Rg) | — | `FAN_PWM` | Comando del MCU vía Rg (100 Ω) → gate de Q2. **ON → 3.3 V DC plano; OFF → 0 V** |
|
||||||
|
|
||||||
La medición que decide es **P6.2 respecto a GND** (o la tensión P6.1↔P6.2 a través del ventilador: ~5 V girando, ~0 V parado). PA6 confirma qué está comandando el firmware; P6.2 confirma que Q2 y el ventilador obedecen.
|
La medición que decide es **P6.2 respecto a GND** (o la tensión P6.1↔P6.2 a través del ventilador: ~5 V girando, ~0 V parado). PA6 confirma qué está comandando el firmware; P6.2 confirma que Q2 y el ventilador obedecen.
|
||||||
|
|
||||||
## 3. Telemetría de referencia
|
## 3. Telemetría de referencia
|
||||||
|
|
||||||
Abra la terminal serie antes de empezar. Cada 2 s sale una línea `TLM`; las columnas relevantes (ver línea `COLS` al arranque):
|
Abra la terminal serie antes de empezar. Cada 2 s sale una línea `TLM`; las columnas relevantes (ver línea `COLS` al arranque):
|
||||||
|
|
||||||
`...,veh,ign,...,tair,rh,tbat,fan_rpm,fan_pwm,fan_fault,...`
|
`...,veh,ign,...,tair,rh,tbat,fan_rpm,fan_pwm,fan_fault,...`
|
||||||
|
|
||||||
@ -56,30 +63,40 @@ Abra la terminal serie antes de empezar. Cada 2 s sale una línea `TLM`; las col
|
|||||||
|
|
||||||
## 4. Procedimiento
|
## 4. Procedimiento
|
||||||
|
|
||||||
Estado inicial: P1 con 24 V, P2 con 5.2 V, **ignición desconectada**, ventilador en P6, unidad a temperatura ambiente (< 40 °C).
|
Estado inicial: P1 con 24 V, P2 con 5.2 V, ignición desconectada, ventilador en P6, unidad a temperatura ambiente (< 40 °C).
|
||||||
|
|
||||||
| # | Acción | Resultado esperado | Verificar |
|
| # | Acción | Resultado esperado | Verificar |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| 1 | Energizar la unidad (arranque en frío) | **Self-test**: los 4 LEDs de gauge encienden en secuencia y el ventilador da un soplo de ~0.8 s | Confirma que Q2 + ventilador funcionan, independiente de la lógica |
|
| 1 | Energizar la unidad (arranque en frío) | Self-test: los 4 LEDs de gauge encienden en secuencia y el ventilador da un soplo de ~0.8 s | Confirma que Q2 + ventilador funcionan, independiente de la lógica |
|
||||||
| 2 | Esperar 10 s, sin ignición | Ventilador **apagado** | P6.2 ≈ 5 V · PA6 = 0 V · TLM: `veh=1 ign=0 fan_pwm=0` |
|
| 2 | Esperar 10 s, sin ignición | Ventilador apagado | P6.2 ≈ 5 V · PA6 = 0 V · TLM: `veh=1 ign=0 fan_pwm=0` |
|
||||||
| 3 | Aplicar 12–24 V a P1.3 (ignición) | En ≤ 3 s el ventilador arranca al **100 %**, aun frío | P6.2 ≈ 0 V · PA6 = 3.3 V **DC plano** (sin PWM en el osciloscopio) · TLM: `ign=1 fan_pwm=100` |
|
| 3 | Aplicar 12–24 V a P1.3 (ignición) | En ≤ 3 s el ventilador arranca al **100 %**, aun frío | P6.2 ≈ 0 V · PA6 = 3.3 V DC plano (sin PWM en el osciloscopio) · TLM: `ign=1 fan_pwm=100` |
|
||||||
| 4 | Mantener 5 min | Sigue al 100 % sin interrupciones; `fan_fault=0` | Sin parpadeos en P6.2 |
|
| 4 | Mantener 5 min | Sigue al 100 % sin interrupciones; `fan_fault=0` | Sin parpadeos en P6.2 |
|
||||||
| 5 | Quitar ignición (24 V y 5 V se quedan) | En ≤ 3 s el ventilador **se apaga** (modo batería, unidad fría) | P6.2 ≈ 5 V · `ign=0 fan_pwm=0` |
|
| 5 | Quitar ignición (24 V y 5 V se quedan) | En ≤ 3 s el ventilador se apaga (modo batería, unidad fría) | P6.2 ≈ 5 V · `ign=0 fan_pwm=0` |
|
||||||
| 6 | Sin ignición: calentar el sensor SHT40 (sonda P5) con aire caliente, gradual | Al llegar `tair` a **48 °C** el ventilador arranca al 100 % | TLM: `tair≥48 → fan_pwm=100`. **No** debe arrancar a 45–47 °C (histéresis) |
|
| 6 | Sin ignición: calentar el sensor SHT40 (sonda P5) con aire caliente, gradual | Al llegar `tair` a **48 °C** el ventilador arranca al 100 % | TLM: `tair≥48 → fan_pwm=100`. **No** debe arrancar a 45–47 °C (histéresis) |
|
||||||
| 7 | Retirar el calor y dejar enfriar | Sigue girando entre 45–47 °C; **se apaga solo por debajo de 45 °C** | `tair=46 → fan_pwm=100` · `tair=44 → fan_pwm=0` |
|
| 7 | Retirar el calor y dejar enfriar | Sigue girando entre 45–47 °C; **se apaga solo por debajo de 45 °C** | `tair=46 → fan_pwm=100` · `tair=44 → fan_pwm=0` |
|
||||||
| 8 | Reconectar ignición con la unidad aún tibia | 100 % inmediato sin importar la temperatura | `fan_pwm=100` |
|
| 8 | Reconectar ignición con la unidad aún tibia | 100 % inmediato sin importar la temperatura | `fan_pwm=100` |
|
||||||
| 9 | (Opcional, con pack conectado) Quitar el 5 V de P2 dejando 24 V + ignición | El firmware pasa a modo batería (gate incompleto): manda termostato, no el 100 % fijo | `veh=0 → fan_pwm` según temperatura |
|
| 9 | (Opcional, con pack conectado) Quitar el 5 V de P2 dejando 24 V + ignición | El firmware pasa a modo batería (gate incompleto): manda termostato, no el 100 % fijo | `veh=0 → fan_pwm` según temperatura |
|
||||||
|
|
||||||
> ℹ️ **NOTA sobre el paso 6:** apunte el aire caliente a la **sonda SHT40 (P5)**, no a la tarjeta completa — así el resultado es reproducible. No exceda ~65 °C: arriba de 45 °C en la celda el firmware además corta la carga (`Cell hot -> charge OFF` en el log); es comportamiento esperado, no una falla.
|
!!! note "Sobre el paso 6"
|
||||||
|
Apunte el aire caliente a la **sonda SHT40 (P5)**, no a la tarjeta completa — así el resultado es reproducible. No exceda ~65 °C: arriba de 45 °C en la celda el firmware además corta la carga (`Cell hot -> charge OFF` en el log); es comportamiento esperado, no una falla.
|
||||||
|
|
||||||
## 5. Criterios de aceptación
|
## 5. Criterios de aceptación
|
||||||
|
|
||||||
La unidad PASA si: (1) `fw=3.0.3` en BOOT; (2) `fan_pwm` solo toma valores 0 y 100 durante toda la prueba; (3) con ignición + VEH5V el ventilador gira al 100 % en frío (paso 3 — este es el cambio de comportamiento clave vs. versiones anteriores); (4) la histéresis 48/45 °C del modo batería se cumple en ambos sentidos (pasos 6–7); (5) PA6 es DC plano en ON (sin portadora de 25 kHz); (6) `fan_fault=0` al final.
|
La unidad PASA si: (1) `fw=3.0.3` en BOOT; (2) `fan_pwm` solo toma valores 0 y 100 durante toda la prueba; (3) con ignición + VEH5V el ventilador gira al 100 % en frío (paso 3 — este es el cambio de comportamiento clave vs. versiones anteriores); (4) la histéresis 48/45 °C del modo batería se cumple en ambos sentidos (pasos 6–7); (5) PA6 es DC plano en ON (sin portadora de 25 kHz); (6) `fan_fault=0` al final.
|
||||||
|
|
||||||
Cualquier desviación: capture el log serie completo (es append-only, basta guardar la sesión de terminal) y repórtelo con el número de paso.
|
Cualquier desviación: capture el log serie completo (es append-only, basta guardar la sesión de terminal) y repórtelo con el número de paso.
|
||||||
|
|
||||||
## 6. Registro
|
## 6. Registro
|
||||||
|
|
||||||
| Unidad | Fecha | Ingeniero | P3 (100 % frío) | P6/P7 (histéresis) | fan_fault | PASA/FALLA |
|
| Unidad | Fecha | Ingeniero | P3 (100 % frío) | P6/P7 (histéresis) | fan_fault | PASA/FALLA |
|
||||||
|---|---|---|---|---|---|---|
|
|---|---|---|---|---|---|---|
|
||||||
| H____ | | | | | | |
|
| H____ | | | | | | |
|
||||||
|
|
||||||
|
Detalle de la política en el firmware: [manual V3](../manuales/manual-tarjeta-V3.md) · [manual V4](../manuales/manual-tarjeta-V4.md). Binarios: [Descargas](../descargas/index.md).
|
||||||
|
|
||||||
|
## Historial de revisiones
|
||||||
|
|
||||||
|
| Versión | Fecha | Cambios |
|
||||||
|
|---|---|---|
|
||||||
|
| 1.0 | 2026-08-18 | Primera versión. |
|
||||||
|
| 1.1 | 2026-09-29 | Encabezado uniforme, avisos en formato del sitio y enlaces a manuales y descargas. |
|
||||||
|
|||||||
@ -1,256 +1,197 @@
|
|||||||
---
|
---
|
||||||
title: EinarBoard v5 (HBOX v5) — Procedimiento de prueba y flasheo por tarjeta
|
title: "EinarBoard V5 — Prueba y flasheo por tarjeta"
|
||||||
tags: [project-drogheda, hardware, einarboard, v5, bringup, testing, flasheo, procedimiento]
|
tags: [project-drogheda, hardware, einarboard, v5, v5.5, v5.6, bringup, testing, flasheo, procedimiento]
|
||||||
|
date: 2026-09-15
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
author: Helgen Technologies
|
author: Helgen Technologies
|
||||||
date: 2026-09-15
|
version: 1.2
|
||||||
version: 1.0
|
status: ACTIVO
|
||||||
status: ACTIVO — aplicar a cada una de las 15 tarjetas del lote JLC 22-Ago-2026
|
|
||||||
audience: técnicos de banco
|
audience: técnicos de banco
|
||||||
---
|
---
|
||||||
|
|
||||||
# EinarBoard v5 — Procedimiento de prueba y flasheo
|
# EinarBoard V5 — Prueba y flasheo por tarjeta
|
||||||
|
|
||||||
**Lote:** 15 tarjetas `hbox-watchdog-v5` (JLCPCB, pedido 22-Ago-2026).
|
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
|
||||||
**Objetivo:** verificar que cada tarjeta enciende sin cortos, que sus rieles están en valor,
|
- Para quién: técnicos de banco.
|
||||||
y dejarla flasheada con el firmware de arranque entregado por ingeniería.
|
- Cuándo: al recibir cada tarjeta V5.5 o V5.6 desnuda, antes de montar módulos. Siguiente paso: [Módulos RTK y 4G](v5-modulos-integracion.md).
|
||||||
**Duración estimada:** 15–20 min por tarjeta.
|
- Tiempo: 15–20 min por tarjeta.
|
||||||
|
- Necesitas: multímetro, fuente de banco 0–30 V con límite de corriente, cable USB-C con datos, laptop con STM32CubeProgrammer o `dfu-util`, jumper 2.54 mm para P11, lupa, el binario V5 vigente de [Descargas](../descargas/index.md) y el [acta de tarjeta V5](../formularios/v5.html).
|
||||||
|
|
||||||
> ⛔ **REGLA 1 — NO flashear `blackpillrtkcode_v3` (v3.0.3) en esta tarjeta.**
|
!!! warning "Reglas"
|
||||||
> Ese firmware es para la EinarBoard 1.0 (Blackpill). En la v5 usa los pines PB12–PB15 como
|
1. Flashea solo el binario V5 de [Descargas](../descargas/index.md). `blackpillrtkcode_v3` (v3.0.3) maneja PB12–PB15 como LEDs de batería; en la V5 esos pines son el SPI del W5500.
|
||||||
> LEDs de batería, pero en esta tarjeta esos pines son el bus SPI del chip Ethernet (W5500).
|
2. Sin batería en P4, sin simpleRTK2B en MOD1 y sin módem en J7/J8.
|
||||||
> Solo se flashea el archivo `.bin` que entregue ingeniería para v5.
|
3. Fuente siempre con límite de corriente. Si llega al límite o algo se calienta: apaga, marca FALLA y pasa a la siguiente tarjeta.
|
||||||
>
|
|
||||||
> ⛔ **REGLA 2 — Sin batería y sin módulos en estas pruebas.** No conectar nada en P4
|
|
||||||
> (batería), ni insertar el simpleRTK2B en MOD1, ni el módem 4G en J7/J8.
|
|
||||||
>
|
|
||||||
> ⛔ **REGLA 3 — Fuente de banco siempre con límite de corriente.** Si la corriente llega al
|
|
||||||
> límite o un componente se calienta: apagar, marcar la tarjeta como FALLA y pasar a la siguiente.
|
|
||||||
|
|
||||||
---
|
## Referencias en la tarjeta
|
||||||
|
|
||||||
## 0. Material
|
| Ref. | Qué es | Uso |
|
||||||
|
|
||||||
| Cant. | Ítem |
|
|
||||||
|---|---|
|
|
||||||
| 1 | Multímetro (continuidad / V DC) |
|
|
||||||
| 1 | Fuente de banco 0–30 V con límite de corriente ajustable |
|
|
||||||
| 1 | Cable USB-C ↔ USB-C (o USB-A ↔ USB-C) **con datos** (no solo carga) |
|
|
||||||
| 1 | Laptop con **STM32CubeProgrammer** instalado (o `dfu-util` en terminal) |
|
|
||||||
| 1 | Archivo de firmware: **`hbox-v5-bringup_0.5.1.bin`** — descarga: **https://drogheda.helgen.online/descargas/** (repo: `04-Source-Code/firmware/hbox_v5_bringup/release/`, SHA-256 inicia `e1f35108`) |
|
|
||||||
| 1 | Jumper 2.54 mm para P11 (interruptor de corte) |
|
|
||||||
| 1 | Lupa o lámpara con aumento |
|
|
||||||
| — | Hoja de registro (sección 7) |
|
|
||||||
|
|
||||||
**Identificación en la tarjeta** (serigrafía):
|
|
||||||
|
|
||||||
| Ref. | Qué es | Dónde se usa |
|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **J11** | USB-C **DFU** (junto a SW1/SW2 y J10 Ethernet) | Alimentar solo el MCU y flashear |
|
| J11 | USB-C DFU (junto a SW1/SW2 y J10) | Alimentar el MCU y flashear |
|
||||||
| **J9** | USB-C del **módem** | NO se usa en este procedimiento |
|
| J9 | USB-C del módem | No se usa aquí |
|
||||||
| **SW1** | Botón **RESET** | Reiniciar el MCU |
|
| SW1 / SW2 | RESET / BOOT0 | Reinicio y modo DFU |
|
||||||
| **SW2** | Botón **BOOT0** | Entrar en modo DFU |
|
| TP7 / TP6 | 3V3 / GND | Riel de 3.3 V |
|
||||||
| **TP7 / TP6** | Puntos de prueba **3V3 / GND** | Medir el riel de 3.3 V |
|
| TP3 / TP4 / TP5 | SWDIO / SWCLK / NRST | Solo si ingeniería pide ST-Link |
|
||||||
| **TP3 / TP4 / TP5** | SWDIO / SWCLK / NRST | Solo si ingeniería pide programar por ST-Link |
|
| P2 | Entrada 5 V (SD-15B) | Riel de 5 V |
|
||||||
| **P2** | Entrada **5 V** (donde va la Mean Well SD-15B) | Prueba del riel de 5 V |
|
| P1 | Entrada 24 V (GX16): pin 1 = +24 V, pin 2 = GND | Buck del ventilador |
|
||||||
| **P1** | Entrada **24 V** (GX16) — pin 1 = +24 V, pin 2 = GND | Prueba del buck del ventilador |
|
| P11 | CUTOFF-SW (2 pines) | Puentear para pasar MAIN5V → SYS5V |
|
||||||
| **P11** | Header **CUTOFF-SW** (2 pines) | Puentear para que pase MAIN5V → SYS5V |
|
| P6 | Ventilador: pin 1 = +5V_FAN, pin 2 = retorno conmutado | Salida del buck (pin 1 contra GND) |
|
||||||
| **P6** | Header del ventilador (2 pines) — pin 1 = +5V_FAN, pin 2 = retorno conmutado | Medir salida del buck (pin 1 contra GND) |
|
| MOD1 | Zócalo UNO del simpleRTK2B, pin "5V" | La etapa RTK debe arrancar apagada |
|
||||||
| **MOD1** | Zócalo UNO del simpleRTK2B — pin **"5V"** | Verificar que la etapa RTK arranca **apagada** |
|
| D18 / D17 | LED verde PWR / LED azul C13 | 3.3 V presente / controlado por firmware |
|
||||||
| **D18** | LED verde **PWR** | Enciende cuando hay 3.3 V |
|
| U17 | AMS1117 3.3 V | Temperatura al tacto |
|
||||||
| **D17** | LED azul **C13** | Lo controla el firmware (apagado en chip virgen) |
|
| Y2 | Cristal 3.6864 MHz (marcado `3.6864` o `36.864`) | Visual |
|
||||||
| **U17** | Regulador AMS1117 3.3 V | Tocar para verificar temperatura |
|
|
||||||
| **Y2** | Cristal **3.6864 MHz** (HC-49, marcado `3.6864` / `36.864`) | Verificación visual |
|
|
||||||
|
|
||||||
---
|
## 1. Inspección visual (sin energía, 3 min)
|
||||||
|
|
||||||
## 1. Inspección visual (sin energía) — 3 min
|
- [ ] Sin puentes de soldadura en U16 (MCU), U11 (W5500), U10 (SC16IS752) y U6 (LTC4040).
|
||||||
|
- [ ] Y2 marcado `3.6864` o `36.864`; Y1 y Y3 `25.000`; Y4 el pequeño de 32.768 kHz. Y2 marcado `1.8432`: anota y avisa a ingeniería.
|
||||||
|
- [ ] SW1 y SW2 presentes y con clic.
|
||||||
|
- [ ] J11, J9 y J10 (RJ45) asentados, sin pines doblados.
|
||||||
|
- [ ] JP2, JP3 y JP4 presentes; no cambies su posición.
|
||||||
|
- [ ] Sin componentes faltantes ni marcas de quemado.
|
||||||
|
|
||||||
Con lupa, en cada tarjeta:
|
## 2. Cortos a tierra (sin energía, 2 min)
|
||||||
|
|
||||||
- [ ] No hay puentes de soldadura visibles entre pines de **U16** (MCU, 64 pines), **U11**
|
Multímetro en ohms, no en modo continuidad. Punta negra en TP6. Unos cientos de ohms que suben es normal (capacitores cargando); una lectura fija de 0–20 Ω es corto.
|
||||||
(W5500), **U10** (SC16IS752), **U6** (LTC4040).
|
|
||||||
- [ ] **Y2** dice `3.6864` (o `36.864`). Los otros tres cristales: **Y1** y **Y3** = `25.000`,
|
|
||||||
**Y4** = pequeño de 32.768 kHz. Si Y2 dice `1.8432` → marcar y avisar a ingeniería.
|
|
||||||
- [ ] Botones **SW1** y **SW2** presentes y con "clic".
|
|
||||||
- [ ] Conectores **J11**, **J9**, **J10 (RJ45)** bien asentados, sin pines doblados.
|
|
||||||
- [ ] Jumpers de configuración del cargador presentes: **JP2, JP3, JP4** (no tocar su posición).
|
|
||||||
- [ ] Sin componentes faltantes evidentes ni marcas de quemado.
|
|
||||||
|
|
||||||
---
|
| Punto | Riel | Esperado | < 100 Ω |
|
||||||
|
|
||||||
## 2. Continuidad — cortos a tierra (sin energía) — 2 min
|
|
||||||
|
|
||||||
Multímetro en **ohms** (no en modo continuidad/beep, porque los capacitores dan lecturas
|
|
||||||
transitorias). Punta negra en **TP6 (GND)**. Esperar a que la lectura se estabilice.
|
|
||||||
|
|
||||||
| Medir en | Riel | Esperado | Si es < 100 Ω |
|
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| **TP7** | 3V3 | > 1 kΩ (la lectura sube lentamente) | FALLA — corto en 3.3 V |
|
| TP7 | 3V3 | > 1 kΩ | FALLA: corto en 3.3 V |
|
||||||
| **P2 pin 1** | VEH5V (entrada 5 V) | > 1 kΩ | FALLA — corto en entrada 5 V |
|
| P2 pin 1 | VEH5V | > 1 kΩ | FALLA: corto en entrada 5 V |
|
||||||
| **P11 pin 1** | MAIN5V | > 1 kΩ | FALLA — corto en 5 V del sistema |
|
| P11 pin 1 | MAIN5V | > 1 kΩ | FALLA: corto en 5 V del sistema |
|
||||||
| **P1 pin 1** | 24V_IN | > 10 kΩ | FALLA — corto en 24 V |
|
| P1 pin 1 | 24V_IN | > 10 kΩ | FALLA: corto en 24 V |
|
||||||
| **MOD1 pin "5V"** | SW_5V (etapa RTK) | > 1 kΩ | FALLA |
|
| MOD1 pin "5V" | SW_5V | > 1 kΩ | FALLA |
|
||||||
|
|
||||||
> Nota: es normal ver lecturas de unos cientos de ohms **que van subiendo** — son los
|
## 3. Riel de 3.3 V por USB (J11, 3 min)
|
||||||
> capacitores cargándose con el multímetro. Lo que NO es normal es una lectura fija de 0–20 Ω.
|
|
||||||
|
|
||||||
---
|
El USB en J11 energiza solo el MCU y la lógica de 3.3 V; el 5 V del sistema queda apagado.
|
||||||
|
|
||||||
## 3. Prueba del riel de 3.3 V por USB (J11) — 3 min
|
1. Conecta USB-C en J11 a la laptop o a un cargador.
|
||||||
|
2. Mide:
|
||||||
|
|
||||||
Con USB solo se energiza el MCU y la lógica de 3.3 V; el riel de 5 V del sistema queda apagado.
|
| Punto | Esperado |
|
||||||
Es la forma más segura de encender la tarjeta por primera vez.
|
|---|---|
|
||||||
|
| D18 | Encendido |
|
||||||
|
| TP7 contra TP6 | 3.20–3.40 V |
|
||||||
|
| U17 al tacto tras 1 min | Tibio. Si quema: FALLA |
|
||||||
|
| D17 | Apagado o fijo (chip virgen) |
|
||||||
|
|
||||||
1. Conectar el cable USB-C en **J11** (el que está junto a los botones), otro extremo a la laptop
|
3. D18 apagado o TP7 < 3.0 V: desconecta y marca FALLA (3V3).
|
||||||
o a un cargador USB.
|
4. Deja el USB conectado.
|
||||||
2. Verificar:
|
|
||||||
|
|
||||||
| Punto | Esperado |
|
## 4. Rieles de 5 V y 24 V con fuente (5 min)
|
||||||
|---|---|
|
|
||||||
| **D18** (LED verde PWR) | **Encendido** |
|
|
||||||
| **TP7** respecto a TP6 | **3.20 – 3.40 V** |
|
|
||||||
| **U17** (AMS1117) al tacto tras 1 min | Tibio, se puede tocar. **Si quema → FALLA** |
|
|
||||||
| **D17** (LED azul) | Apagado o fijo (chip virgen — normal) |
|
|
||||||
|
|
||||||
3. Si D18 no enciende o TP7 < 3.0 V → desconectar, marcar **FALLA (3V3)**.
|
Con el MCU virgen sus pines quedan en alta impedancia y la etapa RTK debe quedar apagada; eso es lo que se verifica.
|
||||||
4. **Dejar el USB conectado** para la sección siguiente.
|
|
||||||
|
|
||||||
---
|
### 4a. 5 V (P2)
|
||||||
|
|
||||||
## 4. Prueba de rieles de 5 V y 24 V con fuente de banco — 5 min
|
1. Fuente a 5.0 V, límite 500 mA, salida apagada.
|
||||||
|
2. Jumper en P11.
|
||||||
|
3. Fuente a P2 (pin 1 = +5 V, pin 2 = GND). El USB puede quedarse en J11.
|
||||||
|
4. Enciende y mide:
|
||||||
|
|
||||||
Se hace **con el MCU virgen (sin firmware)**: así todos sus pines quedan en alta impedancia y la
|
| Punto | Esperado |
|
||||||
etapa RTK permanece apagada por diseño. Esto es lo que se está verificando.
|
|---|---|
|
||||||
|
| Corriente | < 300 mA (típico 100–250 mA) |
|
||||||
|
| P11 pin 1 (MAIN5V) | 4.8–5.1 V |
|
||||||
|
| P11 pin 2 (SYS5V) | 4.8–5.1 V |
|
||||||
|
| TP7 | 3.20–3.40 V |
|
||||||
|
| MOD1 pin "5V" (SW_5V) | 0 V. Con 5 V: FALLA (la etapa RTK no arranca apagada) |
|
||||||
|
| U6 y U12 al tacto | Tibios |
|
||||||
|
|
||||||
### 4a. Riel de 5 V (entrada P2)
|
5. Apaga la fuente y desconecta P2.
|
||||||
|
|
||||||
1. Fuente de banco: **5.0 V, límite 500 mA**, salida apagada.
|
### 4b. 24 V → buck del ventilador (P1)
|
||||||
2. Colocar el **jumper en P11** (CUTOFF-SW).
|
|
||||||
3. Conectar fuente a **P2**: pin 1 = +5 V, pin 2 = GND. (Puede quedarse el USB en J11.)
|
|
||||||
4. Encender la salida y medir:
|
|
||||||
|
|
||||||
| Punto | Esperado |
|
1. Fuente a 24.0 V, límite 200 mA, salida apagada.
|
||||||
|---|---|
|
2. Fuente a P1 (pin 1 = +24 V, pin 2 = GND). Pin 3 (ignición) sin conectar.
|
||||||
| Corriente de la fuente | **< 300 mA** (típico 100–250 mA) |
|
3. Enciende y mide:
|
||||||
| **P11 pin 1** (MAIN5V) | 4.8 – 5.1 V |
|
|
||||||
| **P11 pin 2** (SYS5V, con jumper) | 4.8 – 5.1 V |
|
|
||||||
| **TP7** (3V3) | 3.20 – 3.40 V |
|
|
||||||
| **MOD1 pin "5V"** (SW_5V, etapa RTK) | **0 V** ← obligatorio. Si hay 5 V aquí → FALLA (etapa RTK no arranca apagada) |
|
|
||||||
| **U6** (LTC4040), **U12** (buck Ethernet) al tacto | Tibios, no queman |
|
|
||||||
|
|
||||||
5. Apagar la salida de la fuente. Desconectar de P2.
|
| Punto | Esperado |
|
||||||
|
|---|---|
|
||||||
|
| Corriente | < 50 mA (sin ventilador) |
|
||||||
|
| P6 pin 1 contra TP6 | 4.9–5.1 V (no midas contra P6 pin 2: es el lado conmutado) |
|
||||||
|
| U2 al tacto | Frío o tibio |
|
||||||
|
|
||||||
### 4b. Riel de 24 V → buck del ventilador (entrada P1)
|
4. Apaga y desconecta P1. El jumper de P11 puede quedarse.
|
||||||
|
|
||||||
1. Fuente de banco: **24.0 V, límite 200 mA**, salida apagada.
|
Valor fuera de rango: marca FALLA con la sección (4a o 4b) y el valor medido.
|
||||||
2. Conectar a **P1**: pin 1 = +24 V, pin 2 = GND. **Pin 3 (ignición) sin conectar.**
|
|
||||||
3. Encender la salida y medir:
|
|
||||||
|
|
||||||
| Punto | Esperado |
|
## 5. Flasheo por USB DFU (J11, 5 min)
|
||||||
|---|---|
|
|
||||||
| Corriente de la fuente | **< 50 mA** (sin ventilador) |
|
|
||||||
| **P6 pin 1** (5V_FAN) respecto a **TP6 (GND)** | **4.9 – 5.1 V** (no medir contra P6 pin 2: es el lado conmutado del ventilador) |
|
|
||||||
| **U2** (buck) al tacto | Frío o tibio |
|
|
||||||
|
|
||||||
4. Apagar salida. Desconectar de P1. Quitar el jumper de P11 (opcional; puede dejarse).
|
Solo tarjetas que pasaron 1–4. El firmware de campo se flashea igual. Verifica el SHA-256 del binario antes ([Descargas](../descargas/index.md)).
|
||||||
|
|
||||||
> Si algún valor está fuera de rango: marcar FALLA con la sección (4a o 4b) y el valor medido.
|
### 5a. Modo DFU
|
||||||
> **No flashear una tarjeta con FALLA.**
|
|
||||||
|
|
||||||
---
|
1. Solo el USB en J11 (nada en P1/P2).
|
||||||
|
2. Mantén SW2 (BOOT0).
|
||||||
|
3. Pulsa y suelta SW1 (RESET).
|
||||||
|
4. Suelta SW2.
|
||||||
|
5. La laptop detecta `STM32 BOOTLOADER` (ID `0483:DF11`).
|
||||||
|
|
||||||
## 5. Flasheo por USB DFU (J11) — 5 min
|
Si no aparece: cambia el cable (muchos son solo de carga) y repite con SW2 presionado al soltar SW1. El chip virgen solo entra al bootloader con esta secuencia.
|
||||||
|
|
||||||
Solo para tarjetas que pasaron las secciones 1 a 4.
|
### 5b. STM32CubeProgrammer
|
||||||
|
|
||||||
### 5a. Entrar en modo DFU
|
1. Selector de conexión: USB. Refresca hasta ver `USB1` y pulsa Connect.
|
||||||
|
2. Pestaña Erasing & Programming.
|
||||||
|
3. File path: el `.bin` descargado. Start address: `0x08000000`.
|
||||||
|
4. Marca Verify programming y Run after programming.
|
||||||
|
5. Start Programming. Espera "File download complete" y "Verify… successful".
|
||||||
|
6. Disconnect.
|
||||||
|
|
||||||
1. Solo el **USB en J11** conectado a la laptop (nada en P1/P2).
|
### 5c. `dfu-util` (macOS/Linux)
|
||||||
2. **Mantener presionado SW2 (BOOT0).**
|
|
||||||
3. Sin soltar SW2, **presionar y soltar SW1 (RESET)**.
|
|
||||||
4. **Soltar SW2.**
|
|
||||||
5. La laptop debe detectar un dispositivo **"STM32 BOOTLOADER"** (ID `0483:DF11`).
|
|
||||||
|
|
||||||
> El chip viene **vacío de fábrica**: no hace nada hasta que se flashea, y **solo** entra al
|
|
||||||
> programador con esta secuencia de botones. Si no aparece el dispositivo: cambiar el cable
|
|
||||||
> USB (muchos son solo de carga), repetir la secuencia con calma (SW2 debe estar presionado
|
|
||||||
> cuando se suelta SW1).
|
|
||||||
|
|
||||||
### 5b. Flashear con STM32CubeProgrammer (recomendado)
|
|
||||||
|
|
||||||
1. Abrir **STM32CubeProgrammer**.
|
|
||||||
2. Arriba a la derecha, en el selector de conexión elegir **USB**. Pulsar el botón de refrescar;
|
|
||||||
debe aparecer `USB1`. Pulsar **Connect**.
|
|
||||||
3. Ir a la pestaña **Erasing & Programming** (icono de flecha hacia abajo, lado izquierdo).
|
|
||||||
4. **File path** → seleccionar `hbox-v5-bringup_0.5.1.bin`.
|
|
||||||
5. **Start address** = `0x08000000`. Marcar **Verify programming** y **Run after programming**.
|
|
||||||
6. Pulsar **Start Programming**. Esperar "File download complete" y "Verify… successful".
|
|
||||||
7. Pulsar **Disconnect**.
|
|
||||||
|
|
||||||
### 5c. Alternativa por terminal (`dfu-util`, macOS/Linux)
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dfu-util -l # debe listar [0483:df11]
|
dfu-util -l # debe listar [0483:df11]
|
||||||
dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.5.1.bin
|
dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_X.Y.Z.bin
|
||||||
```
|
```
|
||||||
|
|
||||||
### 5d. Verificación después del flasheo
|
### 5d. Verificación
|
||||||
|
|
||||||
1. Abrir un terminal serie en la laptop (CoolTerm, Serial, `screen`, o el monitor de Arduino)
|
1. Abre un terminal serie a 115200 baud (CoolTerm, `screen` o el monitor de Arduino) y pulsa SW1.
|
||||||
y dejarlo listo. Pulsar **SW1** (RESET) una vez.
|
2. En los primeros 5 s:
|
||||||
2. Esperado en los primeros 5 segundos:
|
|
||||||
|
|
||||||
| Punto | Esperado |
|
| Punto | Esperado |
|
||||||
|---|---|
|
|---|---|
|
||||||
| **D17** (LED azul) + LED de panel en P8 (si hay) | **Parpadean** a 1 Hz (MCU ejecutando el firmware) |
|
| D17 y LED de panel en P8 | Parpadean a 1 Hz |
|
||||||
| **DB1 → DB4** (LEDs del indicador de batería) | Se encienden **en secuencia** una vez, luego se apagan; después R, G, B en P14 si hay LED RGB conectado |
|
| DB1 → DB4 | Encienden en secuencia una vez y se apagan; luego R, G, B en P14 si hay LED RGB |
|
||||||
| Laptop | Aparece un **puerto serie** nuevo ("STMicroelectronics Virtual COM Port" / `usbmodem…`) |
|
| Laptop | Puerto serie nuevo (`STMicroelectronics Virtual COM Port` / `usbmodem…`) |
|
||||||
| Terminal serie a **115200 baud** | Encabezado `hbox-v5-bringup 0.5.1` (cualquier otra version: re-flashear), luego líneas `[PASS]` / `[FAIL]`, y al final **`>>> BOARD OK`** |
|
| Terminal | Encabezado `hbox-v5-bringup X.Y.Z` con la versión flasheada (otra versión: reflashea), líneas `[PASS]` y al final `>>> BOARD OK` |
|
||||||
|
|
||||||
3. Si el terminal se abrió tarde y no se vio el reporte: teclear **`r`** en el terminal → repite
|
3. Si abriste el terminal tarde, teclea `r`: repite las pruebas y la secuencia de LEDs.
|
||||||
todas las pruebas (y vuelve a encender los LEDs en secuencia).
|
4. Reporte esperado:
|
||||||
4. Reporte esperado (todas `[PASS]`):
|
|
||||||
|
|
||||||
```
|
```
|
||||||
[PASS] CLOCK_HSE SYSCLK=96000000 Hz HSE_RDY=1 PLL_SRC=HSE ← cristal Y3 y USB OK
|
[PASS] CLOCK_HSE SYSCLK=96000000 Hz HSE_RDY=1 PLL_SRC=HSE ← cristal Y3 y USB
|
||||||
[PASS] LSE_Y4 Y4 32.768k LSERDY=1 ← cristal Y4 OK
|
[PASS] LSE_Y4 Y4 32.768k LSERDY=1 ← cristal Y4
|
||||||
[PASS] I2C PCF8574 U13 @0x20 ACK
|
[PASS] I2C PCF8574 U13 @0x20 ACK
|
||||||
[PASS] I2C SHT40 U3 @0x44 ACK
|
[PASS] I2C SHT40 U3 @0x44 ACK
|
||||||
[PASS] I2C TMP102 U4 @0x48 ACK
|
[PASS] I2C TMP102 U4 @0x48 ACK
|
||||||
[PASS] I2C SC16IS752 U10 @0x4D ACK
|
[PASS] I2C SC16IS752 U10 @0x4D ACK
|
||||||
[PASS] TMP102 TMP102 27.50 C
|
[PASS] TMP102 TMP102 27.50 C
|
||||||
[PASS] SHT40 SHT40 27.8 C 45.0 %RH
|
[PASS] SHT40 SHT40 27.8 C 45.0 %RH
|
||||||
[PASS] SC16IS752 0x4D ACK, SPR rd=0xA5 (exp A5), LSR=0x60
|
[PASS] SC16IS752 0x4D ACK, SPR rd=0xA5 (exp A5), LSR=0x60
|
||||||
[PASS] GAUGE_WALK visual — technician confirms ← el técnico confirma que vio DB1→DB4
|
[PASS] GAUGE_WALK visual — technician confirms ← confirmas que viste DB1→DB4
|
||||||
[PASS] ADC vbat=0.00 v5=0.00 ntc=..C mcu=..C ← vbat y v5 en 0 es NORMAL con solo USB
|
[PASS] ADC vbat=0.00 v5=0.00 ntc=..C mcu=..C ← vbat y v5 en 0 con solo USB
|
||||||
[PASS] DIN ign=0 chrg=.. fault=.. ser_irq=1 eth_int=..
|
[PASS] DIN ign=0 chrg=.. fault=.. ser_irq=1 eth_int=..
|
||||||
---- RESULT: 12 PASS / 0 FAIL ----
|
---- RESULT: 12 PASS / 0 FAIL ----
|
||||||
>>> BOARD OK
|
>>> BOARD OK
|
||||||
```
|
```
|
||||||
|
|
||||||
Después imprime una línea `STAT …` cada 2 s con temperaturas y voltajes — es normal.
|
Después sale una línea `STAT …` cada 2 s. Sin módulos ni batería, la etapa RTK y el cargador no encienden.
|
||||||
|
|
||||||
5. Cualquier `[FAIL]` → anotar la línea completa en la hoja de registro y marcar **FALLA (POST)**.
|
5. Cualquier `[FAIL]`: anota la línea completa y marca FALLA (POST). LED azul sin parpadear: repite 5a–5b una vez; si vuelve a fallar, FALLA (FLASH).
|
||||||
El LED azul que no parpadea → repetir 5a–5b una vez; si vuelve a fallar → **FALLA (FLASH)**.
|
|
||||||
|
|
||||||
> Este firmware **no enciende la etapa RTK ni el cargador**: solo prueba la tarjeta. El firmware
|
## 6. Cierre
|
||||||
> de producción v5 se flashea después, por el mismo procedimiento DFU.
|
|
||||||
|
|
||||||
---
|
- [ ] Desconecta el USB.
|
||||||
|
- [ ] Etiqueta la tarjeta con su serie (V5-01 … V5-15) y la fecha, cerca de MH4, sin tapar serigrafía.
|
||||||
|
- [ ] Llena el [acta de tarjeta V5](../formularios/v5.html).
|
||||||
|
- [ ] Guarda en bolsa antiestática. Las FALLA van en bolsa aparte con nota del punto que falló.
|
||||||
|
|
||||||
## 6. Cierre de la tarjeta
|
## 7. Hoja de respaldo en papel
|
||||||
|
|
||||||
- [ ] Desconectar USB.
|
El registro oficial es el acta. Anota el valor medido cuando esté fuera de rango (ej. "TP7 = 2.9 V").
|
||||||
- [ ] Etiquetar la tarjeta con su número de serie (**V5-01 … V5-15**) y fecha, en la esquina
|
|
||||||
cerca de MH4 (sin tapar serigrafía ni componentes).
|
|
||||||
- [ ] Llenar la hoja de registro.
|
|
||||||
- [ ] Guardar en bolsa antiestática. Las tarjetas con FALLA van en bolsa aparte con la nota
|
|
||||||
del punto que falló.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 7. Hoja de registro del lote
|
|
||||||
|
|
||||||
| Tarjeta | Visual (1) | Cortos (2) | 3V3 USB (3) | 5 V (4a) | 24 V (4b) | DFU (5a) | Flash (5b) | Post-flash (5d) | OK / FALLA | Técnico | Fecha |
|
| Tarjeta | Visual (1) | Cortos (2) | 3V3 USB (3) | 5 V (4a) | 24 V (4b) | DFU (5a) | Flash (5b) | Post-flash (5d) | OK / FALLA | Técnico | Fecha |
|
||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||
@ -270,42 +211,28 @@ dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.5.1.bin
|
|||||||
| V5-14 | | | | | | | | | | | |
|
| V5-14 | | | | | | | | | | | |
|
||||||
| V5-15 | | | | | | | | | | | |
|
| V5-15 | | | | | | | | | | | |
|
||||||
|
|
||||||
Anotar el valor medido cuando esté fuera de rango (ej. "TP7 = 2.9 V").
|
Conectores y LEDs: [manual V5](../manuales/manual-tarjeta-V5.md) · valores: [hoja de datos V5.6](../hardware/v56-datasheet.md) · [pinout V5.6](../hardware/v56-pinout.md).
|
||||||
|
|
||||||
---
|
## Anexo — notas de ingeniería
|
||||||
|
|
||||||
## Anexo A — Notas de ingeniería (no requeridas para el técnico)
|
Verificado contra `hbox-watchdog-v5.kicad_pcb` / `.kicad_sch` (netlist, 15-sep-2026):
|
||||||
|
|
||||||
Verificado contra `hbox-watchdog-v5.kicad_pcb` / `.kicad_sch` (netlist, 15-Sep-2026):
|
- Alimentación por J11: VBUS → D13 (SS34) → `/LDO_IN` → U17 AMS1117 → `/3V3`. `/SYS5V` apagado, así que U12 y `/3V3_ETH` (W5500) también. R100/R101 (5.1 k en CC) presentes: un cable C-a-C entrega VBUS.
|
||||||
|
- DFU: BOOT0 = pin 60 de U16, pull-down R98 10 k, SW2 a 3V3. `/BOOT1_STRAP` (PB2, pin 28) a GND por R99 10 k. HSE = Y3 25 MHz en PH0/PH1 (el bootloader ROM lo requiere, AN2606). USB en PA11/PA12 (pines 44/45) con ESD D14/D15.
|
||||||
|
- SWD: TP3 SWDIO (PA13), TP4 SWCLK (PA14), TP5 NRST, TP6 GND, TP7 3V3.
|
||||||
|
- Única colisión v3.0.3 ↔ v5: `PIN_BATLED1..4` = PB12–PB15 (pines 33–36) = `/ETH_CS`, `/ETH_SCK`, `/ETH_MISO`, `/ETH_MOSI` (SPI2 del W5500); PB14 es salida del W5500. En v5 el indicador de batería está en U13 PCF8574 (A0–A2 a GND → 0x20, P0–P3 → RB1–RB4 120 R → LEDs). El resto del mapa v3 coincide: PA0 BAT_SENSE, PA1 PWR_CTRL, PA2/PA3 GNSS, PA4 5V_SENSE, PA5 IGN_SENSE, PA6 FAN_PWM, PA8 CHRG_EN, PA9/PA10 USART1, PB0 EXT_LED, PB1 NTC, PB3 CHRG_STAT, PB4 CHRG_FAULT, PB5 BYP_CTRL, PB6/PB7 I²C1, PC13 LED (activo bajo, R102 1 k a 3V3), PB10 tach = NC.
|
||||||
|
- Pines v5 que v3 no conoce: PC0 `/ETH_INT`, PA15 `/ETH_RST` (sin pull-up: flota si el MCU no lo maneja), PB8 `/SER_IRQ`, PC14/PC15 LSE (Y4). `/SER_RSTn` tiene pull-up R80 10 k.
|
||||||
|
- Cristales (BOM = maestro): Y2 = C2238 X49SM36864MSD2SC-1 = 3.6864 MHz para el SC16IS752 (`XTAL_FREQ 3686400`); "1.8432MHz" en esquemático/BOM es error de etiqueta. Y1 (W5500) y Y3 (HSE) = C14872 X49SM25MSD2SC = 25 MHz, confirmados contra el BOM de JLCPCB. Y4 = 32.768 kHz.
|
||||||
|
- KiCad vs tarjetas fabricadas: el `.kicad_pcb` vivo tiene 35 huellas movidas después del pedido (commits 24-ago y 07-sep: zona Ethernet/DFU J10/U11/U12/Y1/C90–C103/J11, D14–D16, R20, C101); la netlist no cambió. Referencia física del lote: `production/HBOX_v5_PROD.zip` (22-ago). En las tarjetas recibidas D14–D16 están junto al MCU, no junto a J11.
|
||||||
|
- U2 se habilita solo: `/EN_FAN` = divisor Ren1 100 k / Ren2 20 k desde `/24V` (≈4 V con 24 V), sin MCU; por eso 4b vale con chip virgen. `/FAN_RET` es el lado bajo conmutado por Q2 (gate en PA6): abierto con MCU virgen.
|
||||||
|
- Compilación v5: `STMicroelectronics:stm32:GenF4:pnum=GENERIC_F411RETX` (no `BLACKPILL_F411CE`), `HSE_VALUE=25000000` con `SystemClock_Config` explícito en HSE para que el USB CDC tenga reloj exacto.
|
||||||
|
|
||||||
- **Alimentación por J11:** VBUS → D13 (SS34) → `/LDO_IN` → U17 AMS1117 → `/3V3`. `/SYS5V`
|
## Historial de revisiones
|
||||||
queda apagado, por lo tanto U12 y `/3V3_ETH` (W5500) quedan apagados. R100/R101 (5.1 k en CC)
|
|
||||||
presentes: un cable C-a-C entrega VBUS.
|
| Versión | Fecha | Cambios |
|
||||||
- **DFU:** BOOT0 = pin 60 de U16, pull-down R98 10 k, SW2 lo lleva a 3V3. `/BOOT1_STRAP`
|
|---|---|---|
|
||||||
(PB2, pin 28) fijo a GND por R99 10 k. HSE = Y3 25 MHz en PH0/PH1 (el bootloader ROM lo
|
| 1.0 | 2026-09-15 | Primera versión (lote de 15, firmware 0.5.1). |
|
||||||
requiere, AN2606). USB en PA11/PA12 (pines 44/45) con ESD D14/D15.
|
| 1.1 | 2026-09-29 | Encabezado uniforme, nota de binario vigente, enlaces a acta y manuales. |
|
||||||
- **SWD:** TP3 SWDIO (PA13), TP4 SWCLK (PA14), TP5 NRST, TP6 GND, TP7 3V3.
|
| 1.2 | 2026-09-29 | Edición breve: sin tabla de material duplicada; binario genérico `X.Y.Z` en lugar de 0.5.1. |
|
||||||
- **Colisión firmware v3.0.3 ↔ v5 (única encontrada):** `PIN_BATLED1..4` = PB12–PB15 (pines
|
|
||||||
33–36) = `/ETH_CS`, `/ETH_SCK`, `/ETH_MISO`, `/ETH_MOSI` (SPI2 del W5500). PB14 es salida del
|
Versiones anteriores en git.
|
||||||
W5500. El indicador de batería en v5 está en U13 PCF8574 (A0–A2 a GND → dirección I²C
|
|
||||||
0x20, salidas P0–P3 → RB1–RB4 120 R → LEDs). Todo el resto del mapa de pines de v3 coincide
|
|
||||||
con v5: PA0 BAT_SENSE, PA1 PWR_CTRL, PA2/PA3 GNSS, PA4 5V_SENSE, PA5 IGN_SENSE, PA6 FAN_PWM,
|
|
||||||
PA8 CHRG_EN, PA9/PA10 USART1, PB0 EXT_LED, PB1 NTC, PB3 CHRG_STAT, PB4 CHRG_FAULT,
|
|
||||||
PB5 BYP_CTRL, PB6/PB7 I²C1, PC13 LED (activo bajo, R102 1 k a 3V3), PB10 tach = NC.
|
|
||||||
- **Pines de v5 que v3 no conoce (firmware v5 debe manejarlos):** PC0 `/ETH_INT`,
|
|
||||||
PA15 `/ETH_RST` (sin pull-up: flota si el MCU no lo maneja), PB8 `/SER_IRQ` (SC16IS752),
|
|
||||||
PC14/PC15 LSE 32.768 kHz (Y4). `/SER_RSTn` sí tiene pull-up R80 10 k.
|
|
||||||
- **Cristales (BOM = maestro):** Y2 = C2238 X49SM36864MSD2SC-1 = **3.6864 MHz** para el
|
|
||||||
SC16IS752 (`XTAL_FREQ 3686400`); el campo "1.8432MHz" del esquemático/BOM es un error de
|
|
||||||
etiqueta. Y1 (W5500) y Y3 (HSE del MCU) = C14872 X49SM25MSD2SC = **25 MHz**, confirmados contra el BOM de ensamble en JLCPCB. Y4 = 32.768 kHz LSE.
|
|
||||||
- **Estado del archivo KiCad vs tarjetas fabricadas:** el `.kicad_pcb` vivo tiene 35 huellas
|
|
||||||
movidas después del pedido (commits 24-Ago y 07-Sep: reubicación de la zona Ethernet/DFU
|
|
||||||
J10/U11/U12/Y1/C90–C103/J11, D14–D16, R20, C101). La netlist no cambió. La referencia
|
|
||||||
física de este lote es `production/HBOX_v5_PROD.zip` (22-Ago). En las tarjetas recibidas
|
|
||||||
D14–D16 están junto al MCU, no junto a J11.
|
|
||||||
- **Buck del ventilador U2 se habilita solo:** `/EN_FAN` = divisor Ren1 100 k / Ren2 20 k desde
|
|
||||||
`/24V` (≈4 V con 24 V de entrada), no depende del MCU → la prueba 4b es válida con chip virgen.
|
|
||||||
`/FAN_RET` es el lado bajo conmutado por Q2 (gate desde PA6): con MCU virgen queda abierto.
|
|
||||||
- **Objetivo de compilación del firmware v5:** `STMicroelectronics:stm32:GenF4:pnum=GENERIC_F411RETX`
|
|
||||||
(no `BLACKPILL_F411CE`), `HSE_VALUE=25000000` con `SystemClock_Config` explícito en HSE para
|
|
||||||
que el USB CDC tenga reloj exacto.
|
|
||||||
|
|||||||
@ -1,211 +1,155 @@
|
|||||||
---
|
---
|
||||||
title: HBOX v5 — Prueba de módulos (simpleRTK2B Pro y 4G NTRIP Master) e integración RTK antes del ensamble
|
title: "HBOX V5 — Prueba de módulos e integración RTK"
|
||||||
tags: [project-drogheda, hardware, hbox, v5, ardusimple, 4g, ntrip, testing, procedimiento]
|
tags: [project-drogheda, hardware, hbox, v5, ardusimple, 4g, ntrip, testing, procedimiento]
|
||||||
|
date: 2026-09-17
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
author: Helgen Technologies
|
author: Helgen Technologies
|
||||||
date: 2026-09-17
|
version: 1.2
|
||||||
version: 1.0
|
status: ACTIVO
|
||||||
status: ACTIVO — se aplica a cada módulo antes de asignarlo a una unidad
|
|
||||||
audience: técnicos de banco
|
audience: técnicos de banco
|
||||||
---
|
---
|
||||||
|
|
||||||
# HBOX v5 — Prueba de módulos e integración RTK (antes del ensamble)
|
# HBOX V5 — Prueba de módulos e integración RTK
|
||||||
|
|
||||||
**Objetivo:** que ningún módulo llegue al ensamble sin haber demostrado que funciona **solo** y **en
|
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
|
||||||
pareja**: cada simpleRTK2B Pro obtiene fix GNSS, cada 4G NTRIP Master se registra en la red, y la
|
- Para quién: técnicos de banco.
|
||||||
pareja RTK + 4G alcanza **RTK FIX** con correcciones NTRIP. Todo queda registrado en las actas
|
- Cuándo: cada simpleRTK2B Pro y cada 4G NTRIP Master antes de asignarlo a una unidad, sin EinarBoard. Paso 2 de producción, entre la [prueba de tarjeta](v5-prueba-y-flasheo.md) y el [ensamble](v5-ensamble.md).
|
||||||
del sitio (`https://drogheda.helgen.online` → Actas).
|
- Tiempo: módulo RTK 10 min · módulo 4G 10 min · integración 15–30 min (depende del cielo).
|
||||||
|
- Necesitas: laptop con u-center o u-center 2; dos cables USB-C con datos (el simpleRTK2B tiene dos puertos: POWER+GPS y XBEE); antena GNSS multibanda SMA con vista al cielo; dos antenas LTE (u.FL → SMA); una nano-SIM Telcel activa por módem; de ingeniería, la configuración F9P (`.txt` de u-center) y `4G_NTRIP_HelgenSRV-NMEA.local.txt` con credenciales (no se copia a otras máquinas); etiquetas ARD-NNN y RTK-NNNN, bolsas antiestáticas; actas [ArduSimple](../formularios/ardusimple.html), [módem 4G](../formularios/modem4g.html) e [integración](../formularios/integracion.html).
|
||||||
|
|
||||||
**Duración estimada:** módulo RTK 10 min · módulo 4G 10 min · integración 15–30 min (depende del cielo).
|
!!! warning "Reglas"
|
||||||
|
1. Un acta por módulo, con su serie (ARD-010, RTK-0006…), nunca por lote.
|
||||||
|
2. Sin EinarBoard: el simpleRTK2B se alimenta por su USB y el módem va en el zócalo XBee del simpleRTK2B.
|
||||||
|
3. Conecta las antenas antes de energizar. Un transmisor LTE sin antena se puede dañar.
|
||||||
|
|
||||||
> ⛔ **REGLA 1 — Un acta por módulo, con su número de serie.** No se prueba "un lote"; se prueba
|
## 0. Números de serie
|
||||||
> RTK-010, 4G-006, uno por uno.
|
|
||||||
>
|
|
||||||
> ⛔ **REGLA 2 — Sin EinarBoard en estas pruebas.** El simpleRTK2B se alimenta por su propio USB y el
|
|
||||||
> módulo 4G va en el zócalo XBee del simpleRTK2B. La tarjeta EinarBoard entra hasta el ensamble.
|
|
||||||
>
|
|
||||||
> ⛔ **REGLA 3 — Antenas siempre conectadas antes de energizar** el módulo 4G y el receptor GNSS.
|
|
||||||
> Un transmisor LTE sin antena se puede dañar.
|
|
||||||
|
|
||||||
---
|
| Pieza | Etiqueta | Dónde va |
|
||||||
|
|---|---|---|
|
||||||
|
| EinarBoard V5 | V5-01 … V5-15 (30 seleccionables) | Cerca de MH4 (puesta en la prueba de tarjeta) |
|
||||||
|
| simpleRTK2B Pro (ArduSimple) | ARD-001 … ARD-030 | Blindaje del ZED-F9P, sin tapar SMA ni zócalo XBee |
|
||||||
|
| 4G NTRIP Master (módem) | RTK-0001 … RTK-0030 (serie hasta RTK-1000) | Blindaje del módem, sin tapar los u.FL |
|
||||||
|
| Unidad HBOX | HBOX5-E07-A010-R0006 (la calcula el acta de ensamble) | Panel exterior |
|
||||||
|
|
||||||
## 0. Identidad de cada pieza (números de serie)
|
El número de unidad sale de sus tres módulos: `E07` = V5-07, `A010` = ARD-010, `R0006` = RTK-0006. "RTK-" es el módem 4G, no el receptor GNSS. Los números no tienen que coincidir: en el acta de ensamble eliges qué módulo aprobado va en cada unidad.
|
||||||
|
|
||||||
| Pieza | Etiqueta | Rango | Dónde va la etiqueta |
|
En cada acta anota también la etiqueta de fábrica de ArduSimple y, en el módem, IMEI e ICCID de la SIM.
|
||||||
|---|---|---|---|
|
|
||||||
| EinarBoard v5 | **V5-01 … V5-15** (30 seleccionables) | lote JLC 22-Ago | esquina cerca de MH4 (ya puesta en la prueba de tarjeta) |
|
|
||||||
| simpleRTK2B Pro (ArduSimple) | **ARD-001 … ARD-030** | consecutivo de 3 dígitos | sobre el blindaje del ZED-F9P, sin tapar el conector SMA ni el zócalo XBee |
|
|
||||||
| 4G NTRIP Master (módem) | **RTK-0001 … RTK-0030** | consecutivo de 4 dígitos (serie hasta RTK-1000) | sobre el blindaje del módem, sin tapar los conectores u.FL de antena |
|
|
||||||
| Unidad HBOX (ensamblada) | **HBOX5-E07-A010-R0006** | se calcula sola en el acta de ensamble | panel exterior del HBOX |
|
|
||||||
|
|
||||||
El número de la unidad **se arma con los tres módulos que lleva dentro**: `E07` = EinarBoard V5-07,
|
## 1. simpleRTK2B Pro — acta ArduSimple
|
||||||
`A010` = ArduSimple ARD-010, `R0006` = módem 4G RTK-0006. **Ojo:** la etiqueta "RTK-" es la del **módem 4G**, no la del receptor GNSS. No hace falta que los números coincidan entre sí: el técnico
|
|
||||||
**selecciona** en el acta de ensamble qué módulo (ya aprobado) va en qué unidad, y el sitio compone el
|
|
||||||
número. Así, con solo leer la etiqueta del HBOX se sabe qué hay dentro.
|
|
||||||
|
|
||||||
Anota también en cada acta la **etiqueta de fábrica** del módulo (el código que trae impreso
|
### 1a. Inspección (sin energía)
|
||||||
ArduSimple) y, en el 4G, el **IMEI** y el **ICCID de la SIM**. Es lo que después permite rastrear un
|
|
||||||
módulo en la plataforma.
|
|
||||||
|
|
||||||
---
|
- [ ] Etiqueta ARD-NNN puesta; etiqueta de fábrica anotada.
|
||||||
|
- [ ] Pines del zócalo XBee (2 × 10) rectos; SMA firme; sin componentes golpeados.
|
||||||
|
- [ ] Tira tipo Arduino (entra en MOD1) recta y completa.
|
||||||
|
|
||||||
## 1. Material
|
### 1b. Fix GNSS
|
||||||
|
|
||||||
| Cant. | Ítem |
|
1. Antena GNSS al SMA, con vista al cielo.
|
||||||
|---|---|
|
2. USB-C POWER+GPS a la laptop.
|
||||||
| 1 | Laptop con **u-center** (u-blox, Windows) o **u-center 2** |
|
3. Verifica:
|
||||||
| 2 | Cables USB-C **con datos** (el simpleRTK2B Pro tiene dos puertos USB: **POWER+GPS** y **XBEE**) |
|
|
||||||
| 1 | Antena GNSS multibanda (SMA) con vista al cielo (ventana con cielo abierto o exterior) |
|
|
||||||
| 2 | Antenas LTE (u.FL → SMA pigtail según el módulo) |
|
|
||||||
| 1 | SIM Telcel activa (nano-SIM) por módulo 4G |
|
|
||||||
| 1 | Archivo de configuración del **ZED-F9P** de Helgen (u-center `.txt`) — lo entrega ingeniería |
|
|
||||||
| 1 | Archivo de configuración del **4G NTRIP Master** con credenciales reales (`4G_NTRIP_HelgenSRV-NMEA.local.txt`) — lo entrega ingeniería, **no** se copia a otras máquinas |
|
|
||||||
| — | Etiquetas ARD-NNN (ArduSimple) y RTK-NNNN (módem 4G), marcador, bolsas antiestáticas |
|
|
||||||
|
|
||||||
---
|
| Punto | Esperado |
|
||||||
|
|---|---|
|
||||||
|
| LED POWER | Encendido |
|
||||||
|
| Laptop | Puerto serie u-blox GNSS receiver |
|
||||||
|
| u-center → Receiver → Connect | Fix Mode de *No Fix* a 3D en < 2 min a cielo abierto |
|
||||||
|
| Satélites en uso | ≥ 10 |
|
||||||
|
| LED GPS FIX | Parpadea con fix |
|
||||||
|
|
||||||
## 2. Módulo simpleRTK2B Pro (ArduSimple) — acta **"Módulo ArduSimple"**
|
4. Anota en el acta: firmware del ZED-F9P (View → Messages → UBX-MON-VER), satélites y tiempo al primer fix.
|
||||||
|
|
||||||
### 2a. Inspección visual (sin energía)
|
Sin fix en 5 min a cielo abierto: prueba otra antena antes de marcar FALLA.
|
||||||
|
|
||||||
- [ ] Etiqueta **ARD-NNN** puesta y legible; anotar también la etiqueta de fábrica.
|
### 1c. Configuración Helgen
|
||||||
- [ ] Pines del zócalo **XBee** (2 hileras de 10) rectos; conector **SMA** firme; sin componentes golpeados.
|
|
||||||
- [ ] Pines de la tira tipo Arduino (los que entran en MOD1 de la EinarBoard) rectos y completos.
|
|
||||||
|
|
||||||
### 2b. Energizado y fix GNSS
|
1. Tools → Receiver Configuration → Load configuration → archivo F9P de Helgen → Transfer file → GNSS.
|
||||||
|
2. UBX-CFG-CFG → Save current configuration (todas las memorias) → Send.
|
||||||
|
3. Desconecta y reconecta el USB. Conecta u-center a 115200: debe seguir con fix y `$GNGGA`.
|
||||||
|
|
||||||
1. Conectar la **antena GNSS** al SMA. Colocarla con vista al cielo.
|
- [ ] Configuración guardada; sobrevive al reinicio.
|
||||||
2. Conectar el USB-C **POWER+GPS** a la laptop.
|
|
||||||
3. Verificar:
|
## 2. Módem 4G NTRIP Master — acta módem 4G
|
||||||
|
|
||||||
|
### 2a. Inspección (sin energía)
|
||||||
|
|
||||||
|
- [ ] Etiqueta RTK-NNNN puesta; IMEI (etiqueta del módem) e ICCID (SIM) anotados.
|
||||||
|
- [ ] SIM insertada en la dirección correcta, con clic.
|
||||||
|
- [ ] Pines XBee (2 × 10, paso 2 mm) rectos; u.FL sin daño.
|
||||||
|
|
||||||
|
### 2b. Montaje y configuración
|
||||||
|
|
||||||
|
1. Sin energía, inserta el módem en el zócalo XBee del simpleRTK2B. La silueta indica la orientación; no fuerces.
|
||||||
|
2. Dos antenas LTE a los u.FL; antena GNSS al SMA.
|
||||||
|
3. Conecta USB POWER+GPS (alimenta todo) y USB XBEE (configuración del módem).
|
||||||
|
4. Terminal serie en el puerto XBEE a 115200 baud. Envía línea por línea las líneas `$$$AS+…` de `4G_NTRIP_HelgenSRV-NMEA.local.txt`. Cada una contesta `OK` o el eco de ArduSimple.
|
||||||
|
5. `$$$AS+I=1111` para entrar a configuración; `$$$AS+K=…` con el ID de estación que indique ingeniería.
|
||||||
|
|
||||||
|
- [ ] Configuración completa, sin `ERROR`.
|
||||||
|
- [ ] ID de estación (`AS+K`) anotado.
|
||||||
|
|
||||||
|
### 2c. Registro en la red (hasta 2 min)
|
||||||
|
|
||||||
| Punto | Esperado |
|
| Punto | Esperado |
|
||||||
|---|---|
|
|---|---|
|
||||||
| LED **POWER** | Encendido |
|
| LED de red 4G | De parpadeo rápido (buscando) a lento o fijo (registrado) |
|
||||||
| Laptop | Aparece un puerto serie (u-blox GNSS receiver) |
|
| Comando de estado de ArduSimple por XBEE | Operador Telcel y RSSI |
|
||||||
| u-center → Receiver → Connect | Conecta; **Fix Mode** pasa de *No Fix* a **3D** en < 2 min a cielo abierto |
|
|
||||||
| Satélites en uso | **≥ 10** (cielo abierto) |
|
|
||||||
| LED **GPS FIX** | Parpadea cuando hay fix |
|
|
||||||
|
|
||||||
4. Anotar en el acta: **versión de firmware** del ZED-F9P (u-center → View → Messages → UBX-MON-VER),
|
- [ ] Registrado en Telcel; RSSI anotado si lo reporta.
|
||||||
satélites en uso, y el tiempo hasta el primer fix.
|
|
||||||
|
|
||||||
### 2c. Cargar la configuración de Helgen
|
Sin registro en 3 min: prueba la SIM en otro módem aprobado. Si la SIM funciona allí y este no registra: FALLA (4G).
|
||||||
|
|
||||||
1. u-center → **Tools → Receiver Configuration** → *Load configuration* → archivo F9P de Helgen →
|
## 3. Integración ArduSimple + 4G — acta de integración
|
||||||
**Transfer file → GNSS**.
|
|
||||||
2. Guardar en el receptor: **UBX-CFG-CFG → Save current configuration** (todas las memorias) → Send.
|
|
||||||
3. Desconectar y reconectar el USB. Volver a conectar en u-center a la **velocidad configurada por Helgen
|
|
||||||
(115200)**. Debe seguir mostrando fix y mensajes `$GNGGA`.
|
|
||||||
|
|
||||||
- [ ] Configuración cargada y guardada; sobrevive al reinicio.
|
Se prueba la pareja que irá junta (ARD-NNN + RTK-NNNN); el mismo par se elige en el ensamble. Montaje igual que 2b; el USB XBEE puede quedar conectado para ver mensajes.
|
||||||
|
|
||||||
> Si el módulo no da fix en 5 min a cielo abierto, probar con otra antena antes de marcarlo FALLA.
|
1. u-center en POWER+GPS (115200). Espera fix 3D.
|
||||||
|
2. LED NO RTK del simpleRTK2B: encendido = sin correcciones; parpadea = RTK FLOAT; apagado = RTK FIX.
|
||||||
---
|
3. Fix Mode debe llegar a 3D/DGNSS/FIXED, típicamente 1–5 min después del registro 4G.
|
||||||
|
|
||||||
## 3. Módem 4G NTRIP Master — acta **"Módem 4G"**
|
|
||||||
|
|
||||||
### 3a. Inspección visual (sin energía)
|
|
||||||
|
|
||||||
- [ ] Etiqueta **RTK-NNNN** puesta; anotar **IMEI** (etiqueta del módem) e **ICCID** (tarjeta SIM).
|
|
||||||
- [ ] **SIM insertada** en la dirección correcta, con clic.
|
|
||||||
- [ ] Pines XBee (2 × 10, paso 2 mm) rectos; conectores **u.FL** de antena sin daño.
|
|
||||||
|
|
||||||
### 3b. Montaje sobre el simpleRTK2B y configuración
|
|
||||||
|
|
||||||
1. **Sin energía**, insertar el módulo 4G en el zócalo **XBee del simpleRTK2B Pro** (el módulo queda
|
|
||||||
sobre el receptor; el corte de la silueta indica la orientación — nunca forzar).
|
|
||||||
2. Conectar las **2 antenas LTE** a los u.FL del módulo.
|
|
||||||
3. Conectar la antena GNSS. Conectar el USB **POWER+GPS** (alimenta todo) **y** el USB **XBEE** (puerto de
|
|
||||||
configuración del módem).
|
|
||||||
4. En la laptop abrir un terminal serie en el puerto **XBEE** a **115200 baud** y enviar, línea por línea,
|
|
||||||
el archivo `4G_NTRIP_HelgenSRV-NMEA.local.txt` (solo las líneas `$$$AS+…`). Cada línea debe contestar
|
|
||||||
`OK` (o el eco de ArduSimple).
|
|
||||||
5. Al terminar: `$$$AS+I=1111` para entrar a config y **`$$$AS+K=…`** debe llevar el **ID de estación**
|
|
||||||
que indique ingeniería para este módulo (se anota en el acta).
|
|
||||||
|
|
||||||
- [ ] Configuración enviada completa, sin líneas con `ERROR`.
|
|
||||||
- [ ] ID de estación (`AS+K`) anotado en el acta.
|
|
||||||
|
|
||||||
### 3c. Registro en la red
|
|
||||||
|
|
||||||
Esperar hasta 2 min con las antenas LTE conectadas:
|
|
||||||
|
|
||||||
| Punto | Esperado |
|
|
||||||
|---|---|
|
|
||||||
| LED de **red / 4G** del módulo | Pasa de parpadeo rápido (buscando) a **parpadeo lento o fijo** (registrado) |
|
|
||||||
| Consulta de estado por el puerto XBEE (comando de estado de ArduSimple) | Reporta operador **Telcel** y señal (RSSI) |
|
|
||||||
|
|
||||||
- [ ] Registrado en la red Telcel. Anotar RSSI si el módulo lo reporta.
|
|
||||||
|
|
||||||
> Sin registro en 3 min: revisar que la SIM esté activa (probar la SIM en otro módulo aprobado). Si
|
|
||||||
> la SIM funciona en otro módulo y este no registra → **FALLA (4G)**.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4. Integración ArduSimple + 4G — acta **"Integración"**
|
|
||||||
|
|
||||||
Se hace con la **pareja** que después irá junta en una unidad (ARD-NNN + RTK-NNNN). El acta registra
|
|
||||||
los dos números; el mismo par se seleccionará en el ensamble.
|
|
||||||
|
|
||||||
Montaje: el mismo del punto 3b (4G sobre el simpleRTK2B, dos antenas LTE, antena GNSS al cielo, USB
|
|
||||||
POWER+GPS conectado; el USB XBEE puede quedar conectado para ver mensajes).
|
|
||||||
|
|
||||||
1. u-center conectado al puerto **POWER+GPS** (115200). Esperar fix **3D**.
|
|
||||||
2. Observar el LED **NO RTK** del simpleRTK2B: encendido = sin correcciones; **parpadeando = RTK FLOAT**;
|
|
||||||
**apagado = RTK FIX**.
|
|
||||||
3. En u-center: **Fix Mode** debe llegar a **3D/DGNSS/FIXED** (RTK fixed). Tiempo típico a cielo abierto:
|
|
||||||
1–5 min tras el registro 4G.
|
|
||||||
|
|
||||||
| Punto | Esperado | Anotar |
|
| Punto | Esperado | Anotar |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| Tiempo desde encendido hasta **RTK FIX** | < 10 min | minutos |
|
| Encendido → RTK FIX | < 10 min | minutos |
|
||||||
| Fix Mode en u-center | 3D/DGNSS/**FIXED** | — |
|
| Fix Mode | 3D/DGNSS/FIXED | — |
|
||||||
| Satélites en uso | ≥ 10 | número |
|
| Satélites en uso | ≥ 10 | número |
|
||||||
| Precisión estimada (u-center, hAcc) | < 0.05 m en FIX | metros |
|
| hAcc | < 0.05 m en FIX | metros |
|
||||||
| Estabilidad | Se mantiene FIXED **5 min** sin caer a FLOAT (con la antena quieta) | sí/no |
|
| Estabilidad | FIXED 5 min sin caer a FLOAT, antena quieta | sí/no |
|
||||||
| Plataforma Helgen | Ingeniería confirma que la estación (ID `AS+K`) aparece reportando en el servidor | sí/no |
|
| Plataforma | Ingeniería ve la estación (`AS+K`) reportando | sí/no |
|
||||||
|
|
||||||
- [ ] RTK FIX alcanzado y estable 5 min.
|
- [ ] RTK FIX estable 5 min.
|
||||||
- [ ] Confirmado en plataforma (o anotado "pendiente de confirmar" con hora).
|
- [ ] Confirmado en plataforma, o "pendiente" con hora.
|
||||||
|
|
||||||
> **Si llega a FLOAT pero nunca a FIX:** cielo insuficiente (probar exterior) o punto de montaje
|
FLOAT sin llegar a FIX con el LED NO RTK parpadeando: falta cielo (prueba en exterior) o el mountpoint está mal; no es falla del módulo. LED NO RTK siempre encendido (sin correcciones): revisa credenciales NTRIP con ingeniería antes de marcar FALLA.
|
||||||
> incorrecto; no es falla del módulo si el módulo 4G ya registró y hay correcciones (LED NO RTK
|
|
||||||
> parpadea). Si **nunca sale de "encendido"** (sin correcciones): revisar credenciales NTRIP con
|
|
||||||
> ingeniería antes de marcar FALLA.
|
|
||||||
|
|
||||||
### 4b. Cierre
|
### Cierre
|
||||||
|
|
||||||
- [ ] Apagar (desconectar USB). Separar el módulo 4G del simpleRTK2B **con cuidado, sin doblar pines**.
|
- [ ] Desconecta el USB. Separa el módem del simpleRTK2B sin doblar pines.
|
||||||
- [ ] Guardar cada módulo en su bolsa con su etiqueta. Anotar en la bolsa del ArduSimple: "pareja: RTK-NNNN".
|
- [ ] Cada módulo en su bolsa con su etiqueta; en la del ArduSimple anota "pareja: RTK-NNNN".
|
||||||
- [ ] Enviar el acta de integración con los dos números.
|
- [ ] Envía el acta de integración.
|
||||||
|
|
||||||
---
|
## 4. Criterio de aprobado
|
||||||
|
|
||||||
## 5. Hoja rápida de estados (para el técnico)
|
| Módulo | Aprobado cuando |
|
||||||
|
|
||||||
| Módulo | Aprobado cuando… |
|
|
||||||
|---|---|
|
|---|---|
|
||||||
| ARD-NNN | fix 3D, ≥10 sat, configuración Helgen cargada y guardada |
|
| ARD-NNN | Fix 3D, ≥ 10 satélites, configuración Helgen guardada |
|
||||||
| RTK-NNNN (módem) | SIM registrada en Telcel, configuración enviada sin errores, `AS+K` anotado |
|
| RTK-NNNN | Registrado en Telcel, configuración sin errores, `AS+K` anotado |
|
||||||
| Pareja ArduSimple + 4G | RTK FIX estable 5 min con correcciones por 4G |
|
| Pareja | RTK FIX estable 5 min con correcciones por 4G |
|
||||||
|
|
||||||
Un módulo con **FALLA** no se asigna a ninguna unidad: el acta de ensamble no lo dejará seleccionar.
|
El acta de ensamble no deja seleccionar un módulo con FALLA. Parámetros del módem y configuración F9P: [Descargas](../descargas/index.md). Configuración final de la unidad: [Configuración de la unidad](v5-configuracion-unidad.md).
|
||||||
|
|
||||||
---
|
## Anexo — notas de ingeniería
|
||||||
|
|
||||||
## Anexo A — Notas de ingeniería
|
- En la unidad V5 el módem va en J7/J8 de la EinarBoard (mismo footprint XBee), no sobre el simpleRTK2B. El enlace F9P ↔ módem pasa por K1; con K1 liberado (`BYP_CTRL` bajo, estado por defecto) el camino es directo. Por eso la integración se prueba sobre el simpleRTK2B: misma electrónica, sin depender del firmware de la EinarBoard.
|
||||||
|
- F9P: UART1 a 115200 (lo lee la EinarBoard en PA3/PA2) y UART2 a la velocidad del módem (`AS+B=115200`). El `.txt` del F9P no está en el repo; falta añadirlo a `04-Source-Code/rtk-config/` (sin secretos).
|
||||||
|
- `AS+K` es la identidad en el servidor secundario (`AS+r/AS+h`). Pendiente decidir si es el número del módem (R0006) o el de la unidad; mientras, el acta lo guarda como texto libre.
|
||||||
|
- Credenciales (APN, NTRIP) solo en `…local.txt` en la laptop de banco; nunca en git ni en el sitio.
|
||||||
|
|
||||||
- En la **unidad v5** el módulo 4G **no** va sobre el simpleRTK2B: va en el zócalo **J7/J8** de la
|
## Historial de revisiones
|
||||||
EinarBoard (mismo footprint XBee). El enlace F9P ↔ módem pasa por el relevador **K1**; con K1
|
|
||||||
liberado (estado por defecto del firmware, `BYP_CTRL` bajo) el camino es directo. Por eso la
|
| Versión | Fecha | Cambios |
|
||||||
prueba de integración se hace con el módulo montado en el simpleRTK2B (misma electrónica, sin
|
|---|---|---|
|
||||||
depender del firmware de la EinarBoard).
|
| 1.0 | 2026-09-17 | Primera versión. |
|
||||||
- Configuración F9P: UART1 a **115200** (es lo que lee la EinarBoard en PA3/PA2) y UART2 a la
|
| 1.1 | 2026-09-29 | Encabezado uniforme, enlaces a actas, descargas y configuración. |
|
||||||
velocidad del módem (`AS+B=115200`). El archivo `.txt` del F9P **no está en el repo** — hay que
|
| 1.2 | 2026-09-29 | Edición breve: material dentro del encabezado; secciones renumeradas. |
|
||||||
añadirlo a `04-Source-Code/rtk-config/` (sin secretos) para que este procedimiento sea reproducible.
|
|
||||||
- El ID de estación `AS+K` es la identidad de la unidad en el servidor secundario (`AS+r/AS+h`).
|
Versiones anteriores en git.
|
||||||
Decisión pendiente: `AS+K` = número del módem 4G (R0006) o número de unidad. Mientras se decide,
|
|
||||||
el acta lo registra como texto libre.
|
|
||||||
- Las credenciales (APN, NTRIP) viven solo en `…local.txt` en la laptop de banco. Nunca en git ni en
|
|
||||||
el sitio.
|
|
||||||
|
|||||||
@ -1,176 +1,169 @@
|
|||||||
---
|
---
|
||||||
title: HBOX v5 — Procedimiento de ensamble de la unidad y energizado final
|
title: "HBOX V5 — Ensamble de la unidad y energizado"
|
||||||
tags: [project-drogheda, hardware, hbox, v5, ensamble, checklist, procedimiento]
|
tags: [project-drogheda, hardware, hbox, v5, ensamble, checklist, procedimiento]
|
||||||
|
date: 2026-09-17
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
author: Helgen Technologies
|
author: Helgen Technologies
|
||||||
date: 2026-09-17
|
version: 1.2
|
||||||
version: 1.0
|
status: ACTIVO — una unidad a la vez
|
||||||
status: ACTIVO — una unidad a la vez; se registra en el acta "Ensamble"
|
|
||||||
audience: técnicos de banco
|
audience: técnicos de banco
|
||||||
---
|
---
|
||||||
|
|
||||||
# HBOX v5 — Ensamble de la unidad y energizado final
|
# HBOX V5 — Ensamble de la unidad y energizado
|
||||||
|
|
||||||
**Entrada:** tres módulos **ya aprobados** en sus actas — una EinarBoard **V5-NN** (acta de prueba y
|
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
|
||||||
flasheo), un simpleRTK2B Pro **ARD-NNN** y un módem 4G NTRIP Master **RTK-NNNN** que pasaron juntos la
|
- Para quién: técnicos de banco.
|
||||||
**integración**. **Salida:** una unidad HBOX cerrada, etiquetada **HBOX5-Exx-Axxx-Rxxxx**, encendida y
|
- Cuándo: con una EinarBoard V5-NN aprobada y una pareja ARD-NNN + RTK-NNNN aprobada e integrada. Paso 3 de producción, entre [Módulos RTK y 4G](v5-modulos-integracion.md) y la [prueba final](v5-prueba-final-unidad.md). Resultado: unidad cerrada, etiquetada `HBOX5-Exx-Axxx-Rxxxx`, encendida y reportando.
|
||||||
reportando.
|
- Tiempo: 60–90 min por unidad.
|
||||||
|
- Necesitas: ver §1; [acta de ensamble](../formularios/ensamble.html).
|
||||||
|
|
||||||
**Duración estimada:** 60–90 min por unidad.
|
!!! warning "Reglas"
|
||||||
|
1. Primero el acta: selecciona los tres módulos en el [acta de ensamble](../formularios/ensamble.html) y espera a verlos en verde (Aprobado) con la pareja en "integración OK". Un módulo en rojo o "sin acta" no se ensambla.
|
||||||
|
2. La batería se conecta al final (§6), con la unidad energizada desde 24 V.
|
||||||
|
3. Inserta los módulos sin energía y revisa la orientación dos veces. Un XBee al revés o un simpleRTK2B corrido un pin se destruye al encender.
|
||||||
|
|
||||||
> ⛔ **REGLA 1 — Primero el acta, luego el desarmador.** Abrir el acta de ensamble, seleccionar los
|
## 0. Número de la unidad
|
||||||
> tres módulos y esperar a que el sitio muestre los tres en **verde (Aprobado)** y la pareja ArduSimple+4G
|
|
||||||
> con **integración OK**. Si alguno sale en rojo o "sin acta", **no se ensambla** con ese módulo.
|
|
||||||
>
|
|
||||||
> ⛔ **REGLA 2 — Batería al final.** El pack 1S4P se conecta en P4 solo en la sección 6, con la unidad
|
|
||||||
> ya energizada desde 24 V y con el NTC del pack en P4-3.
|
|
||||||
>
|
|
||||||
> ⛔ **REGLA 3 — Todo módulo se inserta sin energía**, mirando la orientación dos veces. Un XBee al
|
|
||||||
> revés o un simpleRTK2B corrido un pin se destruye al encender.
|
|
||||||
|
|
||||||
---
|
El acta lo compone al seleccionar los módulos:
|
||||||
|
|
||||||
## 0. El número de serie de la unidad
|
|
||||||
|
|
||||||
El acta lo compone automáticamente al seleccionar los módulos:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
HBOX5 - E07 - A010 - R0006
|
HBOX5 - E07 - A010 - R0006
|
||||||
│ │ │ └── módem 4G NTRIP Master RTK-0006
|
│ │ │ └── módem 4G NTRIP Master RTK-0006
|
||||||
│ │ └────────── simpleRTK2B Pro (ArduSimple) ARD-010
|
│ │ └────────── simpleRTK2B Pro (ArduSimple) ARD-010
|
||||||
│ └──────────────── EinarBoard V5-07
|
│ └──────────────── EinarBoard V5-07
|
||||||
└──────────────────────── producto HBOX, tarjeta v5
|
└──────────────────────── producto HBOX, tarjeta v5
|
||||||
```
|
```
|
||||||
|
|
||||||
Ese texto va en la **etiqueta exterior** del HBOX (panel, junto al GX16) y en la **etiqueta interior**
|
Va en la etiqueta exterior (panel, junto al GX16) y en la interior (cara interna de la tapa). Un módulo pertenece a una sola unidad: el sitio rechaza el acta si ya está asignado.
|
||||||
(cara interna de la tapa). Un módulo solo puede pertenecer a **una** unidad: el sitio rechaza el acta
|
|
||||||
si el módulo ya está asignado.
|
|
||||||
|
|
||||||
---
|
## 1. Material
|
||||||
|
|
||||||
## 1. Material y herramientas
|
|
||||||
|
|
||||||
| Ítem | Notas |
|
| Ítem | Notas |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Gabinete HBOX con panel perforado (GX16-5, 3 × SMA, RJ45, prensaestopas) | según el diseño mecánico vigente |
|
| Gabinete HBOX con panel (GX16-5, 3 × SMA, RJ45, prensaestopas) | Diseño mecánico vigente |
|
||||||
| EinarBoard **V5-NN** aprobada, con firmware de bring-up **0.5.1 o superior** | ver acta de tarjeta |
|
| EinarBoard V5-NN aprobada, firmware 0.5.1 o superior | Acta de tarjeta |
|
||||||
| simpleRTK2B Pro **ARD-NNN** y módem 4G NTRIP Master **RTK-NNNN** aprobados e integrados | con sus bolsas |
|
| simpleRTK2B Pro ARD-NNN y módem RTK-NNNN aprobados e integrados | En sus bolsas |
|
||||||
| Fuente **Mean Well SD-15B-05** (24 V → 5 V) | va dentro del HBOX |
|
| Mean Well SD-15B-05 (24 V → 5 V) | Va dentro del HBOX |
|
||||||
| Pack de batería **1S4P** con NTC (3 hilos → P4) | conectar al final |
|
| Paquete de batería con NTC (3 hilos → P4), química según §2 | Se conecta al final |
|
||||||
| Ventilador 5 V 2 hilos (P6), LED de panel (P8), botón de reset (P10), interruptor de corte (P11), NTC de punto caliente (P12) | arnés interno |
|
| Ventilador 5 V (P6), LED de panel (P8), botón de reset (P10), interruptor de corte (P11), NTC de punto caliente (P12) | Arnés interno |
|
||||||
| Pigtails de antena: GNSS SMA-hembra bulkhead → SMA del simpleRTK2B; 2 × LTE SMA bulkhead → u.FL del módulo 4G | |
|
| Pigtails: GNSS SMA bulkhead → SMA del simpleRTK2B; 2 × LTE SMA bulkhead → u.FL del módem | |
|
||||||
| Separadores M2.5/M3, tornillería, bridas, fijador de rosca para SMA | |
|
| Separadores M2.5/M3, tornillería, bridas, fijador de rosca | |
|
||||||
| Fuente de banco 24 V / 1 A con límite de corriente, multímetro, laptop con terminal serie | |
|
| Fuente de banco 24 V / 1 A con límite, multímetro, laptop con terminal serie | |
|
||||||
| Etiquetas: exterior e interior con el número de unidad | impresas desde el acta |
|
| Etiquetas exterior e interior | Impresas desde el acta |
|
||||||
|
|
||||||
---
|
## 2. Tarjeta (sin energía)
|
||||||
|
|
||||||
## 2. Preparación de la tarjeta (sin energía)
|
- [ ] La EinarBoard es la V5-NN seleccionada en el acta (etiqueta cerca de MH4).
|
||||||
|
- [ ] JP2 coincide con la química del paquete (tabla abajo). Léelo con lupa; serigrafía V5.6: `JP2 = F2 (Li-ion / LFP)`.
|
||||||
|
- [ ] JP3 (F1) = 0 · JP4 (F0) = 1. Anota JP2, JP3 y JP4 en el acta.
|
||||||
|
- [ ] JP1 (0R, alimentación del ventilador) presente.
|
||||||
|
- [ ] P11 abierto, sin jumper; ahí va el interruptor de panel (§4).
|
||||||
|
- [ ] Tarjeta fija con separadores en MH1–MH6 (MH7–MH12 según el diseño), sin flexionarla; apriete suave.
|
||||||
|
|
||||||
- [ ] EinarBoard **V5-NN** corresponde a la seleccionada en el acta (leer la etiqueta cerca de MH4).
|
| Tarjeta | Paquete | JP2 (3 pads) | RNTB (R55) / NTC del paquete | Flotación | En vacío |
|
||||||
- [ ] Jumpers del cargador en la posición del pack Li-ion 4.00 V: **JP2 (F2) = 1 · JP3 (F1) = 0 · JP4 (F0) = 1**.
|
|---|---|---|---|---|---|
|
||||||
Anotar en el acta la posición de cada uno. *(Si el pack cambia a LiFePO4, ingeniería indicará JP2 = 0.)*
|
| V5.5 | Li-ion 18650 1S4P | 1-2 (F2 alto, Li-ion) | 10 k / NTC 10 k | ≈ 4.0–4.1 V | 3.0–4.2 V |
|
||||||
- [ ] Jumper **JP1** (0R, alimentación del ventilador) presente.
|
| V5.6 | LiFePO4 alta temperatura 26650 | 2-3 (F2 bajo, LFP) | 5.6 k / NTC B3380 | 3.50 V | 2.8–3.6 V |
|
||||||
- [ ] **P11** (corte) **abierto** — sin jumper; el interruptor de panel se conecta ahí en la sección 4.
|
|
||||||
- [ ] Tarjeta fijada en la platina/gabinete con separadores en **MH1–MH6** (y MH7–MH12 según el diseño) sin flexionar la tarjeta; tornillos con apriete suave.
|
|
||||||
|
|
||||||
## 3. Módulos enchufables (sin energía)
|
!!! danger "Química y JP2 cruzados = FALLA"
|
||||||
|
- Li-ion con JP2 en 2-3: flota a 3.50 V, el paquete nunca se llena y la autonomía es de minutos.
|
||||||
|
- LFP con JP2 en 1-2: el cargador intenta 4.0 V sobre una celda de 3.6 V máx. Sobrecarga. No se embarca.
|
||||||
|
|
||||||
- [ ] **simpleRTK2B Pro ARD-NNN** en **MOD1**: alinear el pin **"5V"** del zócalo UNO con el pin 5V del
|
Si no coinciden, detén la unidad y avisa a ingeniería. JP2 no se cambia en banco.
|
||||||
módulo; las cuatro tiras entran a fondo y parejas; **ninguna** clavija queda fuera del zócalo.
|
|
||||||
- [ ] **Módem 4G NTRIP Master RTK-NNNN** en **J7/J8** (zócalo XBee de 2 mm de la EinarBoard, **no** en el
|
|
||||||
simpleRTK2B): la silueta del módulo coincide con la serigrafía; pin 1 (VCC) del lado marcado.
|
|
||||||
- [ ] SIM presente en el módulo 4G (ya verificada en su acta).
|
|
||||||
- [ ] Nada toca la tapa ni los separadores; los módulos no rozan componentes altos (K1, C10, L6).
|
|
||||||
|
|
||||||
## 4. Panel y arnés interno (sin energía)
|
## 3. Módulos (sin energía)
|
||||||
|
|
||||||
Conectar contra el pinout; cada JST hace **clic**.
|
- [ ] simpleRTK2B ARD-NNN en MOD1: pin "5V" del zócalo UNO alineado con el 5V del módulo; las cuatro tiras a fondo, ninguna clavija fuera.
|
||||||
|
- [ ] Módem RTK-NNNN en J7/J8 de la EinarBoard (no en el simpleRTK2B): silueta sobre la serigrafía, pin 1 (VCC) del lado marcado.
|
||||||
|
- [ ] SIM puesta.
|
||||||
|
- [ ] Nada toca la tapa ni los separadores; los módulos no rozan K1, C10 ni L6.
|
||||||
|
|
||||||
| Conector | Qué se conecta | Verificar |
|
## 4. Panel y arnés (sin energía)
|
||||||
|
|
||||||
|
Cada JST hace clic.
|
||||||
|
|
||||||
|
| Conector | Qué va | Verifica |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **P1** (GX16-5 del panel) | pin 1 = +24 V · pin 2 = GND · pin 3 = ignición · pin 4 = GND | polaridad con multímetro **antes** de conectar al panel |
|
| P1 (GX16-5) | 1 = +24 V · 2 = GND · 3 = ignición · 4 = GND | Polaridad con multímetro antes de conectar |
|
||||||
| **SD-15B-05** | entrada: +24 V/GND del GX16 (empalme en Y) · salida +5 V/GND → **P2** (pin 1 = +5 V) | ajustar salida a **5.0 V** en banco antes de montar |
|
| SD-15B-05 | Entrada +24 V/GND del GX16 (empalme en Y); salida +5 V/GND → P2 (pin 1 = +5 V) | Salida a 5.0 V en banco antes de montar |
|
||||||
| **P6** | ventilador (pin 1 = +5V_FAN, pin 2 = retorno) | dirección de flujo: aire **hacia afuera** por la rejilla |
|
| P6 | Ventilador (1 = +5V_FAN, 2 = retorno) | Aire hacia afuera por la rejilla |
|
||||||
| **P8** | LED de panel (pin 1 = ánodo, pin 2 = cátodo) | LED asoma por el panel |
|
| P8 | LED de panel (1 = ánodo, 2 = cátodo) | Asoma por el panel |
|
||||||
| **P10** | botón de reset externo | normalmente abierto |
|
| P10 | Botón de reset | Normalmente abierto |
|
||||||
| **P11** | interruptor de corte del panel (2 hilos) | en posición **ON** cierra pin 1–2 |
|
| P11 | Interruptor de corte (2 hilos) | ON cierra 1–2 |
|
||||||
| **P12** | NTC de punto caliente pegado al módulo 4G o al disipador | con cinta térmica |
|
| P12 | NTC de punto caliente en el módem o el disipador | Cinta térmica |
|
||||||
| **P4** | **NO conectar todavía** (batería, sección 6) | — |
|
| P4 | Nada todavía | §6 |
|
||||||
| Antena **GNSS** | bulkhead SMA del panel → SMA del simpleRTK2B | fijador de rosca, apriete a mano + ¼ vuelta |
|
| GNSS | Bulkhead SMA → SMA del simpleRTK2B | Fijador de rosca, a mano + ¼ vuelta |
|
||||||
| Antenas **LTE (2)** | bulkheads SMA del panel → u.FL del módulo 4G | los u.FL hacen clic; ruta del cable sin dobleces < 10 mm |
|
| LTE (2) | Bulkheads SMA → u.FL del módem | Clic en los u.FL; sin dobleces < 10 mm |
|
||||||
| **J10** RJ45 / **P15** RS-485 / **P16** RS-232 | solo si el panel de esta unidad los lleva | tapas ciegas en los que no |
|
| J10 / P15 / P16 | Solo si el panel los lleva ([conexión](v5-prueba-ethernet-serie.md#conexion-en-la-instalacion)) | Tapas ciegas en los que no |
|
||||||
|
|
||||||
- [ ] Ningún cable pasa sobre el módulo 4G ni sobre la antena; cables sujetos con bridas al chasis.
|
- [ ] Ningún cable pasa sobre el módem ni la antena; cables con bridas al chasis.
|
||||||
- [ ] Sin conductores expuestos cerca de 24 V (P1, SD-15B).
|
- [ ] Sin conductores expuestos cerca de 24 V (P1, SD-15B).
|
||||||
|
|
||||||
## 5. Energizado desde 24 V (unidad abierta, sin batería)
|
## 5. Energizado desde 24 V (abierta, sin batería)
|
||||||
|
|
||||||
1. Fuente de banco **24.0 V, límite 1.0 A**, salida apagada, conectada al **GX16** del panel (pin 1 = +, pin 2 = −).
|
1. Fuente a 24.0 V, límite 1.0 A, salida apagada, al GX16 (pin 1 = +, pin 2 = −). P11 en ON. USB-C de J11 a la laptop, terminal a 115200.
|
||||||
Interruptor de corte (P11) en **ON**. USB-C en **J11** conectado a la laptop, terminal serie a 115200.
|
2. Enciende. En los primeros 10 s:
|
||||||
2. Encender la salida. En los primeros 10 s:
|
|
||||||
|
|
||||||
| Punto | Esperado |
|
| Punto | Esperado |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Corriente de la fuente | **< 150 mA** (etapa RTK aún apagada) |
|
| Corriente | < 150 mA (etapa RTK apagada) |
|
||||||
| **D18** verde | Encendido |
|
| D18 | Encendido |
|
||||||
| **D17** azul + LED de panel | Parpadean (firmware de bring-up corriendo) |
|
| D17 y LED de panel | Parpadean |
|
||||||
| Consola | Encabezado `hbox-v5-bringup`, reporte con **12 PASS**, luego `STAT … v5=4.9–5.1` |
|
| Consola | Encabezado `hbox-v5-bringup`, 12 PASS, luego `STAT … v5=4.9–5.1` |
|
||||||
| Ventilador | **Gira** (con 24 V presente el buck U2 se enciende solo) |
|
| Ventilador | Gira (U2 se enciende solo con 24 V) |
|
||||||
|
|
||||||
3. Anotar en el acta: `v5` (debe ser 4.8–5.1 V), `tmp102`, `sht40`.
|
3. Anota `v5` (4.8–5.1 V), `tmp102` y `sht40`.
|
||||||
4. **Encender la etapa RTK desde la consola:** teclear **`P`** y confirmar con **`Y`**. El firmware sube
|
4. Enciende la etapa: `P` y confirma con `Y` (`STACK ON`). En 60 s:
|
||||||
`PWR_CTRL` y reporta `STACK ON`. En los siguientes 60 s:
|
|
||||||
|
|
||||||
| Punto | Esperado |
|
| Punto | Esperado |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Corriente de la fuente | sube a **250–600 mA** (pico corto al registrar el 4G) |
|
| Corriente | 250–600 mA (pico corto al registrar el 4G) |
|
||||||
| simpleRTK2B: LED POWER | Encendido |
|
| simpleRTK2B, LED POWER | Encendido |
|
||||||
| 4G: LED de red | Buscando → registrado (< 2 min) |
|
| Módem, LED de red | Registrado en < 2 min |
|
||||||
| Consola, comando **`n`** | Muestra las tramas `$GNGGA` de PA3: **`fix=1`** (GPS) al minuto, **`fix=4`** (RTK FIX) en < 10 min con antena al cielo; `sats ≥ 10` |
|
| Consola, tecla `n` | Tramas `$GNGGA` de PA3: `fix=1` al minuto, `fix=4` (RTK FIX) en < 10 min con cielo; `sats ≥ 10` |
|
||||||
|
|
||||||
5. Anotar en el acta el **tiempo hasta `fix=4`** y el número de satélites.
|
5. Anota el tiempo hasta `fix=4` y los satélites.
|
||||||
6. Teclear **`P`** de nuevo para **apagar** la etapa RTK. La corriente debe volver a < 150 mA.
|
6. `P` otra vez apaga la etapa; la corriente vuelve a < 150 mA.
|
||||||
|
|
||||||
> Si `n` no muestra tramas: el simpleRTK2B no está a 115200 en UART1 (volver al acta del módulo RTK:
|
`n` sin tramas: el simpleRTK2B no está a 115200 en UART1 (configuración Helgen) o MOD1 está corrido un pin. Apaga antes de tocar.
|
||||||
> configuración Helgen) o MOD1 está corrido un pin. **Apagar antes de tocar nada.**
|
|
||||||
|
|
||||||
## 6. Batería y respaldo
|
## 6. Batería y respaldo
|
||||||
|
|
||||||
1. Con la unidad encendida desde 24 V y la etapa RTK **apagada**: conectar el pack en **P4**
|
1. Con 24 V y la etapa apagada, mide el paquete en vacío (rango en §2) y conéctalo en P4 (1 = BAT+, 2 = GND, 3 = NTC).
|
||||||
(pin 1 = BAT+, pin 2 = GND, pin 3 = NTC). Medir antes con multímetro: **3.0–4.2 V** entre BAT+ y GND.
|
2. `STAT` muestra `vbat` y `chrg` (`0` = cargando). Con la etapa apagada el firmware no carga: `chrg=1` es lo esperado.
|
||||||
2. En la consola, `STAT` debe mostrar **`vbat`** con el voltaje del pack y **`chrg`**: `0` = cargando
|
3. Apaga la fuente de 24 V:
|
||||||
(el firmware de bring-up mantiene la carga **deshabilitada**, así que `chrg=1` es lo esperado aquí).
|
|
||||||
3. **Prueba de respaldo:** apagar la salida de la fuente de 24 V.
|
|
||||||
|
|
||||||
| Punto | Esperado |
|
| Punto | Esperado |
|
||||||
|---|---|
|
|---|---|
|
||||||
| D18, D17 y consola | **Siguen vivos** (el LTC4040 conmuta a batería sin reinicio: el encabezado **no** se vuelve a imprimir) |
|
| D18, D17 y consola | Siguen vivos; el encabezado no se reimprime (sin reinicio) |
|
||||||
| `STAT` | `v5=0.0`, `vbat` con el voltaje del pack |
|
| `STAT` | `v5=0.0`, `vbat` del paquete |
|
||||||
| Ventilador | Se detiene (no hay 24 V) — correcto |
|
| Ventilador | Se detiene |
|
||||||
|
|
||||||
4. Volver a encender 24 V: `STAT` vuelve a `v5≈5.0`. Sin reinicio.
|
4. Enciende 24 V: `v5≈5.0`, sin reinicio.
|
||||||
5. Anotar: voltaje del pack, "respaldo OK sin reinicio".
|
5. Anota el voltaje del paquete y "respaldo OK sin reinicio".
|
||||||
|
|
||||||
## 7. Cierre, etiquetado y registro
|
## 7. Cierre
|
||||||
|
|
||||||
- [ ] Etiqueta **exterior** `HBOX5-Exx-Axxx-Rxxxx` en el panel, junto al GX16. Etiqueta **interior** en la tapa.
|
- [ ] Etiqueta exterior `HBOX5-Exx-Axxx-Rxxxx` junto al GX16; etiqueta interior en la tapa.
|
||||||
- [ ] Interruptor de corte en **OFF** para almacenar (evita descargar la batería). Anotarlo en la etiqueta interior.
|
- [ ] P11 en OFF para almacenar (no descarga la batería); anótalo en la etiqueta interior.
|
||||||
- [ ] Tapa cerrada con su sello; tornillos en cruz; prensaestopas apretados.
|
- [ ] Tapa con su sello, tornillos en cruz, prensaestopas apretados.
|
||||||
- [ ] Acta de ensamble enviada con resultado **APROBADA**.
|
- [ ] Acta de ensamble enviada como APROBADA.
|
||||||
|
|
||||||
---
|
Siguiente: [prueba final](v5-prueba-final-unidad.md) y [configuración](v5-configuracion-unidad.md).
|
||||||
|
|
||||||
## Anexo A — Notas de ingeniería
|
## Anexo — notas de ingeniería
|
||||||
|
|
||||||
- **Firmware:** el bring-up **0.2.0** añade el modo de banco (`P` = stack ON/OFF con confirmación,
|
- El bring-up 0.2.0 añadió el modo de banco (`P` = etapa ON/OFF con confirmación, `n` = monitor NMEA de PA3 por 20 s) con la carga deshabilitada (`CHRG_EN` alto) y K1 liberado. Desde 0.6.0 el gobernador carga solo con etapa ON en 24 V. Se reflashea por J11 sin abrir el HBOX si J11 queda accesible; pendiente decidir si J11 asoma por el panel.
|
||||||
`n` = monitor NMEA de PA3, 20 s). Mantiene la carga deshabilitada (`CHRG_EN` alto) y K1 liberado.
|
- Las corrientes en 24 V son orientativas; se fijan con las primeras tres unidades (el firmware imprime `v5` pero no mide corriente).
|
||||||
La unidad ensamblada queda con este firmware hasta que exista el firmware de producción v5
|
- El respaldo sin reinicio prueba el LTC4040 + L6/`SW_BAT` (0.3 mm, crítico en la auditoría EMC). Si una unidad reinicia al cortar 24 V, anota `vbat` y temperatura para el respin.
|
||||||
(rediseño de gestión de batería); se re-flashea por J11 sin abrir el HBOX si J11 queda accesible —
|
- Modo B / K1 no se prueba aquí; K1 queda liberado (F9P ↔ módem directo).
|
||||||
**decidir si J11 asoma por el panel o se deja interno.**
|
|
||||||
- **Corriente en 24 V:** valores orientativos; los reales se fijan con las primeras tres unidades y
|
## Historial de revisiones
|
||||||
se actualizan aquí (bring-up 0.2.0 imprime `v5` pero no mide corriente).
|
|
||||||
- **Respaldo sin reinicio** es la prueba del LTC4040 + L6/SW_BAT en la tarjeta real (el EMC audit
|
| Versión | Fecha | Cambios |
|
||||||
marcó `/SW_BAT` 0.3 mm como crítico): si alguna unidad reinicia al cortar 24 V, anotar `vbat` y
|
|---|---|---|
|
||||||
temperatura — es evidencia para el respin.
|
| 1.0 | 2026-09-17 | Primera versión. |
|
||||||
- **Modo B / relevador K1:** no se prueba aquí; K1 queda liberado (camino directo F9P ↔ módem).
|
| 1.1 | 2026-09-29 | Encabezado uniforme y enlaces al flujo de producción. |
|
||||||
|
| 1.2 | 2026-09-29 | Edición breve. La regla de química del paquete y JP2 (V5.5 y V5.6) vive aquí, en §2. |
|
||||||
|
|
||||||
|
Versiones anteriores en git.
|
||||||
|
|||||||
@ -1,82 +1,97 @@
|
|||||||
# HBOX v5 — Prueba final de unidad ensamblada con firmware 0.5.1 (field-minimum + telemetría y eventos)
|
---
|
||||||
|
title: "HBOX V5 — Prueba final de unidad ensamblada"
|
||||||
|
tags: [project-drogheda, hardware, hbox, v5, testing, prueba-final, procedimiento]
|
||||||
|
date: 2026-09-18
|
||||||
|
project: Project Drogheda
|
||||||
|
author: Helgen Technologies
|
||||||
|
version: 1.2
|
||||||
|
audience: técnicos de banco
|
||||||
|
---
|
||||||
|
|
||||||
**Alcance:** unidad completa (EinarBoard V5 + ArduSimple + módem 4G + batería + antenas) dentro del HBOX, antes de embarcar.
|
# HBOX V5 — Prueba final de unidad ensamblada
|
||||||
**Firmware:** `hbox-v5-bringup_0.5.1.bin` (SHA-256 `e1f35108…`) — descarga en <https://drogheda.helgen.online/descargas/>.
|
|
||||||
**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"
|
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
|
||||||
**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
|
- Para quién: técnicos de banco.
|
||||||
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)
|
- Cuándo: unidad V5.5/V5.6 recién ensamblada, antes de embarcar. Paso 4 de producción, entre el [ensamble](v5-ensamble.md) y la [configuración](v5-configuracion-unidad.md).
|
||||||
cuando salga el firmware de producción. Anotar en el acta: *«fw 0.5.1-fm, cargador OFF»*.
|
- Tiempo: ~45 min por unidad (P1–P6).
|
||||||
|
- Necesitas: arnés GX16 real con fuente de 24 V, cable USB-C en J11, laptop con terminal a 115200 grabando, antenas con cielo, monitor abierto. Se registra en el [acta de ensamble](../formularios/ensamble.html).
|
||||||
|
|
||||||
|
Firmware: el binario V5 vigente de [Descargas](../descargas/index.md). Abajo `X.Y.Z` es la versión que flasheaste. Hasta 0.5.9 el cargador está apagado (paquete de un solo uso hasta 3.40 V); desde 0.6.0 carga con 24 V y etapa ON (`carga=`, `ltc=CARGANDO`).
|
||||||
|
|
||||||
## 0. Preparación
|
## 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)
|
1. Con la fuente apagada, verifica el arnés GX16 (obligatorio; la EinarBoard 006 murió por un cruce aquí): pin 1 → P1.1 (24V_IN), pin 2 → GND, pin 3 → P1.3 (IGN_IN), y ninguna continuidad de pin 1 o pin 3 a P2.1 (5 V). El 5 V de P2 solo sale del SD-15B; 24 V en P2 destruye el LTC4040 (máx 5.5 V) y el MCU.
|
||||||
Energizar 24 V (con ignición) y **no tocar la consola**.
|
2. Consola: USB-C en J11, PuTTY o CoolTerm a 115200. Cada línea es `STAT`, `EVT` o `$PHLG`; `l` muestra la leyenda.
|
||||||
|
3. 24 V en P1 (entrada + ignición) por el arnés GX16; el SD-15B da el 5 V. Batería en P4. Antenas GNSS y LTE, SIM y módem puestos.
|
||||||
|
4. NTC de punto caliente en P12 (10 k B3950) si la unidad la lleva. Es la única que ve el MCU (`tntc`); la NTC del paquete (P4 pin 3) va solo al LTC4040 y no sale en telemetría. Sin NTC en P12 el monitor muestra "n/d".
|
||||||
|
5. Graba el log completo como `HBOX5-Exx-Axxx-Rxxxx_prueba-final.txt` para el acta.
|
||||||
|
|
||||||
|
## P1. Arranque autónomo (2 min)
|
||||||
|
|
||||||
|
Energiza 24 V con ignición. No toques la consola.
|
||||||
|
|
||||||
| Esperado | Si falla |
|
| 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 |
|
| Banner `hbox-v5-bringup X.Y.Z` · `modo=AUTO` · `inputs at boot: v5=5.2–5.4V(ok) ign=ON` | Otra versión: reflashea. `ign=OFF`: arnés pin 3 / divisor 22k-10k |
|
||||||
| `---- RESULT: 12 PASS / 0 FAIL ----` · `>>> BOARD OK` | cualquier `[FAIL]` → tarjeta a revisión, no embarcar |
|
| `---- RESULT: 12 PASS / 0 FAIL ----` · `>>> BOARD OK` | Cualquier `[FAIL]`: tarjeta a revisión, no se embarca |
|
||||||
| `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 … STACK ON reason=auto` sin teclear, ≈10 s tras el banner | `STAT` con `v5=` < 4.5 o `modo=MAN` (teclea `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 |
|
| `EVT … NMEA primera trama` < 3 s después · `EVT FAN ON (vehiculo: 5V+ign)` | Sin NMEA: mide 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 |
|
| LED RGB azul (sin RTK) o verde (RTK); DB1–DB4 según `vbat` | RGB rojo con `stack=ON`: PCF8574 / cableado de LEDs |
|
||||||
|
|
||||||
## P2 — Riel y módem (10 min)
|
## 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).
|
|
||||||
|
Deja la unidad 10 min encendida mientras el módem se registra.
|
||||||
|
|
||||||
| Esperado | Si falla |
|
| 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) |
|
| `v5=5.2x–5.3x(ok)` siempre; nunca `(BAJO)` ni `EVT V5 BAJO`; `v5min` ≥ 4.9 V en cada `STAT` | `BAJO` o `v5min` < 4.6: el riel cae con la ráfaga LTE; ajusta el SD-15B a ~5.3 V (PFI del LTC4040) |
|
||||||
| `tbat`/`tair`/`tmcu` estables (< 45 °C en banco) · `i2cerr=0` | `i2cerr` subiendo → bus I²C / soldadura U3/U4/U13 |
|
| `tbat`/`tair`/`tmcu` estables (< 45 °C) · `i2cerr=0` | `i2cerr` sube: 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 |
|
| `$PHLG,X.Y.Z,RUN,…` cada 10 s, `rec=0`, sin `LIMP` | `rec` > 0: NMEA intermitente, revisa MOD1 / UART1 del 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 |
|
| Modo B: ≈10 s tras la primera NMEA, `EVT MODOB ON`; `modoB=ON`, `relay=` sube cientos/s, `phlg_aire=` +1 cada 30 s | `modoB=off` fijo: 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) |
|
| Servidor: en ≤ 2 min `H00xx` muestra Salud (fw, vbat, temperaturas, `v5min`), llegan `$PHEV` (BOOT, STACK_ON, MODOB_ON) y posición a 1 Hz | Posición sin Salud: el módem no reenvía `$PHLG`; revisa `$$$AS+` (modo transparente) |
|
||||||
|
|
||||||
## P3 — Respaldo de batería (6 min) — **la prueba que nunca se había hecho en v5**
|
## P3. Respaldo de batería (6 min)
|
||||||
Con la etapa ON: **desconectar el 24 V** (se va el 5 V del SD-15B). Esperar 5 min. Reconectar.
|
|
||||||
|
Con la etapa ON, desconecta los 24 V. Espera 5 min y reconecta.
|
||||||
|
|
||||||
| Esperado | Si falla |
|
| 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 |
|
| `EVT V5 PERDIDO` → `EVT BACKUP inicio vbat=4.0x`, etapa sigue ON, RGB amarillo | La etapa se apaga o la tarjeta reinicia (`reset=POR`): mide 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 |
|
| `stack=ON backup=Ns nmea=` sigue contando 5 min; ventilador según termostato (normalmente OFF) | `nmea` se detiene: SW_BAT/L6 (pista 0.3 mm) o paquete flojo en P4 |
|
||||||
| al reconectar: `EVT V5 PRESENTE` → `EVT BACKUP fin dur≈300s nmea_durante=N … SOSTUVO` | — |
|
| Al reconectar: `EVT V5 PRESENTE` → `EVT BACKUP fin dur≈300s nmea_durante=N … SOSTUVO` | — |
|
||||||
|
|
||||||
## P4 — Cielo abierto: primer RTK (10 min)
|
## P4. Primer RTK a cielo abierto (10 min)
|
||||||
Con antena GNSS con cielo despejado y base activa (`$$$AS+` configurado):
|
|
||||||
|
Antena con cielo despejado y base activa (`$$$AS+` configurado).
|
||||||
|
|
||||||
| Esperado | Si falla |
|
| 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 |
|
| `EVT GGA fix … -> RTK FLOAT(5)` y luego `-> RTK FIX(4)`; `gga=RTK_FIX sats≥10 hdop<1.5`; RGB verde | Se queda en `GPS(1)`: no llegan correcciones; revisa módem/NTRIP (`$$$AS+`), no el F9P |
|
||||||
| `$PHLG … RUN,OK,4,…` | `link=DEGR` permanente = NMEA sí, RTK no |
|
| `$PHLG … RUN,OK,4,…` | `link=DEGR` fijo: NMEA sí, RTK no |
|
||||||
|
|
||||||
## P5 — Recuperación de enlace (4 min, solo 1 unidad de muestra por lote)
|
## P5. Recuperación de enlace (4 min, una unidad por lote)
|
||||||
Con la etapa ON y > 90 s de encendida: **retirar el ArduSimple del socket** (o su UART1) y cronometrar.
|
|
||||||
|
Con la etapa ON más de 90 s, retira el ArduSimple del zócalo (o su UART1) y cronometra.
|
||||||
|
|
||||||
| Esperado | Si falla |
|
| 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 |
|
| `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` | — |
|
| Al reinsertar: `NMEA primera trama`; `rec=1` | — |
|
||||||
|
|
||||||
## P6 — Apagado y acta (2 min)
|
## 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)
|
1. Quita la ignición: `EVT IGN OFF`, `EVT FAN OFF (bateria: termostato)`. La etapa sigue ON mientras haya 24 V.
|
||||||
| Color | Significado |
|
2. Quita 24 V: con batería entra `BACKUP`. No esperes a `SLEEP`: reconecta y apaga con `P`.
|
||||||
|---|---|
|
3. En el acta: versión, `uid=` del banner, resultado P1–P5, `vbat` final y, con 0.5.x, "cargador OFF".
|
||||||
| **verde** | etapa ON, RTK fix |
|
|
||||||
| **azul** | etapa ON, NMEA sí, sin RTK (normal bajo techo / al arrancar) |
|
Colores del LED RGB: [manual V5](../manuales/manual-tarjeta-V5.md).
|
||||||
| **magenta** | etapa ON pero el F9P no habla (revisar ArduSimple) |
|
|
||||||
| **amarillo** | funcionando desde la batería (sin 5 V del vehículo) |
|
## Historial de revisiones
|
||||||
| **rojo** | etapa OFF (sin 5 V, batería < 3.40 V, > 60 °C, o apagada por operador) |
|
|
||||||
|
| Versión | Fecha | Cambios |
|
||||||
|
|---|---|---|
|
||||||
|
| 1.0 | 2026-09-18 | Primera versión (0.5.1-fm). |
|
||||||
|
| 1.1 | 2026-09-29 | Título sin versión de firmware; nota de cargador 0.6.0; enlaces al flujo. |
|
||||||
|
| 1.2 | 2026-09-29 | Edición breve: versión genérica `X.Y.Z`; tabla de colores RGB remitida al manual V5. |
|
||||||
|
|
||||||
|
Versiones anteriores en git.
|
||||||
|
|||||||
@ -1,88 +1,94 @@
|
|||||||
---
|
---
|
||||||
title: HBOX V5 — Checklist de puesta en marcha en el puerto (una página)
|
title: "HBOX V5 — Checklist de puesta en marcha en el puerto"
|
||||||
tags: [project-drogheda, hbox, v5, v5.6, instalacion, puesta-en-marcha, campo, checklist]
|
tags: [project-drogheda, hbox, v5, v5.6, instalacion, puesta-en-marcha, campo, checklist]
|
||||||
|
date: 2026-09-29
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
author: Helgen Technologies
|
author: Helgen Technologies
|
||||||
date: 2026-09-29
|
version: 1.2
|
||||||
version: 1.0
|
status: ACTIVO — imprimir; una hoja por unidad instalada
|
||||||
status: ACTIVO — imprimir y llevar; una hoja por unidad instalada
|
|
||||||
audience: técnico de campo
|
audience: técnico de campo
|
||||||
---
|
---
|
||||||
|
|
||||||
# HBOX V5 — Checklist de puesta en marcha (imprimir)
|
# HBOX V5 — Checklist de puesta en marcha en el puerto
|
||||||
|
|
||||||
|
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
|
||||||
|
- **Para quién:** técnico de campo; una hoja impresa por unidad V5.5/V5.6. Al terminar se sube al [expediente](../unidad.html).
|
||||||
|
- **Cuándo:** al instalar en la máquina, después de la [configuración](v5-configuracion-unidad.md) y la [recepción](ciclo-de-vida.md#7-recepcion-e-inspeccion).
|
||||||
|
- **Tiempo:** 45–60 min por unidad (incluye 5 min en batería).
|
||||||
|
- **Necesitas:** multímetro, herramienta de montaje, teléfono con datos para el monitor y el [manual del cliente](../manuales/manual-cliente.md) para entregar.
|
||||||
|
|
||||||
**Unidad:** `HBOX5-E___-A____-R_____` · **Monitor:** `H00___` · **Máquina:** ____________ · **Terminal:** ________
|
**Unidad:** `HBOX5-E___-A____-R_____` · **Monitor:** `H00___` · **Máquina:** ____________ · **Terminal:** ________
|
||||||
**Técnico:** ____________________ · **Fecha:** ____/____/2026 · **Hora inicio:** ______ · **Hora fin:** ______
|
**Técnico:** ____________________ · **Fecha:** ____/____/2026 · **Inicio:** ______ · **Fin:** ______
|
||||||
|
|
||||||
!!! warning "Antes de subir a la máquina"
|
!!! warning "Antes de subir a la máquina"
|
||||||
Unidad con **acta de ensamble APROBADA** y **configurada** ([procedimiento](v5-configuracion-unidad.md)). Firmware
|
Acta de ensamble APROBADA y unidad configurada. Firmware de campo vigente; el `-eth` de banco no se instala en campo. Interruptor de corte en OFF hasta el paso 3. Máquina apagada y con permiso de acceso (número de máquina como lo nombra la terminal).
|
||||||
**0.6.0** (V5) — el `-eth` de banco no se instala en campo. Interruptor de corte del panel en **OFF** hasta el paso 3.
|
|
||||||
Máquina **apagada y con permiso de acceso** (número de máquina tal como lo nombra la terminal).
|
|
||||||
|
|
||||||
## 1 · Montaje (máquina apagada)
|
## 1. Montaje (máquina apagada)
|
||||||
|
|
||||||
- [ ] Gabinete fijado en el punto acordado, sin tapar la rejilla del ventilador ni el LED del panel.
|
- [ ] Gabinete fijo en el punto acordado, sin tapar la rejilla del ventilador ni el LED de panel.
|
||||||
- [ ] Antena GNSS en el **punto más alto**, con cielo despejado, sobre base metálica si es magnética; cable sin dobleces ni empalmes.
|
- [ ] Antena GNSS en el punto más alto, con cielo, sobre base metálica si es magnética; cable sin dobleces ni empalmes.
|
||||||
- [ ] Antenas LTE (2) a **≥ 1 m de la GNSS** y ≥ 20 cm entre sí; los tres SMA apretados a mano + ¼ vuelta.
|
- [ ] 2 antenas LTE a ≥ 1 m de la GNSS y ≥ 20 cm entre sí; SMA a mano + ¼ vuelta.
|
||||||
- [ ] Prensaestopas apretados; sin cables sobre bordes cortantes; bridas cada 30 cm.
|
- [ ] Prensaestopas apretados; sin cables sobre bordes cortantes; bridas cada 30 cm.
|
||||||
|
|
||||||
## 2 · Arnés 24 V (máquina apagada, multímetro obligatorio)
|
## 2. Arnés 24 V (máquina apagada, con multímetro)
|
||||||
|
|
||||||
- [ ] GX16 pin 1 = **+24 V permanente** (batería de la máquina) · pin 2 = **GND** · pin 3 = **ignición** (+24 V solo con llave) · pin 4 = GND.
|
- [ ] GX16: pin 1 = +24 V permanente (batería de la máquina) · pin 2 = GND · pin 3 = ignición (+24 V solo con llave) · pin 4 = GND.
|
||||||
- [ ] Medido en el conector del arnés **antes** de enchufar: pin 1–2 = 24–28 V; pin 3–2 = 0 V con llave OFF / 24–28 V con llave ON.
|
- [ ] En el conector, antes de enchufar: pin 1–2 = 24–28 V; pin 3–2 = 0 V con llave OFF y 24–28 V con llave ON.
|
||||||
- [ ] **Ninguna continuidad** entre pin 1 o 3 y el 5 V de la tarjeta (P2). 24 V en P2 mata la unidad.
|
- [ ] Sin continuidad entre pin 1 o 3 y el 5 V de la tarjeta (P2). 24 V en P2 destruye la unidad.
|
||||||
- [ ] Portafusible del kit en el +24 V, lo más cerca de la toma: fusible **3 A lento** <!-- VERIFICAR: valor final del fusible en línea (mismo pendiente que el manual DRG-MAN-001) -->.
|
- [ ] Portafusible del kit en el +24 V, cerca de la toma, fusible 3 A lento. <!-- VERIFICAR: valor final del fusible en línea (mismo pendiente que el manual DRG-MAN-001) -->
|
||||||
|
|
||||||
## 3 · Encendido y LEDs
|
## 3. Encendido y LEDs
|
||||||
|
|
||||||
- [ ] Enchufar GX16. Interruptor de corte → **ON**. Llave de la máquina → ON.
|
- [ ] GX16 enchufado, interruptor de corte en ON, llave en ON.
|
||||||
- [ ] **LED de panel** parpadea a 1 Hz en < 5 s (MCU vivo).
|
- [ ] LED de panel parpadea a 1 Hz en < 5 s.
|
||||||
- [ ] Ventilador gira (hay 24 V).
|
- [ ] Ventilador gira.
|
||||||
- [ ] **LED RGB:** azul (etapa ON, buscando RTK) en < 15 s → **verde (RTK FIX)** en < 10 min con cielo.
|
- [ ] RGB azul en < 15 s y verde (RTK FIX) en < 10 min con cielo.
|
||||||
|
- [ ] Módem registrado (LED de red lento o fijo) en < 2 min.
|
||||||
|
|
||||||
| RGB | Estado | Acción |
|
| RGB | Estado | Acción |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **verde** | etapa ON, RTK fix | OK |
|
| Verde | Etapa ON, RTK FIX | OK |
|
||||||
| **azul** | etapa ON, sin RTK todavía | esperar 10 min con cielo; si no: SIM / correcciones |
|
| Azul | Etapa ON, sin RTK | Espera 10 min con cielo; si sigue: SIM / correcciones |
|
||||||
| **magenta** | etapa ON, el F9P no habla | avisar a ingeniería (simpleRTK2B) |
|
| Magenta | Etapa ON, el F9P no habla | Avisa a ingeniería (simpleRTK2B) |
|
||||||
| **amarillo** | funcionando desde batería | no hay 5 V: revisar arnés / SD-15B |
|
| Amarillo | En batería | Sin 5 V: arnés / SD-15B |
|
||||||
| **rojo** | etapa OFF | sin 5 V, batería < 3.40 V o > 60 °C — no dejar así |
|
| Rojo | Etapa OFF | Sin 5 V, batería < 3.40 V o > 60 °C. No la dejes así |
|
||||||
|
|
||||||
- [ ] LEDs del módem: red en parpadeo lento o fijo (registrado) en < 2 min.
|
## 4. Monitor
|
||||||
|
|
||||||
## 4 · Monitor (teléfono / laptop con datos)
|
- [ ] En monitor.helgen.dev, `H00___` aparece con posición en la máquina en ≤ 2 min.
|
||||||
|
- [ ] Columna Salud presente (fw, `vbat`, temperaturas). Sin Salud: avisa (Modo B / módem).
|
||||||
|
- [ ] Con batería en carga, 🔌 CARGANDO a los ~3 min.
|
||||||
|
|
||||||
- [ ] En **monitor.helgen.dev** la unidad **`H00___`** aparece con posición en la máquina en ≤ 2 min.
|
## 5. Ethernet (solo si el panel lleva RJ45 y el cliente lo usa)
|
||||||
- [ ] Columna **Salud** presente (fw `0.6.0`, `vbat`, temperaturas). Sin Salud = avisar (Modo B / módem).
|
|
||||||
- [ ] Si la unidad tiene batería en carga, aparece **🔌 CARGANDO** a los ~3 min.
|
|
||||||
|
|
||||||
## 5 · Ethernet (solo si el panel lleva RJ45 y el cliente lo usa)
|
- [ ] Cable en J10; LED de enlace encendido. Sin PoE: la unidad sigue con 24 V.
|
||||||
|
- [ ] IP asignada por la red del cliente: __________________ (hoy solo espejo de prueba; el monitor no lo usa).
|
||||||
|
|
||||||
- [ ] Cable a J10 conectado; LED de enlace del RJ45 encendido. (No hay PoE: la unidad sigue con 24 V.)
|
## 6. Prueba de batería (5 min)
|
||||||
- [ ] Anotar la IP asignada por la red del cliente: __________________ (hoy solo espejo de prueba; el monitor no lo usa).
|
|
||||||
|
|
||||||
## 6 · Prueba de batería (5 min)
|
- [ ] Llave OFF y GX16 desconectado: RGB amarillo, ventilador parado, módem encendido.
|
||||||
|
- [ ] 5 min después el monitor sigue recibiendo posición con `pwr=BATT`.
|
||||||
|
- [ ] Al reconectar: la tarjeta se reinicia sola (0.5.9+), RGB azul → verde en < 10 min, monitor vuelve a `VEH`.
|
||||||
|
- [ ] Módem oscuro al volver el 24 V: pulsa SW4G1 una vez. ☐ Pasó.
|
||||||
|
|
||||||
- [ ] Llave OFF y **desconectar el GX16** (o cortar el 24 V). El LED RGB pasa a **amarillo**, el ventilador se detiene, el módem sigue encendido.
|
## 7. Cierre
|
||||||
- [ ] Esperar **5 min**: el monitor sigue recibiendo posición con `pwr=BATT`.
|
|
||||||
- [ ] Reconectar el GX16: la tarjeta se reinicia sola (0.5.9+), RGB azul → verde en < 10 min, monitor vuelve a `VEH`.
|
|
||||||
- [ ] Si el módem quedó oscuro al volver el 24 V: pulsar **SW4G1** (reset del módem) una vez y anotar aquí: ☐ pasó.
|
|
||||||
|
|
||||||
## 7 · Cierre y firma
|
- [ ] Tapa con sello, tornillos en cruz, etiqueta exterior legible; foto de gabinete, antenas y GX16.
|
||||||
|
- [ ] Interruptor de corte en ON; llave como la encontraste.
|
||||||
- [ ] Tapa cerrada con sello, tornillos en cruz; etiqueta exterior legible; foto de la instalación (gabinete + antenas + GX16).
|
- [ ] Reportado a ingeniería: `H00___` instalada en ____________ a las ______ · RTK FIX ☐ sí ☐ no · batería 5 min ☐ OK.
|
||||||
- [ ] Interruptor de corte en **ON**. Llave de la máquina como la encontraste.
|
|
||||||
- [ ] Reportado a ingeniería: `H00___` instalada en ____________ a las ______, RTK FIX ☐ sí ☐ no, batería 5 min ☐ OK.
|
|
||||||
|
|
||||||
**Resultado:** ☐ EN SERVICIO ☐ EN SERVICIO CON OBSERVACIONES ☐ NO INSTALADA (motivo: _____________________)
|
**Resultado:** ☐ EN SERVICIO ☐ EN SERVICIO CON OBSERVACIONES ☐ NO INSTALADA (motivo: _____________________)
|
||||||
|
|
||||||
**Firma técnico:** ______________________ **Firma cliente / supervisor:** ______________________
|
**Firma técnico:** ______________________ **Firma cliente / supervisor:** ______________________
|
||||||
|
|
||||||
---
|
Falla en la instalación: [diagnóstico en campo](../diagnostico/procedimiento-diagnostico-campo.md) y su [acta](../formularios/diagnostico.html).
|
||||||
|
|
||||||
*Referencias:* [configuración de unidad](v5-configuracion-unidad.md) · [prueba final](v5-prueba-final-unidad.md) ·
|
## Historial de revisiones
|
||||||
[diagnóstico en campo](../diagnostico/procedimiento-diagnostico-campo.md) · acta de campo: [diagnóstico](../formularios/diagnostico.html).
|
|
||||||
|
|
||||||
| Versión | Fecha | Autor | Cambios |
|
| Versión | Fecha | Cambios |
|
||||||
|---|---|---|---|
|
|---|---|---|
|
||||||
| 1.0 | 2026-09-29 | Helgen Technologies | Primera versión (una página, V5.5/V5.6, fw 0.6.0). |
|
| 1.0 | 2026-09-29 | Primera versión (V5.5/V5.6, fw 0.6.0). |
|
||||||
|
| 1.1 | 2026-09-29 | Encabezado uniforme. |
|
||||||
|
| 1.2 | 2026-09-29 | Edición breve; firmware "vigente" en lugar de número fijo. |
|
||||||
|
|
||||||
|
Versiones anteriores en git.
|
||||||
|
|||||||
@ -1,274 +1,120 @@
|
|||||||
---
|
---
|
||||||
title: HBOX V5 (V5.5 / V5.6) — Configuración de una unidad
|
title: "HBOX V5 — Configuración de una unidad"
|
||||||
tags: [project-drogheda, hardware, hbox, v5, v5.6, configuracion, ntrip, ethernet, rs485, rs232, bateria, procedimiento]
|
tags: [project-drogheda, hardware, hbox, v5, v5.6, configuracion, ntrip, ethernet, rs485, rs232, bateria, procedimiento]
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
author: Helgen Technologies
|
author: Helgen Technologies
|
||||||
date: 2026-09-29
|
date: 2026-09-29
|
||||||
version: 1.0
|
version: 1.1
|
||||||
status: ACTIVO — aplica a toda unidad V5.5 / V5.6 antes de embarcar o de reinstalar
|
status: ACTIVO — toda unidad V5.5 / V5.6 antes de embarcar o de reinstalar
|
||||||
audience: técnicos de banco
|
audience: técnicos de banco
|
||||||
---
|
---
|
||||||
|
|
||||||
# HBOX V5 — Configuración de una unidad (V5.5 / V5.6)
|
# HBOX V5 — Configuración de una unidad
|
||||||
|
|
||||||
**Alcance:** unidad ensamblada (EinarBoard V5.5 o V5.6 + simpleRTK2B + 4G NTRIP Master + SD-15B + paquete de
|
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
|
||||||
batería + antenas) que ya pasó la [prueba final](v5-prueba-final-unidad.md). Este documento dice **qué tiene que
|
- Para quién: técnicos de banco.
|
||||||
quedar configurado** para que la unidad sea una unidad Helgen y no solo una caja que enciende.
|
- Cuándo: unidad V5.5/V5.6 que pasó la [prueba final](v5-prueba-final-unidad.md), antes de embarcar o de reinstalar. Paso 5 de producción, antes del [checklist de puesta en marcha](v5-checklist-puesta-en-marcha.md).
|
||||||
**Duración estimada:** 30–40 min por unidad (más si hay que esperar RTK FIX).
|
- Tiempo: 30–40 min por unidad, más la espera de RTK FIX.
|
||||||
**Registro:** acta de ensamble (`HBOX5-Exx-Axxx-Rxxxx`) y, si se probaron Ethernet o los puertos serie,
|
- Necesitas: laptop con terminal serie a 115200 grabando, 2 cables USB-C con datos, 24 V o arnés GX16 real, [plantilla 4G](../descargas/4G_NTRIP_HelgenSRV-NMEA.example.txt) y el `.local.txt` de ingeniería, configuración F9P, antena GNSS con cielo, 2 antenas LTE, SIM Telcel; si aplica, cable Ethernet y adaptadores USB-RS485 / USB-RS232. Registro: [acta de ensamble](../formularios/ensamble.html) y, si aplica, [acta Ethernet y serie](../formularios/ethernet-serie.html).
|
||||||
[acta Ethernet y puertos serie](../formularios/ethernet-serie.html).
|
|
||||||
|
|
||||||
## Qué es una «unidad configurada»
|
Una unidad está configurada cuando cumple las siete filas:
|
||||||
|
|
||||||
Una unidad está configurada cuando cumple **las siete** filas:
|
| # | Elemento | Configurado cuando | § |
|
||||||
|
|
||||||
| # | Elemento | Queda configurado cuando… | Dónde se verifica |
|
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| 1 | Módem 4G NTRIP Master | parámetros cargados (APN, caster, mountpoint, ID de estación) y registrado en Telcel | §1 |
|
| 1 | Módem 4G | Parámetros cargados (APN, caster, mountpoint, ID de estación) y registrado en Telcel | 1 |
|
||||||
| 2 | simpleRTK2B (ZED-F9P) | configuración Helgen guardada en flash; llega a **RTK FIX (`fix=4`)** con cielo | §2 |
|
| 2 | simpleRTK2B (ZED-F9P) | Configuración Helgen en flash; RTK FIX (`fix=4`) con cielo | 2 |
|
||||||
| 3 | Identidad | la unidad aparece en el monitor como **`H00xx`** con posición y columna *Salud* | §3 |
|
| 3 | Identidad | Aparece en el monitor como `H00xx` con posición y Salud | 3 |
|
||||||
| 4 | Ethernet (si la unidad lo lleva) | enlace y espejo TCP probados en banco con el build `0.6.0-eth` | §4 |
|
| 4 | Ethernet (si lo lleva) | Enlace y espejo TCP probados con `0.6.0-eth` | 4 |
|
||||||
| 5 | Puertos serie (si la unidad los lleva) | `[PASS] SC16IS752` en el POST y niveles correctos en P15/P16 | §5 |
|
| 5 | Puertos serie (si los lleva) | `[PASS] SC16IS752` y niveles correctos en P15/P16 | 4 |
|
||||||
| 6 | Paquete de batería | química correcta para la tarjeta y **JP2** en la posición que corresponde | §6 |
|
| 6 | Paquete de batería | Química = JP2; `ltc=CARGANDO` | 5 |
|
||||||
| 7 | Firmware y consola | versión vigente y `STAT` limpio (tabla de §7) | §7 |
|
| 7 | Firmware y consola | Versión vigente y `STAT` limpio | 6 |
|
||||||
|
|
||||||
!!! warning "Sin secretos"
|
## 1. Módem 4G — parámetros
|
||||||
El archivo con los parámetros reales del módem (usuario/contraseña del caster y de la APN) **no está en el
|
|
||||||
sitio ni en el repositorio**. Vive **en el servidor / con Leo**. Se pide para la unidad que se va a configurar,
|
|
||||||
se usa y **no se guarda ni se reenvía**. En este documento solo aparece la plantilla.
|
|
||||||
|
|
||||||
---
|
Las claves `$$$AS+…` y la plantilla están en [Descargas](../descargas/index.md#parametros-del-modem-4g-ntrip-master). Los valores reales (caster y APN) los entrega ingeniería para esta unidad; no se guardan ni se reenvían. `AS+K` (ID de estación) es el `H00xx` de la unidad (§3).
|
||||||
|
|
||||||
## 0. Material
|
1. Módem suelto (antes del ensamble): se carga sobre el simpleRTK2B por el USB XBEE ([módulos §2b](v5-modulos-integracion.md#2b-montaje-y-configuracion)).
|
||||||
|
2. Unidad ensamblada (módem en J7/J8): terminal en J9 a 115200 (J9 va al USB del módem, `USB_DP/DM` → J7 pines 7/8 según netlist V5.6); mismo procedimiento. <!-- VERIFICAR: que el módem enumere por J9 con la etapa encendida y acepte $$$AS+ por ese puerto; hasta hoy solo se ha configurado por el USB XBEE del simpleRTK2B -->
|
||||||
|
3. Al terminar, `$$$AS+I=1111` y lee `AS+K`; anótalo en el acta.
|
||||||
|
4. Retira el cable de J9: con cable, la laptop alimenta el módem y las pruebas de batería y de reset del módem no valen.
|
||||||
|
|
||||||
| Cant. | Ítem |
|
- [ ] Todas las líneas contestaron `OK`.
|
||||||
|---|---|
|
- [ ] Módem registrado en Telcel (LED lento o fijo) en < 2 min.
|
||||||
| 1 | Laptop con terminal serie (CoolTerm / PuTTY / `screen`) a **115200**, grabando a archivo |
|
- [ ] `AS+K` anotado.
|
||||||
| 2 | Cables USB-C **con datos** |
|
|
||||||
| 1 | Fuente 24 V (o el arnés GX16 real) — ver [prueba final §0](v5-prueba-final-unidad.md) |
|
|
||||||
| 1 | Plantilla [`4G_NTRIP_HelgenSRV-NMEA.example.txt`](../descargas/4G_NTRIP_HelgenSRV-NMEA.example.txt) + el archivo **`.local.txt`** con valores reales entregado por ingeniería |
|
|
||||||
| 1 | Archivo de configuración Helgen del ZED-F9P (u-center `.txt`) — lo entrega ingeniería |
|
|
||||||
| 1 | Antena GNSS con cielo, 2 antenas LTE, SIM Telcel activa |
|
|
||||||
| — | Solo si aplica: cable Ethernet, adaptadores USB-RS485 / USB-RS232 (ver [prueba Ethernet y serie](v5-prueba-ethernet-serie.md)) |
|
|
||||||
|
|
||||||
---
|
## 2. simpleRTK2B — RTK FIX
|
||||||
|
|
||||||
## 1. Módem 4G NTRIP Master — parámetros
|
1. El módulo trae la configuración Helgen de su acta. Si llegó sin acta, cárgala ([módulos §1c](v5-modulos-integracion.md#1c-configuracion-helgen)).
|
||||||
|
2. Consola del HBOX (J11, 115200), etapa encendida (`stack=ON`): `n` muestra 20 s de `$GNGGA` con `fix=` y `sats=`.
|
||||||
|
3. Con cielo y módem registrado, espera `fix=4` (típico 1–5 min, máximo 10). `STAT`: `gga=RTK_FIX sats≥10 hdop<1.5`; LED RGB verde.
|
||||||
|
|
||||||
### 1a. Qué se carga
|
| `fix=` | Significado | Se embarca |
|
||||||
|
|
||||||
Los parámetros se envían como líneas `$$$AS+…` a 115200 baudios, una por una; cada una contesta `OK`.
|
|
||||||
La plantilla publicada trae **todas** las claves; los valores sensibles están en blanco:
|
|
||||||
|
|
||||||
| Clave | Qué es | En la plantilla |
|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `AS+I=1111` | Entra a modo configuración | fijo |
|
| 0 | Sin fix | No |
|
||||||
| `AS+A` · `AS+Q` · `AS+q` | APN: host, usuario, contraseña | `<APN_HOST>` `<APN_USER>` `<APN_PASS>` |
|
| 1 | GPS autónomo (sin correcciones) | No |
|
||||||
| `AS+S` · `AS+P` | Caster NTRIP: host y puerto | `<NTRIP_CASTER_HOST>` `<NTRIP_CASTER_PORT>` |
|
| 5 | RTK FLOAT | No, salvo cielo malo documentado |
|
||||||
| `AS+U` · `AS+M` | Caster: `usuario:contraseña` y mountpoint | `<NTRIP_USER>:<NTRIP_PASS>` `<NTRIP_MOUNTPOINT>` |
|
| 4 | RTK FIX | Sí |
|
||||||
| `AS+B=115200` | Velocidad del puerto hacia el F9P | fijo |
|
|
||||||
| `AS+r` · `AS+h` · `AS+k=2` | Servidor secundario (monitor Helgen): IP, puerto, modo | `<SECONDARY_SERVER_IP>` `<SECONDARY_SERVER_PORT>` |
|
|
||||||
| `AS+K` | **ID de estación** → es el `H00xx` de la unidad (§3) | `<STATION_ID>` |
|
|
||||||
|
|
||||||
### 1b. Cómo se carga
|
- [ ] `fix=4` estable 5 min; tiempo y satélites anotados.
|
||||||
|
|
||||||
1. **Módulo suelto (banco, antes del ensamble):** módem en el zócalo XBee del simpleRTK2B, terminal en el USB
|
## 3. Identidad `H00xx`
|
||||||
**XBEE** del simpleRTK2B a 115200, enviar el `.local.txt` línea por línea — es el §3b de
|
|
||||||
[Módulos e integración](v5-modulos-integracion.md).
|
|
||||||
2. **Unidad ya ensamblada (módem en J7/J8 de la EinarBoard):** el USB-C **J9** de la tarjeta va al USB del módem
|
|
||||||
(`USB_DP/DM` → J7 pines 7/8, según netlist V5.6). Terminal en J9 a 115200 y mismo procedimiento.
|
|
||||||
<!-- VERIFICAR: que el módem enumere por J9 con la etapa encendida y acepte $$$AS+ por ese puerto; hasta hoy solo se ha configurado por el USB XBEE del simpleRTK2B -->
|
|
||||||
3. Al terminar: `$$$AS+I=1111` y leer de vuelta `AS+K`; anotar el ID en el acta.
|
|
||||||
|
|
||||||
!!! note "Sin cable en J9 durante las pruebas de batería"
|
La identidad en el monitor (monitor.helgen.dev, htracker) sale del módem: el NTRIP Master envía `$GPTXT` con el ID de `AS+K` en el tercer campo y el servidor lo toma como `H00xx`. <!-- VERIFICAR: confirmar con Leo que AS+K se captura literalmente como H00xx (retranslator: parse_gptxt → parts[2]) --> El `H00xx` cambia si se cambia el módem, no la tarjeta. El `$PHID` que manda el espejo Ethernet (UID, fw, tarjeta, MAC) todavía no lo usa el monitor.
|
||||||
J9 entrega VBUS al módulo. Con cable en J9 el módem queda alimentado por la laptop y las pruebas de batería
|
|
||||||
y de reset del módem **no valen**. Se conecta solo para configurar y se retira.
|
|
||||||
|
|
||||||
- [ ] Todas las líneas contestaron `OK` (ninguna `ERROR`).
|
1. Con 24 V, etapa ON y módem registrado, en ≤ 2 min el monitor muestra `H00xx` con posición a 1 Hz y Salud (fw, `vbat`, temperaturas, `v5min`).
|
||||||
- [ ] LED de red del módem en parpadeo lento / fijo (registrado en Telcel) en < 2 min con antenas puestas.
|
2. Consola: `modoB=ON relay=… phlg_aire=…` sube de 1 en 1 cada 30 s.
|
||||||
- [ ] `AS+K` anotado en el acta.
|
|
||||||
|
|
||||||
---
|
- [ ] `H00xx` visible con Salud y anotado en el acta y en la etiqueta interior (`HBOX5-Exx-Axxx-Rxxxx · H00xx`).
|
||||||
|
|
||||||
## 2. simpleRTK2B — configuración y RTK FIX
|
## 4. Ethernet y puertos serie (solo si el panel los lleva)
|
||||||
|
|
||||||
1. El módulo trae la configuración Helgen desde su acta (UART1 a 115200, UART2 a la velocidad del módem, mensajes
|
Prueba, defaults de red, pines de P15/P16 y regla de JP5: [Prueba de Ethernet y puertos serie](v5-prueba-ethernet-serie.md). No hay build de campo con Ethernet: la IP y el servidor son banderas de compilación y el monitor no escucha el espejo.
|
||||||
NMEA). Si el módulo llegó sin acta: cargarla con u-center (**Tools → Receiver Configuration → Transfer file → GNSS**),
|
|
||||||
**UBX-CFG-CFG → Save**, desconectar y reconectar: debe seguir a 115200 con `$GNGGA`.
|
|
||||||
2. En la consola del HBOX (J11, 115200), con la etapa encendida (`STAT … stack=ON`), teclear **`n`**: 20 s de
|
|
||||||
tramas `$GNGGA` con `fix=` y `sats=`.
|
|
||||||
3. Con antena al cielo y módem registrado, esperar hasta **`fix=4` = RTK FIX** (típico 1–5 min; máximo 10).
|
|
||||||
`STAT` debe decir `gga=RTK_FIX sats≥10 hdop<1.5` y el LED RGB queda **verde**.
|
|
||||||
|
|
||||||
| `fix=` | Significado | Aceptable para embarcar |
|
- [ ] Ethernet probado y registrado, o "no aplica: panel sin RJ45".
|
||||||
|---|---|---|
|
- [ ] `[PASS] SC16IS752` en el POST; JP5 abierto/cerrado según la instalación, anotado.
|
||||||
| 0 | sin fix | no |
|
|
||||||
| 1 | GPS autónomo | no (correcciones no llegan) |
|
|
||||||
| 5 | RTK FLOAT | no, salvo cielo malo documentado |
|
|
||||||
| **4** | **RTK FIX** | **sí** |
|
|
||||||
|
|
||||||
- [ ] `fix=4` alcanzado y estable 5 min. Anotar tiempo y satélites.
|
## 5. Batería
|
||||||
|
|
||||||
---
|
Química y JP2: [ensamble §2](v5-ensamble.md#2-tarjeta-sin-energia).
|
||||||
|
|
||||||
## 3. Identidad `H00xx` y registro en el monitor
|
Con 24 V, etapa ON y > 150 s tras el arranque: `STAT … carga=PROVING` → `carga=ON … ltc=CARGANDO`, y el monitor muestra 🔌 CARGANDO. `vbat` sube en la siguiente media hora. Detalle del gobernador: [Descargas](../descargas/index.md).
|
||||||
|
|
||||||
- La identidad de la unidad en el monitor (**monitor.helgen.dev**, htracker) **sale del módem**: el NTRIP Master
|
- [ ] Química = JP2, ambas anotadas.
|
||||||
envía una trama `$GPTXT` cuyo tercer campo es el ID de estación configurado en `AS+K`; el servidor toma ese
|
- [ ] `ltc=CARGANDO` visto.
|
||||||
campo como `H00xx`. <!-- VERIFICAR: confirmar con Leo que AS+K se captura literalmente como H00xx (retranslator: parse_gptxt → parts[2]) -->
|
|
||||||
- Por eso **el `H00xx` se asigna al configurar el módem** (§1) y no cambia si se cambia la tarjeta; sí cambia si
|
|
||||||
se cambia el módem. Anotar en la etiqueta interior de la tapa: `HBOX5-Exx-Axxx-Rxxxx · H00xx`.
|
|
||||||
- Verificación: con 24 V, etapa ON y módem registrado, en ≤ 2 min el monitor muestra la fila `H00xx` con posición
|
|
||||||
a 1 Hz y la columna **Salud** (fw, `vbat`, temperaturas, `v5min`). En consola: `STAT … modoB=ON relay=… phlg_aire=…`
|
|
||||||
subiendo de 1 en 1 cada 30 s.
|
|
||||||
|
|
||||||
!!! note "Ethernet no cambia la identidad"
|
## 6. Consola final
|
||||||
Por el espejo Ethernet la tarjeta manda `$PHID` (UID del MCU, fw, tarjeta, MAC). El monitor **todavía no lo usa**:
|
|
||||||
hoy la identidad sigue siendo el `$GPTXT` del módem.
|
|
||||||
|
|
||||||
- [ ] La unidad aparece en el monitor como `H00xx` con Salud. Anotar `H00xx` en el acta.
|
24 V + ignición, etapa ON ≥ 5 min, cielo, batería conectada. Teclea `s` y lee `STAT`:
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 4. Ethernet (solo unidades con RJ45 en el panel)
|
|
||||||
|
|
||||||
**Lo que hay en la tarjeta:** W5500 (U11) en SPI2, RJ45 J10 con LEDs de enlace y actividad, alimentación
|
|
||||||
`3V3_ETH` desde el 5 V del sistema. **No hay PoE** (J10 pines 7/8 sin conectar): la unidad sigue necesitando
|
|
||||||
24 V. Un switch PoE ni ayuda ni estorba.
|
|
||||||
|
|
||||||
**Lo que hace el firmware (build de banco `0.6.0-eth`, `-DENABLE_ETH=1`; el binario de campo 0.6.0 NO lo incluye):**
|
|
||||||
|
|
||||||
| Parámetro | Valor por defecto | Cómo se cambia |
|
|
||||||
|---|---|---|
|
|
||||||
| Dirección propia | **DHCP**; si no hay respuesta en 4 s → estática **192.168.7.2/24** | `-DETH_DHCP=0` · `-DETH_IP=192,168,1,50` |
|
|
||||||
| Servidor (espejo TCP) | **192.168.7.1:5010**, cliente TCP, reintento cada 5 s | `-DETH_SERVER_IP=192,168,1,10` · `-DETH_SERVER_PORT=5010` |
|
|
||||||
| Qué sale por el socket | todas las NMEA válidas del F9P + cada `$PHLG` + cada `$PHEV` + `$PHID` al conectar y cada 5 min | — |
|
|
||||||
| Cuándo está activo | solo con 5 V presente (nunca en batería ni por USB); tecla **`E`** on/off | — |
|
|
||||||
|
|
||||||
!!! warning "Cambiar IP o servidor = recompilar"
|
|
||||||
Hoy la IP y el servidor son **banderas de compilación**, no parámetros de la unidad: no se cambian desde la consola
|
|
||||||
ni se guardan. Cualquier valor distinto al de banco (192.168.7.x) lo compila ingeniería y entrega un `.bin` con
|
|
||||||
su SHA-256. **No existe todavía build de campo con Ethernet.**
|
|
||||||
|
|
||||||
!!! note "Qué hace el monitor con el espejo Ethernet: nada, por ahora"
|
|
||||||
El servidor htracker no escucha ese socket. El espejo sirve para **probar el hardware en banco** (`nc -lk 5010`
|
|
||||||
en la laptop) y como camino futuro. La unidad en el puerto sigue reportando por el módem 4G.
|
|
||||||
|
|
||||||
**Prueba de banco (resumen; detalle en [prueba Ethernet y puertos serie](v5-prueba-ethernet-serie.md)):** laptop
|
|
||||||
en 192.168.7.1/24, cable directo a J10, `nc -lk 5010`; con 24 V y etapa ON debe llegar `$PHID,…` y luego NMEA.
|
|
||||||
|
|
||||||
- [ ] Ethernet probado en banco y registrado en el acta (o «no aplica: panel sin RJ45»).
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 5. Puertos serie P15 (RS-485) y P16 (RS-232)
|
|
||||||
|
|
||||||
**Lo que hay en la tarjeta:** UART dual SC16IS752 (U10, I²C 0x4D, cristal Y2 3.6864 MHz) → canal A a un
|
|
||||||
transceptor RS-485 (U14 SP3485) en **P15**; canal B a un MAX3232 (U15) en **P16**. Ambos son clemas Phoenix MC 1,5
|
|
||||||
de 3 vías (paso 3.5 mm).
|
|
||||||
|
|
||||||
| Conector | Pin 1 | Pin 2 | Pin 3 | Notas |
|
|
||||||
|---|---|---|---|---|
|
|
||||||
| **P15 RS-485** | **A** | **B** | **GND** | Semi-dúplex (2 hilos). **JP5** = terminación 120 Ω (R82) entre A y B |
|
|
||||||
| **P16 RS-232** | **TX** (sale del HBOX) | **RX** (entra al HBOX) | **GND** | Niveles ±5 V (MAX3232). Es un DTE |
|
|
||||||
|
|
||||||
**Regla de JP5 (terminación RS-485):** un bus RS-485 se termina **solo en sus dos extremos**. JP5 (puente de soldadura,
|
|
||||||
abierto de fábrica) se cierra únicamente si el HBOX es uno de los dos extremos del bus. En un bus de dos nodos
|
|
||||||
(HBOX + un equipo) se cierran los dos. Nunca cerrar JP5 en un nodo intermedio.
|
|
||||||
|
|
||||||
**Cruce RS-232:** el HBOX es DTE (TX es salida). Contra otro DTE (laptop, PLC con DB9 macho) se cruza:
|
|
||||||
`P16.1 TX → RXD (DB9 pin 2)` · `P16.2 RX ← TXD (DB9 pin 3)` · `P16.3 GND ↔ DB9 pin 5`. Contra un DCE (módem, equipo
|
|
||||||
con DB9 hembra) va directo.
|
|
||||||
|
|
||||||
**Cable a las clemas:** alambre 0.2–1.5 mm² (AWG 24–16), pelado 7 mm, sin estaño en la punta (o con puntera). RS-485
|
|
||||||
con par trenzado (A/B) y el GND por el mismo cable.
|
|
||||||
|
|
||||||
!!! note "Lo que el firmware hace hoy con los puertos"
|
|
||||||
Firmware 0.6.0: **solo prueba de presencia** del SC16IS752 en el POST (`[PASS] SC16IS752 0x4D ACK, SPR rd=0xA5`).
|
|
||||||
No hay tráfico de aplicación, no hay velocidad configurada y el protocolo hacia el equipo del cliente está
|
|
||||||
**por definir**. El auto-test de lazo (loopback) está planeado para **0.6.1**. Parámetros previstos de banco:
|
|
||||||
**9600 8N1** en ambos puertos <!-- VERIFICAR: velocidad y formato de banco de 0.6.1 -->.
|
|
||||||
|
|
||||||
- [ ] `[PASS] SC16IS752` en el POST de la consola.
|
|
||||||
- [ ] JP5 en la posición que pide la instalación (anotar en el acta: abierto / cerrado).
|
|
||||||
- [ ] Si se hizo la prueba con adaptadores: resultado en el [acta Ethernet y puertos serie](../formularios/ethernet-serie.html).
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 6. Paquete de batería — química y JP2
|
|
||||||
|
|
||||||
La química del paquete **la fija la tarjeta**, no el técnico. El LTC4040 lee la posición de **JP2** (pin F2) y con ella
|
|
||||||
decide el voltaje de flotación; si no coincide con el paquete, o no carga o sobrecarga.
|
|
||||||
|
|
||||||
| Tarjeta | Paquete | JP2 (puente de soldadura de 3 pads) | RNTB (R55) / NTC del paquete | Flotación |
|
|
||||||
|---|---|---|---|---|
|
|
||||||
| **V5.5** (lote 22-Ago, 15 pzas) | **Li-ion 18650 1S4P** | **1-2** (F2 alto = Li-ion) | 10 k / NTC 10 k | ≈ 4.0–4.1 V |
|
|
||||||
| **V5.6** (ECO 28-Sep) | **LiFePO4 alta temperatura 26650** | **2-3** (F2 bajo = LFP) | **5.6 k** / NTC B3380 | 3.50 V |
|
|
||||||
|
|
||||||
!!! danger "Cruce de química = FALLA"
|
|
||||||
- Paquete **Li-ion** en una tarjeta con **JP2 2-3** (LFP): el cargador flota a 3.50 V → el paquete nunca se llena,
|
|
||||||
autonomía de minutos.
|
|
||||||
- Paquete **LFP** en una tarjeta con **JP2 1-2** (Li-ion): el cargador intenta 4.0 V sobre una celda de 3.6 V máx →
|
|
||||||
**sobrecarga**. No embarcar.
|
|
||||||
|
|
||||||
Antes de conectar P4: **leer JP2 con lupa** (serigrafía V5.6: `JP2 = F2 (Li-ion / LFP)`) y comparar con la etiqueta
|
|
||||||
del paquete. Si no coinciden, la unidad se detiene y se avisa a ingeniería. JP2 **no** se cambia en banco.
|
|
||||||
|
|
||||||
Conexión: P4 = JST XH-3: pin 1 **BAT+**, pin 2 **GND**, pin 3 **NTC** del paquete. Medir en vacío antes de conectar:
|
|
||||||
Li-ion 3.0–4.2 V; LFP 2.8–3.6 V.
|
|
||||||
|
|
||||||
Comprobación en consola (24 V, etapa ON, > 150 s tras el arranque): `STAT … carga=PROVING` → `carga=ON … ltc=CARGANDO`
|
|
||||||
y en el monitor **🔌 CARGANDO**. `vbat` debe subir en la siguiente media hora. Detalle en
|
|
||||||
[prueba de módem en batería — caja 0.6.0](prueba-bateria-modem.md).
|
|
||||||
|
|
||||||
- [ ] Química del paquete = posición de JP2. Anotar ambas en el acta.
|
|
||||||
- [ ] `ltc=CARGANDO` visto en consola.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 7. Checklist final de consola y versiones
|
|
||||||
|
|
||||||
Con 24 V + ignición, etapa ON ≥ 5 min, antena al cielo, batería conectada. Teclear **`s`** y leer la línea `STAT`:
|
|
||||||
|
|
||||||
| Campo | Debe decir | Si no |
|
| Campo | Debe decir | Si no |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| encabezado (tras reset) | `hbox-v5-bringup 0.6.0 built …` | otra versión → re-flashear (tabla abajo) |
|
| Encabezado (tras reset) | `hbox-v5-bringup` con la versión vigente de [Descargas](../descargas/index.md) | Reflashea |
|
||||||
| `v5=` | `5.2x–5.3x(ok)` (nunca `BAJO` ni `no`) | SD-15B ajustado a ~5.3 V; arnés |
|
| `v5=` | `5.2x–5.3x(ok)`, nunca `BAJO` ni `no` | SD-15B a ~5.3 V; arnés |
|
||||||
| `v5min=` | ≥ 4.9 | riel cae con ráfaga LTE → fuente / SD-15B |
|
| `v5min=` | ≥ 4.9 | El riel cae con la ráfaga LTE: fuente / SD-15B |
|
||||||
| `vbat=` | Li-ion 3.6–4.1 · LFP 3.2–3.5 <!-- VERIFICAR: rango LFP con firmware para V5.6 --> | paquete / P4 |
|
| `vbat=` | Li-ion 3.6–4.1 · LFP 3.2–3.5 <!-- VERIFICAR: rango LFP con firmware para V5.6 --> | Paquete / P4 |
|
||||||
| `chrg=` · `ltc=` · `carga=` | `chg` · `CARGANDO` · `ON` (tras ~150 s) | ver §6 |
|
| `chrg=` · `ltc=` · `carga=` | `chg` · `CARGANDO` · `ON` (tras ~150 s) | §5 |
|
||||||
| `flt=` | `none` | `FAULT` → LTC4040 / NTC del paquete |
|
| `flt=` | `none` | `FAULT`: LTC4040 / NTC del paquete |
|
||||||
| `tair=` / `rh=` · `tbat=` · `tmcu=` | valores plausibles (< 45 °C en banco), no `n/d` | I²C: U3 / U4 |
|
| `tair=` / `rh=` · `tbat=` · `tmcu=` | Plausibles (< 45 °C en banco), no `n/d` | I²C: U3 / U4 |
|
||||||
| `i2cerr=` | `0` | soldadura U3 / U4 / U13 / U10 |
|
| `i2cerr=` | `0` | Soldadura U3 / U4 / U13 / U10 |
|
||||||
| `stack=` · `modo=` | `ON` · `AUTO` | `MAN` → teclear `A` |
|
| `stack=` · `modo=` | `ON` · `AUTO` | `MAN`: teclea `A` |
|
||||||
| `gga=` · `sats=` | `RTK_FIX` · ≥ 10 | §2 |
|
| `gga=` · `sats=` | `RTK_FIX` · ≥ 10 | §2 |
|
||||||
| `modoB=` · `phlg_aire=` | `ON` · sube cada 30 s | K1 / módem |
|
| `modoB=` · `phlg_aire=` | `ON` · sube cada 30 s | K1 / módem |
|
||||||
| `rtcm_age=` | pocos segundos (no `rtcm=none`) | correcciones no llegan → §1 |
|
| `rtcm_age=` | Pocos segundos (no `rtcm=none`) | No llegan correcciones: §1 |
|
||||||
| `modem=` | **`vivo`** (tras la gracia de 2 min) | `SOSPECHOSO` → módem oscuro: SW4G1 y revisar |
|
| `modem=` | `vivo` (tras 2 min de gracia) | `SOSPECHOSO`: módem oscuro; SW4G1 y revisa |
|
||||||
| `rec=` | `0` sin `LIMP` | NMEA intermitente: MOD1 / UART1 |
|
| `rec=` | `0`, sin `LIMP` | NMEA intermitente: MOD1 / UART1 |
|
||||||
| `eth=` (solo build -eth) | `CONECTADO ip=…` con cable; `off` sin 5 V | §4 |
|
| `eth=` (solo `-eth`) | `CONECTADO ip=…` con cable; `off` sin 5 V | §4 |
|
||||||
|
|
||||||
**V5.6:** el firmware para V5.6 (`MODEM_EN`, `tchg`, `tcell`, `tmodem`) todavía no existe; hasta que se publique, una
|
V5.6: su firmware (`MODEM_EN`, `tchg`, `tcell`, `tmodem`) aún no existe; hasta entonces se prueba con el binario V5 vigente y esos campos no aparecen. <!-- VERIFICAR: versión y nombre del binario V5.6 cuando se publique -->
|
||||||
V5.6 se prueba con el 0.6.0 de V5.5 y los campos nuevos no aparecen. <!-- VERIFICAR: versión y nombre del binario V5.6 cuando se publique -->
|
|
||||||
|
|
||||||
### Firmware vigente por tarjeta (29-sep-2026)
|
- [ ] `STAT` limpio y encabezado de versión pegados en el acta.
|
||||||
|
|
||||||
| Tarjeta | Binario | Versión | Notas |
|
|
||||||
|---|---|---|---|
|
|
||||||
| **V5** (V5.5 y, por ahora, V5.6) | `hbox-v5-bringup_0.6.0.bin` | **0.6.0** | 0.5.9 + gobernador de carga. Build `0.6.0-eth` solo banco |
|
|
||||||
| **V4** | `hbox-tarjetaV4_0.6.0.bin` | **0.6.0** | mismo sketch, `-DHBOX_BOARD_V4`; DFU solo con USB |
|
|
||||||
| **V3** (flota en campo) | `hbox-tarjetaV3_4.0.0.bin` | **4.0.0** | compilado, sin prueba de banco |
|
|
||||||
|
|
||||||
Descargas y SHA-256: [Descargas](../descargas/index.md). Un binario **nunca** se cruza de tarjeta.
|
|
||||||
|
|
||||||
- [ ] `STAT` limpio (tabla anterior) pegado en el acta junto con el encabezado de versión.
|
|
||||||
- [ ] Etiquetas exterior e interior con `HBOX5-Exx-Axxx-Rxxxx` y `H00xx`.
|
- [ ] Etiquetas exterior e interior con `HBOX5-Exx-Axxx-Rxxxx` y `H00xx`.
|
||||||
- [ ] Interruptor de corte (P11) en **OFF** para almacenar/embarcar.
|
- [ ] P11 en OFF para almacenar o embarcar.
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Historial de revisiones
|
## Historial de revisiones
|
||||||
|
|
||||||
| Versión | Fecha | Autor | Cambios |
|
| Versión | Fecha | Cambios |
|
||||||
|---|---|---|---|
|
|---|---|---|
|
||||||
| 1.0 | 2026-09-29 | Helgen Technologies | Primera versión: define «unidad configurada» para V5.5/V5.6 (4G, F9P, identidad H00xx, Ethernet, RS-485/RS-232, química/JP2, checklist de consola). |
|
| 1.0 | 2026-09-29 | Primera versión: define "unidad configurada" para V5.5/V5.6. |
|
||||||
|
| 1.1 | 2026-09-29 | Edición breve. Parámetros del módem → Descargas; Ethernet/serie y JP5 → prueba de Ethernet y serie; química/JP2 → ensamble §2; tabla de firmware → Descargas. |
|
||||||
|
|
||||||
|
Versiones anteriores en git.
|
||||||
|
|||||||
@ -1,238 +1,195 @@
|
|||||||
---
|
---
|
||||||
title: HBOX V5 (V5.5 / V5.6) — Prueba de banco de Ethernet y puertos serie (RS-485 / RS-232)
|
title: "HBOX V5 — Prueba de banco: Ethernet y puertos serie"
|
||||||
tags: [project-drogheda, hardware, hbox, v5, v5.6, ethernet, w5500, rs485, rs232, sc16is752, testing, procedimiento]
|
tags: [project-drogheda, hardware, hbox, v5, v5.6, ethernet, w5500, rs485, rs232, sc16is752, testing, procedimiento]
|
||||||
project: Project Drogheda
|
project: Project Drogheda
|
||||||
author: Helgen Technologies
|
author: Helgen Technologies
|
||||||
date: 2026-09-29
|
date: 2026-09-29
|
||||||
version: 1.0
|
version: 1.1
|
||||||
status: ACTIVO — obligatoria en al menos una V5.5 ANTES de pedir la V5.6; después, en toda unidad con RJ45 o clemas serie en el panel
|
status: ACTIVO — obligatoria en al menos una V5.5 antes de pedir la V5.6; después, en toda unidad con RJ45 o clemas serie
|
||||||
audience: técnicos de banco
|
audience: técnicos de banco
|
||||||
---
|
---
|
||||||
|
|
||||||
# HBOX V5 — Prueba de banco: Ethernet y puertos serie
|
# HBOX V5 — Prueba de banco: Ethernet y puertos serie
|
||||||
|
|
||||||
**Objetivo:** demostrar en hardware real que el W5500 (Ethernet) y el SC16IS752 con sus transceptores (RS-485 en
|
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
|
||||||
P15, RS-232 en P16) funcionan. Hasta el 28-sep **Ethernet nunca se había ejercitado en una tarjeta real**; la V5.6
|
- Para quién: técnicos de banco.
|
||||||
copia ese bloque tal cual, así que esta prueba en una V5.5 es condición para ordenar la V5.6.
|
- Cuándo: al menos una V5.5 antes de pedir la V5.6 (Ethernet nunca se había probado en tarjeta real y la V5.6 copia el bloque); después, toda unidad V5.5/V5.6 con RJ45 o clemas serie en el panel, dentro de la [configuración de la unidad](v5-configuracion-unidad.md).
|
||||||
**Duración:** Ethernet 15 min · serie 15 min.
|
- Tiempo: Ethernet 15 min · serie 15 min.
|
||||||
**Registro:** [**▶ acta Ethernet y puertos serie**](../formularios/ethernet-serie.html).
|
- Necesitas: unidad V5 ensamblada (o tarjeta + simpleRTK2B para ver NMEA); 24 V al GX16 (o 5.3 V / 3 A en P2); laptop con terminal serie a 115200 grabando y `nc` (macOS/Linux) o `ncat` (Windows); binario de banco `hbox-v5-bringup_0.6.0-eth.bin` (lo compila ingeniería con `-DENABLE_ETH=1` y entrega su SHA-256) <!-- VERIFICAR: nombre y SHA-256 del binario -eth publicado -->; cable Ethernet directo cat 5e de 1–3 m (el W5500 hace Auto-MDIX); adaptadores USB-RS485 y USB-RS232 (DB9 macho) con 3 cables con puntera; multímetro; desarmador plano 2.5 mm; [acta Ethernet y puertos serie](../formularios/ethernet-serie.html).
|
||||||
|
|
||||||
!!! danger "Seguridad eléctrica — las tres reglas"
|
!!! warning "Reglas"
|
||||||
1. **Nunca probar Ethernet con la unidad solo en batería ni solo por USB.** El W5500 se alimenta de `3V3_ETH`, que
|
1. Nunca pruebes Ethernet solo en batería ni solo por USB: el W5500 cuelga de `3V3_ETH`, que sale del 5 V del sistema. Sin 5 V el firmware lo deja en reset.
|
||||||
cuelga del 5 V del sistema: sin 5 V el chip está sin alimentar y el firmware lo deja en reset. En batería el
|
2. 5 V del sistema ≥ 5.2 V (SD-15B o fuente a ~5.3 V). Con menos, la ráfaga LTE lleva el riel al PFI 4.60 V del LTC4040 y la tarjeta se reinicia.
|
||||||
firmware tampoco lo enciende (no valen sus ~130 mA).
|
3. Con fuente de banco en P2 y sin 24 V, sin paquete de batería. Lo normal: 24 V al GX16 y el SD-15B interno.
|
||||||
2. **5 V del sistema ≥ 5.2 V** durante la prueba (SD-15B ajustado a ~5.3 V o fuente de banco a 5.3 V en P2). Con
|
|
||||||
menos, la ráfaga LTE del módem lleva el riel al PFI 4.60 V del LTC4040 y la tarjeta se reinicia a media prueba.
|
|
||||||
3. **Sin batería si se usa fuente de banco en P2** sin 24 V (no hay cargador que gobernar, pero un paquete Li-ion
|
|
||||||
sobre una fuente mal ajustada no se perdona). Lo normal: 24 V al GX16 y el SD-15B interno.
|
|
||||||
|
|
||||||
---
|
## A. Ethernet (build `0.6.0-eth`)
|
||||||
|
|
||||||
## 0. Material
|
### A1. Laptop (una vez)
|
||||||
|
|
||||||
| Cant. | Ítem |
|
1. Adaptador Ethernet en IP manual 192.168.7.1, máscara 255.255.255.0, sin gateway. Con un switch con DHCP la unidad toma IP del DHCP pero sigue buscando el servidor en 192.168.7.1; usa cable directo.
|
||||||
|
2. Firewall: permite entradas a 5010/TCP o desactívalo durante la prueba.
|
||||||
|
3. Deja escuchando:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nc -lk 5010 # macOS / Linux
|
||||||
|
ncat -lk 5010 # Windows (Nmap)
|
||||||
|
```
|
||||||
|
|
||||||
|
### A2. Flasheo del build de banco
|
||||||
|
|
||||||
|
1. DFU por J11, solo USB, sin 24 V ([flasheo §5](v5-prueba-y-flasheo.md#5-flasheo-por-usb-dfu-j11-5-min)).
|
||||||
|
2. `dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.6.0-eth.bin` o STM32CubeProgrammer.
|
||||||
|
3. Terminal en J11: primera línea `hbox-v5-bringup 0.6.0-eth`; la ayuda (`h`) lista `E=Ethernet on/off`.
|
||||||
|
|
||||||
|
El build `-eth` es solo de banco: al terminar reflashea `hbox-v5-bringup_0.6.0.bin` (ver C).
|
||||||
|
|
||||||
|
### A3. Secuencia
|
||||||
|
|
||||||
|
1. Cable entre J10 y la laptop. Sin 24 V los LEDs de J10 quedan apagados (correcto: el USB no alimenta el W5500).
|
||||||
|
2. Energiza 24 V + ignición (P11 en ON). En los primeros ~15 s:
|
||||||
|
|
||||||
|
| Paso | Consola | Significa |
|
||||||
|
|---|---|---|
|
||||||
|
| a | `>>> BOARD OK` · `EVT … STACK ON reason=auto` | Tarjeta y etapa bien |
|
||||||
|
| b | `EVT ETH W5500 OK en SPI2 (W5500) mac=02:48:42:xx:xx:xx ip_estatica=192.168.7.2 — esperando cable` | El chip responde (`$PHEV … ETH_HW,ok`) |
|
||||||
|
| c | LED de enlace de J10 encendido, actividad parpadea | PHY con enlace |
|
||||||
|
| d | `EVT ETH sin DHCP en 4 s -> IP estatica` (directo) o `ETH enlace ARRIBA ip=<dhcp> (DHCP)` (switch) | Dirección obtenida |
|
||||||
|
| e | `EVT ETH enlace ARRIBA ip=192.168.7.2 (estatica) gw=… -> servidor 192.168.7.1:5010` | Listo para conectar |
|
||||||
|
| f | `EVT ETH conectado a 192.168.7.1:5010 (n=1): NMEA + $PHLG + $PHEV en espejo` | Socket abierto |
|
||||||
|
|
||||||
|
3. En `nc` llega primero la identidad y luego el flujo. `$PHID` se repite cada 5 min; con la etapa apagada o sin simpleRTK2B solo llegan `$PHLG`/`$PHEV`.
|
||||||
|
|
||||||
|
```
|
||||||
|
$PHID,<UID 24 hex>,0.6.0-eth,EinarBoard v5 (HBOX v5),02:48:42:xx:xx:xx,<up_s>*CS
|
||||||
|
$PHLG,0.6.0-eth,RUN,…
|
||||||
|
$GNGGA,…
|
||||||
|
$GNRMC,…
|
||||||
|
```
|
||||||
|
|
||||||
|
4. `s`: `STAT … eth=CONECTADO ip=192.168.7.2 lineas=N bytes=… drop=0 conn=1`. `lineas` sube; `drop` queda en 0.
|
||||||
|
5. Cable: desconecta el RJ45 10 s → `EVT ETH cable desconectado — esperando enlace`; al reconectar, `enlace ARRIBA` y `conectado (n=2)` en < 10 s.
|
||||||
|
6. Servidor: cierra `nc` (Ctrl-C) → `EVT ETH servidor desconectado … reintento en 5 s`; relanza `nc -lk 5010` y reconecta solo.
|
||||||
|
7. Tecla `E` → `ETH OFF (operador)`, LEDs de J10 apagados; `E` otra vez repite b–f.
|
||||||
|
8. Sin 5 V: quita los 24 V con batería puesta → `EVT ETH OFF (sin_5V): W5500 en reset` y `eth=off`. Al volver los 24 V, reset del MCU (0.5.9+) y la secuencia completa.
|
||||||
|
9. Guarda el log de consola y la captura de `nc` (`nc -lk 5010 | tee H00xx_eth.txt`) para el acta.
|
||||||
|
|
||||||
|
### A4. Aceptación
|
||||||
|
|
||||||
|
| Criterio | Pasa si |
|
||||||
|---|---|
|
|---|---|
|
||||||
| 1 | Unidad V5 ensamblada (tarjeta + simpleRTK2B + módem + antenas) o tarjeta V5 sola + simpleRTK2B (para ver NMEA) |
|
| Hardware | `ETH W5500 OK en SPI2` en cada arranque con 5 V, nunca `NO responde` |
|
||||||
| 1 | Fuente 24 V al GX16 (o fuente 5.3 V / 3 A en P2) |
|
| Enlace | LED de enlace ON con cable; `enlace ARRIBA` < 10 s tras conectar |
|
||||||
| 1 | Laptop con terminal serie (115200) grabando a archivo, **y** con `nc` (macOS/Linux) o `ncat` (Windows, Nmap) |
|
| Dirección | Toma DHCP si hay servidor; si no, 192.168.7.2 en ≤ 5 s |
|
||||||
| 1 | Binario de banco **`hbox-v5-bringup_0.6.0-eth.bin`** (lo compila ingeniería con `-DENABLE_ETH=1`; SHA-256 en su entrega) <!-- VERIFICAR: nombre y SHA-256 del binario -eth publicado --> |
|
| Espejo | `$PHID` primero; NMEA + `$PHLG` continuos ≥ 5 min; `drop=0` |
|
||||||
| 1 | Cable Ethernet **directo** (cat 5e o mejor), 1–3 m; el W5500 hace Auto-MDIX, no hace falta cruzado |
|
| Recuperación | Cable y servidor se recuperan solos en < 10 s |
|
||||||
| 1 | Adaptador **USB ↔ RS-485** (con terminales A/B o D+/D−) |
|
| No interferencia | Con Ethernet conectado: `modoB=ON`, `phlg_aire` sube, el monitor ve la unidad por 4G, `v5min ≥ 4.9` |
|
||||||
| 1 | Adaptador **USB ↔ RS-232** (DB9 macho, chip FTDI/Prolific) + 3 cables con puntera para la clema |
|
|
||||||
| 1 | Multímetro |
|
|
||||||
| — | Destornillador plano 2.5 mm para las clemas Phoenix MC 1,5 |
|
|
||||||
|
|
||||||
---
|
### A5. Fallas
|
||||||
|
|
||||||
## A. Prueba de Ethernet (build `0.6.0-eth`)
|
| Síntoma | Revisa |
|
||||||
|
|---|---|
|
||||||
|
| `EVT ETH W5500 NO responde en SPI2 … — 3V3_ETH? U11? reintento en 10 s` (`$PHEV … ETH_HW,fail`) | `3V3_ETH` (salida de U12 / J10 pin 4 TCT) = 3.3 V. Con 0 V: U12 o su enable, `SYS5V` (¿P11 cerrado?). Con 3.3 V: SPI2 (PB12 CS, PB13 SCK, PB14 MISO, PB15 MOSI) y RST en PA15 (en V5.5 flota sin pull-down; V5.6 lleva R112 4.7 k), cristal Y1 25 MHz, soldadura de U11 (QFN 48) |
|
||||||
|
| `W5500 OK` pero nunca `enlace ARRIBA` | Otro cable; adaptador de la laptop activo; J10 (pines doblados; el HR911105A trae los magnéticos dentro y un golpe los rompe); pares J10 1-2 / 3-6 |
|
||||||
|
| `enlace ARRIBA` sin `conectado` (`eth=buscando_srv`) | IP de la laptop ≠ 192.168.7.1/24, `nc` sin escuchar, firewall, dos adaptadores en la misma subred |
|
||||||
|
| `conectado` sin datos en `nc` o `drop` sube | `nc` sin `-k` se cerró tras el primer cliente; terminal congelada |
|
||||||
|
| Reinicio al conectar Ethernet | `v5min` < 4.6: SD-15B o fuente (regla 2) |
|
||||||
|
| Bien con cable directo, mal con switch | DHCP en otra subred y servidor fijo en 192.168.7.1: usa cable directo o pide build con `-DETH_SERVER_IP=` |
|
||||||
|
|
||||||
### A1. Preparar la laptop (una vez)
|
## B. Puertos serie (P15 RS-485, P16 RS-232)
|
||||||
|
|
||||||
1. Adaptador Ethernet de la laptop en **IP manual 192.168.7.1**, máscara **255.255.255.0**, sin gateway.
|
### B0. Qué prueba cada firmware
|
||||||
(Si en vez de cable directo se usa un switch con DHCP, la unidad tomará la IP del DHCP; entonces la laptop
|
|
||||||
debe estar en esa red y la unidad seguirá buscando el servidor en 192.168.7.1 — por eso el cable directo es lo más simple.)
|
|
||||||
2. Firewall de la laptop: permitir entradas al puerto **5010/TCP** (o desactivarlo durante la prueba).
|
|
||||||
3. Abrir un terminal y dejar escuchando:
|
|
||||||
|
|
||||||
```bash
|
| Firmware | Prueba | Secciones |
|
||||||
nc -lk 5010 # macOS / Linux
|
|
||||||
ncat -lk 5010 # Windows (Nmap)
|
|
||||||
```
|
|
||||||
|
|
||||||
### A2. Flashear el build de banco
|
|
||||||
|
|
||||||
1. DFU en **J11** (mantener SW2, pulsar y soltar SW1, soltar SW2) — igual que el
|
|
||||||
[procedimiento de flasheo §5](v5-prueba-y-flasheo.md). Solo USB, sin 24 V.
|
|
||||||
2. `dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.6.0-eth.bin` (o STM32CubeProgrammer).
|
|
||||||
3. Terminal serie en J11: la primera línea debe decir **`hbox-v5-bringup 0.6.0-eth`**. La ayuda (`h`) debe listar la
|
|
||||||
tecla `E=Ethernet on/off`.
|
|
||||||
|
|
||||||
!!! warning "Al terminar, regresar la unidad a 0.6.0"
|
|
||||||
El build `-eth` es de banco. Antes de embarcar se vuelve a flashear **`hbox-v5-bringup_0.6.0.bin`** (campo) y se
|
|
||||||
anota en el acta de reflasheo.
|
|
||||||
|
|
||||||
### A3. Secuencia de prueba
|
|
||||||
|
|
||||||
1. Cable Ethernet **entre J10 y la laptop**. Aún sin 24 V: los LEDs de J10 deben estar **apagados** (W5500 sin
|
|
||||||
alimentar por USB — correcto).
|
|
||||||
2. Energizar **24 V + ignición** (P11 en ON). En consola, en los primeros ~15 s:
|
|
||||||
|
|
||||||
| Paso | Línea esperada en consola | Qué significa |
|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| a | `>>> BOARD OK` · `EVT … STACK ON reason=auto` | tarjeta y etapa bien |
|
| 0.6.0 / 0.6.0-eth | Presencia del SC16IS752 y niveles estáticos | B1, B2 |
|
||||||
| b | `EVT ETH W5500 OK en SPI2 (W5500) mac=02:48:42:xx:xx:xx ip_estatica=192.168.7.2 — esperando cable` | **el chip responde** (`$PHEV … ETH_HW,ok`) |
|
| 0.6.1 (planeado) | Lazo interno y eco externo a 9600 8N1 | B3, B4 |
|
||||||
| c | LED de **enlace** de J10 encendido; el de **actividad** parpadea | PHY con enlace |
|
|
||||||
| d | `EVT ETH sin DHCP en 4 s -> IP estatica` (cable directo) **o** `ETH enlace ARRIBA ip=<dhcp> (DHCP)` (switch) | dirección obtenida |
|
|
||||||
| e | `EVT ETH enlace ARRIBA ip=192.168.7.2 (estatica) gw=… -> servidor 192.168.7.1:5010` | listo para conectar |
|
|
||||||
| f | `EVT ETH conectado a 192.168.7.1:5010 (n=1): NMEA + $PHLG + $PHEV en espejo` | **socket abierto** |
|
|
||||||
|
|
||||||
3. En la ventana de `nc` debe aparecer **primero** una línea de identidad y luego el flujo:
|
### B1. Presencia (0.6.x)
|
||||||
|
|
||||||
```
|
Tarjeta energizada (USB basta). Teclea `r` y busca:
|
||||||
$PHID,<UID 24 hex>,0.6.0-eth,EinarBoard v5 (HBOX v5),02:48:42:xx:xx:xx,<up_s>*CS
|
|
||||||
$PHLG,0.6.0-eth,RUN,…
|
|
||||||
$GNGGA,…
|
|
||||||
$GNRMC,…
|
|
||||||
```
|
|
||||||
|
|
||||||
(`$PHID` se repite cada 5 min. Con la etapa apagada o sin simpleRTK2B llegan solo `$PHLG`/`$PHEV`.)
|
|
||||||
|
|
||||||
4. Teclear **`s`**: `STAT … eth=CONECTADO ip=192.168.7.2 lineas=N bytes=… drop=0 conn=1`. `lineas` debe subir; `drop`
|
|
||||||
debe quedarse en 0.
|
|
||||||
5. **Prueba de cable:** desconectar el RJ45 10 s → `EVT ETH cable desconectado — esperando enlace`; reconectar →
|
|
||||||
vuelve a `enlace ARRIBA` y `conectado (n=2)` en < 10 s.
|
|
||||||
6. **Prueba de servidor:** cerrar `nc` (Ctrl-C) → `EVT ETH servidor desconectado … reintento en 5 s`; volver a
|
|
||||||
lanzar `nc -lk 5010` → reconecta solo.
|
|
||||||
7. **Tecla `E`:** `E` → `ETH OFF (operador)`, LEDs de J10 apagados; `E` otra vez → toda la secuencia b–f de nuevo.
|
|
||||||
8. **Sin 5 V:** quitar los 24 V (con batería puesta) → `EVT ETH OFF (sin_5V): W5500 en reset` y `STAT … eth=off`.
|
|
||||||
Volver los 24 V → reset del MCU (0.5.9+) y la secuencia completa otra vez.
|
|
||||||
9. Guardar el log de consola **y** la captura de `nc` (`nc -lk 5010 | tee H00xx_eth.txt`). Ambos van al acta.
|
|
||||||
|
|
||||||
### A4. Criterios de aceptación — Ethernet
|
|
||||||
|
|
||||||
| Criterio | PASA si |
|
|
||||||
|---|---|
|
|
||||||
| Hardware | `ETH W5500 OK en SPI2` en cada arranque con 5 V (nunca `NO responde`) |
|
|
||||||
| Enlace | LED de enlace de J10 ON con cable; `enlace ARRIBA` en < 10 s tras conectar el cable |
|
|
||||||
| Dirección | DHCP tomado si hay servidor DHCP; si no, cae a 192.168.7.2 en ≤ 5 s |
|
|
||||||
| Espejo | `$PHID` es la primera línea en `nc`; después NMEA + `$PHLG` continuos ≥ 5 min; `drop=0` |
|
|
||||||
| Recuperación | cable fuera/dentro y servidor caído/arriba se recuperan solos en < 10 s |
|
|
||||||
| No interferencia | mientras Ethernet está conectado: `modoB=ON`, `phlg_aire` sigue subiendo, el monitor sigue viendo la unidad por 4G, `v5min ≥ 4.9` |
|
|
||||||
|
|
||||||
### A5. Árbol de fallas — Ethernet
|
|
||||||
|
|
||||||
| Síntoma | Dónde buscar |
|
|
||||||
|---|---|
|
|
||||||
| `EVT ETH W5500 NO responde en SPI2 … — 3V3_ETH? U11? reintento en 10 s` (`$PHEV … ETH_HW,fail`) | Medir **3V3_ETH** (U12 salida / J10 pin 4 TCT) → 3.3 V. Si 0 V: U12 o su enable, `SYS5V` (P11 cerrado?). Si 3.3 V: SPI2 (PB12 CS, PB13 SCK, PB14 MISO, PB15 MOSI) y **RST PA15**: en V5.5 PA15 no tiene pull-down (flota); la tarjeta debe llevar R112 4.7 k en V5.6. Cristal Y1 25 MHz. Soldadura de U11 (QFN 48) |
|
|
||||||
| `W5500 OK` pero **nunca** `enlace ARRIBA`; LED de enlace apagado | cable (probar otro), el adaptador de la laptop está activo?, **J10** (pines doblados, magnéticos: HR911105A trae los transformadores dentro — un J10 golpeado los rompe), pares TX/RX (J10 1-2 / 3-6) |
|
|
||||||
| `enlace ARRIBA` pero nunca `conectado` (`eth=buscando_srv`) | IP de la laptop ≠ 192.168.7.1/24, `nc` no está escuchando, **firewall** de la laptop, dos adaptadores de red con la misma subred |
|
|
||||||
| `conectado` pero `nc` no muestra nada / `drop` sube | `nc` sin `-k` se cerró tras el primer cliente; la laptop no drena (terminal congelada) |
|
|
||||||
| Se reinicia la tarjeta al conectar Ethernet | riel 5 V: `v5min` < 4.6 → SD-15B / fuente; ver regla 2 de seguridad |
|
|
||||||
| Todo bien con cable directo pero no con switch | el switch da DHCP en otra subred y el servidor sigue siendo 192.168.7.1 → cable directo, o build con `-DETH_SERVER_IP=` de esa red |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## B. Prueba de puertos serie (P15 RS-485, P16 RS-232)
|
|
||||||
|
|
||||||
### B0. Lo que puede probar cada firmware
|
|
||||||
|
|
||||||
| Firmware | Qué prueba | Cómo |
|
|
||||||
|---|---|---|
|
|
||||||
| **0.6.0 / 0.6.0-eth** (hoy) | presencia del SC16IS752 (registro scratchpad) + **niveles estáticos** de los transceptores | B1 + B2 |
|
|
||||||
| **0.6.1** (planeado; *cuando exista*) | lazo interno A↔B y eco externo por cada puerto a **9600 8N1** | B3 + B4 |
|
|
||||||
|
|
||||||
### B1. Presencia (cualquier 0.6.x)
|
|
||||||
|
|
||||||
Con la tarjeta energizada (USB basta), en consola teclear **`r`** y buscar:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
[PASS] I2C SC16IS752 U10 @0x4D ACK
|
[PASS] I2C SC16IS752 U10 @0x4D ACK
|
||||||
[PASS] SC16IS752 0x4D ACK, SPR rd=0xA5 (exp A5), LSR=0x60
|
[PASS] SC16IS752 0x4D ACK, SPR rd=0xA5 (exp A5), LSR=0x60
|
||||||
```
|
```
|
||||||
|
|
||||||
`[FAIL] … no ACK at 0x4D` → U10 sin alimentación / soldadura / dirección (A0, A1 a GND). `SPR rd=` distinto de `A5` →
|
`[FAIL] … no ACK at 0x4D`: U10 sin alimentación, soldadura o dirección (A0, A1 a GND). `SPR rd=` ≠ `A5`: U10 dañado o Y2 no oscila (marcado `3.6864`).
|
||||||
U10 dañado o **Y2** no oscila (debe decir `3.6864`).
|
|
||||||
|
|
||||||
### B2. Niveles estáticos (cualquier 0.6.x, multímetro, sin nada conectado a las clemas)
|
### B2. Niveles estáticos (0.6.x, sin nada en las clemas)
|
||||||
|
|
||||||
| Medir (negro a GND = P15.3 / P16.3) | Esperado | Si no |
|
| Punto (negro a P15.3 / P16.3) | Esperado | Si no |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **P16.1 (TX RS-232)** | **−5 a −6.5 V** (marca en reposo del MAX3232) | ≈ 0 V: U15 sin 3V3 o bomba de carga muerta (C1±/C2± = C de U15); ≈ +5 V: T1IN en bajo = U10 en reset |
|
| P16.1 (TX RS-232) | −5 a −6.5 V (reposo del MAX3232) | ≈ 0 V: U15 sin 3V3 o bomba de carga muerta; ≈ +5 V: T1IN bajo = U10 en reset |
|
||||||
| **P16.2 (RX RS-232)** | ≈ 0 V flotando (R1IN tiene pull-down interno) | — |
|
| P16.2 (RX RS-232) | ≈ 0 V (pull-down interno de R1IN) | — |
|
||||||
| **P15.1 (A) y P15.2 (B)** respecto a GND | ambas entre 1 y 3 V <!-- VERIFICAR: el SP3485 no polariza A/B en recepción; medir en la primera V5.5 y fijar el rango --> | ambas 0 V con 3V3 presente: U14 sin VCC |
|
| P15.1 (A) y P15.2 (B) a GND | Ambas 1–3 V <!-- VERIFICAR: el SP3485 no polariza A/B en recepción; medir en la primera V5.5 y fijar el rango --> | Ambas 0 V con 3V3 presente: U14 sin VCC |
|
||||||
| **P15.1 – P15.2** (A – B) con JP5 cerrado | 0 V ± 0.2 (driver desactivado, línea terminada) <!-- VERIFICAR: estado por defecto de SER_DEA (DE/~RE de U14) tras reset del SC16IS752; si el driver arranca activo se leerá ≈ +2 V (marca) --> | ≈ 0 con JP5 abierto también es normal |
|
| P15.1 – P15.2 con JP5 cerrado | 0 V ± 0.2 (driver desactivado, línea terminada) <!-- VERIFICAR: estado por defecto de SER_DEA (DE/~RE de U14) tras reset del SC16IS752; si el driver arranca activo se leerá ≈ +2 V (marca) --> | ≈ 0 con JP5 abierto también es normal |
|
||||||
| **JP5** con la tarjeta apagada, ohms entre P15.1 y P15.2 | JP5 abierto: > 10 kΩ · JP5 cerrado: **≈ 120 Ω** (R82) | — |
|
| Ohms P15.1–P15.2, tarjeta apagada | JP5 abierto > 10 kΩ · cerrado ≈ 120 Ω (R82) | — |
|
||||||
|
|
||||||
### B3. Lazo interno (cuando exista 0.6.1)
|
### B3. Lazo interno (0.6.1)
|
||||||
|
|
||||||
Cablear **P15 ↔ P16 no** — son eléctricamente distintos. El lazo interno de 0.6.1 conecta TX→RX de cada canal
|
No cablees P15 con P16: son eléctricamente distintos. El lazo de 0.6.1 une TX→RX de cada canal dentro del SC16IS752 (MCR bit 4), sin cable: tecla de consola de 0.6.1 <!-- VERIFICAR: tecla y texto de salida del auto-test de lazo en 0.6.1 --> → `[PASS] SER_LOOP_A` / `[PASS] SER_LOOP_B`. Prueba U10 y el cristal, no los transceptores ni las clemas.
|
||||||
**dentro del SC16IS752** (registro MCR bit 4) y no necesita cable: tecla de consola de 0.6.1 <!-- VERIFICAR: tecla y texto de salida del auto-test de lazo en 0.6.1 --> → `[PASS] SER_LOOP_A` / `[PASS] SER_LOOP_B`. Prueba U10 y el cristal,
|
|
||||||
**no** los transceptores ni las clemas.
|
|
||||||
|
|
||||||
### B4. Eco externo con adaptadores (cuando exista 0.6.1) — 9600 8N1
|
### B4. Eco externo con adaptadores (0.6.1, 9600 8N1)
|
||||||
|
|
||||||
Con 0.6.1 en modo eco, todo lo que entra por un puerto sale por el mismo puerto.
|
En modo eco, lo que entra por un puerto sale por el mismo.
|
||||||
|
|
||||||
**RS-485 (P15):**
|
RS-485 (P15):
|
||||||
|
|
||||||
1. Cerrar **JP5** en la tarjeta *solo si* el adaptador también termina (la mayoría trae 120 Ω conmutable): bus de dos
|
1. JP5 según la [regla de terminación](#conexion-en-la-instalacion). En banco, bus de dos nodos: ciérralo solo si el adaptador también termina. Anota la posición.
|
||||||
nodos = dos extremos = dos terminaciones. Anotar la posición en el acta.
|
2. A → P15.1, B → P15.2, GND → P15.3. Par trenzado, ≤ 3 m.
|
||||||
2. Adaptador: **A → P15.1**, **B → P15.2**, **GND → P15.3**. Par trenzado, ≤ 3 m en banco.
|
3. Terminal en el adaptador a 9600 8N1, sin eco local. Envía `HELGEN-485 0123456789\r\n` diez veces (o 1 kB).
|
||||||
3. Terminal en el puerto del adaptador a **9600 8N1**, eco local apagado. Enviar `HELGEN-485 0123456789\r\n`
|
4. Pasa con 10/10 líneas idénticas.
|
||||||
diez veces (o un archivo de 1 kB).
|
5. Sin respuesta: intercambia A y B (muchos adaptadores rotulan D+/D− al revés); si sigue, vuelve a B2.
|
||||||
4. Esperado: cada línea regresa **idéntica**. 10/10 sin caracteres perdidos = PASA.
|
|
||||||
5. Si no vuelve nada: **intercambiar A y B** (muchos adaptadores etiquetan D+/D− al revés). Si sigue sin nada: B2.
|
|
||||||
|
|
||||||
**RS-232 (P16):**
|
RS-232 (P16):
|
||||||
|
|
||||||
1. Cable de 3 hilos con puntera: **P16.1 TX → DB9 pin 2 (RXD)** · **P16.2 RX → DB9 pin 3 (TXD)** · **P16.3 GND → DB9 pin 5**.
|
1. Cable de 3 hilos: P16.1 TX → DB9 pin 2 (RXD) · P16.2 RX → DB9 pin 3 (TXD) · P16.3 GND → DB9 pin 5. Sin control de flujo.
|
||||||
(Cruce DTE↔DTE; sin control de flujo.)
|
2. Terminal a 9600 8N1. Envía `HELGEN-232 0123456789\r\n` diez veces.
|
||||||
2. Terminal en el adaptador a **9600 8N1**. Enviar `HELGEN-232 0123456789\r\n` diez veces.
|
3. Pasa con 10/10 idénticas. Basura o nada: invierte pines 2↔3 y revisa B2.
|
||||||
3. Esperado: 10/10 líneas de vuelta idénticas. Basura o nada: revisar cruce (probar pines 2↔3 invertidos) y B2.
|
|
||||||
|
|
||||||
### B5. Criterios de aceptación — puertos serie
|
### B5. Aceptación
|
||||||
|
|
||||||
| Prueba | PASA si | Con qué firmware |
|
| Prueba | Pasa si | Firmware |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| Presencia U10 | `[PASS] SC16IS752 … SPR rd=0xA5` | 0.6.0+ |
|
| Presencia U10 | `[PASS] SC16IS752 … SPR rd=0xA5` | 0.6.0+ |
|
||||||
| Niveles RS-232 | P16.1 en −5…−6.5 V en reposo | 0.6.0+ |
|
| Niveles RS-232 | P16.1 en −5…−6.5 V en reposo | 0.6.0+ |
|
||||||
| Niveles RS-485 | A y B con nivel (no 0/0), 120 Ω entre A-B solo con JP5 cerrado | 0.6.0+ |
|
| Niveles RS-485 | A y B con nivel (no 0/0); 120 Ω A-B solo con JP5 cerrado | 0.6.0+ |
|
||||||
| Lazo interno A y B | `[PASS] SER_LOOP_A` y `SER_LOOP_B` | 0.6.1 |
|
| Lazo interno | `SER_LOOP_A` y `SER_LOOP_B` en PASS | 0.6.1 |
|
||||||
| Eco RS-485 | 10/10 líneas idénticas a 9600 8N1 | 0.6.1 |
|
| Eco RS-485 / RS-232 | 10/10 idénticas a 9600 8N1 | 0.6.1 |
|
||||||
| Eco RS-232 | 10/10 líneas idénticas a 9600 8N1 | 0.6.1 |
|
|
||||||
|
|
||||||
!!! note "Sin 0.6.1, el resultado de serie se registra como «presencia + niveles OK»"
|
Sin 0.6.1 el resultado se registra como "presencia + niveles OK". Basta para ordenar la V5.6 (el bloque serie no cambia). El eco se agrega al mismo acta cuando salga 0.6.1.
|
||||||
Es lo máximo que puede probarse hoy y **basta para ordenar la V5.6** (el bloque serie no cambia entre V5.5 y V5.6).
|
|
||||||
El eco con adaptadores se repite cuando salga 0.6.1 y se agrega al mismo acta.
|
|
||||||
|
|
||||||
---
|
## Conexión en la instalación
|
||||||
|
|
||||||
|
| Conector | Pin 1 | Pin 2 | Pin 3 | Notas |
|
||||||
|
|---|---|---|---|---|
|
||||||
|
| P15 RS-485 | A | B | GND | Semidúplex, 2 hilos. JP5 = terminación 120 Ω (R82) entre A y B |
|
||||||
|
| P16 RS-232 | TX (sale) | RX (entra) | GND | ±5 V (MAX3232). El HBOX es DTE |
|
||||||
|
|
||||||
|
- JP5 (puente de soldadura, abierto de fábrica): un bus RS-485 se termina solo en sus dos extremos. Ciérralo solo si el HBOX es un extremo; en un bus de dos nodos se cierran los dos; nunca en un nodo intermedio.
|
||||||
|
- RS-232 contra otro DTE (laptop, PLC con DB9 macho): cruzado como en B4. Contra un DCE (módem, DB9 hembra): directo.
|
||||||
|
- Clemas Phoenix MC 1,5 de 3 vías (paso 3.5 mm): alambre 0.2–1.5 mm² (AWG 24–16), pelado 7 mm, sin estañar (o con puntera). RS-485 en par trenzado con GND en el mismo cable.
|
||||||
|
- No hay PoE (J10 pines 7/8 sin conectar): la unidad sigue necesitando 24 V.
|
||||||
|
|
||||||
## C. Cierre
|
## C. Cierre
|
||||||
|
|
||||||
- [ ] Re-flashear **`hbox-v5-bringup_0.6.0.bin`** (campo) si la unidad se va a embarcar; anotar en el acta de reflasheo.
|
- [ ] Si la unidad se embarca, reflashea `hbox-v5-bringup_0.6.0.bin` y anótalo en el [acta de reflasheo](../formularios/reflasheo.html).
|
||||||
- [ ] Quitar cable Ethernet y adaptadores; tapas ciegas en J10/P15/P16 si el panel no los usa.
|
- [ ] Retira cable y adaptadores; tapas ciegas en J10/P15/P16 que el panel no use.
|
||||||
- [ ] Acta [Ethernet y puertos serie](../formularios/ethernet-serie.html) enviada con los dos logs.
|
- [ ] Envía el [acta Ethernet y puertos serie](../formularios/ethernet-serie.html) con los dos logs.
|
||||||
|
|
||||||
---
|
## Anexo — notas de ingeniería
|
||||||
|
|
||||||
## Anexo A — Notas de ingeniería
|
- `ethService()`: `RST` alto → 150 ms → `Ethernet.begin` estático (prueba el chip y lee el PHY) → con cable, DHCP con 4 s (K1 liberado mientras, `relayDisengage("eth_dhcp")`) o estática → `connect()` con timeout 300 ms, reintento 5 s. Escrituras no bloqueantes (`availableForWrite`); descartes en `drop=`. MAC `02:48:42:` + hash del UID. Eventos en banda: `ETH_HW`, `ETH_UP`, `ETH_LINK`, `ETH_CONN`, `ETH_DISC`, `ETH_OFF`.
|
||||||
|
- Defaults del build: DHCP, y si no hay respuesta en 4 s estática 192.168.7.2/24 (`-DETH_DHCP=0`, `-DETH_IP=192,168,1,50`); servidor 192.168.7.1:5010, reintento 5 s (`-DETH_SERVER_IP=`, `-DETH_SERVER_PORT=`); activo solo con 5 V, nunca en batería ni por USB. IP y servidor son banderas de compilación: otro valor = otro `.bin` de ingeniería. No hay build de campo con Ethernet y el servidor htracker no escucha el espejo; la unidad reporta por 4G.
|
||||||
- Ethernet en firmware: `ethService()` — `RST` alto → 150 ms → `Ethernet.begin` estático (prueba el chip y lee el
|
- V5.6 añade R112 4.7 k pull-down en `ETH_RST` (PA15) y C90 4.7 µF / C91 10 nF. `W5500 NO responde` intermitente en V5.5: sospecha PA15 flotando antes de que el firmware tome el pin.
|
||||||
PHY) → con cable, DHCP con 4 s de presupuesto (K1 liberado mientras, `relayDisengage("eth_dhcp")`) o estática →
|
- SC16IS752: 0x4D (A1 = A0 = GND, I²C), IRQ en PB8 (R81 10 k), Y2 3.6864 MHz (`XTAL_FREQ 3686400` → 9600 = divisor 24). Canal A → U14 SP3485 (DE y ~RE unidos en `SER_DEA`); canal B → U15 MAX3232 (canal 2 sin usar: T2IN y R2IN a GND). En 0.6.0 no hay tráfico de aplicación y el protocolo con el equipo del cliente está por definir.
|
||||||
`connect()` con timeout 300 ms, reintento 5 s. Escrituras no bloqueantes (`availableForWrite`), descartes en `drop=`.
|
- Netlist V5.6 (`p5ntc-after.xml`): P15.1 `RS485_A`, P15.2 `RS485_B`, P15.3 GND; JP5.1 `RS485_T` (R82 120 Ω → A), JP5.2 `RS485_B`; P16.1 `RS232_TX` (T1OUT), P16.2 `RS232_RX` (R1IN), P16.3 GND; J10 1/2 TX±, 3/6 RX±, 4 TCT (3V3_ETH), 5 RCT, 7/8 NC, 9–12 LEDs.
|
||||||
MAC `02:48:42:` + hash del UID. Eventos en banda: `ETH_HW`, `ETH_UP`, `ETH_LINK`, `ETH_CONN`, `ETH_DISC`, `ETH_OFF`.
|
|
||||||
- V5.5 vs V5.6 en este bloque: V5.6 añade **R112 4.7 k pull-down en `ETH_RST` (PA15)** y C90 4.7 µF / C91 10 nF según
|
|
||||||
datasheet. Si una V5.5 arranca con `W5500 NO responde` de forma intermitente, sospechar PA15 flotando antes de que el
|
|
||||||
firmware tome el pin.
|
|
||||||
- SC16IS752: dirección 0x4D (A1 = A0 = GND, modo I²C), IRQ en PB8 (R81 10 k), cristal Y2 3.6864 MHz (`XTAL_FREQ 3686400`
|
|
||||||
→ 9600 = divisor 24). Canal A → U14 SP3485 (DE y ~RE unidos en `SER_DEA`), canal B → U15 MAX3232 (canal 2 sin usar:
|
|
||||||
T2IN a GND, R2IN a GND).
|
|
||||||
- Netlist V5.6 (`p5ntc-after.xml`): P15.1 `RS485_A`, P15.2 `RS485_B`, P15.3 GND; JP5.1 `RS485_T` (R82 120 Ω → A),
|
|
||||||
JP5.2 `RS485_B`; P16.1 `RS232_TX` (T1OUT), P16.2 `RS232_RX` (R1IN), P16.3 GND; J10 1/2 TX±, 3/6 RX±, 4 TCT (3V3_ETH),
|
|
||||||
5 RCT, 7/8 NC, 9–12 LEDs de enlace/actividad.
|
|
||||||
|
|
||||||
## Historial de revisiones
|
## Historial de revisiones
|
||||||
|
|
||||||
| Versión | Fecha | Autor | Cambios |
|
| Versión | Fecha | Cambios |
|
||||||
|---|---|---|---|
|
|---|---|---|
|
||||||
| 1.0 | 2026-09-29 | Helgen Technologies | Primera versión: prueba de Ethernet con `0.6.0-eth` (espejo TCP, DHCP/estática, recuperación, árbol de fallas) y de puertos serie (presencia, niveles, lazo y eco 9600 8N1 para 0.6.1). |
|
| 1.0 | 2026-09-29 | Primera versión: Ethernet con `0.6.0-eth` y puertos serie (presencia, niveles, lazo y eco para 0.6.1). |
|
||||||
|
| 1.1 | 2026-09-29 | Edición breve; recibe de la configuración de la unidad la tabla de conexión, la regla de JP5 y los defaults de Ethernet. |
|
||||||
|
|
||||||
|
Versiones anteriores en git.
|
||||||
|
|||||||
@ -1,180 +1,142 @@
|
|||||||
# Remote Diagnostic Protocol — Pulled HBOX Units
|
---
|
||||||
|
title: "Protocolo de diagnóstico remoto — unidades HBOX retiradas"
|
||||||
**Date:** 2026-06-19 · **Owner:** Leo Rodriguez
|
tags: [project-drogheda, hbox, diagnostico, remoto, v1, veracruz, historico, procedimiento]
|
||||||
**Situation:** all HBOX units were **removed from the machines**. We have **4 units
|
date: 2026-06-19
|
||||||
in hand: 3 not working, 1 working-ish.** They are **physically in Veracruz**; the
|
project: Project Drogheda
|
||||||
team is in **Querétaro** → debugging is **remote** until they're shipped or someone
|
author: Helgen Technologies
|
||||||
on-site acts as our hands.
|
status: HISTÓRICO — jun-2026, unidades con firmware v1 retiradas de las máquinas en Veracruz
|
||||||
**Firmware on these units = v1** (no MCU thermal log) → thermal evidence must come
|
|
||||||
from **physical inspection + a bench power test**, not from the firmware.
|
|
||||||
|
|
||||||
> The single working-ish unit is the **control**. Every measurement below should be
|
|
||||||
> taken on it too, so "bad" readings on the dead units have a baseline to compare
|
|
||||||
> against.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 0. Decision gate (make this call first)
|
# Protocolo de diagnóstico remoto — unidades HBOX retiradas
|
||||||
|
|
||||||
**Recommendation: ship all 4 units to Querétaro.** They are small, and remote-
|
Tarjeta: unidades de la primera generación con firmware **v1** (Blackpill + PowerBoost, jun-2026). El orden de trabajo sigue valiendo para cualquier unidad desmontada.
|
||||||
debugging *dead* electronics is slow and rarely conclusive — a 1–2 day courier buys
|
|
||||||
full bench access (PSU with current limit, scope, u-center, reflash, thermal soak,
|
|
||||||
teardown). Bring the working-ish unit too; it's the reference.
|
|
||||||
|
|
||||||
Choose remote-hands **only if** shipping is blocked (client chain-of-custody, the
|
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
|
||||||
units must stay on-site, or courier delay is unacceptable). Confirm with ICAVE who
|
- Para quién: ingeniería en Querétaro y un técnico «manos remotas» en Veracruz
|
||||||
**owns** the units and whether they may leave the terminal.
|
- Cuándo: unidades retiradas de las máquinas que no pueden llegar al banco de inmediato. Hoy el procedimiento vigente es [diagnóstico en campo](procedimiento-diagnostico-campo.md) → [diagnóstico en banco](../procedimientos/diagnostico-banco.md)
|
||||||
|
- Tiempo: nivel 0: 20 min por unidad; nivel 1: +10 min; nivel 2: 1 h por unidad
|
||||||
|
- Necesitas: fuente de banco con límite de corriente, teléfono con cámara, cable USB y laptop (nivel 1), escritorio remoto (nivel 2)
|
||||||
|
|
||||||
| Path | When | Cost |
|
Traducido del original en inglés (19-jun-2026).
|
||||||
|
|
||||||
|
Fecha: 2026-06-19 · Responsable: Leo Rodríguez
|
||||||
|
Situación: todas las unidades HBOX fueron retiradas de las máquinas. Hay **4 unidades en mano: 3 no funcionan, 1 funciona a medias.** Están físicamente en Veracruz; el equipo está en Querétaro → la depuración es remota hasta que se envíen o alguien en sitio actúe como nuestras manos.
|
||||||
|
**Firmware en estas unidades = v1** (sin registro térmico del MCU) → la evidencia térmica tiene que salir de la inspección física + una prueba de energizado en banco, no del firmware.
|
||||||
|
|
||||||
|
!!! note "La unidad de control"
|
||||||
|
La única unidad que funciona a medias es el control. Cada medición de abajo debe tomarse también en ella, para que las lecturas «malas» de las unidades muertas tengan una línea base contra la cual comparar.
|
||||||
|
|
||||||
|
## 0. Compuerta de decisión (tomar esta decisión primero)
|
||||||
|
|
||||||
|
**Recomendación: enviar las 4 unidades a Querétaro.** Son pequeñas, y depurar a distancia electrónica *muerta* es lento y rara vez concluyente — una mensajería de 1–2 días compra acceso completo al banco (fuente con límite de corriente, osciloscopio, u-center, reflasheo, prueba térmica prolongada, desarmado). Traer también la unidad que funciona a medias; es la referencia.
|
||||||
|
|
||||||
|
Elegir manos remotas **solo si** el envío está bloqueado (cadena de custodia del cliente, las unidades deben quedarse en sitio, o el retraso de la mensajería es inaceptable). Confirmar con ICAVE quién es dueño de las unidades y si pueden salir de la terminal.
|
||||||
|
|
||||||
|
| Camino | Cuándo | Costo |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **Ship to QRO** *(recommended)* | units may leave Veracruz | courier + 1–2 days |
|
| Enviar a QRO *(recomendado)* | las unidades pueden salir de Veracruz | mensajería + 1–2 días |
|
||||||
| **Remote-hands in Veracruz** | units must stay; cooperative on-site tech exists | needs the protocol below + their time |
|
| Manos remotas en Veracruz | las unidades deben quedarse; hay un técnico cooperativo en sitio | necesita el protocolo de abajo + su tiempo |
|
||||||
|
|
||||||
Either way, **start §2 (backend analysis) now from Querétaro** — it needs no units.
|
De cualquier forma, **empezar §2 (análisis del backend) ahora desde Querétaro** — no necesita unidades.
|
||||||
|
|
||||||
---
|
## 1. Qué se puede y qué no se puede saber a distancia
|
||||||
|
|
||||||
## 1. What we can / cannot learn remotely
|
| Pregunta | ¿Manos remotas? | Cómo |
|
||||||
|
|
||||||
| Question | Remote-hands? | How |
|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| Is the LiPo swollen / burnt / leaking? | ✅ | photo checklist (§3 Tier 0) |
|
| ¿La LiPo está inflada / quemada / con fuga? | ✅ | checklist de fotos (§3 nivel 0) |
|
||||||
| Connectors/SMA loose, solder cracked? | ✅ | photos + wiggle test |
|
| ¿Conectores/SMA flojos, soldadura agrietada? | ✅ | fotos + prueba de meneo |
|
||||||
| Does it draw current / boot on power? | ✅ | bench PSU **current reading** (§3) |
|
| ¿Consume corriente / arranca al energizar? | ✅ | lectura de corriente de la fuente de banco (§3) |
|
||||||
| LED state on power-up? | ✅ | film the LED, decode (§4) |
|
| ¿Estado del LED al encender? | ✅ | grabar el LED, decodificar (§4) |
|
||||||
| Battery V, fix quality, state, packets | ✅ (Tier 1) | USB dashboard capture |
|
| V de batería, calidad de fix, estado, paquetes | ✅ (nivel 1) | captura del tablero por USB |
|
||||||
| Does the 4G modem attach / get a fix? | ✅ (Tier 1–2) | dashboard / u-center / remote desktop |
|
| ¿El módem 4G se registra / obtiene fix? | ✅ (niveles 1–2) | tablero / u-center / escritorio remoto |
|
||||||
| Does it reach our gateway when powered? | ✅ | watch htracker for that unit's `cell_id` |
|
| ¿Llega a nuestro gateway cuando está energizada? | ✅ | observar htracker para el `cell_id` de esa unidad |
|
||||||
| Exact failed component / thermal soak | ❌ (needs bench) | **ship to QRO** |
|
| Componente exacto fallado / prueba térmica prolongada | ❌ (necesita banco) | enviar a QRO |
|
||||||
|
|
||||||
So ~80% of triage is remotely achievable; only component-level confirmation and
|
Así que ~80 % del triaje se puede hacer a distancia; solo la confirmación a nivel de componente y la reproducción térmica requieren estrictamente las unidades en QRO.
|
||||||
thermal reproduction strictly require the units in QRO.
|
|
||||||
|
|
||||||
---
|
## 2. Hacer esto ahora desde Querétaro (sin unidades)
|
||||||
|
|
||||||
## 2. Do this NOW from Querétaro (no units needed)
|
El backend está en nuestro propio servidor — totalmente depurable desde QRO, y según `02-Architecture-Software/backend-review.md` puede sacar de Wialon unidades sanas por sí solo.
|
||||||
|
|
||||||
The backend is on our own server — fully debuggable from QRO, and per
|
1. Separación histórica online/offline. Para los días antes del retiro, comparar el registro de cada unidad en htracker (online al recibir UDP) contra Wialon (online por posiciones recibidas). Una unidad que estaba online en htracker pero offline en Wialon fue una víctima del backend (bloqueo anti-salto / atasco HOL), *no* hardware muerto — eso replantea cuáles unidades «muertas» son en realidad fallas de hardware.
|
||||||
`02-Architecture-Software/backend-review.md` it can take healthy units off Wialon by itself.
|
2. Logs del gateway alrededor de la ventana de muerte: buscar el aviso anti-salto (`¡Filtro Anti-Salto Activado!`) repitiéndose para un `cell_id` (→ bloqueo), y caídas del buffer de recepción UDP con `netstat -su` (→ atasco HOL).
|
||||||
|
3. Reproducir en banco con la unidad que funciona a medias una vez energizada (en VER por manos remotas, o en QRO): apuntarla al gateway y observar si el retranslator la reenvía limpiamente o dispara el filtro.
|
||||||
|
4. Disponibilidad del caster (HelgenSRV) + saldo de datos / suspensión por SIM en la ventana.
|
||||||
|
|
||||||
1. **Historical online-vs-offline split.** For the days before removal, compare each
|
Este es el trabajo de mayor apalancamiento que se puede hacer hoy y no necesita a nadie en Veracruz.
|
||||||
unit's **htracker** record (online on UDP receipt) against **Wialon** (online on
|
|
||||||
positions received). A unit that was **online in htracker but offline in Wialon**
|
|
||||||
was a **backend victim** (anti-jump lock-out / HOL stall), *not* dead hardware —
|
|
||||||
that reframes which "dead" units are actually hardware failures.
|
|
||||||
2. **Gateway logs around the death window:** look for the anti-jump warning
|
|
||||||
(`¡Filtro Anti-Salto Activado!`) spamming one `cell_id` (→ lock-out), and for
|
|
||||||
`netstat -su` UDP receive-buffer drops (→ HOL stall).
|
|
||||||
3. **Bench-reproduce with the working-ish unit** once it's powered (in VER via
|
|
||||||
remote-hands, or in QRO): point it at the gateway and watch whether the
|
|
||||||
retranslator forwards it cleanly or trips the filter.
|
|
||||||
4. Caster (HelgenSRV) uptime + **per-SIM data balance/suspension** for the window.
|
|
||||||
|
|
||||||
This is the highest-leverage work we can do today and it needs nobody in Veracruz.
|
## 3. Protocolo de manos remotas (por niveles según lo que tenga la persona en sitio)
|
||||||
|
|
||||||
---
|
Darle al técnico en sitio el nivel que le corresponda. Las instrucciones listas para enviar están en §6b.
|
||||||
|
|
||||||
## 3. Remote-hands protocol (tiered by what the on-site person has)
|
### Nivel 0 — energía + cámara de teléfono (mínimo)
|
||||||
|
|
||||||
Give the on-site tech the matching tier. A ready-to-send Spanish version is in §6.
|
Para cada unidad, antes de energizar:
|
||||||
|
|
||||||
### Tier 0 — power + a phone camera (minimum)
|
1. Fotografiar: todo el interior, después acercamientos de la LiPo (¿inflada, abombada, marcas cafés/negras, fugas?), del PowerBoost, de cada conector/Dupont, de las uniones de las antenas SMA y de cualquier componente decolorado/quemado.
|
||||||
For **each** unit, before powering:
|
2. Prueba de meneo (suave): ¿algún conector Dupont/terminal/SMA se mueve o se cae?
|
||||||
1. **Photograph**: the whole inside, then close-ups of the **LiPo** (any swelling,
|
3. Energizado en banco con fuente con límite de corriente al voltaje normal de la unidad (12 V o 24 V), límite de corriente ~2 A:
|
||||||
bulging, brown/black marks, leaks?), the **PowerBoost**, every **connector/Dupont**,
|
- Leer la corriente de arranque y después la estable. Anotar el número.
|
||||||
the **SMA antenna** joints, and any **discoloured/burnt** components.
|
- **0 mA / se dispara en 0:** circuito abierto / etapa de entrada muerta / fusible fundido.
|
||||||
2. **Wiggle test** (gently): do any Dupont/terminal/SMA connectors move or fall off?
|
- Llega al límite de corriente / muy caliente: corto → apagar de inmediato.
|
||||||
3. **Bench power-on with a current-limited PSU** at the unit's normal voltage
|
- **~50–150 mA estables, nada más:** solo el MCU, la etapa no se energiza (interruptor de carga / boost / módem).
|
||||||
(12 V or 24 V), current limit ~2 A:
|
- Consumo más o menos normal + actividad del LED: arranca — pasar al nivel 1.
|
||||||
- Read **inrush** then **steady current**. Record the number.
|
- Comparar cada lectura con la unidad que funciona a medias.
|
||||||
- **0 mA / trips at 0:** open circuit / dead input stage / blown fuse.
|
4. Grabar el LED ~60 s desde el encendido (decodificar en §4).
|
||||||
- **Hits the current limit / very hot:** short → **power off immediately**.
|
|
||||||
- **~50–150 mA steady, nothing else:** MCU only, stack not powering (load switch
|
|
||||||
/ boost / modem).
|
|
||||||
- **Normal-ish draw + LED activity:** boots — go to Tier 1.
|
|
||||||
- Compare every reading to the **working-ish unit**.
|
|
||||||
4. **Film the LED** for ~60 s from power-up (decode in §4).
|
|
||||||
|
|
||||||
### Tier 1 — Tier 0 + USB cable + a laptop
|
### Nivel 1 — nivel 0 + cable USB + laptop
|
||||||
5. Plug the Blackpill **USB** into the laptop; open **PuTTY/TeraTerm at 115200**.
|
|
||||||
The v1 watchdog prints a live dashboard. **Capture 3–5 min** (log to file) and
|
|
||||||
send it. Read off: **BATTERY V**, **SYSTEM STATE**, **RTK FIX**, **PACKETS TX'd**,
|
|
||||||
PWR/IGN inputs. (No MCU-temp line — these are v1.)
|
|
||||||
6. Note whether **PACKETS TX'd increments** (GNSS+serial alive) and whether **RTK
|
|
||||||
FIX** ever reaches 4/5 (corrections arriving = 4G/NTRIP working).
|
|
||||||
|
|
||||||
### Tier 2 — Tier 1 + remote-desktop (AnyDesk/TeamViewer) into the laptop
|
5. Conectar el USB del Blackpill a la laptop; abrir **PuTTY/TeraTerm a 115200**. El watchdog v1 imprime un tablero en vivo. **Capturar 3–5 min** (grabar a archivo) y enviarlo. Leer: **BATTERY V**, **SYSTEM STATE**, **RTK FIX**, PACKETS TX'd, entradas PWR/IGN. (No hay línea de temperatura del MCU — son v1.)
|
||||||
7. We drive from QRO: read the live dashboard, run **u-center** on the ZED-F9P
|
6. Anotar si PACKETS TX'd incrementa (GNSS+serie vivos) y si **RTK FIX** llega alguna vez a 4/5 (correcciones llegando = 4G/NTRIP funcionando).
|
||||||
(fix, sat levels, config), issue **AT commands** to the 4G modem (attach, signal),
|
|
||||||
and if useful **reflash v2** to gain thermal logging + better recovery.
|
|
||||||
|
|
||||||
---
|
### Nivel 2 — nivel 1 + escritorio remoto (AnyDesk/TeamViewer) a la laptop
|
||||||
|
|
||||||
## 4. LED quick-decode (v1)
|
7. Se opera desde QRO: leer el tablero en vivo, correr u-center en el ZED-F9P (fix, niveles de satélites, configuración), enviar comandos AT al módem 4G (registro, señal) y, si es útil, **reflashear v2** para obtener registro térmico + mejor recuperación.
|
||||||
|
|
||||||
| LED | State | Read as |
|
## 4. Decodificación rápida del LED (v1)
|
||||||
|
|
||||||
|
| LED | Estado | Léelo como |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| Fast blink | BOOTING | powered, waiting for 4G/GNSS |
|
| Parpadeo rápido | BOOTING | energizada, esperando 4G/GNSS |
|
||||||
| Solid ON | RUNNING, vehicle power, RTK fixed | healthy |
|
| Fijo encendido | RUNNING, energía de vehículo, RTK fijo | sana |
|
||||||
| Heartbeat (1 s) | RUNNING on battery | on LiPo, 30 s rate |
|
| Latido (1 s) | RUNNING en batería | en LiPo, cadencia de 30 s |
|
||||||
| Slow blink | searching / no corrections | 4G/NTRIP not delivering |
|
| Parpadeo lento | buscando / sin correcciones | 4G/NTRIP no entrega |
|
||||||
| Off (with power applied) | SLEEP / dead | battery-critical logic **or** not booting |
|
| Apagado (con energía aplicada) | SLEEP / muerta | lógica de batería crítica o no arranca |
|
||||||
|
|
||||||
"Off while powered from a good bench supply" on a unit that should boot = a strong
|
«Apagado con energía de una buena fuente de banco» en una unidad que debería arrancar = señal fuerte de **no arranque / etapa de potencia** — correlacionar con la lectura de corriente.
|
||||||
**no-boot / power-stage** signal — correlate with the current reading.
|
|
||||||
|
|
||||||
---
|
## 5. Árbol de decisión de triaje por unidad
|
||||||
|
|
||||||
## 5. Per-unit triage decision tree
|
|
||||||
|
|
||||||
```
|
```
|
||||||
Power on bench PSU (current-limited)
|
Energizar con fuente de banco (con límite de corriente)
|
||||||
├─ 0 mA ............................. dead input / blown fuse / open → ship to QRO
|
├─ 0 mA ............................. entrada muerta / fusible fundido / abierto → enviar a QRO
|
||||||
├─ hits limit / hot ................ SHORT (power off!) ............... → ship to QRO
|
├─ llega al límite / caliente ....... CORTO (¡apagar!) ......................... → enviar a QRO
|
||||||
└─ draws current
|
└─ consume corriente
|
||||||
├─ no LED, no USB dashboard ...... MCU/boot dead .................... → ship to QRO
|
├─ sin LED, sin tablero USB ....... MCU/arranque muerto ...................... → enviar a QRO
|
||||||
└─ boots (LED + dashboard)
|
└─ arranca (LED + tablero)
|
||||||
├─ PACKETS not incrementing ... GNSS/serial dead ................ Tier 2 / ship
|
├─ PACKETS no incrementa ....... GNSS/serie muertos ....................... nivel 2 / enviar
|
||||||
├─ FIX stuck 0/1 (never 4/5) .. 4G/NTRIP not delivering ......... check modem/SIM/antenna
|
├─ FIX atorado en 0/1 (nunca 4/5) 4G/NTRIP no entrega ..................... revisar módem/SIM/antena
|
||||||
└─ FIX 4/5 + packets OK ........ HARDWARE IS FINE ............... → backend victim (§2)
|
└─ FIX 4/5 + paquetes OK ....... EL HARDWARE ESTÁ BIEN .................... → víctima del backend (§2)
|
||||||
```
|
```
|
||||||
|
|
||||||
The last branch is the important one: a pulled unit that **boots, fixes, and
|
La última rama es la importante: una unidad retirada que **arranca, obtiene fix y transmite en el banco no es la falla** — su desaparición de Wialon es entonces del backend (§2), y reinstalarla sin cambios solo repetiría el problema.
|
||||||
transmits on the bench is not the failure** — its disappearance from Wialon is then
|
|
||||||
backend (§2), and re-installing it unchanged would just repeat the problem.
|
|
||||||
|
|
||||||
---
|
## 6. Seguridad — LiPo dañada por calor (decírselo al técnico en sitio)
|
||||||
|
|
||||||
## 6. Safety — heat-damaged LiPo (tell the on-site tech)
|
!!! danger "Batería de litio"
|
||||||
|
Una LiPo inflada/abombada o caliente es un riesgo de incendio. **No** cargarla, no perforarla ni seguir energizando una unidad cuya batería esté visiblemente inflada. Desconectarla, ponerla en una bolsa LiPo-safe / ignífuga o un recipiente metálico, mantenerla lejos de cualquier cosa inflamable y ventilar. Fotografiar primero, después aislar. Si está caliente, venteada o huele: detenerse y aislar de inmediato.
|
||||||
|
|
||||||
A swollen/puffy or hot LiPo is a **fire risk**. Do **not** charge it, puncture it, or
|
## 6b. Instrucciones para el técnico en sitio (niveles 0/1) — texto listo para enviar
|
||||||
keep powering a unit whose battery is visibly swollen. Disconnect it, place it in a
|
|
||||||
**LiPo-safe / fireproof bag or a metal container**, keep it away from anything
|
|
||||||
flammable, and ventilate. Photograph first, then isolate. If it's hot, vented, or
|
|
||||||
smells: stop and isolate immediately.
|
|
||||||
|
|
||||||
---
|
> Para cada unidad: (1) Fotos del interior y de cerca de la batería LiPo (¿inflada, manchas cafés/negras, fuga?), del PowerBoost, de cada conector Dupont, de las antenas SMA, y de cualquier componente quemado/decolorado. (2) Prueba de movimiento suave: ¿algún conector se mueve o se cae? (3) Enciéndela con una fuente de banco a su voltaje normal (12 V/24 V), límite de corriente ~2 A, y anota la corriente (arranque y estable). Si llega al límite o se calienta, apágala de inmediato (corto). (4) Graba el LED ~60 s desde el encendido. (5) Si hay laptop: conecta el USB del Blackpill, abre **PuTTY/TeraTerm a 115200** y **graba 3–5 min** del tablero (BATERÍA V, ESTADO, RTK FIX, PAQUETES). Seguridad: una batería inflada o caliente es riesgo de incendio — no la cargues ni la perfores; aíslala en bolsa/recipiente seguro y ventila.
|
||||||
|
|
||||||
## 6b. Spanish — instrucciones para el técnico en sitio (Tier 0/1)
|
## 7. Qué enviar de regreso a Querétaro (checklist de captura)
|
||||||
|
|
||||||
> Para **cada** unidad: (1) **Fotos** del interior y de cerca de la **batería LiPo**
|
Por unidad, etiquetado con su `cell_id`/máquina: las fotos, la lectura de corriente (arranque + estable), el video del LED, la **captura del tablero USB de 3–5 min** y una nota de una línea (¿arranca? ¿fix? ¿paquetes?). Con eso se pueden clasificar las 4 unidades contra el árbol de §5 y la evidencia del backend de §2 — y decidir cuáles de verdad necesitan desarmado en QRO.
|
||||||
> (¿inflada, manchas cafés/negras, fuga?), del **PowerBoost**, de **cada conector
|
|
||||||
> Dupont**, de las **antenas SMA**, y de cualquier componente **quemado/decolorado**.
|
|
||||||
> (2) Prueba de **movimiento** suave: ¿algún conector se mueve o se cae? (3) Enciéndela
|
|
||||||
> con una **fuente de banco** a su voltaje normal (12 V/24 V), límite de corriente ~2 A,
|
|
||||||
> y anota la **corriente** (arranque y estable). Si llega al límite o se calienta,
|
|
||||||
> **apágala de inmediato** (corto). (4) **Graba el LED** ~60 s desde el encendido.
|
|
||||||
> (5) Si hay laptop: conecta el **USB** del Blackpill, abre **PuTTY/TeraTerm a 115200**
|
|
||||||
> y **graba 3–5 min** del tablero (BATERÍA V, ESTADO, RTK FIX, PAQUETES). **Seguridad:**
|
|
||||||
> una batería **inflada o caliente** es riesgo de incendio — no la cargues ni la
|
|
||||||
> perfores; aíslala en bolsa/recipiente seguro y ventila.
|
|
||||||
|
|
||||||
---
|
## Historial de revisiones
|
||||||
|
|
||||||
## 7. What to send back to Querétaro (capture checklist)
|
| Versión | Fecha | Cambios |
|
||||||
|
|---|---|---|
|
||||||
Per unit, labeled with its `cell_id`/machine: the **photos**, the **current reading**
|
| 1.0 | 2026-06-19 | Protocolo original (inglés). |
|
||||||
(inrush + steady), the **LED video**, the **3–5 min USB dashboard capture**, and a
|
| 1.1 | 2026-09-29 | Traducción al español, encabezado uniforme y enlaces a los procedimientos vigentes. Sin cambios técnicos. |
|
||||||
one-line note (boots? fix? packets?). With that, we can classify all 4 units against
|
|
||||||
the tree in §5 and the backend evidence in §2 — and decide which truly need teardown
|
|
||||||
in QRO.
|
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 6c1a4c2a8d2081a7f897c57f8ba4b4dda366669f
|
Subproject commit 7b8fb4f9d1ba5b54570b7a8ac9463ce94ecb82d9
|
||||||
Loading…
Reference in New Issue
Block a user