Drogheda/03-Architecture-Hardware/hardware-respec-and-pcb-brief.md

261 lines
16 KiB
Markdown
Raw 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.

# Hardware Re-spec + Watchdog PCB Brief
**Date:** 2026-06-19 · **Owner:** Leo Rodriguez (Helgen)
**Strategy (Leo's call):** **phased** — ship a ruggedized interim to the fleet
now (Phase 1), design the production PCB in parallel (Phase 2).
**Drivers:** the RCA (`06-Testing-Validation/RCA-2026-06-field-failures.md`) and the ICAVE client
review (prototype-grade, vibration, connectors, thermal, 4G failures).
> This is an engineering brief, not a finished schematic. Specific part numbers
> are **starting points** to price/validate — confirm against the measured power
> budget (see §2) and your supplier availability.
---
## 1. Design requirements (the bar the fix must clear)
> **Context update (2026-06-19):** the HBOX sits **inside an industrial cabinet**
> that already provides surge protection, a breaker, isolated ignition sensing, and
> a regulated **24 Vdc** supply (Mean Well DDR-60G-24) — see
> `03-Architecture-Hardware/cabinet-electrical-bom.md`. So the HBOX can assume a **clean 24 V feed**
> and **need not re-implement input surge/reverse-polarity**. The redesign focus
> narrows to: **24 V→5 V**, the watchdog, the LiPo decision, and — now the top
> issue — **thermal management** (see §thermal).
| Requirement | Target | Why |
|---|---|---|
| Operating temp | **−10…+75 °C** internal, survive +85 °C | sealed **ASA** box **inside** a sealed ABS IP67 cabinet that **also holds the heat-dissipating Mean Well supply**, in full sun |
| **Enclosure material** | **ASA (current) — keep**; UV-stable, ~95–100 °C | confirmed ASA (not PLA): margin over the cabinet interior; the case is not the liability |
| Input voltage | **clean ~24 V** from the cabinet (design the buck 9–36 V for margin) | cabinet's Mean Well already regulates; isolated ignition provided |
| Surge/transient | **handled at cabinet level** (Phoenix SPD + breaker); HBOX keeps a modest TVS | don't duplicate the cabinet's protection |
| Vibration | survive continuous machinery vibration | no Dupont, locking connectors, retained boards |
| Ingress | **IP67 maintained**, no internal condensation | coastal humidity; sealing constrains cooling (§thermal) |
| 5 V rail | **≥3 A continuous**, handle LTE TX bursts (~2 A) | modem peaks brown out a 1 A hobby boost |
| Maintainability | **SIM swap without disassembly**; labeled, keyed | client point #5 |
| Serviceability | one PCB, documented, test points, repeatable | "apt for production" |
| Observability | log temp + battery + link health | prove failures in the field |
---
## 2. First, measure the power budget (blocks everything)
Before choosing a DC-DC or fuse, **bench-measure** the stack on the actual
hardware:
- Idle, 1 Hz, and **LTE-TX-burst** current at 5 V (modem bursts are the spike).
- Inrush at power-on (caps + modem).
- Repeat at 12 V and 24 V input.
Expected ballpark (validate): avg ~0.3–0.6 A @5 V, **bursts 1.5–2 A** during LTE
transmit. That burst is almost certainly **beyond the PowerBoost 1000C's ~1 A
continuous rating** — a strong candidate for both the instability *and* the
"under-rated fuse" the client flagged. Everything below assumes ~2.5 A peak @5 V;
correct it once measured.
---
## 2b. Thermal & enclosure — now the #1 physical fix
**The problem is a nested thermal trap.** A sealed **ASA** HBOX sits inside a sealed
**ABS IP67** cabinet that **also contains the Mean Well supply** (60 W class,
dissipating several watts continuously), in full Veracruz sun. Two failure drivers
stack:
- **The ASA shell is not the problem.** ASA is UV-stable and softens at ~95–100 °C,
with margin over the cabinet interior, so the HBOX shell will **not sag/warp** at
these temperatures. (Corrects an earlier PLA assumption.)
- **The LiPo is in that same hot space** (charge limit 45 °C) → degradation,
swelling, voltage sag → brownout.
### About adding a fan — read this first
**A fan *inside* a sealed IP67 box does almost nothing.** It only stirs the same
trapped air; with no path to outside air, **no heat actually leaves the box** (it
even adds a little). Cooling requires either **moving heat out by conduction** or
**exchanging air with the outside** — and air exchange **breaks IP67**, which in a
salty, humid, dusty port invites corrosion. So:
| Option | Removes heat? | Keeps IP67? | Verdict |
|---|---|---|---|
| Internal fan only (sealed) | ✗ (just stirs air) | ✓ | **Don't bother** |
| Filtered vents + extractor fan | ✓ | ✗ (→ ~IP54) | Only with filters + maintenance; risky in this environment |
| **Conduction: mount hot parts to a metal plate / metal enclosure** | ✓✓ | ✓ | **Best** — heatsink to the outside, stay sealed |
| **Reduce solar gain** (white/reflective, **sunshade**, relocate out of sun) | ✓ | ✓ | **Cheap, do it now** |
| **Reduce internal generation** (efficient DC-DC, **remove LiPo**) | ✓ | ✓ | **Do it** |
| Gore pressure-vent | ✗ (condensation only) | ✓ (membrane) | Keep for humidity, not for cooling |
| Active (Peltier / vortex / heat-exchanger) | ✓ | ✓ | Overkill/expensive — last resort |
**Recommended thermal strategy (sealed, no IP compromise):**
1. **Keep the ASA enclosure** (UV-stable, ~95–100 °C — adequate). Optionally move to
**metal** for extra heatsinking, or **eliminate the inner box** and
mount the PCB directly to the cabinet plate.
2. **Conduct heat out:** bolt the DC-DC (and the new HBOX board's hot spots) to the
cabinet's **metal mounting plate / gland plate**, or move to a **metal (aluminium)
cabinet** that acts as a heatsink. Use thermal pads/gap-filler.
3. **Cut the solar load:** white/reflective cabinet, a **sunshade**, and mount out
of direct sun where the machine allows.
4. **Cut internal heat:** a higher-efficiency 24 V→5 V buck and **removing the
LiPo** both lower the steady-state interior temperature.
5. **Quantify it:** put a thermocouple/logger inside a representative cabinet for a
full sunny shift — design to the measured number, not a guess.
---
## 3. Phase 1 — Interim ruggedization (do now, on existing modules)
Goal: stop the bleeding on the deployed fleet without waiting for a PCB. All of
this is achievable with off-the-shelf parts and rework.
1. **Kill the Dupont jumpers.** Replace every jumper with **locking, keyed
connectors** — JST-XH (signal) / Molex Micro-Fit 3.0 (power). Crimped, not
hand-twisted. This alone removes the #1 vibration intermittent.
2. **Replace the PowerBoost 1000C** with an **industrial DC-DC** stepping the
cabinet's **24 V → 5 V, ≥3 A** (e.g., a sealed **Mornsun/Recom** module or a
**TI LMR33630-class** buck for the LTE bursts). Design the input wide (9–36 V)
for margin, but the normal feed is the cabinet's clean 24 V. Sized from §2.
3. **Resolve the battery (decision — see §6).** At minimum **relocate the LiPo**
to the coolest wall, away from the modem/DC-DC, and add a temperature cutoff;
better, **replace it** with LiFePO4 or a supercap hold-up, or **drop battery
mode** if the client doesn't need parked tracking.
4. **Verify the cabinet fuse.** Read the **blade fuse fitted in the Phoenix PT
6-FSI/C** holder and compare to the measured worst-case + inrush — this is the
"under-rated fuse" the client flagged. Surge/breaker are already handled at the
cabinet (Phoenix SPD + breaker); the HBOX keeps only a **modest local TVS**.
5. **Mechanical lockdown.** Mount each board on **standoffs with vibration
isolators/grommets**; retain the simpleRTK2B + 4G master in their sockets with
a bracket or retention clip; **thread-lock + torque** the SMA bulkheads.
6. **Conformal-coat** the watchdog/discrete wiring (acrylic or urethane) against
humidity and to stabilize solder joints under vibration.
7. **Thermal quick wins (see §2b — do NOT add an internal fan to a sealed box):**
keep the **ASA** inner box (adequate) or remount the boards on the metal plate; cut
solar gain (white/reflective cabinet + **sunshade**, relocate out of sun);
**conduct** the DC-DC/modem heat to the cabinet's metal plate; keep a
**Gore-style pressure-vent** for condensation only.
8. **SIM access:** bring the SIM to a **front-panel holder** so swaps don't need
teardown.
9. **Flash firmware v2** (thermal logging + proper 4G recovery) on every unit.
10. **Instrument** at least one unit with an interior **thermocouple log** for a
full sunny shift to quantify the thermal problem.
Phase 1 is the "permanent-enough" stabilization while Phase 2 is fabricated.
---
## 4. Phase 2 — Integrated Watchdog Carrier PCB (the real fix)
A single **4-layer, industrial-temp** carrier board that replaces all the
hand-wiring and the hobby power boards, and onto which the simpleRTK2B and 4G
NTRIP Master mount via **locking board-to-board** (or retained XBee socket).
### Block diagram
```
Cabinet 24V (already SPD/breaker-protected) ─► [keyed plug]
└► modest TVS + reverse-polarity FET ─► bulk cap
└► DC-DC buck 24V→5V (design 9–36V), ≥3A ─► 5V rail
├► STM32 watchdog (3.3V LDO) ── UART ──► simpleRTK2B RX1 (UBX)
│ ├ sense: Vin, 5V, battery dividers (filtered)
│ ├ status LED + SWD header + debug UART (dashboard)
│ └ optional: 4G modem health/RESET line, RTC
├► high-side LOAD SWITCH / eFuse ─► switched 5V ─► simpleRTK2B + 4G stack
└► hold-up: supercap bank OR LiFePO4 charger (see §6)
Antennas: bulkhead SMA pigtails (GNSS L1/L2 + LTE) · SIM: front-panel holder/MFF2
```
### Key design choices vs the current discrete design
| Current (discrete) | PCB replacement | Benefit |
|---|---|---|
| 2N3904 + IRF9540N + 10 k pull-up | integrated **high-side load switch / eFuse** (e.g., TPS25200 / TPS2596 / load-switch IC) | current-limited, fewer parts, defined turn-on, no gate-pull-up gotchas |
| PowerBoost 1000C | automotive **buck ≥3 A** + protection front-end | survives LTE bursts, wide Vin, transient-tolerant |
| LiPo in hot box | supercap hold-up **or** LiFePO4 (or none) | removes the thermal/safety liability |
| **ASA inner box (UV-stable, ~95–100 °C)** | keep (adequate); optional metal for extra heatsinking, or mount PCB to the cabinet plate | survives the cabinet's internal temperature |
| Dupont + screw terminals | **locking JST/Molex** + pluggable terminal block | vibration-proof |
| Bare boards loose in box | retained board-to-board + isolated standoffs | no movement, no solder flex |
| SIM buried in stack | **front-panel SIM** or **MFF2 eSIM** | client point #5 solved |
| No local protection | **modest TVS + RP FET** (cabinet has the SPD/breaker) | survives without duplicating the cabinet |
| No temp/observability | MCU temp + sense dividers + test points | provable diagnostics |
### Board-level details to specify
- **Protection front-end (light — the cabinet does the heavy lifting):** the
cabinet already provides surge (Phoenix SPD) + breaker + isolated ignition. The
HBOX board needs only a **reverse-polarity P-FET** and a **modest TVS** on its
24 V input — don't duplicate the cabinet's SPD/eFuse.
- **DC-DC:** qualify input 9–36 V; ≥3 A @5 V; good thermal pad to a copper pour /
enclosure; spread-spectrum or proper filtering for GNSS RF cleanliness
(switcher noise can hurt the L1/L2 front-end — keep it away from the antenna
feed and filter it).
- **MCU:** keep STM32F411 to reuse v2 firmware, or step to an
**automotive/industrial-temp STM32 (G0/L4)**. Bring out **SWD** + a **debug
UART** for the dashboard. Add the internal-temp logging already in v2; consider
an external temp sensor near the LiPo/modem.
- **GNSS RF integrity:** keep the switcher and digital noise away from the GNSS
antenna trace; solid ground plane; the ZED-F9P front-end is sensitive — this
protects fix quality (and therefore the watchdog's view of "link health").
- **Connectors:** all locking/keyed; bulkhead SMA with lock washers; a single
keyed vehicle-power plug.
- **Mechanical:** mounting holes with vibration isolators; design for conformal
coat or selective potting of the power section.
- **DFM/serviceability:** silkscreen labels, test points on every rail + UART,
a fab/assembly package, and a documented BOM (this is literally the "apt for
production" the client asked for).
---
## 5. Indicative BOM (validate prices/availability/temp grade)
| Function | Interim (Phase 1) | PCB (Phase 2) |
|---|---|---|
| DC-DC **24→5 V** ≥3 A | Recom/Mornsun/TI buck module | TI LMR33630-class on-board buck |
| Load switch | keep NPN+P-FET (retained) | TPS25200 / TPS2596 / load-switch IC |
| Input protection | modest TVS + RP diode (cabinet has SPD/breaker) | RP FET + modest TVS on-board |
| Hold-up / battery | relocate LiPo + temp cutoff | supercap bank **or** LiFePO4 charger |
| **Inner enclosure** | **ASA — keep** (adequate); or mount to plate | metal box / mount PCB to cabinet plate |
| MCU | existing Blackpill | STM32F411 (or G0/L4) on-board |
| Interconnect | JST-XH / Molex Micro-Fit | board-to-board + locking I/O |
| Antennas | re-torque bulkhead SMA | bulkhead SMA pigtails |
| SIM | front-panel holder | front-panel holder or MFF2 eSIM |
| Coating | acrylic conformal coat | conformal coat / pot power section |
| Thermal | sunshade + **conduct heat to metal plate** (no internal fan) | metal cabinet as heatsink; sealed (keep IP67) |
---
## 6. Open decisions for Leo (these change the design)
1. **Battery mode — keep, change, or drop?**
- *Keep tracking while the vehicle is off* (anti-theft / parked location)?
Then use **LiFePO4** (wider temp, safer) or a relocated/temperature-managed
cell — **not** a LiPo baking next to the modem.
- *Only need ride-through* across brief power dips? A **supercap** hold-up is
simpler, safer, and temperature-tolerant — but won't give long parked
tracking.
- *Vehicle-only* acceptable? **Drop the battery** entirely — removes the
single worst thermal/safety liability. **(Recommended if the client doesn't
require parked tracking — confirm with ICAVE.)**
2. **SIM strategy:** swappable **front-panel SIM** vs **MFF2 eSIM** (eliminates
the swap problem but commits the carrier). Depends on how often SIMs change.
3. **MCU:** reuse F411 (fast, keeps v2 firmware) vs move to an industrial-temp
STM32 (more margin, small port effort).
4. **Inner enclosure material:** **confirmed ASA** (UV-stable, ~95–100 °C) — adequate
for the nested-cabinet temperatures; no material change required. Optionally
eliminate the inner box and mount the PCB to the cabinet plate for better conduction.
5. **Cabinet thermal path:** keep ABS IP67 + sunshade + **conduct heat to a metal
plate**, or move to a **metal (aluminium) cabinet** as a heatsink (best, costs
more). **An internal fan in a sealed box is not a fix (see §2b)** — only
conduction or (IP-breaking) ventilation removes heat.
6. **Make vs buy the modem:** keep the ArduSimple 4G NTRIP Master, or move to a
qualified industrial LTE module with a known wide-temp rating.
---
## 7. Suggested next actions (feeds `PLAN.md`)
- Bench power-budget + inrush measurement (§2) → picks the 24→5 V buck.
- **Quantify cabinet temperature** (thermocouple in a representative cabinet, full
sunny shift) → design target for §2b.
- Decide §6.1 (battery), §6.4 (inner-box material), §6.5 (cabinet thermal path) —
the biggest levers. **The ASA enclosure is adequate — no material swap needed; focus on the conduction path + active thermal.**
- Phase-1 ruggedization kit BOM + rework one unit as the reference build.
- Phase-2 schematic → layout → fab/assembly; pilot 2–3 boards before fleet.
- Cabinet BOM is industrial-grade and stays — see `03-Architecture-Hardware/cabinet-electrical-bom.md`.