Да, но над прошивкой еще поработаю. Не выдает внутреннее сопротивление АКБ. Чужой код править очень тяжело, тем более, что автор программист начинающий. Собираюсь написать свою прошивку, но нужно все продумать досконально. В прошивке автора занижено максимальное напряжением на АКБ и по этому критерию выключается зарядка, хотя МС зарядки еще бы добавила немного емкости в режиме постоянное напряжение. Окончание зарядки МС определяет по уменьшению тока при постоянном напряжении, а не по окончательному напряжению. Вывод, эта не "зарядка" и для теста АКБ тоже грубовата.
В результате экспериментов с TP4056 выяснил, что с момента установления на АКБ напряжения 4,2в и полного отключения зарядки (гаснет светодиод), вливается еще примерно 3...5% емкости в АКБ. Зачастую очень большая точность определения емкости не требуется, чаще нужно из имеющихся акб выбрать близкие по параметрам. Я таким образом набрал акб на две батареи для шруповерта. А вот зная на начальном этапе внутренне сопротивление акб , можно значительно сэкономить время.
Удалось добиться точности показаний напряжения до сотых вольта, независимо от опорного напряжения. Теперь 10 битный АЦП с точностью до 0,0048828125В. Как результат точное определение окончания зарядки и внутреннего сопротивления АКБ. В случает если есть какой-то разброс по батареям, то зарядка отключится если напряжение на батарее не изменяется в течение часа. Нужно учитывать, что методика определения R вн. АКБ не совсем научная, но для радиолюбительских целей достаточна.
Стабилизация I разрядного не обязательна. В своем самодельном тестере я делал замер напряжения на разрядном сопротивлении и делил на это сопротивление, получал ток и далее делал вычисления и сравнивал по даташиту. Мое устройство работает как обычная зарядка, а если нужно протестировать АКБ, я нажимаю кнопку. Вероятно и в вашем приборе такой алгоритм. Лучше применять ШИМ управление разрядным током, тогда, скачав даташит на аккумулятор можно выставить все необходимые значения для данного аккумулятор, разрядный и зарядный ток, напряжение максимальное заряда, минимальное напряжение разряда. Желательно контролировать температуру АКБ при быстром заряде. Кто-то писал, что это можно делать тестером. Да, можно и штаны через голову одевать, но с таким копеечным устройством точнее и удобнее. По сути это штатная зарядка с дополнительными функциями.
Под индикатор ОК я начал писал, но симуляция в Proteus не правильно работает, если есть транзисторы в разрядах, не проверить. Позже допишу, а так нужно опять выдирать свой индикатор ОА, чтобы проверить ОК и транзисторы поменять. Выкладываю финальную прошивку, схему, печатку с ОК, до 500мА, TP4056, LMV358. При тестировании АКБ выводит сопротивление "Onn" это Ом, "nnO" - милиОм. Т.к. печатка автора, то кто будет повторять добавьте резистор 10к в цепь RESET Atmega8. LMV358 ноги второго ОУ нужно включить как неиспользованный ОУ https://www.radiokot.ru/forum/viewtopic ... 21&t=76595. Подключаем перемычку от +5В к +Бат, при включении зажимаем кнопку, выводиться "CAL", затем первый ток. Меряем на разрядных сопротивления напряжение. По закону Ома вычисляем ток U/5 Ом и кнопкой выставляем ток тестера. Выключаем питание. Включаем и попадаем в коррекцию второго тока, поступаем также. Следующее включение, самый маленький ток. Выставляем его. Вкл/Выкл и попадаем в корректировку опорного напряжения, на индикаторе высвечиваются 000 или 4.90. Меряем +5В с LM7805, у меня 4.97В. И кнопкой выставляем свое напряжение, т.к. шаг коррекции множителя 0.1 то нажимать нужно много раз, пока не выставите напряжение LM7805. Все устройство готово, выключаем его и подключаем штатно, убрав перемычку. Каждая коррекция закольцована и если вы пропустили нужное значение, то кнопкой гоните дальше по кругу. Выставив нужно, выключаете, значение будет саписано в еепром. Контроллер работает на частоте 8 мГц от внутреннего RC генератора в асинхронном режиме с синхронизацией кварцем 32768 кГц.
Добавлено after 13 minutes 37 seconds: И еще, интересные наблюдения. Протестировал убитый АКБ с планшета 2750 mAh. При разрядном токе 164 мА емкость 2100 mAh, при токе 492 мА - 182 mAh, внутреннее сопротивление 322 милиОма.
Одноамперный вариант. Я поставил два резистора МЛТ-2 5.1 Ом. Поставил на зарядку Samsung 26C не свежий и разряженный 3.7В, внутреннее сопротивление 118 милиОм. Проверю после зарядки. Методика измерения внутреннего напряжения отличается от "научного". Изготовители АК замер делают на частоте 1 кГц и конечно на переменке показатели будут лучше.
IOPA4, Вам уже пора указывать для какой версии индикатора прошивка (ОА или ОК). Я уже спаял плату, а теперь в раздумье, какую прошивку зашивать под 1А и индикатор ОА. ОУ применил LM358 DIP8 (какой был). Пришли ME4057D - оказалось они отключают заряд аж при 4,4 вольта. Хорошо, что проверял на трех включенных последовательно Ni-MH АКБ. Кто будет заказывать ME4057 - берите с буквой А, я не доследил.
Для ОА и ОК. Под ОК нужно немного скорректировать плату, транзисторы NPN, хотя их вообще можно убрать. Порт Atmega можно нагружать до 40 мА, а современные индикаторы отлично светятся при токе 3-5 мА, уже неоднократно проверено. LM358 не пойдет, нужна LMV358 rail-to-rail, здесь был вариант печатки под LM358. ME4057D можно применить с опасением, что вы нормально откалибруете показания напряжения, в прошивке есть контроль напряжения до 4.2В. Обязательно задействуйте СЕ, этим выводом Атмега отключает зарядку при достижении 4.2В. Правда будет немного нарушен алгоритм зарядки (постоянным током, затем постоянным напряжением). Аккумулятор недоберет емкости и тест емкости будет занижен. Пока у меня аккумулятор в цикле (подключен к устройству), пытаюсь дописать тест сопротивления по даташиту - замер на частоте 1 кГц. И еще, в этой прошивке можно реализовать 8 ступеней зарядного тока - от 0 до 1А.
Добавлено after 45 minutes 48 seconds: Есть идея, как обмануть контроллер зарядки ME4057D. Все подключаемые выводы к GND ME4057D подключить не к общему проводу, а через диод Шоттки на 2А, анодом к микросхеме, а диод, который нужен для ТП4056 по цепи питания убрать, поставить перемычку. Если вы будете использовать один ток зарядки, например 1А, то можно поставить сопротивление. (V откл. контроллера - V макс батареи)/I заряда. Но нужно проверить, т.к. ток заряда постепенно падает и смещение будет уменьшаться, а диод шоттки даст постоянное смещение.
Кто уже сделал плату, то для ОК убирают резисторы R12, 14, 16, транзисторы VT2, 3, 4. Запаивают перемычки.
Насчет ME4057D не совсем понятно зачем включать диод между минусом АКБ и массой схемы, тогда и тестер АКБ будет работать неправильно. Попробовал поставить SS14 в разрыв между вывод 5 ME4057D и плюсом АКБ - начинают гореть оба светодиода и прекращается зарядка. LM358 заменил на MCP601 с исправлением платы. Прошил последней прошивкой. Проверить сегодня не успею (не впаял еще индикатор). Завтра на работу.
Вероятно это финальные версии для этой платы, нужно продумать все и сделать более расширенный девайс. Некоторые просят 1 ампер, но по даташиту номинальный ток разрядки 0.2С. В формате 18650 я таких не встречал. Разное минимальное напряжение разряда. Допустим быстрый заряд, но емкость в итоге меньше. Заряженный и чуть разряженный АК имеет разное Ri, не говоря о температуре. Вывод, универсальный прибор сделать не возможно, но повторюсь, для "быстрой" оценки качества АК применим.
Насчет ME4057D не совсем понятно зачем включать диод между минусом АКБ и массой схемы, тогда и тестер АКБ будет работать неправильно. Попробовал поставить SS14 в разрыв между вывод 5 ME4057D и плюсом АКБ - начинают гореть оба светодиода и прекращается зарядка. LM358 заменил на MCP601 с исправлением платы. Прошил последней прошивкой. Проверить сегодня не успею (не впаял еще индикатор). Завтра на работу.
Смысл с включением диода в том, что потенциал земли подымется на 0.2-0.4 вольта и контроллер станет мерить на АК на 0.2-0.4 вольта больше, т.е. 4.6В для него будет как 4.2В. А диод в цепи Vbat бесполезен.
Вывод 1 ME4057 для измерения температуры и в данной схеме не используется, а сидит на массе. А в последовательной цепи разве имеет значение где стоит диод в плюсе или минусе АКБ? Впаял в минус - ничего не изменилось.
Ну тогда использовать нельзя, т.к. последняя зарядка идет без контроля напряжения МК, а непосредственно микросхемой зарядки. Можно, конечно же дописать, чтобы и последняя зарядка делалась под управление МК.
Если управение зарядкой идёт от контроллера, тогда накой черт специальный чип? который можно заменить простым стабилизатором тока на одном транзисторе.
Если нет контроля напряжения со стороны МК, то как определяется, что заряд окончен, и пора начинать разряд?
Алгоритм вы наверное видели у автора. Немного пропущу, а далее меряем напряжение на АК, если от заряжен, то тестируем на сопротивление и емкость, если он недозаряжен, то подзаряжаем его до 4.2В и тестируем на емкость, т.е. разряжаем до предельного минимального значения 2.75В (высасываем всю емкость и подсчитываем). Все это под контролем МК, а далее если АК литий то ставим на зарядку и зарядка уже без контроля МК, если никель, то вообще не заряжаем, т.к. эта МС не подходит для никелевых АК.
Вот удалось все объединить в один проект, а то выходит ерунда, подправил в одном, нужно подправлять в другом. В итоге баги. Сейчас все вычистил и проверил. Есть такой же пакет с ОА и ОК без транзисторов и сопротивлений. Доделаю, выложу. Плата одна, что ОК, что ОА. Может, кто знаком с Proteus могут потестировать.
Добавлено after 2 hours 56 seconds: Протестировал древний аккумулятор Samsung C26 ёмкость 2750, внутреннее сопротивление не более 100 мОм. Приставка выдала 206 миллиОм, емкость 2.13 Ah при токе разрядки 985 мА, в дашите рекомендуют 0.2С, т.е. 550 мА. Нужно перепаять резисторы на 1А, 600 мА и 300 мА. Вполне живой аккумулятор.
Вы какие резисторы коррекции имеете ввиду? Переменник любой.
На принципиальной схеме указано 4 резистора (Rкор). Они же помечены в SprintLayout звездочками. Я не пойму, какой там номинал. Он нигде не указан. Подскажите пожалуйста! Спасибо!
Не обращайте на них внимания, в этой версии прошивки есть коррекция токов, не совсем токов, а показаний. Затем эти значения применяются в формулах. Резисторы, которые параллельно, то не устанавливать, которые последовательно, то перемычка или R0. При этом цифры будут кривые. У меня при номиналах 20к, 47к, 470к, токи 957, 569 и 80 мА. Т.е. выходит, чтобы подобрать ток 1А, то резистор, который параллельно 20к, подобрать (100к, 120к, 150к.....). А вот к резистору 47к последовательно подобрать (от 3.3 до 10к). Лучше это делать с помощью многооборотного резистора. Т.е. к резистору параллельно 20к припаиваете цепочку из 100к постоянный и 1М подстроечный и подгоняете ток. К резистору 47К последовательно подпаиваете подстроечный на 10к и выставляете ток. Затем измеряете полученные номиналы и впаиваете постоянные резисторы. Если не добились точных показаний, то варьируете параллельными и последовательными резисторами. Скажу вам, что это очень геморрно. При токе в 1А, 0.5А все начинает ужасно греться. Лучше пусть будут кривые цифры.
Допаял и я тестер АКБ. С прошивкой от Сб май 19, 2018 очень тяжело настроить напряжение - плохо реагирует на кнопку. К тому же максимальное напряжение 4,83 вольта (у меня 4,99). Токи настраиваются нормально. С прошивкой от Вс май 20, 2018 при калибровке на табло 900, а реальный разряд включается третий (40). Индикатор у меня с общим анодом.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения