527 lines
25 KiB
Markdown
527 lines
25 KiB
Markdown
---
|
||
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
|
||
|
||
**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`
|