D1 - https://github.com/syssi/esphome-jk-bms https://youtu.be/cACXBgohrmg?feature=shared Andy JK BMS settings https://off-grid-garage.com/my-settings/ jk bms code https://mirofromdiro.github.io/JK-firmware-code/ 1251020357 Andy soc 100% https://youtu.be/maTqnSs_XAI?feature=shared Update BMS - https://youtu.be/NtJ9aUTIWxk?feature=shared ====== jk-bms voltage parameters ====== https://community.victronenergy.com/t/where-is-the-jk-bms-cvl-value-originating-from/33010/10 ====== Andy reomnedation charging ====== https://www.youtube.com/watch?v=OpEQ4fV7-ZU 55.2volt 53.6 float ====== 🔌 How Andy (Off-Grid-Garage) Configures His LiFePO₄ Charging ====== Andy shares detailed configuration settings for his LiFePO₄ battery system, using Victron equipment, JK-BMS, and the VE.Smart Network. Below are his recommended values and how he applies them. ===== ⚙️ Victron Solar Charge Controller Settings ===== * **Absorption voltage**: '''3.45 V per cell''' (≈13.8 V for 4S, ≈55.2 V for 16S) * **Absorption duration**: '''~1 hour''' * **Float voltage**: '''3.35 V per cell''' (≈13.4 V for 4S, ≈53.6 V for 16S) * **Re-bulk trigger**: '''Float voltage − 0.1 V''' (e.g., 13.3 V or 53.5 V) * **Smart Networking**: Uses '''VE.Smart Network''' to synchronize charger and shunt ===== 🔋 BMS Configuration (e.g. JK-BMS, Overkill BMS) ===== * Same absorption target: '''3.45 V per cell''' * Communicates with Victron via DVCC / RS485 (when available) * No float needed on BMS — voltage is managed via charge source ===== 📊 Victron Smart Shunt Configuration ===== To detect 100% SOC accurately: - Battery must reach '''absorption voltage''' - Current must fall below the '''tail current''' threshold - Voltage and current must meet conditions for a set '''charge detection time''' This ensures the shunt resets SOC to 100% correctly. ===== 🛠️ Configuration Summary Table (for 4S system) ===== ^ Component ^ Absorption Voltage ^ Duration ^ Float Voltage ^ Re-bulk Trigger ^ | Solar MPPT | 13.8 V | ~1 hour | 13.4 V | 13.3 V | | BMS (JK/Overkill) | 13.8 V | — | — | — | | Victron Smart Shunt | auto via MPPT | — | — | — | To apply this to a 48 V (16S) system, just multiply by 4: * 3.45 V × 16 = '''55.2 V''' Absorption * 3.35 V × 16 = '''53.6 V''' Float ===== 🧭 Why These Values? ===== * '''3.45 V/cell absorption''' ensures full charge and BMS balancing * '''Float at 3.35 V/cell''' avoids overcharging while keeping the system full * '''Re-bulk at float minus 0.1 V''' ensures charging resumes under load or SOC drop * Maximizes solar energy usage during partial loads or clouds ===== 💡 Implementation Steps ===== - Set absorption to '''3.45 V per cell''' and ~1 hour duration - Set float to '''3.35 V per cell''' - In Victron Expert Settings, set re-bulk trigger to '''−0.1 V''' - Enable '''VE.Smart Network / DVCC''' between charger, BMS, and shunt - Configure Smart Shunt charge detection: - Absorption voltage threshold - Tail current threshold - Charge detection duration - Scale voltages to match total series cell count ---- Let me know if you want a ready-to-use config file or screenshots for Victron SmartSolar or JK-BMS! ====== LiFePO₄ Charge Voltages Recommended by Andy (Off-Grid-Garage) ====== Andy from Off‑Grid‑Garage recommends the following voltage settings for a 12 V (4S) LiFePO₄ battery system. These values can be scaled for larger battery banks. ===== ⚡ Recommended Voltages ===== * **Absorption voltage**: '''13.6 V''' (≈ 3.4 V per cell) * **Float voltage**: '''13.6 V''' (maintains charge without stress) * **Re‑bulk trigger**: about '''0.1 V below float''' (≈13.5 V) This means: * Charge until the pack reaches 13.6 V * Hold (absorption) until current tapers off (tail current) * Maintain (float) at 13.6 V * Resume charging when voltage drops to 13.5 V ===== 🔋 Why These Voltages? ===== * 3.4 V per cell allows the BMS to balance cells without overcharging * Using the same value for absorption and float simplifies the process * This setup is ideal for daily cycling and prolongs battery life ===== 📏 Scaling to Larger Packs ===== For a 48 V (16S) LiFePO₄ system: * Absorption & Float voltage = '''54.4 V''' (3.4 V × 16) * Re-bulk trigger = around '''54.0 V''' (≈ 0.1 V per cell lower) * Tail current cutoff depends on charger/BMS settings ===== ✅ Summary Table ===== ^ Stage ^ Voltage ^ Purpose ^ | Absorption | 13.6 V (3.4 V/cell) | Bulk charging + cell balancing | | Float | 13.6 V | Maintain full charge | | Re-bulk | ~13.5 V | Restart charge when needed | ---- To apply these values to your specific system, just scale based on the number of cells in series (S). ====== JK SoC calculation 100% ====== {{:burim:image.png.44c966a3ad1f9a8489cfe48cadc32aec.png?400|}} ====== Voltage-related settings for EEL V4 / V5 racks (JK-BMS 16 s, EVE LF280K) ====== Below are two ready-to-load profiles: • Daily / long-life – keeps you at ≈ 90 % usable capacity for maximal cycle life. • Full-capacity / top-balance – run only when you need every last Wh or to re-sync SOC. ^ JK menu item (16 s) ^ Daily / long-life ^ Full-capacity / top-balance ^ Why ^ | Cell OVP | 3.55 V | 3.60 V | Below datasheet max 3.65 V, but high enough for 95–98 % SoC | | Cell OVPR | 3.50 V | 3.55 V | 0.05 V hysteresis prevents relay chatter | | Pack OVP | 56.8 V | 57.6 V | 16 × cell limit | | Charge CV (charger / inverter) | 55.2 V (3.45 V / cell) | 56.5 V (3.53 V / cell) | 3.45 V gives longest life | | Absorption time / tail current | 15–30 min or 0.05 C (≈ 14 A) | Hold until ≤ 0.02 C (≈ 6 A) | Lets 2 A active balancer catch up | | Float (optional for LFP) | 53.6 V (3.35 V / cell) | Off | Zero-float is fine on solar-only systems | | Balance-start V | 3.45 V | 3.48 V | Balancer sleeps below this | | Cell UVP | 2.85 V | 2.70 V | Adds margin above 2.50 V spec limit | | Cell UVPR | 2.90 V | 2.80 V | 0.05 V hysteresis | | Pack UVP | 45.6 V | 43.2 V | 16 × cell limit | | BMS power-off V | 2.70 V | 2.60 V | Leaves a small reserve for the MOSFET driver | | SOC-100 % reset V | 3.48 V | 3.58 V | Needed for accurate SOC on JK BD-series | === How to use the two profiles === • Daily – leave the inverter/charger at the “Daily” limits for routine cycling (≈ 13–14 kWh usable). • Monthly or after maintenance – switch to “Full-capacity”, let it absorb until tail-current ≤ 0.02 C and balancer quits, then drop back to “Daily”. === Temperature & current reminders === • Keep charge/discharge ≤ 0.5 C (≈ 140 A) for longevity, even though the V4 / V5 rack can tolerate short peaks. • Balancing only becomes effective above ≈ 3.45 V / cell. • Verify every sense lead and bus-bar is tight—loose sense wires can spoof the JK-BMS into false OVP trips. === Why these numbers? === • Cell specs: 3.65 V max / 2.50 V min per LF280K cell. • Longevity studies: best life around 3.45–3.50 V / cell. • JK-BMS best practice: 3.55 V OVP with 0.1 V total hysteresis is the community standard. ====== Victron MultiPlus-II 48/5000 (70 A charger) — recommended menu values for a 16 × EVE LF280K rack on a JK-BMS ====== These numbers line up with the two battery profiles I gave earlier. Use VE.Configure or VictronConnect → “Inverter/Charger settings” and enter the values exactly. All voltages below are battery-side (48 V nominal). ===== 1 · Charger tab ===== ^ Parameter ^ Daily / long-life ^ Full-capacity / top-balance ^ Comment ^ | Battery type / charge algorithm | Lithium (fixed) | idem | Keeps temperature-comp disabled and lets you type manual voltages.  | | Absorption (Bulk/CV) voltage | 55.20 V (3 .45 V /cell) | 56.50 V (3 .53 V /cell) | Matches JK “Charge CV” in the previous table.  | | Absorption time (fixed curve) | 0 h 30 m | until tail ≤ 0 .02 C (≈ 6 A) → 2 h max | Lets the 2 A active balancer finish | | Tail current (% of charger A) | 5 % (≈ 3 A) | 3 % (≈ 2 A) | Charger exits Absorb once current drops below this | | Float voltage | 53.60 V (3 .35 V /cell) | OFF | LFP can sit at zero-float; leave “Storage mode” OFF | | Repeated Absorption interval | 7 days | 14 days | Only matters if Float ≠ OFF | | Charge current limit | 60 A (≤ 0 .22 C) | 70 A (factory max) | Keeps charger heat down; raise only if you have plenty of AC input | Disable Equalise, Weak-AC, and Bulk-time limit. ===== 2 · Inverter tab ===== ^ Parameter ^ Recommended value ^ Why / relation to BMS ^ | DC input low shut-down | 45.6 V | 16 × cell UVP (2 .85 V /cell) — same “stop-discharge” point as the JK-BMS | | DC input low restart | 48.0 V | ≥ 2.4 V above shut-down avoids oscillation  | | DC input pre-alarm | 47.2 V | Gives ~30 s heads-up before shut-down | | Low SOC alarm (optional) | 10 % | If you use a Victron SmartShunt | | AES / ECO Search mode | OFF (for ESS) | LFP voltage is too flat for ECO to work well | | Output frequency & voltage | 50 Hz / 230 V (EU) | default | ===== 3 · General tab ===== • AC Input current limit – match your feeder breaker: e.g. 25 A for a 6 kW circuit. • Power-Assist – leave ON (default). • UPS mode – leave ON unless your loads can tolerate a short break. ===== 4 · DVCC / BMS integration (optional but ideal) ===== If you bridge the JK-BMS CAN port to VE.Can (or run Node-RED/Can-to-VE.Bus), enable DVCC on the GX device. The JK will then push live max-charge Voltage & Current, overriding the fixed numbers above during faults or cold temps. ===== 5 · Workflow ===== • Daily use – keep the charger on the “Daily” voltages. • Once a month – switch to the “Full-capacity” preset, start a Forced Absorption (VE.Configure → “Charger” → Start forced absorption), wait until tail current ≤ 0 .02 C and the JK balancer is quiet, then revert to “Daily”. ====== Long-life vs. full-capacity charging — what it really means for an LF280K pack ====== ⸻ ===== 1. What changes between the two profiles? ===== ^ Parameter ^ Long-life (≈ 90 % SoC, 3.45 V cell) ^ Full-capacity (≈ 100 % SoC, 3.60 V cell) ^ Why it matters ^ | Peak cell voltage | 3.45 V | 3.60 V | Every extra 0.10 V roughly doubles chemical stress, speeding SEI growth and lithium plating | | Stored energy per cycle (16 × 280 Ah pack) | ≈ 12.6 kWh | 14 kWh | Only ~10 % more energy because LFP’s curve is already flat above 3.45 V | | Cell expansion & heat | Minimal | Noticeable at the knee | Higher lattice strain at 3.60 V raises internal resistance over time | | Need for balancing | Monthly | Every cycle | Cells drift mainly when they sit above 3.5 V | ⸻ ===== 2. Cycle-life & calendar-life impact ===== ^ Metric (to 80 % state-of-health) ^ Long-life ^ Full-capacity ^ Notes ^ | Laboratory spec @ 0.5 C | — | 6 000 cycles between 2.5–3.65 V | Manufacturer’s published test window | | Field / fleet data | 8 000–12 000 cycles | 5 000–7 000 cycles | Real-world experience at ≤ 0.5 C | | Calendar fade after one year @ 25 °C | ~ 2 % (pack idles near 50 % SoC) | 7–10 % (pack parked full) | High-voltage storage accelerates corrosion | | Main degradation driver | Mechanical stress is low; cycling dominates | Continuous high-SoC corrosion & SEI repair | ⸻ ===== 3. Lifetime energy you actually get ===== • Long-life profile • 12.6 kWh × ≈ 10 000 cycles ≈ 126 MWh delivered • Full-capacity profile • 14 kWh × ≈ 6 000 cycles ≈ 84 MWh delivered Limiting the top charge sacrifices ~10 % each cycle but delivers ≈ 50 % more total energy over the pack’s life. ⸻ ===== 4. Practical trade-offs ===== ^ If you charge to 3.45 V … ^ If you charge to 3.60 V … ^ | + Best €/kWh over lifetime | + Extra ~1.4 kWh available each day | | + Less balancing time, cooler operation | – Must absorb longer at high V (more heat) | | + Pack can last 15–20 years in daily solar use | – Likely replacement after ~10 years under same duty | | – ~10 % less peak range / autonomy | + SOC gauge resets automatically every cycle | ⸻ ===== 5. Recommended long-term strategy ===== • Stay in long-life mode for routine cycling (solar ESS, backup, RV, boat). • Once a month or before a deep discharge • switch charger/BMS to the full-capacity preset, • absorb until tail current ≤ 0.02 C and the JK balancer is quiet, • then revert to long-life settings. • Avoid leaving the pack at 100 % SoC for more than a few hours; high-voltage storage ages LFP faster than cycling. With this regime your LF280K rack can realistically exceed 100 MWh of delivered energy and still retain > 80 % capacity after a decade—far better than an always-full strategy.