Drogheda/06-Testing-Validation/2026-09-17_Drogheda_HALT-Rig_Thermal-Vibration-Impact_v1.0.md

530 lines
25 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
tags: [project-drogheda, testing, halt, environmental, hbox, rig]
project: Project Drogheda
author: Helgen CTO
date: 2026-09-17
status: SUPERSEDED by v1.1 (2026-09-17) — architecture changed after the 75 °C decision; do not build from this file
supersedes: none
---
# DIY Environmental Test Rig — 60 °C + Vibration + Impact for HBOX
!!! warning "Designators from before 22-Oct (T43)"
This document keeps the designators the board had on its date. Since 22-Oct (T43) the V5.6, V5.7 and v6 carry new ones, and several old names now belong to another part: on the v6, U6 is now the A7670SA modem (was U19) and the LTC4040 is U17 (was U6). To read it against today's board, use the [old → new table](https://drogheda.helgen.online/hardware/designadores-t43-22oct/#8-tablas-viejo-nuevo) (in Spanish); parts already gone by 22-Oct are not in it.
**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`