I am charging a battery using constant current. This battery can have voltages from 2.5V to 3.6V. I have characterised the battery, as in found the voltage Vs SOC (state of charge) for the battery. There is only 1 problem. Internal resistance of batteries.
If you charge the battery up to 3.6V, you will loose some volts to the internal resistance, in my case this goes down to 3.4V. Then for some reason, when I discharge the battery to 2.5V and then begin to charge it, it immediately rises to 2.9V.
My data suggests that chagrining the battery from 2.5 to 3.6V results in 100% state of charge. ie 2.5V is 0% SOC and 3.6 SOC.
When charging, the range is 2.9-3.6V which would imply 2.9 = 0% SOC, 3.6V = 100% SOC
When discharging, the range is 2.5-3.4V which would imply 2.5V = 0% SOC, 3.4V = 100% SOC
I know that some people will suggest that you must charge the batteries using constant voltage such that you could "fully" charge the battery say after 3.6V. The problem with this is that the batteries are charged using PV cells which means I am employing an MPPT algorithm to adjust the voltage to deliver the most power to the batteries so this is not an option.
How exactly can I overcome this problem? How do I properly change the look up table to accurately estimate the SOC and account for the internal resistance?