Умный мониторинг состояния аккумулятора с использованием NodeMCU ESP8266 и Интернета вещей 


В этом проекте мы создадим умную систему мониторинга аккумулятора на основе технологии Интернета вещей с использованием платы NodeMCU ESP8266, с помощью которой вы сможете отслеживать состояние зарядки/разрядки аккумулятора, а также напряжение и процент заряда аккумулятора.

Умный мониторинг состояния аккумулятора с использованием NodeMCU ESP8266 и Интернета вещей

Как мы знаем, аккумулятор является самым важным компонентом для любого устройства, поскольку он питает всю систему. Поэтому важно следить за уровнем напряжения аккумулятора, так как неправильная или чрезмерная зарядка/разрядка может привести к повреждению аккумулятора или отказу системы. Большинство электрических/электронных устройств имеют отдельную систему, называемую системой управления аккумулятором (BMS). BMS (Battery Management System) контролирует все свойства аккумулятора, такие как напряжение, ток, температура и система автоматического отключения. Это обеспечивает безопасность и правильное обращение с литий-ионными или литий-полимерными аккумуляторами.

Раньше BMS только отслеживала состояние батареи и оповещала пользователя с помощью индикатора батареи. Но теперь, благодаря использованию Интернета вещей, мы можем напрямую уведомлять пользователей удаленно. Они могут проверять состояние батареи на своих смартфонах или компьютерных панелях из любой точки мира.

В этой системе мониторинга аккумуляторов на основе Интернета вещей мы будем использовать Wemos D1 Mini с чипом ESP8266 для отправки данных о состоянии аккумулятора в облако ThingSpeak. Сервис Thingspeak будет отображать напряжение аккумулятора вместе с процентом заряда аккумулятора как в случае зарядки, так и в случае разрядки.

Необходимые компоненты

  1. NodeMCU ESP8266 (купить на AliExpress) или мини-плата Wemos D1.
  2. Модуль зарядного устройства аккумулятора TP4056 (купить на AliExpress).
  3. Резистор 100 кОм.
  4. Кабель Micro-USB.
  5. Литий-ионный аккумулятор 3,7 В.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Литий-ионные аккумуляторы

Литий-ионный аккумулятор или литий-ионная батарея — это тип перезаряжаемой батареи. Литий-ионные батареи обычно используются в портативной электронике и электромобилях.

Литий-ионный аккумулятор 3,7 В

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

Номинальное, максимальное и предельное напряжение аккумулятора

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

Обычно литий-ионные аккумуляторы имеют номинальное напряжение 3,7 В. При полной зарядке их максимальное напряжение может достигать 4,2±0,5 В. В технических характеристиках производителя обычно указывается напряжение отсечки около 3 В, хотя оно может варьироваться в зависимости от типа аккумулятора и его конкретных применений. Аккумулятор, который я часто использую, имеет напряжение отсечки разряда 2,8 В. Однако существуют также аккумуляторы с напряжением отсечки всего 2,5 В.

Схема проекта

Мы разработаем систему для мониторинга напряжения этой батареи вместе со статусом зарядки и разрядки. Для микроконтроллера мы используем плату Wemos D1 Mini, которая имеет чип ESP8266 с поддержкой Wi-Fi. Вы также можете использовать плату NodeMCU ESP8266. Этот чип WiFi может подключаться к сети WiFi и регулярно загружать данные на сервер.

Схема мониторинга состояния аккумулятора с использованием Wemos D1 Mini (NodeMCU ESP8266) представлена на следующем рисунке.

Схема мониторинга состояния аккумулятора с использованием Wemos D1 Mini (NodeMCU ESP8266)

Вы можете использовать модуль TP4056 для зарядки аккумулятора, поскольку он лучше всего подходит для приложений управления аккумулятором. Вместо TP4056 можно также использовать микросхему MCP73831 .

Чип ESP8266 может поддерживать только входное аналоговое напряжение 3,3 В. Но напряжение батареи увеличивается до 4,2 В. Поэтому нам необходимо использовать цепь делителя напряжения чтобы понизить входное напряжение.

Расчет цепи делителя напряжения

Максимальное напряжение батареи составляет 4,2 В, а напряжение отсечки — 2,8 В. Все, что меньше 3,3 В, будет легко поддерживаться аналоговым выводом ESP8266.

Схема делителя напряжения

Сначала нам нужно понизить верхний уровень напряжения. Напряжение источника составляет 4,2 В и есть пара резисторов 100 кОм. Это даст выход 2,1 В. Аналогично, минимальное напряжение составляет 2,8 В в качестве напряжения отсечки, которое понижается до 1,4 В с использованием той же сети делителя напряжения. Следовательно, как верхнее, так и нижнее напряжение поддерживаются аналоговым контактом ESP8266 .

Собранная конструкция проекта представлена на следующем рисунке. Это то же самое соединение, что показано на схеме выше. Для тестирования можно использовать литий-ионный аккумулятор любой емкости. Например, я использую аккумулятор емкостью 1950 мАч.

Настройка Thingspeak

Чтобы отслеживать данные батареи на сервере Thingspeak, вам сначала нужно настроить Thingspeak. Чтобы настроить сервер Thingspeak, посетите https://thingspeak.com/. Создайте учетную запись или просто войдите в нее, если вы создали учетную запись ранее. Затем создайте новый канал со следующими данными.

Создание нового канала для нашего проекта на Thingspeak

Затем перейдите в раздел API на панели управления и скопируйте API Key. Этот API key понадобится в коде программы.

Получение API Key на Thingspeak

Исходный код программы

Вот исходный код для системы мониторинга состояния батареи на основе IoT с использованием ESP8266. Замените WiFi SSID, пароль и ключ API в коде.

Теперь скопируйте следующий код и загрузите его на плату NodeMCU или Wemos D1 Mini.

Тестирование работы проекта

Откройте Serial Monitor (окно монитора последовательной связи) после загрузки кода. ESP8266 попытается подключиться к сети WiFi. После подключения к сети WiFi он отобразит аналоговое значение вместе с напряжением и процентом батареи.

Тестирование работы проекта в окне монитора последовательной связи

Затем перейдите в приватный просмотр панели инструментов Thingspeak. Напряжение батареи и процент заряда батареи будут отображаться на графике. График будет подниматься, когда устройство заряжается, и опускаться, когда оно разряжается.

Тестирование работы проекта на Thingspeak

Фиксация значения напряжения и калибровка

Схема рассчитана на фиксирование пары резисторов 100К. Но большинство резисторов имеют допуск ±5%. Из-за этого значения резисторов могут быть от 95К до 105К. В результате это влияет как на выходное напряжение, так и на выходной аналоговый сигнал.

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

Считывание значения напряжения на выходной клемме TP4056 с помощью мультиметра

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

В следующей строке кода добавьте этот калибровочный коэффициент.

Это исправит любую ошибку в показаниях напряжения. Вот как мы можем разработать систему мониторинга состояния батареи на основе Интернета вещей с использованием ESP8266 и получить показания на сервере Thingspeak .

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

Видео, демонстрирующее работу проекта

Ссылка на видео на YouTube

(Проголосуй первым!)
Загрузка...
33 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *