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

Устройство защиты и контроля зарядки Li-Ion аккумулятора мобильного телефона

Microchip ATtiny10 Attiny13 ATtiny24 ATtiny25 ATtiny44 ATtiny45 ATtiny84 ATtiny85

Прибор позволяет контролировать процесс зарядки Li-Ion аккумуляторов мобильных устройств в соответствии с параметрами, установленными пользователем

USB Phone Charge Guard – это прибор на микроконтроллере (МК) серии ATtiny45/85, предназначенный для контроля процесса зарядки мобильного телефона или иного устройства (Рисунок 1). Основные параметры – напряжение, ток, мощность и емкость, постоянно контролируются прибором и сравниваются с введенными пользователем пределами. Прибор автоматически отключает заряжаемое устройство от питания при достижении введенного пользователем значения контролируемого параметра. Это позволяет контролировать уровень заряда Li-Ion аккумулятора телефона (или другого устройства), тем самым, продлевая срок его службы. Пользовательские настройки сохраняются в энергонезависимой памяти МК.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

USB Phone Charge Guard - прибор для контроля и управления процессом зарядки Li-Ion аккумулятора.
Рисунок 1. USB Phone Charge Guard – прибор для контроля и управления
процессом зарядки Li-Ion аккумулятора.

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

  • Диапазон напряжений питания: 3 – 12 В;
  • Максимальный выходной ток: 5 А;
  • Разрешающая способность при измерении напряжения: 4 мВ;
  • Разрешающая способность при измерении тока: 1 мА.

Аппаратная часть

Прибор снабжен входным разъемом типа USB-A, на выходе установлено гнездо USB-A; таким образом, оно может быть подключено между источником питания и мобильным телефоном (или другим устройством). Сигнальные линии USB интерфейса (D+ и D-) не используются в приборе и проходят от входного до выходного разъема, чтобы заряжаемое устройство могло согласовывать протокол зарядки.

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

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

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

Для питания МК и периферии используется линейный регулятор напряжения 3.3 В серии HT7333, поэтому максимальное входное напряжение от интерфейса USB может составлять 12 В.

Подключение заряжаемого устройства к источнику питания осуществляется с помощью P-канального MOSFET AS3621. Несмотря на небольшие размеры, транзистор способен непрерывно коммутировать напряжение 30 В при токе 6 А. Его внутреннее сопротивление во включенном состоянии составляет всего 20 мОм.

Пользовательский интерфейс образуют пять кнопок (RESET, SELECT, INCREASE, DECREASE, START) и OLED дисплей с интерфейсом I2C и разрешением 128×64 точек (Рисунок 3). МК Attiny45/85 выполняет поддержку пользовательского интерфейса, контролирует подключение источника питания, вычисления и отображение измеренных величин на дисплее.

Вид печатной платы USB Phone Charger Guard, расположение кнопок и элементов.
Вид печатной платы USB Phone Charger Guard, расположение кнопок и элементов.
Рисунок 3. Вид печатной платы USB Phone Charger Guard, расположение
кнопок и элементов.

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

Протокол 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 для записи фьюзов.
  • Откройте скетч PhoneChargeGuard и кликните 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:phonechargeguard.hex

Работа с прибором

  • Подключите прибор между источником питания и заряжаемым устройством.
  • С помощью кнопок SELECT/INCREASE/DECREASE установите параметры ограничений зарядки.
  • Нажмите кнопку START, чтобы запустить процесс зарядки (Рисунок 4).
  • Используйте кнопку SELECT в процессе зарядки для переключения параметров на дисплее.
  • Процесс зарядки автоматически останавливается, когда будет достигнуто введенное значение ограничения.
Прибор контроля зарядки Li-Ion аккумулятора в рабочем режиме.
Рисунок 4. Прибор контроля зарядки Li-Ion аккумулятора в рабочем режиме.

Назначение кнопок:

  • RESET: сброс всех установленных значений (ограничений);
  • SELECT: в дежурном режиме – выбор типа пользовательского ограничения; в режиме зарядки – переключение отображения параметров;
  • INCREASE: увеличение значения выбранного типа ограничения;
  • DECREASE: уменьшение значения выбранного типа ограничения;
  • START: Запуск/Остановка зарядки

Настройка типа ограничения (параметра):

  • mAh: остановить зарядку при достижении введенного значения электрической емкости;
  • mWh: остановить зарядку при достижении введенного значения мощности;
  • mA: остановить зарядку в случае снижения тока ниже установленного значения (обычно это значение коррелирует с состоянием заряда аккумулятора);
  • min: остановить зарядку по истечении установленного времени в минутах.

Ссылки

  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 Holtek HT7333
  7. Datasheet AOS AO3400
  8. Datasheet Diodes MMBT3904

github.com

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

На английском языке: USB Phone Charge Guard

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 ₽
AiPCBA
Весь мир
ATTINY10-TS8R
Microchip
30 ₽
ЭИК
Россия
ATTINY10-TS8R
Microchip
от 75 ₽
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя