Реклама ⓘ
Главная » Arduino
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

Простой тестер емкости Li-ion аккумуляторов

Тестер емкости Li-ion аккумуляторов на Arduino

Данный тестер очень прост и для его изготовления вам понадобится всего один резистор (ну и конечно же плата Arduino). Принцип работы также прост: через аналоговый вход, измеряется падение напряжения на нагрузочном резисторе.
Согласно закону Ома I=U/R. Каждую секунду, полученное значение делится на 3600 и суммируется для получения емкости аккумулятора в Ампер/часах.

Схема тестера

Я использовал два параллельно соединенных резистора, т.о. сопротивление получилось 6.9 Ом. Необходимо обратить внимание на достаточную мощность резисторов, если вы не хотите, чтобы у вас пошел дымок от резисторов.
В моем случае расчет мощности резистора будет такой: т.к. напряжение аккумулятора составляет 3.7В, а сопротивление резистора 6.9 Ом, то ток будет 3.7/6.9=0.54А. Следовательно мощность: 3.7*0.54=1.998 Ватт

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

Информация о данных аккумулятора передается через последовательный порт (вирт. порт Arduino) и выглядит примерно так:

Измерение аккумулятора

Напряжение у Li-ion аккумуляторов снижается приблизительно до 2 Вольт, после чего срабатывает внутренняя схема защиты от их полного разряда.

Срабатывание защиты аккумулятора

После того, как напряжение упало до 0, можно отсоединять аккумулятор от тестера.

Во время процесса измерения, не отсоединяйте Arduino от порта компьютера, иначе контроллер Arduino сбросится.

В принципе, данный метод измерения подойдет и для NiMh аккумуляторов, однако данный тип не имеет встроенной защиты от глубокого разряда, поэтому при напряжении менее 1В, необходимо остановить процесс тестирования.

Программа очень проста и понятна, единственное - 1 секундная выдержка задаётся при помощи функции аппаратного таймера ISR(TIMER1_OVF_vect).

При помощи данного тестера я протестировал несколько аккумуляторов:
Nokia BL-4C 860 мАч: измеренная емкость составила 680 мАч, напряжение откл. 2.25В
Nokia BL-5J 1320 мАч: измеренная емкость составила 1100 мАч, напряжение откл. 2.23В
Panasonic DMW-BCG10E 895 мАч: измеренная емкость составила 880 мАч, напряжение откл. 2.02В
TrustFire 18650 Lithium Battery 2500 мАч с Dealextreme: измеренная емкость составила 2030 mAh, напряжение откл. 1.10В

Оригинал статьи

Прикрепленные файлы:

Теги:

Колтыков А.В. Опубликована: 2012 г. 0 1
Я собрал 0 0
x

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

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (22) | Я собрал (0) | Подписаться

+1
Ruslan #
Удовлетворить свое любопытство, чтобы узнать напряжение отсечки конечно хочется, но литиевые аккумуляторы нельзя разряжать ниже 2.5V. Лучше даже не разряжать ниже 3V, так будет безопаснее, тем более, что дальше напряжение снижается очень быстрыми темпами и заряда там очень мало.
Ответить
0
Serg #
Приобретайте аккумы с внутренней защитой от пере- заряда/разряда.
Ответить
-1
Mithren #
Приобретая аккумуляторы, тестер теряет смысл, обычно аккумулятор маркируют. Разве что проверить добросовестность производителя?
Ответить
+1
кукс #
Акумулятор деградирует в процессе эксплуатации и его емкость падает, чем жестче условия - тем сильнее
Ответить
0
Винер #
Какие строки поменять при данных: LiFePo4 3.2 вольта, и резистор на 5 Ом.
Ответить
0
kolik777 #
Резистор надо брать не на 2, а хотя бы на 4 ватта.
Ответить
0
Planer #
Что-то у меня не заработал вызов процедуры measure() по таймеру, пришлось закомментировать вызов таймера и иниц. переменных для него и так сделать:
void loop () {
if (x)
{digitalWrite(LED, HIGH);}
else
{digitalWrite(LED, LOW);}

measure();
delay(1000);
x=!x;
};
Ответить
0
Сергей #
Подскажите, что за программа, в которой идет вывод данных с Arduino ? в заголовке написано Terminal на скриншотах. Или как иначе можно получать вывод? В родной софтине Ардуино - Монитор порта пишет: "Serial monitor not available while plotter is open"
(я только начинаю знакомство с платформой)
Ответить
0
talibanich #
Любой терминал порта. Хоть сторонний, хоть из среды Arduino IDE
Ответить
0
Александр #
А нельзя сделать так, чтобы через этот контроллер можно было и заряжать АКБ?
Ответить
+2
Дмитрий #
Спасибо за статью! iMAX еще не купил, а измерить ёмкость нужно было. На удивление описанный вариант измеряет точно. АКБ был новый, заявлено 2600 mAh. Купил резистор 10W 6,8 Ом за 25 руб (средний ток разряда выходит 0,54 А). Изменил в коде #define resistor 6.8 + добавил пьезо пищалку при напряжении 2,75 В (чтобы не посадить в ноль, хотя ниже 3 В уже мало смысла разряжать). Использовал терминал Terminal 1.9b. Почти 5 часов и намерял 2610 mAh. В Excel построил график.

P.S Без радиатора резистор греется до 70 'C, с простым радиатором на термопасте уже 50 'C.
Прикрепленный файл: 18650.JPG
Прикрепленный файл: cxemnet.jpg
Ответить
0
Юрий #
У меня Arduino Uno, пытаюсь залить скетч выдает ошибку (exit status 1 stray '\' in program). Подскажи пожалуйста, что делаю не так?
Ответить
0
Дмитрий #
Я не знаток Arduino, но выложите куда-нибудь скетч, проверю его у себя
Ответить
0
Юрий #
Я скетч скачал приложенный к этой статье.
Ответить
0
Дмитрий #
Попробуйте из оригинальной статьи скачать (ссылка на оригинал в конце статьи была). К этой статье прикреплен архив с файлом batt_tester.pde, но внутри полно искажений, например таких:
Serial.print("\n");
а в оригинальной статье нормально
Serial.print("\n");
Ошибка error: stray '\' in program тоже у меня выводится с этим кодом.
Ответить
0
Юрий. #
Дмитрий, большое спасибо!
Ответить
0
oleg5d75 #
В дистилированную воду можно вкинуть резистор, будет еще холодней если взять к примеру ведро
Ответить
0
pompiduskus #
Вот вариант для всех платформ с бинарным экраном на 8ми LED.
Прикрепленный файл: batt_tester.ino
Ответить
0
валентин #
Здравствуйте у меня ардуино нано я все собрал по вашей схеме и все работало
Вчера подключил не правильно батарею тоисть + на GND а - на АО.
Ардуин работает но неправильно показывает ерунду
Без батареи показывает 0,06вольт 0,01 ампер а с батареей 0,54вольт 0.06 ампер
Может подкажите как почить ардуин?
Ответить
0
Олег #
Такой возник вопрос. Можно ли при соединенить плюс аккумулятора подсоеденить через реле к резистору? Таким образом настроить отключение аккумулятора от нагрузки при низком заряде аккумулятора
Ответить
0
oleg5d75 #
Методика измерения в корне неправильная
1. Не все аккумуляторы имеют защиту
2. Разряжать нужно постоянным током используя стабилизатор тока так как сопротивление резистора сильно зависит от температуры и следовательно при разном напряжении он будет по разному нагреваться и результат будет с очень большой ошибкой которая плюс ко всему будет напрямую связанная с температурой окружающего воздуха
Правильно это когда меряется напряжение , и время до разряда,при разряде постоянным током через стабилизатор тока
Очень много аккумуляторов у которых нижний предел не 2.5 а 2.75 или 3 В особенно это высокотоковые которые применяются в шуруповертах, ноутбуках, электротранспорте и т.д, разрядив которые до 2,5В можно смело выбрасывать
Нагрузочный резистор лучше всего повесить через стабилизатор тока AMC7135, применяется в светодиодных фонариках , на нагрузке держит 350 мА, их можно соединять параллельно для получения требуемого тока
Ответить
0
MitsuokaOroshi #
Какой смысл тестить аккумуляторы для телефонов разряжая их ниже предела отключения самого телефона? Подавляющая часть аппаратов отключается уже при 3,6В. Дальнейший остаточный заряд никак не используется телефоном по причине низкого уровня для включения. Так может имеет смысл установить нижнюю границу на уровне 3,6В при тестах? Если кто знает схему тестера где можно устанавливать напряжение отключения на уровне 3,6В - поделитесь ссылкой
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Arduino UNO
Arduino UNO
Raspberry Pi 2 USB осциллограф DSO-2090
вверх