cyberdeck/docs/power-system.md

127 lines
5.9 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.

# Power System
## Decision: Banggood QC3.0 3S Power Bank Module
All-in-one power management PCB ordered from Banggood. Replaces separate charger module, BMS, and boost/buck converter with a single board. Uses Injoinic IP5389-family chip (likely IP5389H variant based on feature set: bi-dir PD, 3S-5S, digital display, 65-100W).
**Board:** ID 1990904, 3S-65W variant ($14.39)
### Key Specs
- 72×27×6mm board
- USB-C1 (bi-dir PD input/output), USB-C2 (PD output), USB-A1, USB-A2
- 65W max output with 3S pack
- PD3.0/PD2.0, QC3+, QC3.0, AFC, FCP, SCP, VOOC
- Digital tube battery indicator
- Temperature protection
- Passthrough charging (simultaneous charge + discharge)
- 3S-65W (also available: 4S-100W, 5S-100W variants)
## Why This Approach
| Requirement | IP5389 Solution |
|------------|-----------------|
| Charge lithium cells safely | Built-in CC/CV with cell balancing |
| Battery protection | Overcharge, overdischarge, short circuit, thermal |
| Output usable voltage | USB-C PD (5V, 9V, 12V, 15V, 20V) |
| Wall power input | USB-C input from any charger |
| Charge while using | Passthrough charging |
| Repairable | Bare PCB, cells are replaceable 18650s |
## How It Works
The IP5389 uses cells in **series** (2S to 5S), not parallel. A synchronous buck-boost converter handles all voltage conversion in one IC with a single inductor.
```
USB-C wall charger → IP5389 board → 18650 cells (3S2P configuration)
USB-C PD output → OPi3B (default 5V)
USB-A output → Display controller (5V via micro USB)
5V rail → USB hub, audio amp, fans
```
One board, one cell pack, one inductor. No separate charger, BMS, or boost modules needed.
### Why Series, Not Parallel
| Config | Voltage range | Regulator mode | Efficiency |
|--------|--------------|----------------|------------|
| Parallel (1SxP) | 3.04.2V | Must **boost** to 5V | ~85-90% |
| 3S (series) | 9.012.6V | **Bucks** down to 5V | **Up to 97%** |
With a 3S pack, battery voltage never drops below 9V even at cutoff. The regulator is always stepping down — the easy, efficient direction. The IP5389's synchronous buck-boost handles 3.0V21V input range and can output 5V/9V/12V/15V/20V via PD negotiation.
## Power Budget
Updated estimates with all components known:
| Component | Voltage | Current (est.) | Power (est.) | Source |
|-----------|---------|----------------|-------------|--------|
| Orange Pi 3B | 5V | 2-3A | 10-15W | USB-C from IP5389 |
| Display + controller | 5V | 2A | 10W | Micro USB from IP5389 or 5V rail |
| USB hub (powered) | 5V | 2-3A | 10-15W | 5V rail via barrel adapter |
| Audio amp (PAM8403) | 5V | 0.3A | 1.5W | 5V rail direct |
| Cooling fans (x2) | 5V | 0.2A | 1W | 5V rail or GPIO |
| **Typical total** | **5V** | **~3-4A** | **~14-20W** | |
| **Peak total** | **5V** | **~7-8A** | **~35-40W** | |
Note: Display controller and OPi 3B can share the IP5389's USB ports (USB-C + USB-A). The hub, amp, and fans tap the 5V distribution rail with a simple barrel-jack breakout.
## Cell Configuration
**Decision: 3S2P** — 6 cells total, two parallel strings of three series cells.
| Config | Cells | Weight (50g ea) | Energy (2500mAh cells) | Energy (3500mAh cells) | Est. runtime (~14W) |
|--------|-------|-----------------|----------------------|----------------------|---------------------|
| 3S1P | 3 | ~150g | 27.75 Wh | 38.85 Wh | ~2-2.5 hr |
| **3S2P** | **6** | **~300g** | **55.5 Wh** | **77.7 Wh** | **~4-5.5 hr** |
| 3S4P | 12 | ~600g | 111 Wh | 155.4 Wh | ~8-11 hr |
**3S2P** (~300g, 55.5 Wh with standard cells) is the pick. Matches a typical laptop battery capacity. With quality 3500mAh cells (Samsung 35E, LG MJ1, or equivalent), the pack delivers **77.7 Wh** — enough for a full café session without recharging.
**Important:** Cells in the same parallel group must be matched (same model, age, capacity). Label and pair them during assembly. Never mix old and new cells in the same pack.
## Salvaged Battery: Not Usable
K501U battery (B31N1429, 4240mAh, 11.4V, 3S) assessed and rejected:
- Integrated BMS is paired to the laptop mainboard
- Most laptop BMS boards lock when removed from their system
- Not worth the effort to hack around
- Low capacity (4240mAh) doesn't justify the risk
## Alternative Approaches Considered
### Discrete Module Stack (TP5100 + 2S BMS + Buck Converter)
- Three separate modules, more wiring
- TP5100 charger (2S, 2A) + 2S 10A BMS + 5V/4A buck converter
- ~$10 in modules, works well but more complex assembly
- Backup plan if IP5389 board has issues
### Commercial Power Bank (decased)
- Buy a power bank, remove plastic shell, integrate bare PCB + cells
- Zero design work but constrained to whatever cell layout the bank uses
- Passthrough charging not guaranteed on all models
### UPS HAT (Waveshare / DFRobot)
- Designed for Raspberry Pi, works via USB output with OPi3B
- Premium price for unused GPIO header
- Capped at 5V output, no 12V rail without extra boost converter
## Safety Notes
- Cells in a parallel group must be matched (same model, age, capacity). Mixing old and new is a fire risk.
- Always use 18650 cells with matching capacity and age in parallel pairs
- Fuse between board output and SBC (5A automotive blade fuse recommended)
- No puffy, warm-at-rest, or sub-2.5V cells — ever
- Match cell count to board specs (3S board = exactly 3S, don't mix)
- IP5389 modules vary in quality — buy from reputable sellers, check reviews for "clone" ICs
## TODO
- [x] Cell configuration: 3S2P (6 cells, ~300g)
- [x] Select and order board — Banggood ID 1990904, 3S-65W
- [x] Source matched 18650 cells — ordered via Banggood
- [x] Select PAM8403 audio amp — ordered via Banggood
- [ ] Verify passthrough charging on board once received
- [ ] Select powered USB hub with 5V DC barrel input (not AC wall wart)
- [ ] Order 5A blade fuse + holder
- [ ] Test charging and output before case integration