Full Wiring 6 โ€” Bed-battery combiner (BED board + DC Monitor)

wheel / pinch = zoom ยท drag = pan
fw6_combiner FULL WIRING SHEET 6 โ€” BED-BATTERY COMBINER DEEP-DIVE: contactor + pre-charge, pin-by-pin (rev 3.31 โ€” driven by the BED board, Option B) WHY: two big low-ESR LiFePO4 banks + the inverter's input capacitors. Slam the contactor closed at a 0.5V difference and the only resistance is ~15 milliohm of cable -> a 30-60A+ spike and the caps look like a dead short for milliseconds = arcing, welded contacts, BMS overcurrent trips. The 5R resistor makes the worst case a gentle 2.7A. HOW IT SWITCHES TO FULL POWER: nothing 'switches over' โ€” the contactor (milliohms) simply closes IN PARALLEL with the 5R resistor; current naturally takes the metal path. Then the pre-charge relay opens to take the resistor out. LEGEND:  red thick = 2 AWG battery power  ยท  red thin = 16 AWG pre-charge branch  ยท  dark-red = coil power  ยท  purple dashed = controller DO  ยท  blue = voltage sense  ยท  black = ground batt BED BATTERY 300-440Ah LiFePO4 (removable) sb ANDERSON SB175 + handle + contact - contact batt->sb:n 2 AWG bfuse FUSE 100-150A (MRBF terminal fuse or ANL) โ€” AT the battery + post batt->bfuse 2 AWG (fuse FIRST, at the post) cont CONTACTOR 150-200A continuous-duty, 12V coil, NORMALLY OPEN (White-Rodgers 120-105-class / EV200-class) STUD A (battery side) STUD B (bus side) coil + coil - sb:p->cont:sa 2 AWG bneg BED - BUS BAR sb:n->bneg 2 AWG โ€” straight to bed - bus (only the POSITIVE is switched) disc ROTARY BATTERY DISCONNECT 275A-class (red removable key, ~$12) โ€” at the pack OFF = plug/unplug ALWAYS dead + service lockout (independent of software/contactor) bfuse->disc 2 AWG disc->sb:p 2 AWG bbus BED + BUS BAR (Sheet 1) (always tied to front bus via the trunk) cont:sb->bbus 2 AWG cont:cm->bneg coil return sense Modbus RTU DC Monitor (SKU 33931) on the BED board RS485 ch2 = bed stud-A V ยท ch1 = front-V (or over Ethernet) 0-36V, 16-bit, common-GND (star) โ€” this is how the board KNOWS the voltages match. (current ch = small loads only, ยฑ8A; main-bank current stays on the WonVon shunt) cont:sa->sense tap at stud A seq SEQUENCE (state machine in ESPHome) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 0  ISOLATED โ€” both relays off. Contactor is NO ->   ESP32 dead / power lost = bed isolated. FAIL-SAFE. 1  COMBINE REQUEST (auto or app) โ€” read ADC1 vs ADC2. 2  PRE-CHARGE โ€” O6 on -> current through the 5R: I = deltaV/5     (fault/0V case -> 2.7A / 36W <- WHY the 25-50W rating).   FIXES IN SECONDS: inverter caps (tau = 5R x ~10mF = 50ms)   + surface charge (recent charge/discharge froth).   CANNOT FIX EVER: a real SoC difference โ€” 0.1-0.4A into   100-440Ah moves SoC ~0.05%/hr. deltaV still there after   ~15s = a GENUINE SoC gap; more waiting will not close it. 3  DECIDE at ~15s, by deltaV band (inrush ~ deltaV / R_loop,   R_loop ~ 15-25 milliohm of cable + cell resistance):     deltaV <= 0.3V  -> CLOSE. Inrush ~10-20A blip. Trivial.       (the COMMON case โ€” LiFePO4 rests 13.0-13.4V over        most of SoC, healthy banks usually land here)     0.3-0.7V AND charge source ON -> CLOSE = managed       merge: brief 20-50A into the low bank, decays to       charger rate (~0.1C on 300-440Ah โ€” battery is fine).     > 0.7V -> STAY ISOLATED + alert (default). 80-120A+       inrush is hard on contacts over cycles, and the       FRONT bank would dump into the bed.     FORCE-MERGE OVERRIDE (the stored-bed-battery,       leaving-now case): allowed ONLY if ignition ON +       DC-DC active + user confirms (PWA gate / override       switch). Profile: ~100-120A for the first 1-2 min       (the SoC cliff lifts bed V fast), then 30-60A with       the DC-DC backfilling 40A. The close itself is cheap       (contactor make-rated for 1000s of such cycles) โ€”       keep it RARE because the inrush is UNCONTROLLED       (ratings headroom, not regulation) and because the       0-5% STORAGE habit it implies is what actually harms       the pack (low-SoC aging + BMS drain -> brick risk).       Store at 50-60% instead -> every reinstall is a normal       merge, routine forever.       TRUNK FUSE MUST BE 125A (100A = nuisance blow).       REFUSE below ~11V pack (damaged/BMS-tripped ->       bench supply only, doc 5.10). 4  CLOSE โ€” O5 on -> contactor closes (milliohm path in   parallel with the 5R; it just takes over). 5  0.5s later: O6 off -> resistor out of circuit. COMBINED. 6  SEPARATE โ€” O5 off (LVD, fault, request) -> back to 0. 7  SEPARATE-ON-CHARGE-LOSS (key-off / DC-DC + solar gone):   if the bed is still BELOW the flat band (rest < ~13.0V,   i.e. a force-merge that isn't done) -> OPEN the contactor.   Otherwise the paralleled banks MUST equalize: the front   100Ah bleeds 60-80Ah into a low bed overnight (15-25A   tapering) until both sit ~20% โ€” no damage (charge just   moves), but the critical front reserve is silently gone.   Healthy banks (both flat-band, OCVs ~equal) -> negligible   cross-current -> staying combined parked is fine/intended.   Re-merge automatically when a charge source returns   (morning solar counts). ESP32 REBOOT (watchdog / brownout / EVERY OTA update): DOs go dark during reboot -> both relays drop -> contactor opens -> banks isolate. Mid-PRECHARGE: trivial. Mid- COMBINED: contactor breaks under load (rated for it), front bank carries everything ~5-15s, boot re-reads ADCs, deltaV ~0 -> band 1 recombine. SELF-HEALING โ€” IF the firmware:  ยท restore_mode ALWAYS_OFF on O5/O6 (NEVER restore relay    state from flash โ€” battery may have been swapped)  ยท force-merge confirm does NOT persist across reboot  ยท ~10s boot settle before energizing anything (also kills    brownout relay-chatter); no O5 until ADCs read + banded DEEPLY-DEPLETED RULE (the >0.7V band): the resistor CANNOT fill a dead bank (0.2A into 440Ah ~ forever). Combine only while a CHARGE SOURCE is active: the charger raises the bed bank toward charge voltage, banks meet there, THEN pre-charge + close. The SOURCE fills the bank, not the front battery. STORAGE TIP: store the bed pack at ~50-60% (rest 13.2V), top up quarterly โ€” never face the 12.0V morning. Check the BMS is awake (meter the SB175 pins) + no charge below 0 C. PLUG-IN TIMELINE (no user action needed) ยท contactor is OPEN -> SB175 mates onto a dead circuit  (only the ~110k sense, ~0.1mA) -> NO SPARK ยท ADC2 jumps to pack V instantly; firmware waits ~5s stable ยท auto-sequence -> COMBINED in ~15-25s (common case,  banks within 0.3V); bigger gaps follow the deltaV bands ยท announce over MQTT/PWA (+ TTS if the 5080 is awake) UNPLUG RULE: separate FIRST (PWA / override switch / rotary OFF), THEN pull the SB175. While COMBINED, ADC2 reads BUS voltage through the closed contactor -> the ESP32 cannot see a yank, and the connector would break load current (arc). res 5R / 25-50W wirewound resistor ALUMINUM-HOUSED, bolted to metal (heatsink for the fault case) res->cont:sa 16 AWG -> lands on STUD A (battery side) = the bypass AROUND the contactor diode 1N4007 flyback diode ACROSS the contactor coil (stripe to coil +) โ€” protects RLY-O5's contacts from the coil's inductive kick diode->cont:cp r5 RLY-O5 contactor driver (in box) 86 85 30 = F4 5A 87 r5:p87->cont:cp 16-18 AWG, ~0.6-1A coil rpc RLY-PC pre-charge (in box) 86 85 30 = F10 5A 87 rpc:p87->res 16 AWG parts SHOPPING LIST (combiner subsystem) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ ยท 150-200A 12V continuous-duty NO contactor ยท 5R 25-50W aluminum-shell resistor ยท 2x Bosch relay (already in box: O5 + PC slots) ยท 1N4007 diode (across contactor coil) ยท MRBF/ANL 100-150A fuse + holder (battery post) ยท Anderson SB175 pair + handle ยท 275A rotary battery disconnect (red key) ยท divider resistors (100k/10k) + 1A fuse (sense) ยท wire: 2 AWG (battery/studs/bus) ยท 16 AWG  (pre-charge branch) ยท 16-18 (coil) ยท 22 (sense) esp BED Waveshare ESP32-S3-POE-ETH-8DI-8DO (Option B, sec 6.5) runs the combiner state machine LOCALLY (in the bed) DO1 sinks RLY-O5 (contactor) ยท DO2 sinks RLY-PC (pre-charge) bed-V + front-V read via the DC Monitor (Modbus) below Ethernet to the front board for coordination esp->r5:p85 DO1 sink (bed board) esp->rpc:p85 DO2 sink (bed board) sense->esp V over Modbus (RS485)

open the PDF version โ€บ

โ€น prevnext โ€บ