Измеритель емкости li ion аккумуляторов своими руками

Делаем тестер литий-ионных батарей c помощью Ардуино

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

Поэтому сегодня мы покажем вам, как сделать Li-ion измеритель емкости, используя микроконтроллер Ардуино.

Шаг 1. Всё, что нам нужно

Ниже перечислим комплектующие для проекта:

  1. PCB (печатная плата);
  2. Силовой резистор;
  3. Резистор 10К;
  4. OLED (светодиодный дисплей)
  5. Ардуино
  6. Зуммер
  7. Разъемы для подключения винтовых клемм
  8. 40-контактный разъем/коннектор (или меньше)
  9. Транзистор IRFZ44N

Шаг 2. Что такое емкость?

Прежде чем делать наш Ардуино тестер, мы должны немного разобраться в том, что такое емкость. Единица для емкости — мАч или Ач.

Если вы посмотрите на любую литий-ионную емкость (см. фото выше), то на неё будет упомянута ее емкость — на рисунке 2600 мАч.

В основном, это означает, что если мы подключим нагрузку на нее, которая составит 2.6A, эта батарея будет работать в течение часа. Точно так же, если у меня есть аккумулятор емкостью 1000 мАч и нагрузка 2A, то он длительность составит 30 минут. Примерно это означают мАч или Ач.

Шаг 3. Практически невозможно

Но вычисление таким образом практически невозможно, потому что все мы знаем V = IR. Первоначально, напряжение батареи будет 4,2 В, если мы будем поддерживать постоянное сопротивление, будет протекать некоторый ток, протекающий через нагрузку. Но с течением времени напряжение батареи будет уменьшаться, а также наш ток. Это сделает наши вычисления намного сложнее, чем ожидалось, потому что нам нужно будет измерить ток и время для каждого раза.

В таком случае выполнения всех расчетов практически невозможно, поэтому здесь мы будем использовать Ардуино, которая будет измерять текущее время и напряжение, обрабатывать информацию и, в конце концов, давать нам пропускную способность.

Шаг 4. Наша схема

У нас был SPI OLED, который валялся без дела, поэтому мы преобразовали его в I2C и использовали. Если вы хотите узнать, как преобразовать SPI в OLED, то мы обязательно это разберем в ближайших уроках.

Схему проекта смотрите выше. И вот как работает эта схема. Сначала Arduino измеряет падение напряжения, создаваемое резистором 10 Ом, если выше 4,3 В, тогда она отключит высокое напряжение дисплея MOSFET, если оно меньше 2,9 В, оно отображает низкое напряжение и выключает MOSFET, а если находится между 4,3 В и 2,9 В, то она включит MOSFET. Батарея начнет разряжаться через резистор, начнется измерение тока, используя закон Ома. Ардуино также использует функцию Миллиса для измерения времени, а произведение тока и времени дает нам пропускную способность.

Шаг 5. Скетч для Ардуино

Вы можете взять код или скачать его ниже:

Шаг 6. Финальный результат

В итоге после тестирования вы можете начать процесс пайки на печатной плате. Рекомендуем использовать коннекторы, так как позже вам может понадобятся дисплей OLED или Arduino для другого проекта.

После пайки, когда вы подключаете мощность, всё может работать не так, как ожидалось. Возможно, потому что мы забыли добавить, так называемые, Pull Up резисторы на интерфейсе шины I2C, поэтому мы вернулись к коду и использовали встроенные резисторы Ардуино.

Теперь Ардуино тестер литий-ионных батарей работает отлично.

Источник

Простой тестер ёмкости аккумуляторов на Arduino

В последнее время я начал замечать, что мой смартфон стал разряжаться быстрее. Поиски программного «пожирателя» энергии плодов не принесли, поэтому стал задумываться, не пришло ли время заменить АКБ. Но абсолютной уверенности в том, что причина в батарее не было. Поэтому прежде чем заказывать новый аккумулятор решил попробовать измерить реальную емкость старого. Для этого было решено собрать простой измеритель емкости АКБ, тем более что идея эта вынашивалась уже давно – уж очень много батареек и аккумуляторов окружает нас в повседневной жизни, и было бы неплохо иметь возможность время от времени тестировать их.

Читайте также:  Как сделать тушью своими руками

Сама идея, лежащая в основе работы устройства, крайне проста: есть заряженный аккумулятор и нагрузка в виде резистора, нужно лишь измерять ток, напряжение и время в ходе разряда АКБ, и по полученным данным рассчитать его емкость. В принципе, можно обойтись вольтметром и амперметром, но сидеть за приборами несколько часов удовольствие сомнительное, поэтому намного проще и точнее можно сделать это используя регистратор данных. Я в качестве такого регистратора использовал платформу Arduino Uno.

С измерением напряжения и времени в Arduino проблем нет – есть АЦП, но чтобы измерить ток нужен шунт. У меня появилась идея использовать сам нагрузочный резистор в качестве шунта. То есть, зная на нем напряжение и предварительно измерив сопротивление, мы всегда можем рассчитать ток. Поэтому простейший вариант схемы будет состоять лишь из нагрузки и АКБ, с подключением к аналоговому входу Arduino. Но было бы неплохо предусмотреть отключение нагрузки по достижению порогового напряжение на батарее (для Li-Ion это обычно 2,5-3В). Поэтому я предусмотрел в схеме реле, управляемое цифровым пином 7 через транзистор. Конечный вариант схемы на рисунке ниже.

Все элементы схемы я разместил на кусочке макетной платы, которая устанавливается прямо на Uno. В качестве нагрузки использовал спираль из нихромовой проволоки толщиной 0,5мм, имеющей сопротивление около 3 Ом. Это дает расчетное значение тока разряда 0,9-1,2А.

2. Измерение тока

Как было сказано выше ток рассчитывается исходя из напряжения на спирали и её сопротивления. Но стоит учесть, что спираль нагревается, а сопротивление нихрома довольно сильно зависит от температуры. Чтобы компенсировать ошибку я просто снял вольт-амперную характеристику спирали, используя лабораторный блок питания и давая ей прогреться перед каждым измерением. Далее вывел в Excel уравнение линии тренда (график ниже), которое дает довольно точную зависимость i(u) с учетом нагрева. Видно, что линия не прямая.

3. Измерение напряжения

Поскольку точность данного тестера напрямую зависит от точности измерения напряжения, я решил уделить этому особое внимание. В других статьях уже неоднократно упоминали метод, позволяющих наиболее точно измерять напряжение контроллерами Atmega. Повторю лишь вкратце – суть состоит в определении внутреннего опорного напряжения средствами самого контроллера. Я пользовался материалами данной статьи.

Код не представляет из себя ничего сложного:

Каждые 5 секунд данные о времени, напряжении батареи, токе разряда, текущей емкости в мАч и ВтЧ, а также напряжении питания передаются в последовательный порт. Ток рассчитывается по полученной в п. 2 функции. По достижении порогового напряжения Voff тест прекращается.
Единственным, на мой взгляд, интересным моментом в коде я бы выделил использование цифрового фильтра. Дело в том, что при считывании напряжения значения неизбежно «пляшут» вверх-вниз. Сначала я пытался уменьшить этот эффект просто сделав 100 измерений за 5 секунд и взяв среднее. Но результат по-прежнему меня не удовлетворил. В ходе поисков я наткнулся на такой программный фильтр. Работает он похожим образом, но вместо усреднения он сортирует все 100 значений измерений по возрастанию, выбирает центральные 10 и высчитывает среднее из них. Результат меня впечатлил – флуктуации измерений полностью прекратились. Я решил использовать его и для измерения внутреннего опорного напряжения (функция readVcc в коде).

Данные из монитора последовательного порта в несколько кликов импортируются в Excel и выглядят следующим образом:

Читайте также:  Pod mod своими руками

Далее легко построить график разряда АКБ:

В случае с моим Nexus 5 заявленная ёмкость аккумулятора BL-T9 – 2300 мАч. Измеренная мной – 2040 мАч при разряде до 2,5 В. В реальности контроллер вряд ли позволяет сесть батарее до такого низкого напряжения, скорее всего пороговое значение 3В. Ёмкость в этом случае 1960 мАч. Полтора года службы телефона привели к просадке емкости примерно на 15%. С покупкой новой АКБ было решено повременить.
С помощью данного тестера было разряжено уже несколько других Li-Ion аккумуляторов. Результаты выглядят очень реалистично. Измеренная емкость новых АКБ совпадает с заявленной с отклонением менее 2%.
Данный тестер подойдет и для металл-гидридных пальчиковых аккумуляторов. Ток разряда в этом случае составит около 400 мА.

Источник

Измеритель емкости Li-Ion и Li-Pol аккумуляторов

Вокруг нас становится все больше и больше мобильной электроники. Как правило, в качестве источников питания в ней применяются Li-Ion аккумуляторы. Аккумуляторы имеют срок эксплуатации, как правило, гораздо меньше, чем срок эксплуатации непосредственно электроники и их иногда приходится менять. Поэтому, проблема оценки реальной емкости аккумулятора очень актуальна. Это нужно и для проверки новых, так как имеются производители аккумуляторов с очень низким качеством. И для оценки остаточной емкости бывших в употреблении аккумуляторов, например для применения в любительских устройствах собственного изготовления. Оценка емкости при заряде или по внутреннему сопротивлению часто не дает реального результата. Правильно можно оценить емкость только в цикле разряда, причем с разрядным током, близким по значению к току, на котором предполагается использовать данный аккумулятор. Имеются китайские устройства подобного назначения, но они либо не умеют отключать нагрузку по снижению напряжения, либо достаточно дороги, да и вообще покупать такое не спортивно если можно собрать самому.

В статье описано устройство позволяющее решить данную проблему. Оно измеряет емкость методом подсчета энергии, выданной аккумулятором в нагрузку. Устройство собиралось на скорую руку из компонентов, которые нашлись в загашнике. Дисплей, который хорошо вписался в давно валяющийся пластиковый корпус. Микроконтроллер распаянный на подходящем куске текстолита. Китайский модуль заряда LiIon аккумулятора. Ну и несколько дискретных компонентов. В общем типичная конструкция выходного дня.

Логика работы устройства:
— подключаем аккумулятор.
— подаем питание +5В.
— устройство подключает нагрузку к аккумулятору и измеряет на нем напряжение.
— происходит отсчет времени и подсчитывается энергия отданная аккумулятором.
— при снижении напряжения на аккумуляторе до 2.7В устройство отключает нагрузку, останавливает подсчет энергии и отсчет времени разряда. Показания остаются на дисплее.
— устройство переходит в режим заряда и начинает отсчет времени его продолжительности, который останавливается при достижении напряжения на аккумуляторе 4.2В.

Время отображается в формате сутки/часы:минуты:секунды.
Емкость отображается в мА*ч и мВт*ч. Мощность рассеиваемая на нагрузке рассчитывается из измеряемого напряжения и известного сопротивления нагрузки. От измерения тока, для упрощения конструкции, было решено отказаться.

Алгоритм расчета энергии следующий: с частотой 5кГц АЦП производит непрерывную оцифровку с накоплением сигнала на выходе делителя напряжения на аккумуляторе. Каждые 100мс с учетом уровня со встроенного источника опорного напряжения из накопленного значения вычисляется напряжение на аккумуляторе и ток через нагрузку. Вычисляется энергия в мА*ч и мВт*ч за 100мс, которая прибавляется к своему счетчику.

Устройство имеет кнопку, нажатием на которую можно переключать режимы — разряд/заряд. Двойным нажатием в режиме разряда можно выбирать подключаемую нагрузку — малая, средняя, большая. Сопротивление 20 Ом, 10 Ом или одновременно оба соответственно. Удержание кнопки вызывает сброс времени текущего режима.

Светодиод отображает режим работы:
— разряд, часто мигает.
— заряд, редко мигает.
— заряд окончен, светится.

Подробнее о компонентах. Дисплей — ЖК, графический 128х32, TIC32 с управлением по I 2 C на контроллере PCF8531. Стабилизатор питания — LM1117-3.0. МК — STM32F051K6 (используется внутренний тактовый генератор). Ключи нагрузки — IRLML2502. Ключ включения цепи заряда — IRLML6402. Модуль заряда на чипе TC4056A с током 330мА (резистор программирующий ток 3.6к).

Читайте также:  Как можно сделать своими руками слаймы

Для удобства подключения применен держатель для аккумулятора 18650 и провода с крокодилами. Монтаж внутри не показан, так как не очень приличен. Устройство в процессе рождения:

Прошивка написана в Keil uVision 5. При применении другого дисплея или другого микроконтроллера, потребуется изменение прилагаемых исходников и пересборка проекта. При применении нагрузок другого сопротивления, будет необходимо исправить их значения в исходнике и так же пересобрать проект.

Источник

Измеритель емкости Li-Ion аккумуляторов

В этом проекте описывается Arduino-устройство, с помощью которого можно проверить емкость литий-ионных пальчиковых аккумуляторов. Довольно часто батареи от ноутбуков приходят в негодность из-за того, что один или несколько аккумуляторов теряют свою емкость. В итоге приходится покупать новую батарею, когда можно обойтись малой кровью и заменить эти негодные аккумуляторы.

Что понадобится для устройства:
Arduino Uno или любой другой совместимый.
16Х2 ЖК-дисплей, в котором используется драйвер Hitachi HD44780
Твердотельное реле OPTO 22
Резистор 10 МОм на 0.25 Вт
Держатель для аккумуляторов 18650
Резистор 4 Ом 6Вт
Одна кнопка и блок питания от 6 до 10В на 600 мА


Теория и эксплуатация

Напряжение ,на полностью заряженной, Li-Ion батарее при отсутствии нагрузки равно 4.2В. При подключении нагрузки, напряжение быстро снижается до 3.9В, и далее медленно снижается по мере работы батареи. Ячейка считается разряженной при падении напряжения на ней ниже 3В.

В данном устройстве аккумулятор подсоединяется к одному из аналоговых выводов Arduino. Измеряется напряжение на аккумуляторе без нагрузки и контроллер ожидает нажатие кнопки “Пуск”. Если напряжение на аккумуляторе выше 3В. , при нажатии кнопки начнется тест. Для этого через твердотельное реле к аккумулятору, подключается резистор 4Ом, который будет исполнять роль нагрузки. Напряжение считывается контроллером каждые пол секунды. Используя закон Ома можно узнать ток, отдаваемый в нагрузку. I=U/R, U-считывается аналоговым входом контроллера, R=4 Ом. Так как измерения проводятся каждые пол секунды, в каждом часе получается 7200 измерений. Автор просто умножает 1/7200 часа на значение тока, и складывает получившиеся числа, пока аккумулятор не разрядится ниже 3В. В этот момент реле переключается и на дисплей выводится результат измерений в мА\ч

ПИН Назначение
1 GND
2 +5V
3 GND
4 Digital PIN 2
5 Digital PIN 3
6,7,8,9,10 No connected
11 Digital PIN 5
12 Digital PIN 6
13 Digital PIN 7
14 Digital PIN 8
15 +5V
16 GND


Автор не использовал потенциометр для регулировки яркости дисплея, вместо этого он подсоединил вывод 3 к земле. Держатель аккумулятора подсоединяется минусом на землю, а плюсом к аналоговому входу 0. Между плюсом держателя и аналоговым входом включен резистор 10 МОм, выполняющий функцию подтягивающего. Твердотельное реле включается минусом к земле, а плюсом к цифровому выходу 1. Один из контактных выводов реле соединяется с плюсом держателя, между вторым выводом и землей ставится резистор 4 Ом, выполняющий роль нагрузки при разряде аккумулятора. Имейте в виду, что он будет довольно сильно греться. Кнопка и включатель подключаются согласно схеме на фото.

Так как в схеме задействуются PIN 0 и PIN 1, надо отключить их перед загрузкой программы в контроллер.
После того, как вы все соедините, зальете прошивку, прикрепленную ниже, можно попробовать протестировать аккумулятор.

На фото видно значение напряжения, которое считал контроллер.
Напряжение на нем должно быть обязательно выше 3В

Наследующем фото результат измерении в процессе теста. Сверху, время теста в секундах (83), напряжение на аккумуляторе во время теста (3.64В) и сколько тока было отдано в нагрузку за это время в миллиампер часах (21.06 Mah).

На фото ниже видны показания после завершения теста. Сразу ясно, что этот аккумулятор, судя по показаниям, можно отправить в утиль.

Источник

Оцените статью