This circuit is developed from conventional rail splitter balancing circuits by me in the refurb of a set of Owon oscilloscope batteries on my bench - these were not balanced as supplied, where failing cells produced early loss of capacity.
The natural deadband is a 'defect' of any linear voltage follower, and is used to advantage here.
The circuit, as published and maintained on VE3UTE service, is in the public domain. Note that the .plt file will not plot in LTspice installations that do not support unicode text. The OP amp used there has an Iq ~50uA, similar to TSX631 parts actually used in my battery refurbs.
You will need to breadboard and test any circuit that you use in this or similar applications. Familiarity with the effect of gain, offsets, tolerances and noise should be examined. Ground plane layout is advisable.
All measurements attempted on high-z nodes require care to take loading effects into account - best to avoid them where possible - there are plenty of low-z nodes or ~0V branches that are less succeptible to measurement error. It's slow DC, but scope it anyways to avoid surprises.
Note that some of the ICs listeded are reverse polarity protected up to ~18V by their spec sheet. In applications where cells may be removed or inserted in a string, or where fault interruptors may function, the single-fault abnormal conditions must be examined carefully.
A battery is always live and ready to screw you around. R5 is there for a reason - silicon shorts on a battery are no fun.
RL