7.0 KiB
| tags | project | author | date | status | |||||
|---|---|---|---|---|---|---|---|---|---|
|
Project Drogheda | Helgen CTO | 2026-09-09 | Draft — decision input |
Backup cell at 45 °C: why Li-ion is failing, and what replaces it
Bottom line: LiPo is not an upgrade — a LiPo pouch is Li-ion, in a worse package. And before changing any cell:
RNTB= 10 k makes the LTC4040 stop charging at +40…+42 °C. At a 45 °C port the pack essentially never charges. That is a resistor, not a chemistry. The chemistry that then lets you raise that limit is high-temperature LiFePO4, which the LTC4040 already supports —JP2re-strap, no respin.
1. LiPo is the wrong direction
A "LiPo" pouch is lithium-ion (LCO or NMC) in a soft laminate bag. Same 0–45 °C charge window, same calendar aging, and worse in a hot sealed box: no vent, no CID, and it swells. The 2000 mAh cells are bench hardware. Keep them on the bench.
2. 🔴 The charger is refusing to charge — and it is our resistor
RNTB (10 k 1 %) biases the pack NTC (RT1, 10 k, on the cell via P4.3). The LTC4040
pauses charging when the NTC falls to 53.6 % of RBIAS and resumes below 325 %.
With RBIAS = 10 k that puts the charge window at:
| NTC β | Charge window today |
|---|---|
| B3380 | −3.1 °C … +42.4 °C |
| B3950 | +0.6 °C … +39.7 °C |
Port operating temperature is ~45 °C. The pack sits above the hot-pause threshold
for most of the working day, so it never reaches full charge and the backup is not
there when the power drops. The MCU's own CHRG_EN hot-cut sits on top of this.
This is very likely most of the "poor performance" — and it is not the cell's fault. Note the earlier fleet finding blamed no-charge on the LTC4040 safety-timer latch; a pack that is repeatedly hot-paused mid-charge is exactly how you reach that latch.
Re-scaling RNTB
You cannot simply raise this on the current cell — an NMC/LCO 18650 must not be charged at 55 °C. Raise it together with the chemistry change:
| Target hot pause | β | New RNTB |
Resulting window |
|---|---|---|---|
| +55 °C | B3380 | 6.62 k | +6.1 … +55 °C |
| +55 °C | B3950 | 5.56 k | +12.3 … +55 °C |
| +60 °C | B3380 | 5.67 k → 5.6 k E24 | +9.7 … +60 °C |
| +60 °C | B3950 | 4.64 k | +16.0 … +60 °C |
RBIAS sets both ends, so raising the hot limit raises the cold one. Specify the
B3380 NTC (the delta doc already calls B3380 "ideal", B3950 "acceptable") — with B3950
you would refuse to charge below +16 °C, which is a real winter night in Ensenada.
⚠ Computed from the datasheet's 53.6 % / 325 % ratios and a β model with R25 = 10 k. Check against the actual NTC part's R/T table before cutting the BOM.
3. The cell: high-temperature LiFePO4 26650
| Today — NMC/LCO 18650 | High-temp LFP 26650 | |
|---|---|---|
| Charge temp | 0…45 °C | −20…60 °C (Topwell 3600 mAh) · 0…75 °C (JGNE 4000 mAh) |
| Discharge temp | −20…60 °C | −50…80 °C · −30…75 °C |
| Nominal | 3.6 V | 3.2 V |
| Cell energy | ~11 Wh (3 Ah) | 11.5 Wh (3.6 Ah) · 12.8 Wh (4 Ah) |
| Cycle life | 300–500 | ≥ 2000 to 80 % |
| Thermal runaway onset | ~150–200 °C | ~270 °C (olivine) — does not propagate |
| Calendar aging at 45 °C | fast | far slower |
4P of the 3.6 Ah cell = 46 Wh; 4P of the 4 Ah = 51 Wh — both at or above today's ~43 Wh. Even 3P clears 38 Wh.
The board already supports it — one jumper
LTC4040 F2 selects chemistry: high = Li-Ion, low = LiFePO4. Float table:
| F1 | F0 | F2 = 1 (Li-Ion) | F2 = 0 (LiFePO4) |
|---|---|---|---|
| 0 | 0 | 3.95 V | 3.45 V |
| 0 | 1 | 4.00 V ← we are here | 3.50 V ← we land here |
| 1 | 0 | 4.05 V | 3.55 V |
| 1 | 1 | 4.10 V | 3.60 V |
Current straps are F2=1 / F1=0 / F0=1. Flip JP2 (F2) only → 3.50 V LFP float.
The 2026-07-06 pre-fab audit already recorded this path as preserved. No schematic
change, no respin. 3.50 V on LFP is ~90 % SoC — deliberately shy of 3.65 V, which is
exactly what you want for calendar life at temperature. JP3 to F1=1 gives 3.60 V if
you later want the last few percent.
What else must change
RNTB→ 5.6 k (§2) — without this the swap changes nothing; the charger still pauses at 42 °C.- Firmware
BAT_CRITICAL/BAT_RECOVERY. LFP's discharge curve is flat at ~3.2 V from 90 % to 15 % SoC. Voltage-based SoC stops working. Re-derive the thresholds against the knee (~2.9 V), and expect the gauge to be near-useless mid-band — coulomb-count or accept a three-state indicator. The firmware review already flagged these thresholds as bench-tune items for the 4.00 V pack; this makes it mandatory. - MCU
CHRG_ENhot-cut threshold — raise in step withRNTB, or it becomes the new binding limit. - LTC4040 boost current. 3.2 V nominal instead of 3.6 V ⇒ ~12 % more pack current
for the same backup watts. Re-check against the boost limit and the
RS1errata fix. - Mechanical. 26650 is 26.5 mm vs 18.5 mm and ~85 g/cell. New ASA battery-case print, and re-check the 4P footprint inside the HBOX.
- Sourcing. The high-temp grades are Chinese-supplier parts (JGNE, Topwell class), not a shelf item in MX. Check MOQ, lead time and whether they will give a real R/T and cycle-at-temperature spec before this goes on the 30-unit BOM.
4. Alternatives, briefly
| Option | Verdict |
|---|---|
| High-temp LFP 26650 | ✅ Recommended. Solves charge-at-temperature, board already supports it, cost/Wh comparable |
| Supercap / LIC hold-up | −40…+65/85 °C, no charge-temperature window at all, effectively infinite cycles — but ~1/20 the energy. The right answer if the real requirement is "report a power-loss alarm and shut down cleanly" rather than "run for hours". Pin the requirement before dismissing it again |
| Smaller pack, better cell | Nobody has pulled this lever. 43 Wh is a lot for a parked machine. Halve the requirement and the thermal problem halves with it |
| LTO | Best temperature range and cycle life, but 2.4 V nominal breaks the LTC4040's 1S window entirely — new charger. Low energy density, expensive, hard to source. Out |
| High-temp-rated NMC 18650 | Keeps the form factor, but you are still fighting the same chemistry for a few °C. Marginal |
| NiMH | High self-discharge at temperature, and trickle-charging hot is its own failure mode. Out |
5. Do this first — you already have the data
Do not buy cells on an assumption. tbat (TMP102 on the pack) and tntc are already
in $PHLG and already landing in htracker. Pull the fleet histogram and answer:
- What is the actual pack temperature distribution, by unit and by hour?
- What fraction of the day does it sit above the current ~40–42 °C hot pause?
- Does
cflt/ charge-fault correlate with those windows?
Question 2 is the number that decides whether this is a resistor change, a chemistry change, or both. It is one query against data we are already collecting.