The cell module circuit includes a 3A fuse connected immediately to the module's positive power supply.
The fuse has a very low internal resistance (about 50 mOhm)
However, this resistance becomes a problem during balancing, because the balancing current of 1A causes a voltage drop across the fuse of about 50mV.
This drop compromises the cell voltage measurement during balancing, compromising the regulation logics: because the microcontroller detects a lower voltage than the real one of the cell!
How to solve this challenge?
Could I remove the fuse? No...it could be dangerous in case of short circuit!
So I immediately tried to find a way to calculate this drop and compensate it with a mathematical formula in the software.
But this choice proved to be very complex due to the many variables involved to be managed:
different fuse resistance for each board, user variable balancing current, balancing resistors with different tolerances, different balancing voltage between Lifepo4 and Lion ... etc.
Too inaccurate: another solution had to be found.
After a few days of reasoning I had a simple thought:
I have a microcontroller that manages the balancing circuit and I have a mosfet that can switch quickly!
So why not periodically interrupt the balancing, to acquire the real voltage of the cell?
This graphic shows the logic I have implemented in the software:
Every 5000 ms the balance is stopped for 50 ms.
In the middle of this time a voltage reading is taken, which without the fuse voltage drop corresponds exactly to the real cell voltage!
I am very satisfied with this simple solution that I have found.