From 3c3097f0e1464ae73414b4443ceefbceef0c8bcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leopoldo=20Rodr=C3=ADguez?= Date: Thu, 17 Sep 2026 11:00:25 -0600 Subject: [PATCH] 06-Testing: procedimientos v5 modulos/integracion y ensamble; prueba-y-flasheo -> fw 0.2.0 --- ..._Procedimiento-Prueba-y-Flasheo_ES_v1.0.md | 8 +- ..._HALT-Rig_Thermal-Vibration-Impact_v1.0.md | 526 ++++++++++++++++++ ...a_HBOX-v5_Modulos-e-Integracion_ES_v1.0.md | 211 +++++++ ..._HBOX-v5_Procedimiento-Ensamble_ES_v1.0.md | 176 ++++++ 4 files changed, 917 insertions(+), 4 deletions(-) create mode 100644 06-Testing-Validation/2026-09-17_Drogheda_HALT-Rig_Thermal-Vibration-Impact_v1.0.md create mode 100644 06-Testing-Validation/2026-09-17_Drogheda_HBOX-v5_Modulos-e-Integracion_ES_v1.0.md create mode 100644 06-Testing-Validation/2026-09-17_Drogheda_HBOX-v5_Procedimiento-Ensamble_ES_v1.0.md diff --git a/06-Testing-Validation/2026-09-15_Drogheda_EinarBoard-v5_Procedimiento-Prueba-y-Flasheo_ES_v1.0.md b/06-Testing-Validation/2026-09-15_Drogheda_EinarBoard-v5_Procedimiento-Prueba-y-Flasheo_ES_v1.0.md index 0a9e4cc..81f177f 100644 --- a/06-Testing-Validation/2026-09-15_Drogheda_EinarBoard-v5_Procedimiento-Prueba-y-Flasheo_ES_v1.0.md +++ b/06-Testing-Validation/2026-09-15_Drogheda_EinarBoard-v5_Procedimiento-Prueba-y-Flasheo_ES_v1.0.md @@ -37,7 +37,7 @@ y dejarla flasheada con el firmware de arranque entregado por ingeniería. | 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.1.0.bin`** (repo: `04-Source-Code/firmware/hbox_v5_bringup/release/`, SHA-256 inicia `1a9a77ae`) | +| 1 | Archivo de firmware: **`hbox-v5-bringup_0.2.0.bin`** — descarga: **https://drogheda.helgen.online/descargas/** (repo: `04-Source-Code/firmware/hbox_v5_bringup/release/`, SHA-256 inicia `8491625d`) | | 1 | Jumper 2.54 mm para P11 (interruptor de corte) | | 1 | Lupa o lámpara con aumento | | — | Hoja de registro (sección 7) | @@ -183,7 +183,7 @@ Solo para tarjetas que pasaron las secciones 1 a 4. 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.1.0.bin`. +4. **File path** → seleccionar `hbox-v5-bringup_0.2.0.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**. @@ -192,7 +192,7 @@ Solo para tarjetas que pasaron las secciones 1 a 4. ```bash dfu-util -l # debe listar [0483:df11] -dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.1.0.bin +dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.2.0.bin ``` ### 5d. Verificación después del flasheo @@ -206,7 +206,7 @@ dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.1.0.bin | **D17** (LED azul) + LED de panel en P8 (si hay) | **Parpadean** a 1 Hz (MCU ejecutando el firmware) | | **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 | | Laptop | Aparece un **puerto serie** nuevo ("STMicroelectronics Virtual COM Port" / `usbmodem…`) | -| Terminal serie a **115200 baud** | Encabezado `hbox-v5-bringup 0.1.0`, luego líneas `[PASS]` / `[FAIL]`, y al final **`>>> BOARD OK`** | +| Terminal serie a **115200 baud** | Encabezado `hbox-v5-bringup 0.2.0`, luego líneas `[PASS]` / `[FAIL]`, y al final **`>>> BOARD OK`** | 3. Si el terminal se abrió tarde y no se vio el reporte: teclear **`r`** en el terminal → repite todas las pruebas (y vuelve a encender los LEDs en secuencia). diff --git a/06-Testing-Validation/2026-09-17_Drogheda_HALT-Rig_Thermal-Vibration-Impact_v1.0.md b/06-Testing-Validation/2026-09-17_Drogheda_HALT-Rig_Thermal-Vibration-Impact_v1.0.md new file mode 100644 index 0000000..f971ea7 --- /dev/null +++ b/06-Testing-Validation/2026-09-17_Drogheda_HALT-Rig_Thermal-Vibration-Impact_v1.0.md @@ -0,0 +1,526 @@ +--- +tags: [project-drogheda, testing, halt, environmental, hbox, rig] +project: Project Drogheda +author: Helgen CTO +date: 2026-09-17 +status: Draft for review +supersedes: none +--- + +# DIY Environmental Test Rig — 60 °C + Vibration + Impact for HBOX + +**Question asked (Leo, 17-Sep):** can we build a cheap, off-the-shelf heat chamber +with vibration and impact that reproduces crane service conditions for the HBOX? + +**Answer: yes.** Target scope agreed: 1–2 units in the chamber, self-declared +profile-shaped results (measured and logged, not calibration-traceable), +budget band **$10k–$30k MXN**. The design below lands at **~$22k MXN** +with a **~$14k MXN** stripped variant, buildable in the Querétaro shop in +**2–3 weeks** of part-time work. + +The single most important design decision is in §2: **measure the real crane +environment before building anything**, using the accelerometer that is already +on the v6 board. That step costs nothing and is what turns this from a +"shake it and see" box into something we can put in a report and show ICAVE. + +--- + +## 1. What we are actually trying to catch + +We are not trying to certify the HBOX. We are trying to reproduce, in a week on +a bench, the failure modes that took months to appear at ICAVE, TIMSA and LCT: + +| Failure mode | Provoked by | Evidence we already have | +|---|---|---| +| Solder joint / pad cracking on heavy parts (L22, U25, electrolytics, the GX16 entry) | Vibration + thermal cycling | Generic, but v5.5 has tall inductors and a 100 µF/50 V can | +| Connector backout / intermittent (P1 Phoenix, U.FL pigtails, GX16) | Vibration + impact | U.FL rated ~30 mating cycles; field units were hand-wired | +| Screw / standoff loosening, enclosure resonance | Vibration | ASA case in a sealed ABS cabinet | +| Battery charge stall and hot-pause at temperature | 60 °C soak | **Confirmed**: `RNTB` = 10 k puts the LTC4040 hot-pause at ≈ +42 °C (B3380). Port ambient ~45 °C. See `Battery-Chemistry-HighTemp v1.0` | +| Modem brownout / boot-loop under load at temperature | 60 °C soak + LTE TX burst | 10-Ago RCA, LTC4040 PFI 4.60 V trip | +| Firmware thermal policy bugs (fan, `BAT_CRITICAL`, watchdog) | 60 °C soak | fan-policy v3 doc, and v6 still has open firmware items | +| GNSS TCXO drift / fix loss hot | 60 °C soak | not yet characterised | + +Note the asymmetry: **most of our known failures are thermal, not mechanical.** +The heat chamber is the part that earns its money immediately. Vibration and +impact are the insurance policy for the 250-unit rollout, where a 1 % mechanical +failure rate is 2–3 truck rolls to Veracruz. + +That argues for building the thermal chamber first (§4) and the mechanical stage +second (§5–6). They are separable and the chamber is useful on day one. + +--- + +## 2. Step zero: measure the crane, don't guess it + +**Do this before buying a single part.** + +The published standards a crane-mounted controller would normally be judged +against are all borrowed from adjacent industries and none of them is +"port crane": + +- **IEC 60068-2-6** (Test Fc, sinusoidal sweep) — the generic industrial + severity is a constant-displacement leg then a constant-acceleration leg, + e.g. 10–150 Hz, 0.35 mm / 5 m·s⁻², 1 oct/min, 10–20 sweep cycles per axis. + Toradex, for example, runs 10–55 Hz at 0.54 mm and 10–300 Hz at 39 m·s⁻². +- **IEC 61373 Cat 1 Class B** (railway, equipment inside a case on the car body) + — the closest analogue in spirit: low-level random 5–150 Hz for function, + plus a 5 h/axis simulated-long-life run. +- **IEC 60068-2-27** (Test Ea, shock) — half-sine severities of + 15 g / 11 ms, 30 g / 18 ms, 30 g / 11 ms, 50 g / 20 ms, typically + 200–1000 shocks per direction over 3 axes. + +Picking one of these off the shelf would be guessing. We don't have to guess: + +> **EinarBoard v6 carries U26 = SC7A20TR (LIS3DH-compatible, I²C 0x18, +> INT1 → PB9).** Firmware work for `$PHLG` vibration fields is already an open +> item in the v6 brief. Finish that item first, flash one unit, mount it on a +> live crane at ICAVE for 5–7 working days, and log raw XYZ at 400 Hz ODR in +> bursts (e.g. 10 s every 5 min, plus a triggered burst on INT1 over threshold). + +From that log we get, for free: + +1. the real **PSD** — where the energy actually sits (expect < 50 Hz: gantry + travel over rail joints, trolley accel/decel, hoist, structural modes); +2. the real **shock spectrum** — container landing and twistlock events, which + is what "impact on a crane" actually means; +3. the **duty cycle** — how many shock events per shift, which sets how many + shocks the rig has to deliver to represent a year of service; +4. a defensible sentence for the report: *"the rig reproduces the 95th-percentile + measured field environment at ICAVE, ×N acceleration factor."* + +That sentence is worth more to a client than "we ran IEC 60068-2-6." + +**Fallback if the field log slips:** build to **5–60 Hz, 0.5 g rms broadband, +peaks to 2 g**, plus **15 g / 11 ms half-sine shock**. Those are the numbers +sized throughout this document and they are defensible as a conservative +industrial-vehicle envelope. + +--- + +## 3. Architecture + +Three subsystems on one frame. The key trick is that **the hot box rides on the +shaker** rather than the shaker living inside the heat — a 3600 rpm motor, +its bearings and a VFD do not belong in a 60 °C oven. + +``` + ┌─────────────────────────────┐ + │ HOT BOX (40×40×40 useful) │ + │ ┌───────┐ ┌───────┐ │ ← 50 mm rockwool, + │ │ HBOX │ │ HBOX │ │ 3 mm alu liner + │ │ DUT1 │ │ DUT2 │ │ + │ └───────┘ └───────┘ │ ← DUTs on the SAME + │ PTC heater + circ. fan │ bracket the crane uses + └──────────────┬──────────────┘ + ══════════════╪══════════════ ← 12 mm alu platen + ║ │ ║ + [spring] [ECC] [spring] ← VIBRATION MODE: + ║ motor ║ 4 soft springs, fn ≈ 5 Hz + ══════╩═══════════════╩══════ ← steel base frame, floor-bolted + ▲ SHOCK MODE: springs swapped + │ 4× linear shaft + SC16UU for Shore-60A pucks, platen + │ (guided drop, 25–55 mm) lifted and released +``` + +Service loop for mains + thermocouples + DUT harness enters the moving platen +through a slack silicone-jacketed loop with a strain-relief anchor on both ends — +this is the #1 thing that breaks on rigs like this. + +**Mode switching is a 20-minute job** (unbolt 4 springs, bolt in 4 pucks). Do not +try to do vibration and shock simultaneously; the pad stiffness requirements are +in direct conflict (see §6). + +--- + +## 4. Thermal stage — 60 °C + +### Sizing + +Steady-state loss through 50 mm rockwool (k ≈ 0.040 W·m⁻¹·K⁻¹) on a 0.50 m cube, +ΔT = 45 K worst case (15 °C shop morning → 60 °C): + +``` +Q_cond = k·A·ΔT/t = 0.040 × 1.22 m² × 45 / 0.050 ≈ 44 W +× 3 for leakage, cable penetrations, door seal, thermal bridges ≈ 130 W +``` + +Pull-up dominates the sizing, not steady state. A 10 kg aluminium platen + +5 kg of DUT + fixture raised 35 K is **455 kJ**: + +| Pull-up time | Power for the thermal mass alone | +|---|---| +| 15 min | 506 W | +| 20 min | 379 W | +| 30 min | 253 W | + +**Specify 600 W** (2 × 300 W PTC fan-heater modules). That gives ~25 min to +setpoint with margin, and the PID will spend most of the soak at 20–25 % duty. + +PTC elements are the right choice over nichrome coils or cartridge heaters: they +self-limit, they come as a sealed module with the fan integrated, and they cannot +run away if the fan stops. + +### Control and — more important — safety + +Two independent layers. This is not optional. + +1. **Control loop:** REX-C100 PID → SSR-40DA → heaters. Type-K thermocouple in + the return air stream, *not* touching a DUT. +2. **Independent over-temperature cutout:** a **KSD301 85 °C normally-closed + thermostat** wired in series with the coil of a **mechanical contactor** that + feeds the heaters. The dominant failure mode of an SSR is **shorted on**, and + when that happens the PID has no authority at all. The contactor is the only + thing between a stuck SSR and a fire in an unattended overnight soak. +3. Plus: a 10 A breaker, a metal control enclosure, and PE bonded to the alu liner. + +Log independently of the PID: 2 spare type-K probes (one at each DUT surface, +one in the air) into a cheap 2–4 channel USB/SD logger, so the report has a +measured temperature trace rather than "the display said 60." + +### Materials + +- **Insulation: rockwool board, not EPS/XPS.** EPS is rated ~75 °C and softens + and outgasses long before that near a heater; rockwool is non-combustible and + costs about the same. Polyiso is also fine but rockwool is safer next to a + 600 W element. +- **Liner: 3 mm aluminium or a stainless steamer-pan shell.** Needed both as a + fire barrier and to stop the insulation from shedding fibres onto the DUTs. +- Door: piano hinge + silicone oven gasket + two over-centre latches. + +### 🔴 Battery hazard — read before the first soak + +The HBOX contains a lithium pack. A 60 °C ambient plus internal self-heating plus +LTE TX bursts puts cells above their charge window, and per +`Battery-Chemistry-HighTemp v1.0` the LTC4040 already hot-pauses at ≈ +42 °C with +the current `RNTB` = 10 k. + +- Run the **first** soaks with the pack fitted but the charger inhibited, and a + thermocouple taped to the pack. +- **Never leave the first soak of a new build configuration unattended.** +- Keep a Class-D extinguisher or a bucket of dry sand and a welding blanket at + the rig. Not a CO₂ extinguisher. +- If we move to high-temp LFP 26650, re-baseline everything — LFP is the whole + reason 60 °C becomes a *reasonable* soak rather than a destructive one. + +Useful side effect: **this rig is the cheapest way to prove the RNTB → 5.6 k + +LFP decision** before committing it to the 30-unit BOM. + +--- + +## 5. Vibration stage + +### Mechanism choice + +**Rotating eccentric mass on soft springs.** It is the only mechanism that gives +useful force at 5–60 Hz for four figures of pesos. An electrodynamic shaker +(§5.4) is better but is a Phase 2 upgrade. + +Moving assembly budget: alu platen 12 mm (~5 kg) + hot box shell and insulation +(~4 kg) + heaters and fixture (~2 kg) + 2 DUTs (~5 kg) ≈ **16 kg**. + +### The honest limitation — read this before believing any number below + +A fixed eccentric on a soft-mounted mass produces **constant displacement**, +so acceleration rises as **f²**: + +| m_e·e | peak displacement | a @ 10 Hz | a @ 30 Hz | a @ 60 Hz | +|---|---|---|---|---| +| 2 g·m | 0.12 mm | 0.05 g | 0.45 g | 1.81 g | +| 5 g·m | 0.31 mm | 0.13 g | 1.13 g | 4.53 g | +| 10 g·m | 0.62 mm | 0.25 g | 2.26 g | 9.05 g | +| 20 g·m | 1.25 mm | 0.50 g | 4.53 g | 18.1 g | + +You cannot hold a flat 0.5 g across 5–60 Hz with one weight setting. Anyone who +tells you their eccentric rig "runs IEC 60068-2-6" either has closed-loop +amplitude control or is not measuring. + +**What we do instead — banded sweeps with a weight change between bands:** + +| Band | Frequency | Motor RPM | Eccentric setting m_e·e | Achieved a | +|---|---|---|---|---| +| A | 5–15 Hz | 300–900 | ~20 g·m (400 g @ 50 mm) | 0.1 → 1.1 g | +| B | 15–40 Hz | 900–2400 | ~5 g·m (100 g @ 50 mm) | 0.3 → 2.0 g | +| C | 40–80 Hz | 2400–4800 | ~1.5 g·m (30 g @ 50 mm) | 0.9 → 3.8 g | + +> ⚠ Band C overspeeds a 60 Hz motor to 80 Hz on the VFD. Check the motovibrador's +> rated maximum centrifugal force and bearing speed before doing this, and +> de-rate the weights accordingly — the force the bearings see scales as f² too. +> If the datasheet won't allow it, stop band C at 60 Hz and use Option V3 (BLDC) +> for anything above. + +Each band is swept at 1 octave/min, several cycles, and **the accelerometer logs +what actually happened**. The report states measured levels per band, which is +honest and still perfectly good at finding cracked joints. + +### Suspension + +Soft springs so the platen floats above its own suspension resonance and the +bench does not get shaken: + +| Target fn | k total | per spring (×4) | static deflection | +|---|---|---|---| +| 4 Hz | 10.1 kN/m | 2.5 kN/m | 15.5 mm | +| **5 Hz** | **15.8 kN/m** | **4.0 kN/m** | **9.9 mm** | +| 6 Hz | 22.7 kN/m | 5.7 kN/m | 6.9 mm | + +Pick **fn ≈ 5 Hz** (4 N/mm springs). Note this means band A starts near the +suspension resonance — expect amplification there and **do not dwell at 5–7 Hz** +until you have watched the accelerometer trace. + +### Drive options + +- **Option V1 (recommended):** 3-phase motovibrador 0.18–0.25 kW with adjustable + half-moon counterweights + **VFD 0.75 kW, 220 V 1-ph in / 3-ph out**. Smooth + 0–80 Hz, ramps programmable, weights adjustable by design. ~$5,400 MXN. +- **Option V2 (cheap):** 110 V 100 W single-phase vibrating motor + (VEVOR-class, 3600 rpm) on a phase-angle dimmer. Works, but speed regulation + under load is poor and the eccentric is often not adjustable. ~$2,000 MXN. + Acceptable for the stripped build. +- **Option V3 (reach 80–200 Hz):** RC outrunner BLDC + 80 A ESC + servo tester, + eccentric disc on the shaft. Spins to 10 000+ rpm for ~$1,200 MXN. Crude but + it is the only cheap way to excite PCB-level resonances (typically 150–300 Hz). + +### 5.4 Phase 2 upgrade (optional, ~$6k MXN) — the woofer shaker + +A 15" pro-audio woofer, its voice coil coupled to a light fixture, driven by a +class-D amp from a PC sound card, gives genuine **closed-loop swept sine and +random 20–200 Hz** with the accelerometer as the control sensor. Force is +modest (~100 N, so ~2 g on a 5 kg light fixture — the hot box is too heavy for +it), but it is the only sub-$10k way to run a real controlled profile. +Worth doing later for bare-PCBA resonance search; not needed for v1. + +--- + +## 6. Impact / shock stage + +A guided drop table. The platen is lifted a set height on four linear shafts and +released onto elastomer pucks. Pulse shape is a clean half-sine; peak g and +duration are set by drop height and puck stiffness, and both are *measured*, not +assumed. + +For the **15 g / 11 ms** target on the 16 kg platen: + +``` +Δv = (2/π)·a·T = 0.6366 × 147.2 m/s² × 0.011 s = 1.03 m/s +``` + +| Rebound | Impact velocity | **Drop height** | +|---|---|---| +| 0 % | 1.03 m/s | 54 mm | +| 30 % | 0.79 m/s | 32 mm | +| 50 % | 0.69 m/s | 24 mm | + +**Pad stiffness required: k = m·π²/T² = 1.31 MN/m**, i.e. 326 kN/m per puck +across four. With Shore 60A rubber (E ≈ 4 MPa) 25 mm thick that is a **51 mm +diameter puck**; Shore 70A (E ≈ 6 MPa) gives 42 mm. Buy an assortment of +30/40/50 mm pucks in 60A and 70A and tune empirically against the accelerometer +trace — this takes an afternoon. + +> ⚠ The puck diameters above use k = E·A/L, which **under-estimates** real rubber +> in compression: a bonded or friction-constrained puck is stiffened by its shape +> factor, often by 2–4× for a squat geometry. Expect the pucks you actually need +> to be **smaller or softer** than the table says. Treat those numbers as the +> starting point of the tuning, not the answer. + +Other severities for reference, same rig: + +| Severity | Δv | Drop height (30 % rebound) | Pad k | +|---|---|---|---| +| 3 g / 30 ms (gentle, ≈ IEC 61373 Cat 1) | 0.56 m/s | 10 mm | 0.18 MN/m | +| 15 g / 11 ms | 1.03 m/s | 32 mm | 1.31 MN/m | +| 30 g / 11 ms | 2.06 m/s | 128 mm | 1.31 MN/m | +| 30 g / 18 ms | 3.37 m/s | 343 mm | 0.49 MN/m | + +Everything up to 30 g / 11 ms is comfortably inside a 300 mm shaft travel. +Lift by hand with a lever and a detent for v1; motorise with a cam and a +geared motor later if we want 1000-shock endurance runs. + +**Axes:** rotate the DUT in its bracket rather than tipping the table. Three +orthogonal orientations, N shocks each, per §2's measured duty cycle +(fallback: 100 per direction). + +--- + +## 7. Instrumentation + +| What | Sensor | Why | +|---|---|---| +| Rig control/reference vibration | **ADXL355** (±8 g, 20-bit, SPI, low noise) on the platen | This is the sensor the report quotes. Mount it rigidly to the platen, not the box | +| Shock peaks | **ADXL1002** (±50 g, 11 kHz BW, analog) | The ADXL355 will clip and alias on a 15 g / 11 ms pulse | +| DUT-internal vibration | **U26 SC7A20** already on the v6 board | Free, and it cross-checks the field log from §2 with the rig — that correlation *is* the validation of the rig | +| Temperature | 3 × type-K + the DUT's own `tair` (SHT40), `tntc`, `tbat` (TMP102) | Already in `$PHLG` | +| DUT health | `$PHLG` telemetry over RS-232/RS-485 out of the chamber, logged continuously | Pass/fail evidence | + +Logger: Teensy 4.0 or Pi Pico → SD at ≥2 kHz for the shock channel. Keep the +logger *outside* the hot box. + +**Pass/fail is defined on `$PHLG`, not on "it still turns on":** no GNSS fix +loss > N s, no modem re-registration, no watchdog reset, no `cflt` charge fault +that does not clear, no drift in `C/N₀` beyond X dB. Define the thresholds +before the first run, not after. + +--- + +## 8. BOM and budget (MXN, Sep-2026 street prices, ±25 %) + +### Thermal stage + +| Item | Qty | Est. | +|---|---|---| +| Aluminium sheet 3 mm + angle frame (liner + door) | — | 1,800 | +| Rockwool board 50 mm, ~2 m² | — | 700 | +| PTC fan-heater module 220 V 300 W | 2 | 700 | +| High-temp circulation fan, metal blade | 1 | 400 | +| PID kit: REX-C100 + SSR-40DA + type-K probe | 1 | 450 | +| KSD301 85 °C cutout + mechanical contactor + 10 A breaker | 1 | 500 | +| Spare type-K probes + 4-ch SD/USB temp logger | 1 | 600 | +| Mains wiring, control enclosure, IEC inlet, silicone glands, oven gasket, latches | — | 900 | +| **Subtotal** | | **6,050** | + +### Vibration stage + +| Item | Qty | Est. | +|---|---|---| +| Motovibrador 3-ph 0.18–0.25 kW, adjustable weights | 1 | 3,500 | +| VFD 0.75 kW 220 V 1-ph → 3-ph | 1 | 1,900 | +| Aluminium platen 12 mm, 400×400 mm | 1 | 2,200 | +| Compression springs ~4 N/mm + guide cups | 4 | 600 | +| Steel base frame (PTR 2", welded, floor-anchored) | 1 | 1,400 | +| Guarding: steel mesh + polycarbonate window, E-stop | 1 | 1,200 | +| Fasteners, Loctite 243, service-loop cable + strain relief | — | 500 | +| **Subtotal** | | **11,300** | + +### Impact stage + +| Item | Qty | Est. | +|---|---|---| +| Linear shaft 16 mm × 300 mm + SC16UU bearings | 4 + 8 | 1,600 | +| Lift lever, detent, release latch, shaft supports | 1 | 900 | +| Rubber puck assortment, Shore 60A/70A, 30/40/50 mm | — | 500 | +| **Subtotal** | | **3,000** | + +### Instrumentation + +| Item | Qty | Est. | +|---|---|---| +| ADXL355 breakout | 1 | 1,100 | +| ADXL1002 breakout (shock channel) | 1 | 700 | +| Teensy 4.0 + SD + protoboard + wiring | 1 | 800 | +| **Subtotal** | | **2,600** | + +### Total + +| | MXN | +|---|---| +| Thermal | 6,050 | +| Vibration | 11,300 | +| Impact | 3,000 | +| Instrumentation | 2,600 | +| Subtotal | **22,950** | +| Contingency 15 % | 3,450 | +| **Total** | **≈ 26,400** | + +### Stripped variant — ≈ $14,000 MXN + +Drop to: 110 V 100 W vibrating motor on a dimmer instead of motovibrador + VFD +(−3,500), hand-built wooden outer box with rockwool and alu liner instead of a +folded alu shell (−1,000), 10 mm steel plate instead of alu tooling plate +(−1,200), ADXL345 only, no ADXL1002 (−1,400), no formal guarding beyond a +polycarbonate lid and E-stop (−700), reduced contingency. + +**Do not strip:** the independent thermal cutout + contactor, the E-stop, the +reference accelerometer, or the guarding around the rotating mass. Those four +are the difference between a test rig and an incident. + +--- + +## 9. Build sequence + +| Week | Deliverable | Gate | +|---|---|---| +| 0 | Finish the `$PHLG` vibration fields + SC7A20 driver (already an open v6 item); flash one unit; ship to ICAVE | Firmware logs XYZ bursts to SD/telemetry | +| 1 | Field log running on a live crane, 5–7 days. **In parallel:** build the thermal chamber | Chamber holds 60.0 ± 1.0 °C for 4 h with the door shut and the cutout proven by test | +| 2 | Derive the real PSD + shock spectrum from the field log → freeze the rig target profile. Build platen, base frame, suspension, guarding | Bare platen sweeps 5–80 Hz, accelerometer trace logged and sane | +| 3 | Drop-table conversion; tune pucks to hit 15 g / 11 ms ± 20 % | Three consecutive pulses within tolerance | +| 4 | First full campaign: 2 units, one control | Report | + +**Do not skip the "bare platen" and "empty chamber" commissioning runs.** Half +the problems in a rig like this are the rig's own resonances and hot spots, and +you want them characterised before a DUT is in there confusing the picture. + +--- + +## 10. Test campaign v1 (proposed) + +Two units. **DUT-A gets everything; DUT-B is the control and only gets the +thermal soak** — so that if something breaks, we know whether it was heat or +mechanics. Both fully instrumented, both powered and transmitting throughout. + +1. **Baseline** — 1 h at 25 °C, full `$PHLG` logging, GNSS fix + NTRIP + LTE. + Record C/N₀, fix type, modem RSSI, `tbat`, `cflt`. This is the reference. +2. **Thermal soak** — ramp to 60 °C over 30 min, hold 8 h, with LTE TX active. + Then off, cool to ambient, repeat ×3 (3 cycles). Watch for: charge stall, + modem re-registration storms, fan policy behaviour, watchdog resets, + GNSS C/N₀ drift. +3. **Hot vibration** — at 60 °C, bands A/B/C per §5, 10 sweep cycles each, + in the Z axis first (crane deck is dominantly vertical), then X, then Y. +4. **Hot shock** — still at 60 °C, 100 half-sine pulses per direction × + 3 orientations at the measured field severity (fallback 15 g / 11 ms). +5. **Post-test** — repeat step 1 verbatim and diff against the baseline. + Then open both units: visual + X-ray-by-eye of L22, U25, the 100 µF can, + the GX16 entry and every connector; torque-check every screw; re-seat and + re-measure the U.FL pigtails. + +The diff in step 5 is the deliverable. "Nothing visibly broke" is not a result; +"C/N₀ fell 2.1 dB and never recovered" is. + +--- + +## 11. What this rig will NOT give you + +State this plainly in any client-facing use of the results: + +- **No traceability.** No calibrated accelerometer, no accredited lab, no + certificate. Measurements are self-declared with a commercial MEMS reference. +- **No closed-loop profile control.** The eccentric produces a measured + displacement-limited sweep, not a controlled constant-g or PSD-shaped profile. +- **Single-axis at a time**, not simultaneous triaxial. +- **No cold, no humidity, no salt fog.** Ports are humid and saline; that is a + separate (and for us, probably more relevant) test than cold. +- **Not a substitute for certification** if a client ever demands IEC/EN + compliance. It *is* a legitimate pre-screen that makes a paid lab run far more + likely to pass first time — which is where it saves real money. + +--- + +## 12. Open decisions for Leo + +1. **Green-light step zero?** The field-log firmware is already on the v6 + open-items list; this just prioritises it. Nothing else should be bought + until that log exists. +2. **60 °C or 70 °C?** 60 °C is the stated target and matches port ambient + + solar gain in the cabinet. But the nested ASA-in-ABS heat trap from the June + RCA is what actually cooks the unit — if we have a measured internal cabinet + temperature above 60 °C, the chamber should be sized for that instead. The + design above has headroom to ~75 °C; the only change is insulation thickness. +3. **Battery in or out for the first campaign?** Recommend: in, charger + inhibited, pack instrumented. Revisit once the LFP decision lands. +4. **Who builds it?** This is ~2 weeks of shop time competing with the + ICAVE/Lázaro assembly finishing end of September. It may be worth waiting + until after the first-week-of-October shipment. +5. **Stripped ($14k) or full ($26k)?** Recommend full — the VFD and the + adjustable-weight motovibrador are what make the vibration stage + *repeatable*, and repeatability is the whole point. + +--- + +## References + +- IEC 60068-2-6 — Test Fc, sinusoidal vibration +- IEC 60068-2-27 — Test Ea, mechanical shock (half-sine severities) +- IEC 60068-2-64 — Test Fh, broadband random vibration +- IEC 61373 — Railway rolling stock, shock and vibration, Cat 1 Class B +- Internal: `03-Architecture-Hardware/2026-09-09_Drogheda_Battery-Chemistry-HighTemp_v1.0.md` +- Internal: `03-Architecture-Hardware/2026-08-24_Drogheda_EinarBoard-v6_GNSS-4G-Integration_Design-Brief_v1.0.md` +- Internal: `06-Testing-Validation/RCA-2026-06-field-failures.md` +- Internal: `06-Testing-Validation/2026-08-18_Drogheda_FW-v3.0.3_Fan-Policy_Bench-Test_v1.0.md` diff --git a/06-Testing-Validation/2026-09-17_Drogheda_HBOX-v5_Modulos-e-Integracion_ES_v1.0.md b/06-Testing-Validation/2026-09-17_Drogheda_HBOX-v5_Modulos-e-Integracion_ES_v1.0.md new file mode 100644 index 0000000..10c97f9 --- /dev/null +++ b/06-Testing-Validation/2026-09-17_Drogheda_HBOX-v5_Modulos-e-Integracion_ES_v1.0.md @@ -0,0 +1,211 @@ +--- +title: HBOX v5 — Prueba de módulos (simpleRTK2B Pro y 4G NTRIP Master) e integración RTK antes del ensamble +tags: [project-drogheda, hardware, hbox, v5, ardusimple, 4g, ntrip, testing, procedimiento] +project: Project Drogheda +author: Helgen Technologies +date: 2026-09-17 +version: 1.0 +status: ACTIVO — se aplica a cada módulo antes de asignarlo a una unidad +audience: técnicos de banco +--- + +# HBOX v5 — Prueba de módulos e integración RTK (antes del ensamble) + +**Objetivo:** que ningún módulo llegue al ensamble sin haber demostrado que funciona **solo** y **en +pareja**: cada simpleRTK2B Pro obtiene fix GNSS, cada 4G NTRIP Master se registra en la red, y la +pareja RTK + 4G alcanza **RTK FIX** con correcciones NTRIP. Todo queda registrado en las actas +del sitio (`https://drogheda.helgen.online` → Actas). + +**Duración estimada:** módulo RTK 10 min · módulo 4G 10 min · integración 15–30 min (depende del cielo). + +> ⛔ **REGLA 1 — Un acta por módulo, con su número de serie.** No se prueba "un lote"; se prueba +> 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. + +--- + +## 0. Identidad de cada pieza (números de serie) + +| Pieza | Etiqueta | Rango | Dónde va la etiqueta | +|---|---|---|---| +| 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, +`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 +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. + +--- + +## 1. Material + +| Cant. | Ítem | +|---|---| +| 1 | Laptop con **u-center** (u-blox, Windows) o **u-center 2** | +| 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 | + +--- + +## 2. Módulo simpleRTK2B Pro (ArduSimple) — acta **"Módulo ArduSimple"** + +### 2a. Inspección visual (sin energía) + +- [ ] Etiqueta **ARD-NNN** puesta y legible; anotar también la etiqueta de fábrica. +- [ ] 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. Conectar la **antena GNSS** al SMA. Colocarla con vista al cielo. +2. Conectar el USB-C **POWER+GPS** a la laptop. +3. Verificar: + +| Punto | Esperado | +|---|---| +| LED **POWER** | Encendido | +| Laptop | Aparece un puerto serie (u-blox GNSS receiver) | +| 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), + satélites en uso, y el tiempo hasta el primer fix. + +### 2c. Cargar la configuración de Helgen + +1. u-center → **Tools → Receiver Configuration** → *Load configuration* → archivo F9P de Helgen → + **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. + +> Si el módulo no da fix en 5 min a cielo abierto, probar con otra antena antes de marcarlo FALLA. + +--- + +## 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 | +|---|---|---| +| Tiempo desde encendido hasta **RTK FIX** | < 10 min | minutos | +| Fix Mode en u-center | 3D/DGNSS/**FIXED** | — | +| Satélites en uso | ≥ 10 | número | +| Precisión estimada (u-center, hAcc) | < 0.05 m en FIX | metros | +| Estabilidad | Se mantiene FIXED **5 min** sin caer a FLOAT (con la antena quieta) | sí/no | +| Plataforma Helgen | Ingeniería confirma que la estación (ID `AS+K`) aparece reportando en el servidor | sí/no | + +- [ ] RTK FIX alcanzado y estable 5 min. +- [ ] Confirmado en plataforma (o anotado "pendiente de confirmar" con hora). + +> **Si llega a FLOAT pero nunca a FIX:** cielo insuficiente (probar exterior) o punto de montaje +> 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 + +- [ ] Apagar (desconectar USB). Separar el módulo 4G del simpleRTK2B **con cuidado, sin doblar pines**. +- [ ] Guardar cada módulo en su bolsa con su etiqueta. Anotar en la bolsa del ArduSimple: "pareja: RTK-NNNN". +- [ ] Enviar el acta de integración con los dos números. + +--- + +## 5. Hoja rápida de estados (para el técnico) + +| Módulo | Aprobado cuando… | +|---|---| +| ARD-NNN | fix 3D, ≥10 sat, configuración Helgen cargada y guardada | +| RTK-NNNN (módem) | SIM registrada en Telcel, configuración enviada sin errores, `AS+K` anotado | +| Pareja ArduSimple + 4G | 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. + +--- + +## Anexo A — Notas de ingeniería + +- En la **unidad v5** el módulo 4G **no** va sobre el simpleRTK2B: va en el zócalo **J7/J8** de la + 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 + prueba de integración se hace con el módulo montado en el simpleRTK2B (misma electrónica, sin + depender del firmware de la EinarBoard). +- Configuración F9P: UART1 a **115200** (es lo que lee la EinarBoard en PA3/PA2) y UART2 a la + velocidad del módem (`AS+B=115200`). El archivo `.txt` del F9P **no está en el repo** — hay que + 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`). + 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. diff --git a/06-Testing-Validation/2026-09-17_Drogheda_HBOX-v5_Procedimiento-Ensamble_ES_v1.0.md b/06-Testing-Validation/2026-09-17_Drogheda_HBOX-v5_Procedimiento-Ensamble_ES_v1.0.md new file mode 100644 index 0000000..3af3de3 --- /dev/null +++ b/06-Testing-Validation/2026-09-17_Drogheda_HBOX-v5_Procedimiento-Ensamble_ES_v1.0.md @@ -0,0 +1,176 @@ +--- +title: HBOX v5 — Procedimiento de ensamble de la unidad y energizado final +tags: [project-drogheda, hardware, hbox, v5, ensamble, checklist, procedimiento] +project: Project Drogheda +author: Helgen Technologies +date: 2026-09-17 +version: 1.0 +status: ACTIVO — una unidad a la vez; se registra en el acta "Ensamble" +audience: técnicos de banco +--- + +# HBOX v5 — Ensamble de la unidad y energizado final + +**Entrada:** tres módulos **ya aprobados** en sus actas — una EinarBoard **V5-NN** (acta de prueba y +flasheo), un simpleRTK2B Pro **ARD-NNN** y un módem 4G NTRIP Master **RTK-NNNN** que pasaron juntos la +**integración**. **Salida:** una unidad HBOX cerrada, etiquetada **HBOX5-Exx-Axxx-Rxxxx**, encendida y +reportando. + +**Duración estimada:** 60–90 min por unidad. + +> ⛔ **REGLA 1 — Primero el acta, luego el desarmador.** Abrir el acta de ensamble, seleccionar los +> 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. + +--- + +## 0. El número de serie de la unidad + +El acta lo compone automáticamente al seleccionar los módulos: + +``` +HBOX5 - E07 - A010 - R0006 + │ │ │ └── módem 4G NTRIP Master RTK-0006 + │ │ └────────── simpleRTK2B Pro (ArduSimple) ARD-010 + │ └──────────────── EinarBoard V5-07 + └──────────────────────── producto HBOX, tarjeta v5 +``` + +Ese texto va en la **etiqueta exterior** del HBOX (panel, junto al GX16) y en la **etiqueta interior** +(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 y herramientas + +| Ítem | Notas | +|---|---| +| Gabinete HBOX con panel perforado (GX16-5, 3 × SMA, RJ45, prensaestopas) | según el diseño mecánico vigente | +| EinarBoard **V5-NN** aprobada, con firmware de bring-up **0.2.0 o superior** | ver acta de tarjeta | +| simpleRTK2B Pro **ARD-NNN** y módem 4G NTRIP Master **RTK-NNNN** aprobados e integrados | con sus bolsas | +| Fuente **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 | +| 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 | +| Pigtails de antena: GNSS SMA-hembra bulkhead → SMA del simpleRTK2B; 2 × LTE SMA bulkhead → u.FL del módulo 4G | | +| Separadores M2.5/M3, tornillería, bridas, fijador de rosca para SMA | | +| Fuente de banco 24 V / 1 A con límite de corriente, multímetro, laptop con terminal serie | | +| Etiquetas: exterior e interior con el número de unidad | impresas desde el acta | + +--- + +## 2. Preparación de la tarjeta (sin energía) + +- [ ] EinarBoard **V5-NN** corresponde a la seleccionada en el acta (leer la etiqueta cerca de MH4). +- [ ] 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.)* +- [ ] Jumper **JP1** (0R, alimentación del ventilador) presente. +- [ ] **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) + +- [ ] **simpleRTK2B Pro ARD-NNN** en **MOD1**: alinear el pin **"5V"** del zócalo UNO con el pin 5V del + 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) + +Conectar contra el pinout; cada JST hace **clic**. + +| Conector | Qué se conecta | Verificar | +|---|---|---| +| **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 | +| **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 | +| **P6** | ventilador (pin 1 = +5V_FAN, pin 2 = retorno) | dirección de flujo: aire **hacia afuera** por la rejilla | +| **P8** | LED de panel (pin 1 = ánodo, pin 2 = cátodo) | LED asoma por el panel | +| **P10** | botón de reset externo | normalmente abierto | +| **P11** | interruptor de corte del panel (2 hilos) | en posición **ON** cierra pin 1–2 | +| **P12** | NTC de punto caliente pegado al módulo 4G o al disipador | con cinta térmica | +| **P4** | **NO conectar todavía** (batería, sección 6) | — | +| Antena **GNSS** | bulkhead SMA del panel → SMA del simpleRTK2B | fijador de rosca, apriete 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 | +| **J10** RJ45 / **P15** RS-485 / **P16** RS-232 | solo si el panel de esta unidad los lleva | 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. +- [ ] Sin conductores expuestos cerca de 24 V (P1, SD-15B). + +## 5. Energizado desde 24 V (unidad 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 = −). + Interruptor de corte (P11) en **ON**. USB-C en **J11** conectado a la laptop, terminal serie a 115200. +2. Encender la salida. En los primeros 10 s: + +| Punto | Esperado | +|---|---| +| Corriente de la fuente | **< 150 mA** (etapa RTK aún apagada) | +| **D18** verde | Encendido | +| **D17** azul + LED de panel | Parpadean (firmware de bring-up corriendo) | +| Consola | Encabezado `hbox-v5-bringup`, reporte con **12 PASS**, luego `STAT … v5=4.9–5.1` | +| Ventilador | **Gira** (con 24 V presente el buck U2 se enciende solo) | + +3. Anotar en el acta: `v5` (debe ser 4.8–5.1 V), `tmp102`, `sht40`. +4. **Encender la etapa RTK desde la consola:** teclear **`P`** y confirmar con **`Y`**. El firmware sube + `PWR_CTRL` y reporta `STACK ON`. En los siguientes 60 s: + +| Punto | Esperado | +|---|---| +| Corriente de la fuente | sube a **250–600 mA** (pico corto al registrar el 4G) | +| simpleRTK2B: LED POWER | Encendido | +| 4G: LED de red | Buscando → registrado (< 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` | + +5. Anotar en el acta el **tiempo hasta `fix=4`** y el número de satélites. +6. Teclear **`P`** de nuevo para **apagar** la etapa RTK. La corriente debe volver a < 150 mA. + +> Si `n` no muestra tramas: el simpleRTK2B no está a 115200 en UART1 (volver al acta del módulo RTK: +> configuración Helgen) o MOD1 está corrido un pin. **Apagar antes de tocar nada.** + +## 6. Batería y respaldo + +1. Con la unidad encendida desde 24 V y la etapa RTK **apagada**: conectar el pack en **P4** + (pin 1 = BAT+, pin 2 = GND, pin 3 = NTC). Medir antes con multímetro: **3.0–4.2 V** entre BAT+ y GND. +2. En la consola, `STAT` debe mostrar **`vbat`** con el voltaje del pack y **`chrg`**: `0` = cargando + (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 | +|---|---| +| D18, D17 y consola | **Siguen vivos** (el LTC4040 conmuta a batería sin reinicio: el encabezado **no** se vuelve a imprimir) | +| `STAT` | `v5=0.0`, `vbat` con el voltaje del pack | +| Ventilador | Se detiene (no hay 24 V) — correcto | + +4. Volver a encender 24 V: `STAT` vuelve a `v5≈5.0`. Sin reinicio. +5. Anotar: voltaje del pack, "respaldo OK sin reinicio". + +## 7. Cierre, etiquetado y registro + +- [ ] Etiqueta **exterior** `HBOX5-Exx-Axxx-Rxxxx` en el panel, 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. +- [ ] Tapa cerrada con su sello; tornillos en cruz; prensaestopas apretados. +- [ ] Acta de ensamble enviada con resultado **APROBADA**. + +--- + +## Anexo A — Notas de ingeniería + +- **Firmware:** el bring-up **0.2.0** añade el modo de banco (`P` = stack ON/OFF con confirmación, + `n` = monitor NMEA de PA3, 20 s). Mantiene la carga deshabilitada (`CHRG_EN` alto) y K1 liberado. + La unidad ensamblada queda con este firmware hasta que exista el firmware de producción v5 + (rediseño de gestión de batería); se re-flashea por J11 sin abrir el HBOX si J11 queda accesible — + **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 + 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 + 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. +- **Modo B / relevador K1:** no se prueba aquí; K1 queda liberado (camino directo F9P ↔ módem).