Разработка внешнего аккумулятора на четырех батареях LiFePO4
Упрощенная схема BQ40Z50-R1
Внешние аккумуляторы (power banks) активно используются для зарядки смартфонов и других мобильных гаджетов. Это простое по структуре устройство: литий-ионные или литий-полимерные батареи, управляющая печатная плата, корпус. Но сама по себе разработка зарядных схем для внешних аккумуляторов и электромобилей не так проста, тут можно экспериментировать и предлагать новые решения.
В рамках одного проекта мы разрабатывали внешний аккумулятор с поддержкой обычной и быстрой зарядки, в том числе от солнечных батарей. Еще одно требование — минимизация габаритов устройства. На первом этапе мы реализовали обычную зарядку четырех одинаковых АКБ LiFePO4 за счет микроконтроллера и менеджера заряда BQ40Z50-R1, без применения специализированной микросхемы заряда и ШИМ. Помимо заряда микроконтроллер красиво управляет индикаторными светодиодами и взаимодействует с пользователем по BLE. Делимся подробностями этого этапа разработки.
Постановка задачи и решение
Для зарядных устройств одним из важных параметров является использование батареек с определенным типом химии. С учетом того, что литий-железо-фосфатный аккумулятор LiFePO4 имеет несколько преимуществ по сравнению с другими разновидностями (например, возможность заряда большим током), то именно он был выбран для нового зарядного устройства.
Как правило, заданные параметры аккумуляторной батареи достигается за счет использования нескольких батарей меньшей емкости и напряжения. Цель использования аккумуляторов с последовательным соединением — уменьшить потери, увеличить КПД. Обычно в любой системе, состоящей из нескольких последовательно включенных батарей, возникает проблема разбалансировки заряда отдельных батарей. Эту проблему решает выравнивание заряда по батареям — метод проектирования, позволяющий увеличить безопасность эксплуатации батарей, время работы без подзарядки и общий срок службы.
Для уменьшения себестоимости и габаритов нового зарядного устройства решено использовать микросхему BQ40Z50-R1 от Texas Instruments в качестве «зарядника» и «балансира» для четырех АКБ LiFePO4., несмотря на то, что это микросхема — менеджер, а не «зарядник» (т.е. она может контролировать параметры напряжения, тока и т.п., но не управлять процессом заряда). Подробности о микросхеме BQ40Z50-R1 см. в технической спецификации и справочнике.
Параметры АКБ:
- Номинальное напряжение 3,2 В
- Максимально допустимое напряжение 3,65 В
- Номинальный зарядный ток при полной разрядке 400 мА
Для программирования микросхемы BQ40Z50-R1 мы использовали специализированный программный пакет Battery Management Studio (bqStudio) и интерфейсную плату EV2300 — всё это инструменты для разработчиков от компании Texas Instruments. Задача bqStudio — сгенерировать корректные настройки менеджера BQ40Z50-R1, чтобы он «подружился» с используемой батареей.
Схемотехника
Как уже было отмечено, микросхема BQ40Z50-R1 — это зарядный менеджер, который используется для контроля параметров заряда/разряда АКБ, а также настройки различных алгоритмов заряда/разряда АКБ в зависимости от текущих параметров (например, температуры, зарядного/разрядного тока и прочего).
Разработчики микросхемы предусмотрели возможность активного режима заряда и режима с ограничением по току (Pre-charge), который используется при полной разрядке АКБ. Схемотехника устройства при этом не изменяется (см. спецификацию). Необходимо только пересчитать токоограничительный резистор в цепи Pre-charge. В нашем случае для заряда выбранных АКБ LiFePO4 нужен был зарядный ток порядка ~400 мА.
Настройка микросхемы BQ40Z50-R1
BQ40Z50-R1 настраивается при помощи программного пакета bqStudio. Для записи установленных параметров и общения с микросхемой используем преобразователь SMB to USB:
Программатор EV2300
Не будем описывать само подключение, т.к. о нем подробно рассказано в технической спецификации и справочнике. В итоге программа должна запуститься, как показано на скриншоте:
Интерфейс программы Battery Management Studio (bqStudio)
Расскажем об этапах настройки BQ40Z50-R1:
1. Выбор сходного профиля по химии батареек (Chemistry Programming)
При установке программы в пакете присутствует файл Chem.ini, в котором описано более 1 000 видов АКБ, различных по химическому составу, емкости, количеству ячеек и др. критериям. Texas Instruments постоянно обновляет перечень химических параметров батарей различных производителей. Но если нужной батареи в списке нет — не беда, параметры химии можно задать вручную. Для корректной работы зарядного устройства нужно выбрать наиболее подходящий для разработки профиль батарейки и нажать кнопку «Обновить химию из базы данных» (Update Chemistry from Database):
Интерфейс окна bqStudio для выбора профиля химии
2. Калибровка (Calibration)
Первым делом сообщаем bqStudio текущее положение дел, для чего требуется замерить реальные значения:
- напряжения на батарее;
- напряжения на 1-й ячейке;
- напряжения на входе;
- тока;
- температуры.
Замеренные параметры заносим в программу и нажимаем кнопку «Калибровать».
3. Настройка (Settings)
Затем подключаем нужные функции:
- включение/выключение защит (Protection);
- терморезисторов (Temperature Enable/Mode);
- режим определения заряда, разряда батареи (SOC Flag Config): по напряжению или по емкости;
- включение балансировки (Balancing configuration);
- включение/отключение одноразовых защит (Fuse);
- включение/отключение самовосстанавливаемой защиты (Protection);
- что должно включится автоматически после подачи питания (Manufacturing) — при этом должны быть установлены биты FET_EN=1 и GAUGE_EN=1.
4. Расширенный алгоритм заряда (Advanced Charge Algorithm)
Этот режим работы встроен в микросхему BQ. Внешний микроконтроллер может включить и использовать этот режим для управления током заряда, напряжением и другими параметрами заряда. Микросхема BQ40Z50-R1 будет проводить все измерения, анализ и вычисление необходимых для АКБ параметров заряда и отсылать микроконтроллеру рекомендации по шине SMBus. Также BQ может управлять внешними ключами переключения режимов и токов заряда и защиты. Для правильного использования этого режима необходимо провести ряд настроек: токи, напряжения для разных диапазонов температуры, признак окончания заряда, балансировку.
Для правильной работы данного режима настраиваем в окне программы управления следующие поля:
- Значение температур, при которых будут переключаться режимы заряда (Temperature Range)
- Токи и напряжения заряда для заданных выше диапазонов температур (Low/Standart/High/Rec Temp Charging)
- Ток предзаряда (Pre-Charging)
- Ток обслуживающего заряда (Maintenance Charging) — для компенсации саморазряда
- Напряжения (Voltage range), по превышению которых будут выставлены следующие флаги, они будут видны микроконтроллеру в регистре статуса заряда (Charging status):
— PV — режим Pre-charge
— LV — низкое напряжение
— MV — среднее
— HV — высокое
В нашем случае нужно было изменить в настройках Data Memory параметры Precharge Start Voltage [2,14.4.8.1] на 2300 мВ; Charging Voltage Low [2,14.4.8.2] на 3500 мВ; Charging Voltage Med [2,14.4.8.1] на 3555 мВ; Charging Voltage High [2,14.4.8.1] на 3600 мВ. По умолчанию в BQ40Z50-R1 уже установлено автоматическое регулирование режимов заряда/разряда, поэтому нужно было только записать параметры микросхемы, нажав Write_All. По окончанию записи в строке состоянии появляется надпись Successful.
Меню Data Memory в программном пакете bqStudio
5. Защита (Protection)
Без настройки защиты никак нельзя:
- Устанавливаем регистр PCHGC-защиты по току, при котором Pre-charge будет выключаться на заданное время, если ток в это время превысит установленный порог.
- Устанавливаем защиту по Under voltage и Over voltage (из описания на АКБ).
- Остальные параметры оставляем по умолчанию.
6. Измерение заряда (Gas Gauging)
Gas Gauging — особая функция микросхемы BQ40Z50-R1 для вычисления текущей емкости батареи и оставшегося времени до полного заряда или разряда.
Для работы этого режима из многих установок настраиваем наиболее важные:
- Design — прогнозируемые значения емкости и напряжения батареи
- FD — уровни напряжения или емкости полного разряда
- TD — уровни напряжения или емкости для отключения разряда
- FC — уровни напряжения или емкости полного заряда
- TC — уровни напряжения или емкости для отключения заряда
Многие параметры для этого режима берутся из базы данных аккумуляторов. Если требуемого аккумулятора нет в базе, можно подобрать похожий и провести полный цикл обучения для BQ40Z50-R1.
Процесс обучения для вычисления емкости батареи:
- Полностью разрядить батарею и выждать примерно 5 часов.
- Отправить команду Enable и Reset. (Data Memory/Gas Gauging/State/Update Status). В регистрах LStatus статус должен обновиться на 0×04.
- Зарядить батарею до момента, пока в регистре ChargeStatus бит статуса FC (Full charge) не измениться на »1». Затем следует выждать примерно 2 часа. LStatus должен изменится на 0×05. Конечно, заряжать батарею нужно тем методом, который рекомендован производителем батареи.
- Разрядить до уровня С/10 и выждать примерно 5 часов (LStatus должен изменится на 0×06).
- Всё. Цикл обучения завершен.
После цикла обучения BQ40Z50-R1 должна подкорректировать у себя значения в Qmax и некоторых других ячейках и разрешить работу функции балансировки при зарядке.
Выводы
В результате получается «зарядник» с режимом Pre-charge для заряда АКБ. Когда АКБ полностью разряжен — зарядный ток действительно составляет порядка 400 мА, но со временем ток ожидаемо падает и к концу заряда (достижение номинального напряжения) составляет порядка 50 мА.
Общее время заряда в таком случае составляет 5–6 часов. Емкость АКБ в конце заряда составляет 80–90% от номинальной. Если вам не нужна быстрая зарядка нескольких АКБ, требуется минимизировать себестоимость микросхемы заряда и сократить месте на плате, то это ваш вариант.