Начал разработку блока питания с управлением на atmega328.
На просторах интернета есть много подобных проектов, но нет устройства сочетающиго в себе хорошую точность, гибкость настройки и совмещающие в себе алгоритмы БП и зарядного/разрядного устройства.
Принцип - за основу берется ATX БП на TL494 (классика) и TL-кой управляет Atmega через ШИМ.
На данный момент построен опытный образец и пишется программа.

----------------
Возможно кто то предложит какие то интересные решения в плане управления TL494 , то есть не ШИМ, а что то еще ) , но только не ЦАП, усложнять не буду.
---------------
Пока разрешающая способность по регулировке напряжения составляет 0,02в (диапазон напряжения БП 3в - 21в) , при 10 битном режиме ШИМ
*****************************************************************************
Продолжение.
Не столько отнимает время написание кода, сколько думы об алгоритмах меню и управления.
Сначала думал сделать регулировки энкодером (как многие конструкции в интернете), но попробовав откинул эту идею, объясню - необходимо два энкодера, один ток второй напряжение, и к ним еще надо добавить кнопки - точно/грубо иначе энкодер с точностью 0.02в крутить от 0 до 20в до посинения, тоже и с током, и это займет 6 портов ! Плюс нужны кнопки управления зарядным. В общем никуда это не годится.
Сейчас (не говорю окончательно) я решил применить резистивный джойстик, алгоритм таков, при каждом включении контроллер калибрует джойстик (так как китайские поделги по параметрам имеют большой разбег) но это не беда, калибровка занимает 0.1 секунды, и далее алгоритм таков - большая часть хода вверх/вниз это регулировка тока точно 0.01А , джойстик вниз/вверх до упора это регулировка тока грубо допустим 0.1A , тоже самое право/лево для напряжения , при нажатии на джойстик (они с кнопкой на нажатие) наш БП переходит в режим зарядного устройства , джойстик ввер/вниз идет выбор типа аккумулятора (Pb ,AGM, Li) , а джойстик вправо/лево выбор зарядного тока , еще одно нажатие на джойстик - Старт заряда.
И используется для этого всего 3 порта.
Итого 1 джой.
Уже написан алгоритм управления , два ШИМ по 10 бит, стыкую с своим переделанным ATX.
Жду мысли господа.
Макет

**********************************
Продолжение.
В общем в железе (как и при расчетах) точность установки напряжения выходит около 0,02в , что для столь простой конструкции в общем не плохо, учитывая мощный ATX (350вт) дрейф напряжения у меня около +/-0.04в
Управление джойстиком более менее удобно, учитывая что он выполняет все функции.
Теперь перехожу к испытанию железа для зарядно/разрядного.

Схема вырисовывается примерно такая - atmega328 (168) или платка Arduino nano , одна LM324, два мосфета, немного обвязки.
Продолжение следует
********