Изначально я хотел написать небольшую статью о разработке PowerBank, но когда начал, понял, что одной части недостаточно. Поэтому я разделил его на 4 части, и сейчас обращаю внимание на первую из них: макет (схема).
очевидно, что разработка любого электронного устройства начинается с технического задания (ТЗ), поэтому я определил для себя ряд параметров, которые должен обеспечивать мой PowerBank:
- входное напряжение 19В (для возможности зарядки от стандартного портативного зарядного устройства)
- выходное напряжение 19В (аналогично стандартному зарядному устройству)
- максимальный выходной ток 3,5 А (такой же, как у стандартного зарядного устройства)
- емкость элемента не менее 60Вт*ч (+1 внутренняя батарея)
Помимо основных требований, я добавил еще несколько:
- КПД преобразователя и памяти не ниже 94% — без радиаторов обойтись.
- Частота преобразователя не ниже 300кГц — для уменьшения размеров самого преобразователя.
- USB-порт для отображения основной информации о PowerBank, такой как уровень заряда, состояние, количество завершенных циклов, температура, ток и напряжение аккумуляторных элементов и т д
- Программное обеспечение на ПК (Windows) для просмотра основной информации о PowerBank.
- Возможность изменения выходного напряжения, либо наличие дополнительного выхода 5В для зарядки USB устройств.
- Светодиодная индикация уровня заряда и состояния PowerBank.
- Кнопки для включения PowerBank и просмотра уровня заряда.
Для начала разработки я сделал блок-схему будущего устройства:
Комментируя схему, могу сказать, что я мог бы взять управляющий МК с USB, но боялся трудностей разработки ПО для USB (впоследствии понял, что зря), поэтому поставил преобразователь USART-USB.
Так как устройство изначально разрабатывалось для себя, было решено создавать макет в основном из тех деталей, которые были у меня в наличии и с которыми я уже работал (во избежание подводных камней). При этом никакой оптимизации цен на данном этапе не проводилось. Поэтому для PowerBank я выбрал следующие компоненты:
- МК — STM32F051K4U6 с прицелом на замену на STM32F042K4U6.
- Преобразователь USARTUSB — CP2102. Не дорого, работает хорошо, места занимает мало, проверенное решение.
- Импульсный преобразователь напряжения — LTC3780IG. Далеко не самый дешевый/оптимальный вариант, но пошаговый, может 400кГц, имеет внешние переключатели, обкаточное решение. В будущем замените на LM5175 от TI или используйте синхронный повышающий преобразователь.
- Линейный стабилизатор — LP2951ACD-3.3. Был в наличии, не лучший вариант. Ток собственного потребления до 120 мкА с прицелом на замену на MCP1703T-3302E/CB с током собственного потребления до 5 мкА.
- Зеленые и красные светодиоды типоразмера 0805.
- Кнопки обычные часовые SMD.
Отдельно коснемся выбора зарядного устройства (зарядного устройства) и системы контроля и управления для Li-ion аккумуляторов (Li-ion Battery Management System или BMS). Несколько лет назад я ремонтировал ноутбуки и часто видел BMS Texas Instruments в аккумуляторах. Поэтому я сначала начал искать решение для своего устройства именно у этого производителя. Стоит отметить, что вообще альтернативы нет, так как выпускают такие микросхемы всего несколько фирм (ТИ, Максим, немного ЛТ, СТ-заброшенные, Интерсил-экзотика для нас, может есть и больше, но я не не знать). Вот и бродя по сайту ti.com наткнулся на очень интересную микросхему BQ40Z60RHBR, это память и BMS в одной микросхеме. Мне он очень понравился тем, что заменил 2 микросхемы. Такое решение явно дешевле, чем если делать отдельно ЗУ и BMS и занимает меньше места. Основные ТТХ микросхем BQ40Z60:
- Зарядный ток: до 4А
- Количество ячеек: до 4x
- Частота преобразования: 1 МГц
- Входное напряжение: до 25 В
- Емкость ячейки: до 65А*ч
- Функция баланса
- Настраиваемые светодиоды для индикации (заряд, емкость)
Чип достаточно новый (конец 2014 года выпуска), поэтому информации по нему мало, и я немного переживал из-за этого, зная, что TI BMS достаточно сложно программируется, а это еще и комбинация (память+BMS). Также меня немного беспокоили возможные косяки в кристалле, но зная, что я буду пользоваться только базовым функционалом, я надеялся, что проблем не возникнет. Но забегая вперед, скажу, что так и было.
Кстати, я не зря раньше практически ничего не говорил о элементах и комплектации аккумуляторов, только сейчас пришло время перейти к выбору. Существует несколько критериев оптимального выбора конфигурации батареи:
- Для уменьшения потерь на проводах необходимо минимизировать токи между узлами устройства. Имея это в виду, батарея с 4 ячейками последовательно (общий термин 4s1p или 4 последовательных 1-параллельных) выгоднее, чем 4 параллельных ячейки (1s4p), см рисунок.
- Поскольку зарядный ток ограничен, нам нужно увеличить напряжение, чтобы увеличить мощность (и скорость) заряда аккумулятора. Этот критерий также относится к конфигурации 4s1p.
- КПД инвертора снижается по мере увеличения разницы между входным и выходным напряжением. Вот график из документации на конвертер MP2307DN.
Учитывая, что выходное напряжение устройства составляет 19В, конфигурация 4s1p опять-таки является наиболее выигрышной.
Теперь посчитаем некоторые параметры батареи при условии емкости 60Втч, конфигурации 4с1п (напряжение 14,8В):
Полученное число мне показалось слишком маленьким (ну или аппетит появился во время еды) и я решил перейти на конфигурацию 4s2p на имеющихся в наличии ячейках LP 5558115 3500mAh. Итого имеем:
Емкость аккумулятора: 7А*ч (103 Вт*ч)
Напряжение: 14,8 В
Такой результат меня вполне устроил — это было больше, чем две внутренние батареи моего ноутбука (ASUS S451L, 46Wh). Началась разработка дизайна…
На этапе макета я хотел выложить некоторые дополнительные возможности:
- подключены светодиоды BQ40Z60. Имеют функционал индикации уровня заряда с регулируемыми порогами, а также процесса зарядки.
- добавлена возможность регулировки частоты/режима работы (прерывистые или непрерывные токи) преобразователя (используя ШИМ МК + RC фильтр).
Схему лампы BQ40Z60 я скопировал с отладочной платы BQ40Z60EVM-578, лампу LTC3780IG из документации, а все остальное сделал сам. В результате получается следующая схема.
Схема разделена на 3 блока:
- Блок преобразователя напряжения
- Блок ЗУ+БМС
- Блок управления на МК
Комментарии к схеме: инверторный блок и ЗУ + BMS выполнены по схемам из документации [1], [2], блок управления выполнен с расчетом на реализацию спящего режима для минимального энергопотребления в выключенном состоянии . Забегая вперед, скажу, что на несколько моментов я накосячил, но с помощью ножа и паяльника мне удалось заставить установку работать должным образом. Полученная плата показана ниже:
Плата содержит 4 слоя по 18 микрон, общая толщина 1 мм, заказ на сайте seeedstudio.com.
Теперь пора коснуться главного показателя качества железа — это КПД всей системы в целом. Точнее имеем 2 КПД: при зарядке батареи и при разрядке. Строго говоря, эффективность при зарядке должна быть оптимизирована только для уменьшения нагрева устройства (при условии, что у нас много энергии для зарядки), а потеря эффективности при разрядке фактически снижает реальную емкость PowerBank. Составим список элементов, напрямую влияющих на КПД при зарядке:
ACFET — это транзистор, который предотвращает появление напряжения на разъеме внешнего питания, когда PowerBank работает от батареи.
HighSideFET — это верхний транзистор понижающего преобразователя.
LowSideFET — нижний транзистор понижающего преобразователя.
BuckInductor — дроссель понижающего преобразователя.
CHGRCS — резистор датчика тока памяти.
CHGFET — зарядный транзистор аккумулятора.
DSGFET представляет собой разрядный транзистор батареи.
CellCS — сопротивление датчика тока батареи.
Транзисторы ACFET, CHGFET и DSGFET при работе имеют только статические потери, так как они постоянно открыты и представляют собой резисторы с сопротивлением, равным сопротивлению открытого канала транзистора Rds_on, поэтому эти транзисторы должны иметь как можно меньше Rds_on. Я выбрал корпуса транзисторов pqfn3.3×3.3, так как они подходили по мощности и имели меньшие габариты по сравнению с моим любимым pqfn5x6. Наименьшее доступное сопротивление канала было у IRFHM830D (Rds_on = 5 мОм + диод Шоттки).
Транзисторы HighSideFET и LowSideFET работают в импульсном режиме, их подбор сложен и будет рассмотрен позже.
Попробуем оценить потери при входном напряжении 19В, токе заряда аккумулятора 4А, конфигурации 4s1p:
CellCS — ток через него равен зарядному току, сопротивление 5мОм, потери:
CHGRCS — ток через него равен зарядному току, сопротивление 10мОм, потери:
CHGFET и DSGFET — ток через них равен зарядному току, сопротивление 5мОм, суммарные потери:
ACFET — ток через него равен входному току (примем максимально возможный входной ток 3,5А, это максимум, что может выдать стандартная портативная память), сопротивление 5мОм, потери:
Сюда же можно добавить потери на сопротивление проводов к плате ячейки, а также следы самой платы. Я их рассчитал, измерив падение напряжения при токе в цепи аккумулятора 4А, оно составило 36мВ, что соответствует мощности:
BuckInductor — потери в дросселе можно разделить на 2 составляющие:
- потеря активного сопротивления обмотки (DCR — сопротивление обмотки постоянному току). Для выбранного дросселя IHLP2525CZER2R2M01 типовое значение DCR=18мОм, что при среднем токе 4А даст потери:
- потери в сердечнике довольно сложно рассчитать, используя только данные из документации, поэтому мы верим заверениям Vishay в том, что их материалы очень крутые, а текущая пульсация составляет около 20%, поэтому мы принимаем нулевые потери в сердечнике.
Суммарные суммарные потери при зарядке статических компонентов составляют:
Чтобы получить общие потери заряда, необходимо оценить потери транзисторов HighSideFET и LowSideFET. В этом мне помог Apnot AN-6005 от Fairchildsemi. Вкратце, на вкладке ControllerDriver добавляем наш контроллер в базу и вносим в таблицу необходимые параметры:
Берем данные из документации на BQ40Z60. Далее заполняем таблицу с параметрами транзисторов HighSideFET и LowSideFET на вкладке MOSFETDatabase:
Также получаем данные из документации на транзисторы. Я экспериментировал со многими транзисторами (вид снизу), потому что частота преобразования 1 МГц довольно высока. Из всех транзисторов, которые мне удалось быстро достать, лучшим оказался CSD17308 от TI. Однако это только рекомендуемые транзисторы от кита BQ40Z60EVM. По расчетам лучшими оказались eGaN-транзисторы от EPC (Efficient Power Conversion), но против этого сыграла цена в 500 рублей, месячное ожидание и конкретная упаковка. Еще пара комментариев из вкладки MOSFETDatabase:
Правая колонка — рис. Merit (Показатель качества — показатель качества) — это произведение Rds_on и заряда затвора Qgsw. В целом, чем ниже Fig.Merit, тем лучше транзистор, но вы должны понимать, что это достаточно эмпирический показатель.
На вкладке EfficiencySummary выберите контроллер, используемые транзисторы и количество, введите параметры источника и нажмите кнопку Run.
При зарядном токе 4А и входном напряжении 19В потери составят 1,17Вт. Всего потерь:
После сборки установки я измерил зарядные цепи с теми же параметрами, что и в оценочных расчетах:
КПД схемы составляет 97,1%, при этом потери мощности составили 1,908 Вт при расчетных 2,07 Вт. Что ж, получилось очень близко к оценке потерь. Термограмма рабочего блока представлена на рисунке.
Температура окружающей среды 23 градуса, стол без чехла. 58 градусов в самой горячей точке (перегрев 58-23=35 градусов) с фольгой 18 мкм, это очень хороший показатель. Катушка индуктивности одновременно греется до 40 — скорее всего греется транзисторами. Сам контроллер нагрелся до 52 градусов.
Теперь перейдем к рассмотрению эффективности системы при разряде. Для начала оценим потери в самом преобразователе. Для этого составим список элементов, напрямую влияющих на эффективность:
A — верхний транзистор инвертора LTC3780.
B — нижний понижающий транзистор.
C — нижний повышающий транзистор.
D — верхний повышающий транзистор.
Л — газ.
RS – текущее сопротивление датчика.
Ну и конечно потребление самого контроллера LTC3780. Подробно останавливаться на работе микросхемы не буду, скажу только, что это фактически понижающий преобразователь, который стоит после повышающего с обычным дросселем. В зависимости от входного и выходного напряжения работает либо одна часть, либо другая, либо обе (при примерном равенстве между входным и выходным напряжениями).
Для расчета КПД инвертора используем следующие параметры:
Давайте договоримся, что ноутбук всегда использует максимум. На самом деле это близко к истине, так как при подключении внешнего источника, помимо энергии для работы, он еще использует энергию для зарядки внутреннего аккумулятора, и вообще, при наличии внешнего питания, он себе не отказывает потребление. Напряжения соответствуют номинальному напряжению элементов — 3,7В и пониженному — 3,3В. Важно отметить, что преобразователь в блоке тока всегда находится в форсированном режиме (входное напряжение никогда не превышает выходное), но это не означает, что транзисторы А и В не переключаются. Для заряда бутстрепного конденсатора необходимо кратковременно выключить транзистор А и включить В (то же самое будет при работе в понижающем режиме для транзисторов С и D). LTC3780 делает это на частоте 40 кГц.
Для оценки потерь воспользуемся файлом xls для LTC3780 из пакета LTpowerCAD2. Принцип работы аналогичен предыдущей работе с xls для BQ40Z60. Вводим все значения выходного напряжения и тока, входное напряжение, нужную частоту преобразования, параметры ключевых транзисторов (решил использовать CSD17308 как в ЗУ). Катушка индуктивности была выбрана IHLP5050EZER3R3M01, которая имеет типичное значение DCR = 7,7 мОм. На 3,5А индуктивности маловато, так получилось, что при покупке комплектующих я рассчитывал на выходной ток 4,5А. Для текущей конфигурации идеальным вариантом будет IHLP5050EZER4R7M01 с типичным значением DCR = 12,8 мОм. Датчик тока представляет собой резистор типоразмера 2512 с сопротивлением 5 мОм.
После ввода всех данных в поля MOSFET Power Loss Break Down и Estimated Efficiency появятся круговые диаграммы распределения потерь по компонентам и оценка эффективности для заданных входных/выходных напряжений и тока нагрузки.
КПД очень оптимистичен — 98,79% при входном напряжении 14,8В и 98,51% при 13,2В (цифры без учета потерь в сердечнике дросселя). Основными элементами, на которых возникают потери, являются дроссель/датчик тока (23 %), транзистор А (25 %) и D (38 % от общих потерь).
Пришло время измерить реальную эффективность.
Измеренный КПД составляет 96,93 % при входном напряжении 14,8 В и 96,35 % при 13,2 В. Проанализируем полученные данные. Для этого переведем процент КПД в потери мощности:
При этом отклонения более значительны по сравнению с предполагаемыми потерями в преобразователе памяти и составляют 1,48 Вт. Но если учесть потери в сердечнике дросселя (которыми при неоптимально подобранной индуктивности нельзя пренебречь), картина не становится такой удручающей.
Оценим средний (при напряжении 13,2В) КПД PowerBank при разряде. Он складывается из КПД самого инвертора, а также:
CellCS — ток через него равен входному току преобразователя, сопротивление 5мОм, потери:
CHGFET и DSGFET — ток через них равен входному току преобразователя, сопротивление 5мОм, суммарные потери:
Эффективность PowerBank при разрядке:
Термограмма преобразователя при входном напряжении 14,4В и выходном токе 3,5А показана ниже:
Транзистор С оказался самым горячим местом, но нагрев (при температуре окружающего воздуха 21 градус) составил всего 41,1 градус за 30 минут работы. Понятно, что в случае чего эти цифры будут выше, но запас по перегреву огромен.
И в заключение первой части статьи хочу сказать, что проделана большая работа, и во второй части статьи мы разберем аппаратные и программные грабли при запуске сетапа, настройке BQ40Z60 и ПО для СТМ32F0. Надеюсь, это было интересно.
PS: Архив с проектом платы и исходниками будет выложен в следующих частях статьи.
PPS заметил, что забыл чуть ли не самое главное для этой части статьи — изображение фикса раскладки
На плате видны следы исправлений, а также следы ношения в открытом виде в рюкзаке (следы обгорания в районе подключения аккумулятора). Планировка конечно не самая изящная, но даже в таком виде ее можно использовать. Теги:
- внешний аккумулятор
- стм32
- литий-ион
- постоянный ток
- бмс
Хабы:
- Аппаратное обеспечение
- Сделай сам или сделай сам