ЭФО предлагает со своего склада новую серию преобразователей интерфейсов USB UART компании FTDI FT232RNL-REEL

TinyCharger - зарядное устройство для одноэлементного Li-Ion аккумулятора с функцией мониторинга

Microchip ATtiny10 Attiny13 ATtiny24 ATtiny25 ATtiny44 ATtiny45 ATtiny84 ATtiny85

Зарядное устройство для одноэлементного Li-Ion аккумулятора выполнено на одном микроконтроллере серии ATtiny25/45/85, снабжено функцией ограничения тока и OLED дисплеем для контроля основных параметров и мониторинга процесса зарядки

Технология правильного хранения аккумуляторов и батареек по рекомендациям FANSO и EVE Energy

Общие сведения

Простое устройство, получившее название TinyCharger, выполнено на одном микроконтроллере (МК) серии ATtiny25/45/85, снабжено OLED дисплеем и предназначено для зарядки одноэлементной Li-Ion батареи. OLED дисплей используется для реализации простого пользовательского интерфейса, настройки уровня ограничения тока зарядки в диапазоне 100 мА – 1000 мА и мониторинга основных параметров батареи в процессе зарядки (Рисунок 1).

TinyCharger - зарядное устройство для одноэлементного Li-Ion аккумулятора с функцией мониторинга.
Рисунок 1. TinyCharger - зарядное устройство для одноэлементного Li-Ion аккумулятора
с функцией мониторинга.

Прибор снабжен коннекторами microUSB и USB-C для подключения источника питания 5 В, но в работе используется только один из них.

Для подключения целевого Li-Ion аккумулятора предусмотрен разъем JST-PH с шагом 2.0 мм и штыревой разъем с шагом 2.54 мм (также в один момент времени может использоваться только один из разъемов).

Основные характеристики:

  • Диапазон напряжения питания: 4.3 – 5.5 В;
  • Ограничение напряжения заряда: 4.2 В;
  • Ограничение зарядного тока: 100, 350, 750, 1000 мА;
  • Разрешающая способность по измерению напряжения: 4 мВ;
  • Разрешающая способность по измерению тока: 1 мА.

Принципиальная схема

Принципиальная схема устройства изображена на Рисунке 2. Все проектные файлы доступны для скачивания в разделе загрузок, в репозитории на сайте Github [1], а также на сайте EasyEDA [2].

Принципиальная схема зарядного устройства для одноэлементного Li-Ion аккумулятора.
Рисунок 2. Принципиальная схема зарядного устройства для одноэлементного Li-Ion аккумулятора.

В схеме зарядки Li-Ion аккумулятора используется микросхема TP4056 – это автономное линейное зарядное устройство для одноэлементных Li-Ion аккумуляторов со стабилизацией тока/напряжение зарядки. Микросхема имеет встроенный датчик температуры. Максимальное напряжение заряда зафиксировано на уровне 4.2 В, а зарядный ток устанавливается с помощью внешнего резистора. Общее сопротивление этого резистора образовано тремя резисторами R7, R8 и R9, включенными параллельно, два из которых (R8, R9) могут подключаться и отключаться МК с помощью MOSFET ключей Q1, Q2. TP4056 автоматически завершает цикл зарядки Li-Ion аккумулятора по достижении напряжения на нем 4.2 В и снижении тока заряда до 1/10 от установленной величины. К другим возможностям микросхемы TP4056 относятся контроль тока, блокировка при пониженном напряжении и функция автоматической подзарядки.

Для измерения зарядного тока и напряжения аккумулятора применена микросхема INA219, представляющая собой цифровой датчик тока, напряжения и мощности с I2C совместимым интерфейсом. Микросхема контролирует как падение напряжения на шунте, так и напряжение питания шины и поддерживает конфигурирование времени преобразования и фильтрации данных. Программируемое калибровочное значение в сочетании с внутренним множителем позволяют получать значения тока в амперах. Выбранное значение шунта, равное 8 мОм, оказывает незначительное влияние на схему, но обеспечивает измерение тока с разрешением 1 мА. Для повышения точности измерения следует выбирать резистор шунта с низким допустимым отклонением сопротивления (1% или лучше).

Вид печатной платы со стороны установки МК, контроллера заряда TP4056 и датчика тока INA219 изображен на Рисунке 3.

Вид печатной платы TinyCharger со стороны установки основных элементов.
Рисунок 3. Вид печатной платы TinyCharger со стороны установки основных
элементов.

В пользовательском интерфейсе задействованы две кнопки (SET, RESET), два светодиода статуса зарядки и OLED дисплей с разрешением 128×64 точки. Расположение и назначение разъемов, кнопок и обозначений на дисплее показано на Рисунке 4. Поддержку пользовательского интерфейса, измерение напряжения и тока, контроль заряда аккумулятора выполняет один МК серии ATtiny25/45/85.

Расположение и назначение разъемов, кнопок управления, обозначения на дисплее TinyCharger.
Рисунок 4. Расположение и назначение разъемов, кнопок управления, обозначения на дисплее TinyCharger.

Значение сопротивления токозадающего резистора выбирается микроконтроллером с помощью двух полевых транзисторов по нажатию кнопки SET. Микросхема INA219 непрерывно измеряет зарядный ток и напряжение и передает значения в микроконтроллер по интерфейсу I2C. По полученным данным МК рассчитывает уровень заряда и емкость, а затем отображает их на OLED дисплее.

Протокол I2C для управления OLED дисплеем реализован методом программной эмуляции. Алгоритм специально разрабатывался под ограниченные ресурсы ATtiny10 и Attiny13, но должен работать и на некоторых других микроконтроллерах AVR, включая ATtiny84. Функции управления адаптированы для контроллера OLED дисплея SSD1306, но их можно легко изменить для работы с другими дисплеями. В целях экономии ресурсов реализованы только необходимые для этого проекта функции.

Точность расчета времени и емкости аккумулятора

Для тактирования МК и, соответственно, для расчета времени и емкости заряжаемого аккумулятора используется внутренний RC-осциллятор, точность которого после заводской калибровки составляет ±10%. Ее можно улучшить до ±2% с помощью дополнительной ручной калибровки или с помощью специального отдельного устройства [3]. Определенное таким образом значение калибровки (OSCCAL) можно прописать в исходном коде. Кроме того, на точность расчетного значение емкости оказывает влияние внутреннее сопротивление заряжаемого аккумулятора. Из-за этих факторов отображаемая емкость аккумулятора является приблизительным значением.

Компиляция и загрузка

При использовании Arduino IDE

  • Удостоверьтесь, что в Arduino IDE установлено ядро ATtinyCore [4].
  • Пройдите Tools -> Board -> ATtinyCore и выберите Attiny25/45/85 (No Bootloader).
  • Откройте Tools и выберите следующие опции платы:
    • Chip: ATtiny25 или ATtiny45 или ATtiny85 (в зависимости от того, какой МК вы используете в схеме)
    • Clock: 8 MHz (internal)
    • Millis/Micros: disabled
    • B.O.D.Level: B.O.D. enabled (2.7V)
    • Остальные опции оставьте без изменений
  • Подключите программатор к ПК и разъему внутрисхемного программирования на плате.
  • Перейдите к Tools -> Programmer и выберите свой внутрисхемный программатор (то есть, USBAsp).
  • Перейдите к Tools -> Burn Bootloader для записи фьюзов.
  • Откройте скетч TinyCharger и кликните Upload.

При использовании предварительно скомпилированного hex-файла

  • Удостоверьтесь, что консольная программа AVRDude [5] установлена.
  • Подключите программатор к ПК и ATtiny.
  • Откройте терминальную программу.
  • Перейдите в папку с hex-файлом.

Выполните следующую команду (при необходимости замените «usbasp» на имя того программатора, который используете вы):
avrdude -c usbasp -p t85 -U lfuse:w:0xe2:m -U hfuse:w:0xd5:m -U efuse:w:0xff:m -U flash:w:tinycharger.hex

Работа с устройством

Подключите устройство посредством кабеля microUSB или USB-C к источнику питания 5 В, способному обеспечить достаточный ток. С помощью кнопки SET установите максимальный ток зарядки.

С соблюдением полярности подключите Li-Ion аккумулятор к одному из разъемов на плате.

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

Ссылки

  1. Страница проекта на сайте Github
  2. Проект в онлайн среде EasyEDA
  3. TinyCalibrator – устройство для калибровки встроенных осцилляторов 8-выводных микроконтроллеров ATtiny и сброса Fuse-битов
  4. Ядро ATtinyCore для Arduino IDE
  5. Программатор AVRDude

Загрузки

  1. Принципиальная схема, проект печатной платы, скетч, исходные коды и файл прошивки

Материалы по теме

  1. Datasheet Microchip ATtiny10
  2. Datasheet Microchip Attiny13
  3. Datasheet Microchip ATtiny24/44/84
  4. Datasheet Microchip Attiny25/45/85
  5. Datasheet Texas Instruments INA219
  6. Datasheet Top Power ASIC TP4056
  7. Datasheet AOS AO3400

github.com

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: TinyCharger - Single Cell Li-Ion Battery Charger with Monitoring

41 предложений от 24 поставщиков
IC: микроконтроллер AVR; SRAM: 32Б; Flash: 1kБ; SOT23-6; 1,8÷5,5ВDC
ATtiny10-TSHR
Atmel
20 ₽
T-electron
Россия и страны СНГ
ATtiny10-TSHR
Microchip
26 ₽
ЭИК
Россия
ATTINY10-TS8R
Microchip
от 77 ₽
FAV Technology
Весь мир
ATTINY10-TS8R
Microchip
по запросу
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя