pin hbox-docs + fw at bring-up 0.2.1; procedimientos a 0.2.1

This commit is contained in:
Leopoldo Rodríguez 2026-09-17 18:58:48 -06:00
parent 3c3097f0e1
commit 6b943e9b52
7 changed files with 664 additions and 8 deletions

@ -1 +1 @@
Subproject commit d8a22799360e90134435010cdd2668b925950e1b
Subproject commit 6c59791d72eab814fed9e023d5263a00f84c3b97

View File

@ -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).

View File

@ -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.

View File

@ -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
---

View File

@ -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)

View File

@ -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 |

@ -1 +1 @@
Subproject commit 1a31352bdab00ae05ed922e003f07d5d18568728
Subproject commit 3526ccb30405c2750c218982f1f02f4837c88482