Оглавление:

Тестер емкости аккумулятора Arduino своими руками - V1.0: 12 шагов (с изображениями)
Тестер емкости аккумулятора Arduino своими руками - V1.0: 12 шагов (с изображениями)

Видео: Тестер емкости аккумулятора Arduino своими руками - V1.0: 12 шагов (с изображениями)

Видео: Тестер емкости аккумулятора Arduino своими руками - V1.0: 12 шагов (с изображениями)
Видео: Тестер емкости аккумуляторов на Ардуино. Обновленная версия! 2024, Ноябрь
Anonim
Image
Image
Тестер емкости аккумулятора Arduino своими руками - V1.0
Тестер емкости аккумулятора Arduino своими руками - V1.0

[Воспроизвести видео] Я собрал очень много старых аккумуляторов для ноутбуков (18650), чтобы использовать их в своих солнечных проектах. Определить исправные элементы в аккумуляторной батарее очень сложно. Ранее в одной из моих инструкций по Power Bank я рассказывал, как определять хорошие элементы, измеряя их напряжение, но этот метод совсем ненадежен. Поэтому мне действительно нужен был способ измерить точную емкость каждой ячейки, а не их напряжение.

Обновление от 30.10.2019

Вы можете увидеть мою новую версию

Несколько недель назад я начал проект с основ. Это действительно простая версия, основанная на законе Ома. Точность тестера не будет на 100% идеальной, но она дает разумные результаты, которые можно использовать. и по сравнению с другими батареями, так что вы можете легко определить хорошие элементы в старом батарейном блоке. В ходе моей работы я понял, что есть много вещей, которые можно улучшить. В будущем я постараюсь реализовать эти вещи. Но пока я доволен этим. Надеюсь, этот маленький тестер будет полезен, поэтому я делюсь им со всеми вами. Примечание: утилизируйте неисправные батареи должным образом. Отказ от ответственности: обратите внимание, что вы работаете с Ли. -Ионный аккумулятор, который очень взрывоопасен. Я не могу нести ответственность за потерю имущества, повреждение или гибель людей, если это дойдет до этого. Это руководство было написано для тех, кто разбирается в технологии перезаряжаемых литий-ионных аккумуляторов. Не пытайтесь это сделать, если вы новичок. Оставайтесь в безопасности.

Шаг 1: Необходимые детали и инструменты:

Требуемые детали: 1. Arduino Nano (Gear Best / Banggood) 2. 0,96-дюймовый OLED-дисплей (Amazon / Banggood) 3. MOSFET - IRLZ44 (Amazon) 4. Резисторы (4 x 10K, 1/4 Вт) (Amazon / Banggood) 5. Резистор питания (10R, 10 Вт) (Amazon) 6. Винтовые клеммы (3 шт.) (Amazon / Banggood) 7. Buzzer (Amazon / Banggood) 8. Плата для прототипа (Amazon / Banggood) 9. Держатель батареи 18650 (Amazon)

10. Аккумулятор 18650 (GearBest / Banggood) 11. Прокладки (Amazon / Banggood) Необходимые инструменты: 1. Кусачки / стрипперы (Gear Best) 2. Паяльник (Amazon / Banggood) Используемый инструмент: зарядное устройство IMAX Balance (Gearbest / Banggood)

Инфракрасный термометр (Amazon / Gearbest)

Шаг 2: Схема и работа

Схема и работа
Схема и работа
Схема и работа
Схема и работа

Схема:

Чтобы легче понять схему, я также нарисовал ее на перфорированной доске. Расположение компонентов и проводки аналогично моей реальной плате. Единственное исключение - зуммер и OLED-дисплей. На реальной плате они находятся внутри, но на схеме они лежат снаружи.

Дизайн очень простой, он основан на Arduino Nano. OLED-дисплей используется для отображения параметров батареи. 3 винтовые клеммы используются для подключения батареи и сопротивления нагрузки. Зуммер используется для подачи различных предупреждений. Схема с двумя делителями напряжения используется для контроля напряжений на сопротивлении нагрузки. Функция полевого МОП-транзистора заключается в подключении или отключении сопротивления нагрузки от батареи.

Работающий:

Arduino проверяет состояние батареи, если батарея в порядке, подайте команду на включение полевого МОП-транзистора. Он позволяет току проходить от положительной клеммы батареи через резистор, а затем полевой МОП-транзистор завершает путь обратно к отрицательной клемме. Это разряжает аккумулятор в течение определенного периода времени. Arduino измеряет напряжение на нагрузочном резисторе, а затем делит его на сопротивление, чтобы определить ток разряда. Умножьте это на время, чтобы получить значение в миллиампер-часах (мощности).

Шаг 3: измерение напряжения, тока и емкости

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

Нам нужно найти напряжение на нагрузочном резисторе. Напряжения измеряются с помощью двух схем делителя напряжения. Он состоит из двух резисторов номиналом 10 кОм каждый. Выход делителя подключен к аналоговым выводам A0 и A1 Arduino.

Аналоговый вывод Arduino может измерять напряжение до 5 В, в нашем случае максимальное напряжение составляет 4,2 В (полностью заряжено). Тогда вы можете спросить, зачем я использую два делителя без надобности. Причина в том, что я планирую использовать тот же тестер для мультихимической батареи. Так что этот дизайн можно легко адаптировать для достижения моей цели.

Текущее измерение:

Ток (I) = Напряжение (В) - Падение напряжения на МОП-транзисторе / сопротивление (R)

Примечание: я предполагаю, что падение напряжения на MOSFET незначительно.

Здесь V = напряжение на нагрузочном резисторе, а R = 10 Ом.

Полученный результат выражается в амперах. Умножьте 1000, чтобы преобразовать его в миллиамперы.

Таким образом, максимальный ток разряда = 4,2 / 10 = 0,42 А = 420 мА

Измерение емкости:

Накопленный заряд (Q) = ток (I) x время (T).

Мы уже рассчитали ток, единственное, что неизвестно в приведенном выше уравнении, - это время. Функция millis () в Arduino может использоваться для измерения прошедшего времени.

Шаг 4: Выбор резистора нагрузки

Выбор резистора нагрузки
Выбор резистора нагрузки

Выбор нагрузочного резистора зависит от величины тока разряда, который нам нужен. Предположим, вы хотите разрядить аккумулятор при токе 500 мА, тогда номинал резистора равен

Сопротивление (R) = максимальное напряжение аккумулятора / ток разряда = 4,2 / 0,5 = 8,4 Ом

Резистор должен рассеивать немного энергии, поэтому в этом случае размер имеет значение.

Теплоотдача = I ^ 2 x R = 0,5 ^ 2 x 8,4 = 2,1 Вт

Сохраняя некоторый запас, вы можете выбрать 5 Вт. Если вы хотите большей безопасности, используйте 10 Вт.

Я использовал резистор 10 Ом, 10 Вт вместо 8,4 Ом, потому что он был у меня в запасе на тот момент.

Шаг 5: выбор полевого МОП-транзистора

Выбор полевого МОП-транзистора
Выбор полевого МОП-транзистора

Здесь MOSFET действует как переключатель. Цифровой выход с пина D2 Arduino управляет переключателем. Когда сигнал 5 В (HIGH) подается на затвор полевого МОП-транзистора, он позволяет току проходить от положительной клеммы батареи через резистор, а затем МОП-транзистор завершает путь обратно к отрицательной клемме. Это разряжает аккумулятор в течение определенного периода времени. Таким образом, полевой МОП-транзистор следует выбирать таким образом, чтобы он мог выдерживать максимальный ток разряда без перегрева.

Я использовал n-канальный логический уровень мощности MOSFET-IRLZ44. Буква L показывает, что это полевой МОП-транзистор логического уровня. MOSFET логического уровня означает, что он предназначен для полного включения с логического уровня микроконтроллера. Стандартный полевой МОП-транзистор (серия IRF и т. Д.) Рассчитан на работу от 10 В.

Если вы используете МОП-транзистор серии IRF, он не будет полностью включаться при подаче напряжения 5 В от Arduino. Я имею в виду, что полевой МОП-транзистор не будет пропускать номинальный ток. Чтобы настроить эти полевые МОП-транзисторы, вам понадобится дополнительная схема для повышения напряжения затвора.

Поэтому я рекомендую использовать полевой МОП-транзистор логического уровня, не обязательно IRLZ44. Вы также можете использовать любой другой MOSFET.

Шаг 6: OLED-дисплей

OLED-дисплей
OLED-дисплей

Для отображения напряжения батареи, тока разряда и емкости я использовал 0,96-дюймовый OLED-дисплей. Он имеет разрешение 128x64 и использует шину I2C для связи с Arduino. Два контакта SCL (A5), SDA (A4) в Arduino Uno используются для коммуникация.

Я использую библиотеку U8glib для отображения параметров. Сначала вам нужно загрузить библиотеку U8glib, а затем установить ее.

Если вы хотите начать работу с OLED-дисплеем и Arduino, нажмите здесь

Подключения должны быть следующими

Arduino OLED

5 В -Vcc

GND GND

A4 - ПДД

A5 - SCL

Шаг 7: зуммер для предупреждения

Зуммер для предупреждения
Зуммер для предупреждения
Зуммер для предупреждения
Зуммер для предупреждения

Для подачи различных предупреждений или предупреждений используется пьезозуммер.

1. Низкое напряжение аккумулятора.

2. высокое напряжение аккумулятора

3. Нет батареи

У зуммера есть две клеммы, более длинная - положительная, а короткая - отрицательная. На наклейке на новом зуммере также есть отметка «+», указывающая на положительную клемму.

Подключения должны быть следующими

Зуммер Arduino

D9 Положительный вывод

GND отрицательный терминал

В Arduino Sketch я использовал отдельную функцию beep (), которая отправляет сигнал ШИМ на зуммер, ожидает небольшой задержки, затем выключает его, а затем имеет еще одну небольшую задержку. Таким образом, он пищит один раз.

Шаг 8: создание схемы

Создание схемы
Создание схемы
Создание схемы
Создание схемы
Создание схемы
Создание схемы

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

Я использовал макетную плату размером 7 см на 5 см.

Установка Nano: сначала вырежьте два ряда штифтов с внутренней резьбой по 15 контактов в каждом. Я использовал диагональный кусачок, чтобы разрезать разъемы. Затем припаяйте контакты разъема. Убедитесь, что расстояние между двумя направляющими соответствует размеру Arduino nano.

Монтаж OLED-дисплея: вырежьте гнездовой разъем с 4 контактами. Затем припаяйте его, как показано на картинке.

Установка клемм и компонентов: припаяйте остальные компоненты, как показано на рисунках.

Электропроводка: Сделайте электропроводку согласно схеме. Я использовал цветные провода, чтобы сделать электропроводку, чтобы я мог легко их идентифицировать.

Шаг 9: Установка стоек

Установка стоек
Установка стоек
Установка стоек
Установка стоек
Установка стоек
Установка стоек

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

Шаг 10: Программное обеспечение

Программное обеспечение
Программное обеспечение
Программное обеспечение
Программное обеспечение

Программное обеспечение выполняет следующие задачи

1. Измерьте напряжение.

Взять 100 отсчетов АЦП, сложить их и усреднить результат, чтобы уменьшить шум.

2. Проверьте состояние батареи, чтобы подать сигнал тревоги или начать цикл разряда.

Оповещения

i) Low-V!: Если напряжение аккумулятора ниже минимального уровня разряда (2,9 В для Li Ion)

ii) High-V!: Если напряжение аккумулятора выше полностью заряженного

iii) Нет батареи!: Если батарейный отсек пуст

Цикл разряда

Если напряжение батареи находится в пределах низкого напряжения (2,9 В) и высокого напряжения (4,3 В), начинается цикл разряда. Рассчитайте ток и емкость, как объяснялось ранее.

3. Отобразите параметры на OLED-экране.

4. Регистрация данных на последовательном мониторе

Загрузите код Arduino, прилагаемый ниже.

Шаг 11: экспорт серийных данных и построение графика на листе Excel

Экспорт серийных данных и печать на листе Excel
Экспорт серийных данных и печать на листе Excel
Экспорт серийных данных и печать на листе Excel
Экспорт серийных данных и печать на листе Excel

Чтобы проверить схему, я сначала зарядил хороший аккумулятор Samsung 18650 с помощью зарядного устройства IMAX. Потом вставил аккумулятор в мой новый тестер. Чтобы проанализировать весь процесс разгрузки, я экспортирую серийные данные в электронную таблицу. Затем я построил кривую расхода. Результат действительно потрясающий. Для этого я использовал программу под названием PLX-DAQ. Вы можете скачать это здесь.

Вы можете пройти через это руководство, чтобы узнать, как использовать PLX-DAQ. Все очень просто.

Примечание: работает только в Windows.

Шаг 12: Заключение

Заключение
Заключение
Заключение
Заключение

После нескольких тестов я пришел к выводу, что результат теста вполне разумный. Результат составляет от 50 до 70 мАч от результата фирменного тестера емкости аккумулятора. С помощью ИК-термометра я также измерил повышение температуры в нагрузочном резисторе, максимальное значение составляет 51 градус Цельсия.

В этой конструкции ток разряда непостоянен, он зависит от напряжения батареи. Таким образом, построенная кривая разряда не похожа на кривую разряда, приведенную в паспорте производителя батареи. Он поддерживает только одну ионно-литиевую батарею.

Так что в моей будущей версии я постараюсь исправить указанные выше недостатки в версии 1.0.

Кредит: Я хотел бы воздать должное Адаму Уэлчу, чей проект на YouTube вдохновил меня на создание этого проекта. Вы можете посмотреть его видео на YouTube.

Пожалуйста, предлагайте какие-либо улучшения. Оставляйте комментарии, если есть ошибки или неточности.

Надеюсь, мой урок будет вам полезен. Если он вам нравится, не забудьте поделиться:)

Подпишитесь на другие проекты DIY. Спасибо.

Рекомендуемые: