You won't get a consensus on this.
Here's my take - step 0 is, you need to decide how high **you** want to define your
"daily usage cycling 100% Full SoC" (aka level D)
as opposed to the batt mfg
"theoretical / vendor 100% Full SoC" (aka level B)
If you are trying to define D as a CC-only no-CV profile, then the setpoint will need to vary, depending on the C-rate of the charge current
Measure voltage very precisely after a couple hours isolated resting, use that as an objective proxy for SoC,
as opposed to the more usual
"hold Absorb/CV at X voltage until endAmps (trailing amps declines to Y C-rate)"
which gets to the same SoC point every time regardless of a low 0.05C or a high 0.35C current
At high charge rates vs low ones, the same stop-charge voltage (CC-only no-CV) will deliver different SoC results, higher the rate lower the SoC.
At super low charge currents, below the usual endAmps range say .005C, there is a danger
of overcharge even holding voltage at 3.4Vpc. Our Cpt Pat recommends using an Ah-counter stop-charge approach in that scenario.
Also, in case this isn't complicated enough, some users have experienced a "memory effect", reduced capacity from repeatedly stop-charging at the same level D, earlier/lower-SoC than the vendor level B spec, never getting to the latter for many months and years.
It is recommended by some to therefore either go to level B every time, or,
my reco is to do so once or twice a month, or every 20-25 level-D cycles if not cycling every day.
Next, I would not use a single
layer of defence BMS to handle charge control.
IMO there needs to be a failsafe layer of HVC protection in place for when the normal charge regulator
Of course, **if** you rely on your BMS to handle balancing, and it only does so in the last stage of charging, you need to ensure that there is enough time to get the balancing finished, given the fact that the usual balancing current available is very very low and slow, often under 1A.
Or occasionally bring the cells back to perfect balance using other equipment
, manually or otherwise.