Hello.
If the battery is inserted or removed during communication between the host and the battery, SOC and SOH may become 0 (return from the gauge IC) in extremely rare cases.
Battery existence is checked every 300msec. After battery existence is recognized, the following routine is executed.
Send serial number read command, receive serial number→450μsec WAIT→Send temperature read command, receive temperature (repeated 5 times with 450μsec WAIT in between)→450μsec WAIT→Send voltage read command, receive voltage (repeated 5 times with 450μsec WAIT in between) (repeated 5 times with 450μsec WAIT in between) → 450μsec WAIT → send cycle count read command, receive cycle count (repeated 5 times with 450μsec WAIT in between) → 450μsec WAIT → send SOC read command, receive SOC (repeated 5 times with 450μsec WAIT in between) → 450μsec WAIT → SOC read command, receive SOC (repeated 5 times with 450μsec WAIT in between) → 450μsec WAIT → SOC receive SOC (repeated 5 times with 450μsec WAIT in between) 450μsec WAIT→Send SOH read command, receive SOH (repeated 5 times with 450μsec WAIT in between) → 450μsec WAIT
At this time, SOC and SOH may be zero. (More often happens when SOH=0)
The above routine is only for the first time, and each command is executed only once thereafter.
When the battery is inserted or removed, the host also turns on or off another circuit at the same time, so it is possible that noise is being generated.
I suspect a communication error due to noise, but is there any other cause for this phenomenon (SOC and SOH read as 0)?