diff --git a/04-Source-Code/firmware b/04-Source-Code/firmware index d8a2279..6c59791 160000 --- a/04-Source-Code/firmware +++ b/04-Source-Code/firmware @@ -1 +1 @@ -Subproject commit d8a22799360e90134435010cdd2668b925950e1b +Subproject commit 6c59791d72eab814fed9e023d5263a00f84c3b97 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 81f177f..4ee63dd 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.2.0.bin`** — descarga: **https://drogheda.helgen.online/descargas/** (repo: `04-Source-Code/firmware/hbox_v5_bringup/release/`, SHA-256 inicia `8491625d`) | +| 1 | Archivo de firmware: **`hbox-v5-bringup_0.2.1.bin`** — descarga: **https://drogheda.helgen.online/descargas/** (repo: `04-Source-Code/firmware/hbox_v5_bringup/release/`, SHA-256 inicia `78b34f46`) | | 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.2.0.bin`. +4. **File path** → seleccionar `hbox-v5-bringup_0.2.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**. @@ -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.2.0.bin +dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.2.1.bin ``` ### 5d. Verificación después del flasheo @@ -206,7 +206,7 @@ dfu-util -a 0 -s 0x08000000:leave -D hbox-v5-bringup_0.2.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.2.0`, luego líneas `[PASS]` / `[FAIL]`, y al final **`>>> BOARD OK`** | +| Terminal serie a **115200 baud** | Encabezado `hbox-v5-bringup 0.2.1` (si dice 0.1.1 o 0.2.0, re-flashear), 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_Lista-Compras_ES_v1.0.md b/06-Testing-Validation/2026-09-17_Drogheda_HALT-Rig_Lista-Compras_ES_v1.0.md new file mode 100644 index 0000000..d50364e --- /dev/null +++ b/06-Testing-Validation/2026-09-17_Drogheda_HALT-Rig_Lista-Compras_ES_v1.0.md @@ -0,0 +1,136 @@ +--- +tags: [project-drogheda, testing, halt, compras, rig] +project: Project Drogheda +author: Helgen CTO +date: 2026-09-17 +status: Para compra +version: 1.0 +--- + +# Lista de compras — Banco de pruebas ambiental HBOX + +**Diseño de referencia:** `2026-09-17_Drogheda_HALT-Rig_Thermal-Vibration-Impact_v1.1.md` +**Presupuesto objetivo:** ≈ $30,100 MXN con 15 % de contingencia. +**Configuración aprobada:** cámara capaz a **75 °C** (se opera a 60 °C) · +accionamiento de vibración **completo** (motovibrador + variador). + +> **Compra en dos oleadas.** La Oleada 1 (etapa térmica) se puede pedir hoy y es +> útil por sí sola. La Oleada 2 (mecánica) se pide cuando la cámara pase la +> compuerta G1. Si el presupuesto aprieta, la Oleada 2 se difiere a octubre sin +> perder nada de la Oleada 1. + +--- + +## OLEADA 1 — Etapa térmica (≈ $9,400 MXN) + +Pedir esta semana. Todo se consigue en MercadoLibre / Amazon MX / Steren / +ferretería industrial local. + +| # | Artículo | Especificación crítica | Cant. | Est. MXN | +|---|---|---|---|---| +| 1.1 | Lámina de aluminio 3 mm | Para forro interior y puerta, cubo de 400 mm. ~1.2 m² + mermas | — | 2,000 | +| 1.2 | Panel de lana mineral (rockwool) **75 mm** | **NO usar EPS/XPS/poliuretano** — el EPS está clasificado a ~75 °C, justo en nuestro punto de diseño. Densidad ~100 kg/m³. ~2.5 m² | — | 1,000 | +| 1.3 | Piel exterior: triplay 18 mm o lámina 1.2 mm + bastidor | Cubo exterior 550 mm | — | 900 | +| 1.4 | **Calentador PTC con ventilador, 220 V 300 W** | Buscar "calentador PTC ventilador 220V 300W". Auto-limitante. **3 piezas** = 900 W total | 3 | 1,050 | +| 1.5 | Ventilador de recirculación, **aspas metálicas**, alta temperatura | Aspas de plástico se deforman. 120 mm, 220 V | 1 | 400 | +| 1.6 | Kit PID: **REX-C100 + SSR-40DA + termopar tipo K** | Kit común, ~$450. Verificar que el SSR sea 40 A DA | 1 | 450 | +| 1.7 | 🔴 **Termostato KSD301 NC 100 °C** | **Corte independiente. No sustituir por 85 °C** (nuestro setpoint máximo es 75 °C) | 2 | 120 | +| 1.8 | 🔴 **Contactor mecánico** 220 V, ≥10 A, bobina 220 V | Va en serie con el KSD301. **Es la única protección contra un SSR pegado.** No omitir | 1 | 350 | +| 1.9 | Interruptor termomagnético 10 A + caja de control metálica | | 1 | 400 | +| 1.10 | Termopares tipo K adicionales + **registrador 4 canales SD/USB** | Para la traza medida del informe. Va FUERA de la caja | 1 | 700 | +| 1.11 | 🔴 **Cable con aislamiento de silicón** (interior de la cámara) | **NO PVC.** El PVC a 75 °C junto a una resistencia se vuelve quebradizo y luego conductivo. AWG 14 y AWG 18, ~10 m c/u | — | 400 | +| 1.12 | Prensaestopas de silicón + placa de pasamuros (cara trasera) | | — | 200 | +| 1.13 | **Empaque de silicón para horno** (200 °C+), bisagra piano, 2 pestillos de palanca | No usar EPDM ni cinta de espuma | — | 500 | +| 1.14 | 🔴 **Fuelle/bota de silicón, barreno 50 mm** + brida de piso | Paso de la varilla motriz. Silicón 200 °C | 1 | 450 | +| 1.15 | Entrada IEC, indicadores, **paro de emergencia** | | — | 400 | +| 1.16 | Consumibles: remaches, ángulo, tornillería, sellador de silicón alta temp | | — | 480 | +| | | | **Subtotal** | **9,400** | + +### Seguridad — comprar junto con la Oleada 1, no después + +| # | Artículo | Por qué | +|---|---|---| +| S.1 | **Extintor Clase D** (o cubeta de arena seca) | Pack de litio en la cámara. **CO₂ no sirve** para litio | +| S.2 | Manta ignífuga (welding blanket) | | +| S.3 | Guantes térmicos | Superficies a 75 °C | + +--- + +## OLEADA 2 — Etapa mecánica (≈ $16,800 MXN) + +Pedir al pasar la compuerta G1. + +### Vibración + +| # | Artículo | Especificación crítica | Cant. | Est. MXN | +|---|---|---|---|---| +| 2.1 | **Motovibrador trifásico 0.18–0.25 kW** | 🔴 **Debe traer contrapesos ajustables** (medias lunas). Sin eso se pierde el plan de barridos por bandas. Pedir la hoja de datos: **fuerza centrífuga máx. y velocidad máx. de baleros** — decide si la Banda C llega a 80 Hz | 1 | 3,500 | +| 2.2 | **Variador de frecuencia (VFD) 0.75 kW** | 220 V monofásico entrada → trifásico salida. Debe permitir rampas programables y salida > 60 Hz | 1 | 1,900 | +| 2.3 | Placa de aluminio **15 mm, 300 × 300 mm** | Placa de fixture. **Aluminio, no acero** — el acero añade 6 kg de masa móvil | 1 | 1,400 | +| 2.4 | Varilla motriz acero 20 mm × 350 mm + coples + rótula (rod-end) | | — | 900 | +| 2.5 | **Resortes de compresión 2.5 N/mm** | fn ≈ 5 Hz con 10.3 kg, hundimiento estático ~10 mm. Pedir la constante, no "resortes medianos" | 4 | 500 | +| 2.6 | Bastidor base: PTR 2", soldado, anclado a piso | | 1 | 1,600 | +| 2.7 | 🔴 **Guarda: malla de acero + ventana de policarbonato + paro de emergencia** | Masa excéntrica a 4800 rpm. **No omitir** | 1 | 1,200 | +| 2.8 | Tornillería, **Loctite 243**, soportes DUT | 🔴 Los soportes deben ser **idénticos a los de la grúa** — si no, estamos probando el fixture | — | 700 | +| | | | **Subtotal** | **11,700** | + +### Impacto + +| # | Artículo | Especificación | Cant. | Est. MXN | +|---|---|---|---|---| +| 3.1 | Eje lineal 16 mm × 300 mm + rodamientos SC16UU | Guías de caída | 2 + 4 | 900 | +| 3.2 | Palanca de izaje, retén, pestillo de liberación, soportes de eje | Fabricación en taller | 1 | 900 | +| 3.3 | **Surtido de tacones de hule, Shore 60A y 70A**, Ø 20/25/30/40/50 mm, 25 mm de espesor | Se sintonizan contra el acelerómetro. Comprar surtido: el cálculo E·A/L **subestima** la rigidez real | — | 600 | +| | | | **Subtotal** | **2,400** | + +### Instrumentación + +| # | Artículo | Especificación | Cant. | Est. MXN | +|---|---|---|---|---| +| 4.1 | Módulo **ADXL355** | ±8 g, 20 bits, SPI. Acelerómetro de referencia del banco | 1 | 1,100 | +| 4.2 | Módulo **ADXL1002** | ±50 g, 11 kHz BW, analógico. 🔴 Para choque — el ADXL355 satura y hace aliasing en un pulso de 15 g / 11 ms | 1 | 700 | +| 4.3 | Teensy 4.0 + SD + protoboard + cableado de silicón | ≥2 kHz en el canal de choque. Va fuera de la caja caliente | 1 | 900 | +| | | | **Subtotal** | **2,700** | + +--- + +## Resumen + +| Bloque | MXN | +|---|---| +| Oleada 1 — térmica | 9,400 | +| Oleada 2 — vibración | 11,700 | +| Oleada 2 — impacto | 2,400 | +| Oleada 2 — instrumentación | 2,700 | +| **Subtotal** | **26,200** | +| Contingencia 15 % | 3,900 | +| **TOTAL** | **≈ 30,100** | + +--- + +## Los seis puntos que NO se recortan + +1. **KSD301 100 °C + contactor mecánico** (1.7, 1.8). El modo de falla dominante + de un SSR es quedarse pegado en conducción, y el PID entonces no tiene + ninguna autoridad. Es lo único que separa un SSR pegado de un incendio + durante un soak nocturno. +2. **Cable de silicón, no PVC** (1.11). +3. **Lana mineral, no EPS** (1.2). +4. **Guarda + paro de emergencia** en la masa rotatoria (2.7, 1.15). +5. **ADXL1002 para el canal de choque** (4.2). Es la medición que no se puede + fingir. +6. **Contrapesos ajustables en el motovibrador** (2.1). Sin ellos no hay + barridos por bandas y el banco deja de ser repetible — que es el punto entero. + +## Antes de comprar el motovibrador (2.1) + +Pedir al proveedor, por escrito: + +- Fuerza centrífuga máxima (N o kgf) y a qué rpm +- Velocidad máxima admisible de baleros +- Rango de ajuste de los contrapesos (m_e·e mínimo y máximo) +- Si admite operación continua a 80 Hz con variador + +Necesitamos **m_e·e ajustable entre ~1.4 y ~12.5 g·m** (equivalente a 28 g y +250 g a 50 mm de radio). Si el motovibrador no baja de ~1.4 g·m, la Banda C no +se puede ajustar y hay que mecanizar contrapesos más ligeros. 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 index f971ea7..bafe575 100644 --- 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 @@ -3,7 +3,7 @@ tags: [project-drogheda, testing, halt, environmental, hbox, rig] project: Project Drogheda author: Helgen CTO date: 2026-09-17 -status: Draft for review +status: SUPERSEDED by v1.1 (2026-09-17) — architecture changed after the 75 °C decision; do not build from this file supersedes: none --- diff --git a/06-Testing-Validation/2026-09-17_Drogheda_HALT-Rig_Thermal-Vibration-Impact_v1.1.md b/06-Testing-Validation/2026-09-17_Drogheda_HALT-Rig_Thermal-Vibration-Impact_v1.1.md new file mode 100644 index 0000000..38cde9d --- /dev/null +++ b/06-Testing-Validation/2026-09-17_Drogheda_HALT-Rig_Thermal-Vibration-Impact_v1.1.md @@ -0,0 +1,520 @@ +--- +tags: [project-drogheda, testing, halt, environmental, hbox, rig] +project: Project Drogheda +author: Helgen CTO +date: 2026-09-17 +status: APPROVED FOR BUILD +version: 1.1 +supersedes: 2026-09-17_Drogheda_HALT-Rig_Thermal-Vibration-Impact_v1.0.md +--- + +# DIY Environmental Test Rig — Thermal + Vibration + Impact for HBOX + +## 🔒 Decisions locked (Leo, 17-Sep) + +| # | Decision | Consequence | +|---|---|---| +| D1 | **Chamber designed for 75 °C, campaigns run at 60 °C** | 75 mm rockwool (not 50), 900 W heaters (not 600), 100 °C cutout (not 85), silicone-insulated internal wiring throughout | +| D2 | **Full vibration drive: motovibrador + VFD** | 3-ph 0.18–0.25 kW with adjustable counterweights, 0.75 kW VFD 1-ph→3-ph. Banded sweeps are repeatable run-to-run | +| D3 | **Shop time is available** | Build starts now, in parallel with the field-log firmware. 4-week plan in §9 | +| D4 | **Architecture changed from v1.0 — see §3** | D1 forced it. The hot box is now **fixed**; a light fixture moves *inside* it | + +--- + +## ⚠ What changed from v1.0, and why it matters + +v1.0 had the whole hot box riding on the shaker. Running the 75 mm insulation +required by **D1** through that geometry gives: + +``` +rockwool shell (0.55³ − 0.40³ = 102 L @ 100 kg/m³) 10.2 kg +3 mm alu liner, 0.4 m cube 7.8 kg +12 mm alu platen 400×400 5.2 kg +outer skin 8.5 kg +2 DUTs + heaters + fixture 8.0 kg + TOTAL 39.7 kg ← was 16 kg +``` + +**40 kg of moving mass breaks the mechanical stage.** The shock pads would need +3.24 MN/m (810 kN/m each across four), and the eccentric would need ~2.5× the +counterweight to reach the same g. We would be spending the entire vibration +budget shaking insulation. + +**The fix — decouple.** Hot box fixed and heavy; a **light aluminium fixture +moves inside it**, driven from below by a rod through a silicone bellows in the +chamber floor. The motovibrador, the VFD and every bearing stay outside in cool +air, which is where they belong anyway. + +``` + new moving mass + 15 mm alu fixture plate 300×300 3.6 kg + 20 mm steel drive rod, 350 mm 0.9 kg + 2 HBOX DUTs + brackets + accel 5.8 kg + TOTAL 10.3 kg ← better than v1.0's 16 kg +``` + +Every mechanical number in §5 and §6 is smaller and cheaper as a result. This +change makes the rig *more* capable, not less. It also removes the v1.0 problems +of mains heaters and a PID on a shaking platform. + +--- + +## 1. What we are actually trying to catch + +Unchanged from v1.0. Summary: most of our known HBOX failures are **thermal**, +not mechanical (LTC4040 hot-pause at ≈ +42 °C with `RNTB` = 10 k; the 10-Ago +modem boot-loop; the June nested-cabinet heat trap). Vibration and impact are +insurance for the 250-unit rollout, where a 1 % mechanical failure rate is +two or three truck rolls to Veracruz. + +Consequence for the build order: **the chamber is useful on day one and is built +first.** The mechanical stage follows in week 2–3. + +--- + +## 2. Step zero: measure the crane, don't guess it + +**Still the highest-value action in this document, and it costs nothing.** + +EinarBoard v6 carries **U26 = SC7A20TR** (LIS3DH-compatible, I²C 0x18, +INT1 → PB9). The `$PHLG` vibration fields are already an open firmware item in +the v6 brief. Finish that item, flash one unit, mount it on a live crane at +ICAVE for 5–7 working days, log raw XYZ at 400 Hz ODR in bursts (10 s every +5 min, plus a triggered burst on INT1 over threshold). + +That gives us the real PSD, the real shock spectrum, the real event rate per +shift, and one defensible sentence for the client report: + +> *"The rig reproduces the 95th-percentile measured field environment at ICAVE, +> with an acceleration factor of N."* + +That is worth more to Hutchison than "we ran IEC 60068-2-6." + +**Reference severities, for calibration of expectations only:** + +- **IEC 60068-2-6** (Fc, sine sweep) — generic industrial: a constant-displacement + leg then a constant-acceleration leg, 1 oct/min. Toradex, e.g., runs + 10–55 Hz @ 0.54 mm and 10–300 Hz @ 39 m·s⁻². +- **IEC 61373 Cat 1 Class B** — railway, equipment in a case on the car body. + Closest analogue in spirit: low-level random 5–150 Hz + 5 h/axis long-life. +- **IEC 60068-2-27** (Ea, shock) — half-sine 15 g/11 ms, 30 g/18 ms, + 30 g/11 ms, 50 g/20 ms; 200–1000 shocks per direction, 3 axes. + +**Fallback if the field log slips:** build to **5–80 Hz, peaks to 2 g**, plus +**15 g / 11 ms half-sine**. Those are the numbers sized below. + +--- + +## 3. Architecture (revised — D4) + +``` + ┌──────────────────────────────────────────────┐ + │ FIXED HOT BOX — 400×400×400 useful │ + │ 75 mm rockwool · 3 mm alu liner · 900 W PTC │ + │ │ + │ ┌──────────┐ ┌──────────┐ │ + │ │ HBOX A │ │ HBOX B │ │ DUTs on the SAME + │ └────┬─────┘ └────┬─────┘ │ bracket the crane uses + │ ╔═════╧═════════════════╧═════╗ │ + │ ║ 15 mm alu FIXTURE 300×300 ║ ← ADXL355│ MOVING: 10.3 kg + │ ╚═══════════╤═════════════════╝ │ + │ [spring] │ [spring] │ 4× 2.5 N/mm, fn ≈ 5 Hz + │═════════════════╪══════════════════════════════│ chamber floor + │ ▓ ← silicone bellows, 50 mm bore + └─────────────────╪────────────────────────────┘ + │ 20 mm drive rod + ┌──────┴──────┐ + │ ECCENTRIC │ motovibrador + VFD, OUTSIDE, in cool air + │ 0.18 kW │ adjustable counterweights + └─────────────┘ + steel base frame, floor-anchored +``` + +**Vibration mode:** fixture floats on 4 soft springs (fn ≈ 5 Hz); the rod +transmits the eccentric's force. Everything hot is stationary; everything +rotating is cool. + +**Shock mode:** springs removed; the rod lifts the fixture a set height on two +guide shafts and releases it onto elastomer pucks bolted to the chamber floor. +Same fixture, same DUT mounting, same accelerometer. **Mode change ≈ 20 min.** + +**Axes:** rotate the DUT in its bracket, not the rig. Three orthogonal +orientations. + +**Do not** attempt vibration and shock simultaneously — the pad stiffness +requirements are in direct conflict (2.5 N/mm vs 210 kN/m, a factor of ~80). + +### Service penetrations + +- Drive rod: 50 mm bore, **silicone bellows boot** (200 °C rated, trivially + available). Conduction through the bellows wall is <0.1 W; budget 5–10 W for + annulus convection. Irrelevant against 900 W. +- DUT harness (24 V, RS-232/RS-485, thermocouples, accelerometer): silicone + gland plate on the **rear** face, with a slack service loop inside so the + moving fixture doesn't tension the cables. **This is the #1 thing that breaks + on rigs like this** — give it 150 mm of slack and anchor both ends. + +--- + +## 4. Thermal stage — 75 °C capable, 60 °C operating + +### Sizing (D1) + +Steady-state conduction, 75 mm rockwool (k ≈ 0.040 W·m⁻¹·K⁻¹), 0.40 m inner / +0.55 m outer, mean area 1.354 m²: + +| Setpoint | Ambient | Conduction | ×3 for leakage, bridges, penetrations | +|---|---|---|---| +| 60 °C | 15 °C | 32.5 W | **97 W** | +| 75 °C | 15 °C | 43.3 W | **130 W** | +| 75 °C | 25 °C | 36.1 W | 108 W | + +Note the elegance of D1: 75 mm of insulation at 75 °C loses the same as 50 mm at +60 °C. The extra insulation pays for the extra ΔT exactly. + +**Pull-up dominates the sizing.** 10 kg alu fixture + hardware + 5 kg DUT: + +| Target | Energy | @ 600 W | @ **900 W** | @ 1200 W | +|---|---|---|---|---| +| 60 °C (ΔT 35 K) | 455 kJ | 14 min | **9 min** | 7 min | +| 75 °C (ΔT 50 K) | 650 kJ | 20 min | **13 min** | 10 min | + +**Specify 900 W** = 3 × 300 W PTC fan-heater modules, PID-controlled together. +The air charge is 3.2 kJ — negligible against 650 kJ of metal, so don't bother +sizing for it. + +PTC elements remain the right choice: self-limiting, sealed modules with the fan +integrated, cannot run away if the fan stops. + +### Control and safety — two independent layers, non-negotiable + +1. **Control:** REX-C100 PID → SSR-40DA → the three heaters. Type-K thermocouple + in the **return air stream**, not touching a DUT. +2. **Independent over-temperature cutout: KSD301 100 °C NC thermostat in series + with the coil of a mechanical contactor** feeding the heaters. + The dominant SSR failure mode is **shorted on**, and the PID then has zero + authority. The contactor is the only thing between a stuck SSR and a fire + during an overnight soak. **Prove it by test at commissioning** — jumper the + SSR closed deliberately and confirm the contactor drops out. +3. 10 A breaker, metal control enclosure, PE bonded to the alu liner and to the + steel frame. + +### D1 material consequences + +- **All internal wiring silicone-insulated**, not PVC. PVC at 75 °C in still air + next to a 300 W element will go brittle and then conductive. +- Door seal: **silicone** oven gasket (rated 200 °C+), not EPDM or foam tape. +- **Rockwool, not EPS/XPS/polyiso.** EPS is rated ~75 °C — i.e. exactly at our + design point — and will soften and outgas. Rockwool is non-combustible and + costs the same. +- 3 mm aluminium liner as both fire barrier and fibre containment. +- The HBOX ASA case softens ~95–100 °C, so 75 °C is safe for the enclosure + itself. The cells are the constraint, not the plastic. + +### Independent temperature logging + +Three spare type-K probes (one per DUT surface, one in air) → 4-channel SD/USB +logger, **outside** the box. The report needs a measured trace, not "the PID +display said 60." + +### 🔴 Battery hazard + +The HBOX contains a lithium pack. 60 °C ambient + self-heating + 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 `RNTB` = 10 k. + +- First soaks: pack fitted, **charger inhibited**, thermocouple on the pack. +- **Never leave the first soak of a new configuration unattended.** +- Class-D extinguisher or dry sand + welding blanket at the rig. **Not CO₂.** +- **Do not run the 75 °C capability with a Li-ion pack installed.** 75 °C is for + bare-board and enclosure work, or for LFP once that decision lands. +- Useful side effect: this chamber is the cheapest way to prove the + `RNTB` → 5.6 k + high-temp LFP decision before it enters the 30-unit BOM. + +--- + +## 5. Vibration stage (re-sized for M = 10.3 kg) + +### Suspension + +| fn | k total | per spring (×4) | static deflection | +|---|---|---|---| +| 4 Hz | 6.51 kN/m | 1.63 N/mm | 15.5 mm | +| **5 Hz** | **10.17 kN/m** | **2.54 N/mm** | **9.9 mm** | +| 6 Hz | 14.65 kN/m | 3.66 N/mm | 6.9 mm | + +**Specify 4 × 2.5 N/mm compression springs**, fn ≈ 5 Hz, ~10 mm static sag. +Band A starts near this resonance — **do not dwell at 5–7 Hz** until the +accelerometer trace has been watched. + +### The honest limitation (unchanged in principle, better in magnitude) + +A fixed eccentric on a soft-mounted mass gives **constant displacement**, so +acceleration rises as **f²**: + +| m_e·e | x peak | 5 Hz | 10 Hz | 20 Hz | 30 Hz | 45 Hz | 60 Hz | 80 Hz | +|---|---|---|---|---|---|---|---|---| +| 1 g·m | 0.10 mm | 0.01 | 0.04 | 0.16 | 0.35 | 0.79 | 1.41 | 2.50 | +| 2 g·m | 0.19 mm | 0.02 | 0.08 | 0.31 | 0.70 | 1.58 | 2.81 | 5.00 | +| 5 g·m | 0.49 mm | 0.05 | 0.20 | 0.78 | 1.76 | 3.95 | 7.03 | 12.5 | +| 10 g·m | 0.97 mm | 0.10 | 0.39 | 1.56 | 3.51 | 7.91 | 14.1 | 25.0 | +| 20 g·m | 1.94 mm | 0.20 | 0.78 | 3.12 | 7.03 | 15.8 | 28.1 | 50.0 | + +(values in g) + +You cannot hold a flat level across 5–80 Hz with one weight setting. Anyone +claiming an eccentric rig "runs IEC 60068-2-6" either has closed-loop amplitude +control or is not measuring. + +### Banded sweep plan — **this is the operating procedure** + +| Band | Freq | Motor RPM | Counterweight m_e·e | as mass @ 50 mm | x peak | a at bottom → top | +|---|---|---|---|---|---|---| +| **A** | 5–15 Hz | 300–900 | 12.5 g·m | 250 g | 1.22 mm | 0.12 → 1.10 g | +| **B** | 15–40 Hz | 900–2400 | 3.2 g·m | 64 g | 0.31 mm | 0.28 → 2.00 g | +| **C** | 40–80 Hz | 2400–4800 | 1.4 g·m | 28 g | 0.14 mm | 0.88 → 3.50 g | + +Sweep each band at 1 octave/min, N cycles, in Z first (crane deck is dominantly +vertical), then X, then Y. **The accelerometer logs what actually happened** and +the report states measured levels per band. That is honest and still perfectly +good at finding cracked joints. + +> ⚠ **Band C overspeeds a 60 Hz motor to 80 Hz on the VFD.** Check the +> motovibrador's rated maximum centrifugal force and bearing speed first, and +> de-rate the weights accordingly — bearing load scales as f² too. If the +> datasheet forbids it, stop band C at 60 Hz and add the BLDC option (§5.3). + +### 5.3 Optional reach above 80 Hz (~$1,200 MXN) + +RC outrunner BLDC + 80 A ESC + servo tester, eccentric disc on the shaft, spins +past 10 000 rpm. Crude, but it is the only cheap way to excite **PCB-level +resonances (typically 150–300 Hz)** — which is where L22, U25 and the 100 µF/50 V +can would crack if they are going to. Worth adding if the field log shows +meaningful energy above 80 Hz, or if a post-test teardown finds joint damage. + +### 5.4 Phase 2 (~$6k MXN) — the woofer shaker + +15" pro woofer, voice coil coupled to a light fixture, class-D amp from a PC +sound card, accelerometer as the control sensor → genuine **closed-loop swept +sine and random, 20–200 Hz**. ~100 N of force, so ~2 g on a 5 kg bare-PCBA +fixture. The only sub-$10k route to a truly controlled profile. Not needed for +v1; revisit after the first campaign. + +--- + +## 6. Impact / shock stage (re-sized for M = 10.3 kg) + +Guided drop inside the chamber. The fixture is lifted on the drive rod plus two +guide shafts and released onto elastomer pucks on the chamber floor. Peak g and +duration are set by drop height and puck stiffness, and **both are measured**. + +| Severity | Δv | Drop, 30 % rebound | Drop, 0 % rebound | Pad k total | per pad (×4) | +|---|---|---|---|---|---| +| 3 g / 30 ms | 0.56 m/s | 10 mm | 16 mm | 0.113 MN/m | 28 kN/m | +| **15 g / 11 ms** | **1.03 m/s** | **32 mm** | **54 mm** | **0.841 MN/m** | **210 kN/m** | +| 30 g / 11 ms | 2.06 m/s | 128 mm | 216 mm | 0.841 MN/m | 210 kN/m | +| 30 g / 18 ms | 3.37 m/s | 343 mm | 580 mm | 0.314 MN/m | 79 kN/m | + +Everything to 30 g / 11 ms fits inside 250 mm of shaft travel, which fits inside +the 400 mm chamber. 30 g / 18 ms does not — that one needs the fixture outside +the box, cold. Accept that limit. + +**Puck starting sizes** for 15 g / 11 ms, from k = E·A/L, 25 mm thick: +Shore 60A ≈ 41 mm dia, Shore 70A ≈ 33 mm dia. + +> ⚠ k = E·A/L **under-estimates** real rubber in compression: a constrained +> squat puck is stiffened by its shape factor, often 2–4×. The pucks you +> actually need will be **smaller or softer** than the table says. Buy an +> assortment (Shore 60A and 70A, 20/25/30/40/50 mm) and tune against the +> accelerometer trace. Budget one afternoon. + +Lift by hand with a lever and a detent for v1. Motorise with a cam later only if +we want 1000-shock endurance runs. + +--- + +## 7. Instrumentation + +| What | Sensor | Notes | +|---|---|---| +| Rig reference vibration | **ADXL355** (±8 g, 20-bit, SPI) | Bolted to the fixture plate. This is the sensor the report quotes | +| 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. Correlating it against the field log **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` over RS-232/RS-485, logged continuously | Pass/fail evidence | + +Logger: Teensy 4.0 or Pi Pico → SD, ≥2 kHz on the shock channel, **outside the +hot box**. Sensor cables through the rear gland plate with the service loop. + +**Define pass/fail on `$PHLG` before the first run, not after.** Suggested: +no GNSS fix loss > N s · no modem re-registration · no watchdog reset · +no `cflt` that fails to clear · C/N₀ drift within X dB. + +--- + +## 8. BOM (MXN, Sep-2026 street prices, ±25 %) — D1 + D2 configuration + +### Thermal stage — 900 W, 75 °C capable + +| Item | Qty | Est. | +|---|---|---| +| Aluminium sheet 3 mm, liner + door (0.4 m cube) | — | 2,000 | +| Rockwool board **75 mm**, ~2.5 m² | — | 1,000 | +| Outer skin: 18 mm plywood or 1.2 mm steel, frame | — | 900 | +| PTC fan-heater module 220 V **300 W** | **3** | 1,050 | +| High-temp circulation fan, metal blade | 1 | 400 | +| PID kit: REX-C100 + SSR-40DA + type-K probe | 1 | 450 | +| **KSD301 100 °C NC cutout + mechanical contactor** + 10 A breaker | 1 | 550 | +| 3 × spare type-K probes + 4-ch SD/USB temp logger | 1 | 700 | +| **Silicone-insulated wire** (internal), silicone glands, gland plate | — | 600 | +| **Silicone oven gasket**, piano hinge, over-centre latches | — | 500 | +| **Silicone bellows boot, 50 mm bore** + floor flange | 1 | 450 | +| Control enclosure, IEC inlet, indicators, E-stop | — | 800 | +| **Subtotal** | | **9,400** | + +### Vibration stage (D2 — full) + +| Item | Qty | Est. | +|---|---|---| +| **Motovibrador 3-ph 0.18–0.25 kW, adjustable counterweights** | 1 | 3,500 | +| **VFD 0.75 kW, 220 V 1-ph in → 3-ph out** | 1 | 1,900 | +| Aluminium fixture plate **15 mm, 300×300** | 1 | 1,400 | +| Drive rod 20 mm steel + couplings + rod-end bearing | — | 900 | +| Compression springs **2.5 N/mm** + guide cups | 4 | 500 | +| Steel base frame (2" PTR, welded, floor-anchored) | 1 | 1,600 | +| Guarding: steel mesh + polycarbonate window, E-stop | 1 | 1,200 | +| Fasteners, Loctite 243, DUT brackets (crane-identical) | — | 700 | +| **Subtotal** | | **11,700** | + +### Impact stage + +| Item | Qty | Est. | +|---|---|---| +| Guide shaft 16 mm × 300 mm + SC16UU bearings | 2 + 4 | 900 | +| Lift lever, detent, release latch, shaft supports | 1 | 900 | +| Rubber puck assortment, Shore 60A/70A, 20/25/30/40/50 mm | — | 600 | +| **Subtotal** | | **2,400** | + +### Instrumentation + +| Item | Qty | Est. | +|---|---|---| +| ADXL355 breakout | 1 | 1,100 | +| ADXL1002 breakout (shock channel) | 1 | 700 | +| Teensy 4.0 + SD + protoboard + silicone wiring | 1 | 900 | +| **Subtotal** | | **2,700** | + +### Total + +| | MXN | +|---|---| +| Thermal | 9,400 | +| Vibration | 11,700 | +| Impact | 2,400 | +| Instrumentation | 2,700 | +| Subtotal | **26,200** | +| Contingency 15 % | 3,900 | +| **TOTAL** | **≈ 30,100** | + +Above the $30k top of the agreed band by ~$100 — i.e. on the line. Two ways to +come back inside if needed: + +- Drop the ADXL1002 and accept clipped shock peaks on the ADXL355 (−700). Not + recommended; the shock channel is the one measurement we cannot fake. +- Steel fixture plate instead of aluminium (−700). Adds 6 kg of moving mass and + undoes part of §3. **Not recommended.** +- Build the thermal stage now and the mechanical stage in October from the next + budget cycle. **This is the recommended way to stage it** — the chamber is + useful alone and is the part that addresses our actual known failures. + +--- + +## 9. Build sequence (shop time available — D3) + +| Week | Shop | Firmware / field | Gate | +|---|---|---|---| +| **1** (22–26 Sep) | Cut and fold the liner, build the shell, mount heaters + circulation fan, wire PID + SSR + **contactor and cutout** | Finish `$PHLG` vibration fields + SC7A20 driver; flash one unit | **G1:** empty chamber holds 60.0 ± 1.0 °C for 4 h; **cutout proven by deliberate SSR-short test** | +| **2** (29 Sep–3 Oct) | Base frame, fixture plate, drive rod, bellows, springs, guarding. *(Note: ICAVE/Lázaro shipment lands this week — expect contention)* | Unit mounted on a live crane at ICAVE; logging | **G2:** bare fixture sweeps 5–80 Hz, accelerometer trace logged and sane; no frame resonance in band | +| **3** (6–10 Oct) | Drop conversion: guide shafts, lift lever, puck tuning | Pull the field log; derive PSD + shock spectrum; **freeze the rig target profile** | **G3:** three consecutive pulses within ±20 % of target; rig profile signed off | +| **4** (13–17 Oct) | Run campaign v1 (§10) | — | **G4:** report | + +**Commissioning runs that must not be skipped:** + +- **Empty chamber, 4 h at 60 °C** — map the hot spots with the three spare + probes before a DUT confuses the picture. Then repeat once at 75 °C. +- **Bare fixture sweep, all three bands** — characterise the rig's own + resonances. If the base frame or the guarding rings at 30 Hz, you will spend + the campaign chasing it. +- **Deliberate SSR-short test** — see G1. Do it with nothing in the box. + +--- + +## 10. Campaign v1 + +**DUT-A gets everything. DUT-B is the control and gets only the thermal soak** — +so a failure tells us heat or mechanics, not both. Both fully instrumented, +powered and transmitting throughout. + +1. **Baseline** — 1 h at 25 °C, full `$PHLG`, GNSS + 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; + cool to ambient; ×3 cycles. Watch: charge stall, modem re-registration + storms, fan policy, watchdog resets, C/N₀ drift. +3. **Hot vibration** — at 60 °C, bands A/B/C, 10 sweep cycles each, Z 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 inspection of L22, U25, the 100 µF/50 V can, + the GX16 entry and every connector; torque-check every screw; re-seat and + re-measure both 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. Self-declared measurements with a commercial MEMS reference. +- **No closed-loop profile control** — a measured, displacement-limited banded + 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; for us that + is probably a *more* relevant missing test than cold. Consider a salt-fog + add-on after this rig proves out. +- **Not a substitute for certification** if a client 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. Remaining open items + +1. **Battery-in vs battery-out for campaign v1.** Recommendation: in, charger + inhibited, pack instrumented. Revisit when the LFP decision lands. + **Hard rule: no Li-ion pack in the box above 60 °C.** +2. **Who owns the rig?** It needs a named owner for calibration checks (monthly + accelerometer cross-check, thermocouple ice-point check) or it will drift and + quietly stop being trustworthy. +3. **Week-2 shop contention** with the ICAVE/Lázaro shipment. Flagged, not + resolved. +4. **BLDC option (§5.3)** — decide after the field log shows whether there is + energy above 80 Hz. + +--- + +## 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 +- `03-Architecture-Hardware/2026-09-09_Drogheda_Battery-Chemistry-HighTemp_v1.0.md` +- `03-Architecture-Hardware/2026-08-24_Drogheda_EinarBoard-v6_GNSS-4G-Integration_Design-Brief_v1.0.md` +- `06-Testing-Validation/RCA-2026-06-field-failures.md` +- `06-Testing-Validation/2026-08-18_Drogheda_FW-v3.0.3_Fan-Policy_Bench-Test_v1.0.md` +- Companion: `2026-09-17_Drogheda_HALT-Rig_Lista-Compras_v1.0.md` (shop purchasing list) 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 index 3af3de3..5de17e8 100644 --- 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 @@ -53,7 +53,7 @@ si el módulo ya está asignado. | Í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 | +| EinarBoard **V5-NN** aprobada, con firmware de bring-up **0.2.1 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 | diff --git a/hbox-docs b/hbox-docs index 1a31352..3526ccb 160000 --- a/hbox-docs +++ b/hbox-docs @@ -1 +1 @@ -Subproject commit 1a31352bdab00ae05ed922e003f07d5d18568728 +Subproject commit 3526ccb30405c2750c218982f1f02f4837c88482