Как программно остановить зарядку при достижении определенного уровня заряда?
Процесс заряда контролируется отдельным контроллером и никак не управляется программно. Без внешнего устройства, разрывающего цепь не обойтись.
Надо запускать энергозатратный процесс, чтобы батарее не хватало зарядного тока.