Arduino тестер емкости батареи своими руками
Arduino тестер емкости батареи своими руками
Проект очень простой и основан на законе Ома.


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

1. Arduino Nano

2. 0,96 "OLED-дисплей

3. МОП-транзистор - IRLZ44

4. Резисторы (4 х 10кОм, 1/4W)

5. Резисторы (10кОм, 10Вт)

6. Винтовые клеммы (3 NOS)

7. Зуммер

8. 18650 Батарея

Необходимые инструменты:

1. Кусачки

2. Припой

Шаг 2: Схема и принцип работы

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

Arduino проверяет состояние батареи, если батарея нормальная, дает команду на ВКЛЮЧЕНИЕ полевого транзистора. Это позволяет току проходить от положительной клеммы батареи, через резистор, МОП-транзистори затем завершает путь обратно к отрицательному полюсу. Это разряжает батарею в течение периода времени. Arduino измеряет напряжение на нагрузке, а затем разделяет на сопротивление, чтобы выяснить, ток разряда. Умножаем это на время, чтобы получить значение миллиампер-час (мощности).
Шаг 3: Напряжение, ток и емкость измерения

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

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

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

Ток (I) = Напряжение (V) - падение напряжения на MOSFET / сопротивления (R)

Делим на 1000, чтобы преобразовать его в миллиамперы.

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

Емкость измерения:

Накапливаемый заряд (Q) = Ток (I) X Время (T).

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

Выбор нагрузки резистора зависит от величины разрядного тока. Допустим, вы хотите разрядить аккумулятор на 500 мА, то значение резистора
Сопротивление (R) = Макс напряжение батареи / ток разряда = 4,2/ 0,5 = 8,4 Ом
Резистор должен рассеивать немного мощности, так что размер действительно имеет значение в данном случае.

Потери тепла = I ^ 2 х R = 0,5 ^ 2 х 8,4 = 2,1 Вт

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

Шаг 5: Выбор МОП-транзистора

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

Тут использован N-канальный MOSFET-IRLZ44. L показывает, что это логический уровень МОП-транзистор. Усилитель MOSFET логического уровня означает, что он предназначен для включения полностью от логического уровня микроконтроллера. Стандартный МОП-транзистор предназначен для работы от 10V.

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

Шаг 6: OLED-дисплей
Чтобы отобразить напряжение аккумуляторной батареи, ток разряда и мощность, тут использованл 0,96 "OLED display. Он имеет разрешение 128x64 и использует шину I2C для связи с Arduino. Два контакта SCL (А5), СПУ (А4) в Arduino Uno используются для связи.


Используется библиотека U8glib для отображения parameters.First вы должны загрузить библиотеку U8glib .Затем установил его.

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

OLED">Arduino -> OLED
Vcc">5V ----> Vcc
GND">GND --> GND
SDA">A4 ----> SDA
SCL">A5 ----> SCL

Шаг 7: Звуковой сигнал для предупреждения

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

Для различных предупреждений:
1. Низкое напряжение батареи
2. Высокое напряжения батареи
3. Отсутствие батареи

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

Buzzer">Arduino -> Зуммер
Positive terminal">D9 -> Положительный полюс
Negative terminal">GND -> Отрицательный полюс

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

Шаг 9: Программное обеспечение
Программное обеспечение делает следующие задачи

1. Измеряет напряжение
2. Проверяет состояние батареи, чтобы дать сигнал тревоги или начать цикл разряда
3. Отображение параметров на OLED
4. Запись данных на монитор последовательного порта


Код программы Скачать файл: battery_capacity_tester-v1.0.ino.zip [1,76 Kb] (cкачиваний: 880)

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

Источник

{poster_avatar}  admin
17 269
  1. Аватар
    Евгений  12:11, 08 декабрь
    • Нравится
    • 1

    Поставив делитель напряжения на аналоговые входов тем самым Вы уменьшили точность измерения.
    Чтобы увеличить точность в двое нужно убрать резисторы делителей подключенных на землю.
    Напряжение на входе может меряться от 0 до 5 вольт, т.е. в АЦП от 0 до 1023.  это 0,00488 мВольт на 1 единицу АЦП.
    Вы же искусственно загрубили замер от 0 до 511. 0,00976 мВольт на 1 единицу АЦП.

    Ответить
  2. Аватар
    Сергей  22:13, 18 декабрь
    • Нравится
    • 2

    Сопротивление резистора может меняться за счет нагрева, нужен резистор с очень низким ТКС, или с активным охлаждением?

    Ответить
  3. Аватар
    brotherirk  19:54, 17 май
    • Нравится
    • 1

    Если статью переводите, то переводите правильно!!!
    Резисторы (10кОм, 10Вт) в оригинале  = Power Resistor ( 10R, 10W )
    в результате купил не то... НЕ спасибо Вам за статью!

    Ответить
    1. Аватар
      Жандос  19:53, 07 ноябрь
      • Нравится
      • 0

      и как работает у вас?

      Ответить