ARDUINO Управление током зарядки аккумулятора на tp4056 при помощи ардуино

Real_Tock

✩✩✩✩✩✩✩
8 Май 2021
7
0
Всем привет, недавно в голову пришла идея сделать большую зарядку для li-ion аккумуляторов типа 18650. Закупился платами tp4056 и сначала думал сделать простую зарядку без регулировки тока, но потом подумал, что будет круто менять ток зарядки. Так вот, не могу понять как настроить правильно схему, чтобы все работало. Насколько я понял, меняя напряжение на выходе выходе PROG микросхемы - меняется ток зарядки, но не могу врубиться как все это грамотно сделать с ардуино. Подключал транзисторы, вертел в руках, но пока не понимаю, что делаю не так.
P.S. Я не мастер в электронике, поэтому помогите, пожалуйста со схемой. Все просто, крутя какие-нибудь крутилки на ардуино, ток зарядки на модуле меняется.
Спасибо заранее за помощь:)
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,369
965
58
Марий-Эл
Ток заряда задаётся на выводе PROG с помощью резистора.
Так же при заряде аккумулятора с этого вывода можно снимать напряжение и по нему определять степень заряда аккумулятора.
Если менять нужно ток заряда, ставите электронный резистор и управляете им.
Можно поставить несколько резисторов и подключать их с помощью реле. Ток заряда и необходимое сопротивление на разные типы аккумуляторов есть в даташите на микросхему. Можно пробовать переключать их полевиками.
 

Real_Tock

✩✩✩✩✩✩✩
8 Май 2021
7
0
@Эдуард Анисимов, я для того и начал эту тему, чтобы найти максимально простое, компактное и экономичное решение, тем более у ардуинки пинов не бесконечно много. К тому же еще я думал сделать измеритель напряжения на каждом аккумуляторе. Тогда портов вообще не останется)
 

poty

★★★★★★✩
19 Фев 2020
3,205
931
При наличии обратной связи можно использовать в качестве задающего резистора обычный JFET.
Но согласен с мнениями ранее - для ответа на вопрос нужно хотя бы посмотреть "размер бедствия": как Вы собираетесь одновременно заряжать "много" аккумуляторов?
 

Real_Tock

✩✩✩✩✩✩✩
8 Май 2021
7
0
Чтобы стало яснее прикрепляю фотографию поделки на данный момент. Справа наверху я оставил место как раз для мозгов сия чуда. Предполагалось заряжать и управлять сразу 12 акумами, но потом понял, что на ардуине просто не хватит пинов, поэтому планируется управлять хотя бы половиной, а остальные слоты останутся про запас. @poty, заинтересовал метод управления током при помощи JFET транзистора, но пока не понимаю как это будет выглядеть, поэтому прошу нарисовать схему, чтобы стало ясно. К каждому акуму только два пина (один для контроля тока зарядки, второй для измерения напряжения)
 

Вложения

Геннадий П

★★★★★★✩
14 Апр 2021
1,958
626
44
@Real_Tock, Как обычно, есть два пути: простой и с ограничениями (как у вас) и сложный, но с практически любыми хотелками.

Стандартная схема регулируемого ограничителя тока:

1716903599163.png

В зависимости от напряжения Uвх изменяется ток на Rн.
Есть чуть усложненные схемы, когда дополнительный усилитель напряжения ставится в разрыв между шунта R1 и отрицательным входом ОУ. Это позволяет использовать более широкий диапазон напряжений на Uвх.
 

poty

★★★★★★✩
19 Фев 2020
3,205
931
@Real_Tock, "схемой" это назвать сложно. За примерами - погуглите: JFET в качестве управляемого напряжением резистора. Фактически это JFET, стоком и истоком включенный вместо резистора установки тока (подключенного к пину ISET). Подаём напряжение на затвор-исток и получаем нужное сопротивление. Есть ограничения: малый диапазон управляющего напряжения и нелинейность. Для того чтобы не заморачиваться можно воспользоваться обратной связью (измерением тока + управление затвором, потенциально это можно сделать на МП с помощью аналоговых входов и выходов с поддержкой ШИМ). Но, возможно, готовые резисторы, управляемые напряжением, подойдут Вам лучше.
потом понял, что на ардуине просто не хватит пинов
Для этого есть аналоговые ключи, от одноканальных 74LVC1 до многоканальных CD4051 (на 8 каналов, есть и на большее количество). Ими, кстати, можно
поставить несколько резисторов и подключать их
с помощью этих аналоговых ключей. Их множество в разных конфигурациях, с разными интерфейсами управления.
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,369
965
58
Марий-Эл
Не надо никаких JFET. Не крутите мозги человеку.
Просто электронный резистор и всё.
Например такой X9C103.
А заряжать можно столько аккумуляторов, сколько есть входов АЦП.
Если на управление резисторами поставить мультиплексор, а на аналог аналоговый мультиплексор, тогда и на ардуине можно собрать.
 

Real_Tock

✩✩✩✩✩✩✩
8 Май 2021
7
0
@Геннадий П Спасибо большое за схему, теперь все немного яснее, только хотел спросить насчет резисторов. Какого номинала брать резистор R1. Rн остается таким же как и был и обеспечивает 1 ампер зарядки при полностью открытом транзисторе, а что делать с R1?

@Эдуард Анисимов На X9C103 дорого, если я захочу управлять всеми акумами мне это в целое состояние обойдется, а транзисторы стоят копейки
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,958
626
44
Например такой X9C103.
Нужно не инкрементальный, а с управлением по шине, чтобы по таблице выбирать нужное сопротивление и соответственно ток. Например AD5245 по I2C. Но с ним нужен расширитель портов, т.к. у него только один вывод выбора адреса.
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,958
626
44
А какие ещё интересные микросхемы знаете?
Да я особо не запоминаю. Каждый раз по каталогам шарюсь в поисках нужных деталей. :)

PS: AD5160 по SPI шине наверное попроще в управлении будет, но они вроде как подороже
 

poty

★★★★★★✩
19 Фев 2020
3,205
931
I2C устройства неудобно использовать, так как на одну шину можно поставить только две
(если не использовать мультиплексоры шины или soft I2C). В этом смысле SPI и X9C103 удобнее, имеют выбор чипа.
Вариант с аналоговыми мультиплексорами получается дешевле, но, конечно, количество деталей получается больше. Ну, и получить такую дискретность, как в аналоговых резисторах, не получится (а надо?).
Схема с JFET может работать и без обратной связи (после предварительной калибровки) и нет надобности делать из JFET источник тока, как предложил @Геннадий П. Но - да, это потребует экспериментов и опыта разработки аналоговых цепей. Основной проблемой вижу отсутствие DAC в нано (по факту либо придётся использовать ШИМ, либо ставить внешний). Наверное, это получится самый сложный вариант для разработки, но в реализации будет сравним с аналоговыми мультиплексорами.
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
540
Saint-Petersburg, Russia
задача подразумевает что все аккумы заряжаются одновременно и одинаковым током чтоль? А то может проще из этой кучи настроить резистором 4 модуля на один ток, 4 на другой и т.д., втыкаешь в разъём с нужным током да и всего делов. Ардуина нафиг не нужна.
Врят ли вам понадобится больше 3 вариантов выбора тока, эти модули и так слишком слабенькие.
Если добавить на каждый модуль по перемычке чтобы получить два значения зарядного то вообще вариантов с избытком на все случаи.
 

vortigont

★★★★★★✩
24 Апр 2020
1,022
540
Saint-Petersburg, Russia
На каждый аккум нужна своя микросхема и свой токо задающий резистор
я об этом и говорю - первые 4 микросхемы имеют резистор на 2А (условно), вторые четыре на 1А, и т.д. Обычно эти платы уже идут с перемычками, закоротив которые можно менять ток заряда, если перемычку вывести на внешний джампер, то одну плату можно переключать на 2 номинала тока. Но это перебор КМК. Смотря сколько акков нужно заряжать одновременно именно одним током.