Problem Description
- Case #008
- Fault Name: SOC Stuck at 100%
- The battery is actively discharging and powering the house/loads, but the State of Charge (SOC) on the inverter and the battery screen is stuck at 100%. It does not drop over time. Eventually, the battery suddenly shuts down without any low-battery warning, catching the user completely off guard.
Symptoms
- Total voltage is dropping slowly, but SOC remains pinned at exactly 100%.
- The inverter registers the load (e.g., drawing 2kW), but the BMS app shows a discharge current of 0A.
- Rebooting the inverter does not refresh the SOC value.
Possible Causes
- Broken Current Sensor (Shunt/Hall): The BMS cannot detect the discharge current due to a disconnected or failed current shunt / Hall effect sensor.
- Current Below Detection Threshold: The house load is extremely small (e.g., 0.5A), falling below the BMS "Zero-Current Deadband", so the BMS ignores it as background noise.
- BMS Capacity Parameter Error: The battery's rated capacity was mistakenly set to an absurdly high number (e.g., 10000Ah instead of 100Ah), making normal consumption visually imperceptible in percentage.
- Firmware Algorithm Freeze: The BMS processor has frozen its Coulomb counting logic, requiring a hard reset.
How to Verify
The quickest way to expose this fault is to apply a heavy load (like an electric kettle or microwave). Clamp a DC current meter on the main battery cable to read the physical current. Compare this physical reading to the "Real-time Current" displayed on the BMS PC software.
Required Tools
- DC Clamp Meter (Crucial for this test)
- BMS PC Software & Communication Cable
- Heavy appliance (to create a large discharge current)
Normal Values
- BMS software current reading MUST match the clamp meter reading (within ±1A tolerance).
- SOC should drop by roughly 1% every few minutes under a 50A discharge.
- Clamp meter reads -45.0A (discharging), but BMS software insists the current is 0.0A.
- BMS parameter "Design Capacity" reads something illogical like 65535 Ah.
Diagnostic Procedure
- Step 1: Turn on a 2kW load. Check the Inverter screen for discharge current. If Inverter sees it but BMS doesn't, it's a BMS sensor issue.
- Step 2: Log in to the BMS software. Look at the real-time current. If it reads 0A while heavily discharging, the BMS has gone "blind".
- Step 3: Power off and open the battery case. Locate the Shunt (a metal block) or Hall Sensor (a ring around the cable). Check if its thin signaling wires are disconnected or broken.
- Step 4: If the current reads perfectly fine in the software but SOC still won't move, check the "System Setup" page. Verify the "Total Capacity" is correctly set to 100Ah (or your specific model's capacity).
- Step 5: Perform a full restart of the BMS.
Root Cause
Unlike old Lead-Acid batteries that guess capacity based purely on voltage, Lithium batteries (especially LFP) have an extremely flat voltage curve. Therefore, the BMS relies exclusively on "Coulomb Counting" (integrating current over time) to calculate SOC. If the current sensing wires break, the BMS sees "0A" flowing out. Mathematically, 100% minus 0 = 100%. The BMS is blind to the fact that energy is draining until the cells hit the absolute low-voltage death limit.
Corrective Actions
- Hardware Fix: Re-solder or re-crimp the broken tiny wires connected to the current shunt or replace the faulty Hall effect sensor.
- Software Calibration: If it's a micro-current issue (phantom load), lower the "Zero-Current Deadband" in the BMS settings from e.g., 1A to 0.2A, so the BMS counts small standby consumptions.
- Reset Capacity: Correct any corrupted total capacity settings in the BMS and do a full 0-100% charge cycle to reset the Coulomb counter.
⚠ ⚠️ Do not trust the 100% SOC display if you suspect a frozen value. A battery showing 100% but sitting at 48.0V is effectively empty and may shut down your critical backup loads at any second.
💡 💡 “A blind BMS makes for a lying SOC.” Whenever an LFP battery's SOC refuses to change, 9 times out of 10 it is a Current Sensing Issue. Always bring a DC clamp meter to the site! It is the only way to instantly prove whether the problem is physical (the sensor is broken) or software-based (the algorithm is frozen).