Бьюсь об заклад - вы такого не встречали. Или хотя бы половину требования: заряжать все банки до максимума. Такого вы тоже не найдёте.
А ваш BMS что делает? Он отсекает зарядный ток как только напряжение любой банки достигнет порогового. При этом все остальные банки останутся недозаряженными или недоразряженными... То есть, ёмкость батареи равна ёмкости самого малого элемента * кол-во последовательно соединённых элементов.
Что делать и кто виноват?
Ну, виноваты кетайцы. Не придумали пока. А что делать? Надо подбирать банки в секции так, чтобы суммарные ёмкости всех секций были одинаковы.
Для этого надо протестить все банки, записать их ёмкости в табличку и запустить прогу, которая их отсортирует. В моём случае это 8 7-баночных секций.
Теперь вопрос в студию: как будем сортировать? Чем?
