
PwrBlock (Power Block) — открытый программируемый источник питания для тестовых стендов и автоматизации проверки электроники.
Его уже можно потрогать руками, а скоро — заказать себе такой или собрать самостоятельно: проект полностью open source. Рассказываю, из чего он сделан, что уже работает, что показал тест на максимальной мощности и какие выводы появились после первых измерений.
В прошлой статье я рассказывал, зачем мы вообще взялись за эти блоки. Если коротко, глобальная идея — сделать серию открытых компактных инструментов для тестирования: программатор, коммутатор, логический анализатор, DAQ и другие блоки, из которых можно собирать стенды без доработки готовых приборов и без написания драйверов под каждый новый модуль. Просто вставил — и работает, без сюрпризов.
С тех пор проект ушёл с уровня схемы и рендеров в реальное железо. Мы собрали первые образцы, прогнали их по ключевым режимам и получили первые подтверждённые характеристики.
Основные компоненты

Protection: TPS25983
от 2.7В до 26В
2.7mΩ 20A встроенный ключ FET
MCU: STM32G0C1CE.
Cortex-M0+ CPU, тактовая частота до 64 MHz
512KB flash
USB Type-C Power Delivery controller Главная фича этого семейства - встроенный контроллер power delivery, это позволяет нам отказаться от выделенной микросхемы для этой функции.
Monitor current/voltage/power/energy/charge: INA229
до 85В
20-bit, ultra-precise
SPI интерфейс, выход прерывания по порогам
датчик температуры ±1°C Эта микросхема позволяет нам достаточно точно измерять, что у нас на выходе источника: ток, напряжение, мощность, энергия, без дополнительных калибровок. Заодно можно измерить температуру.
DC-DC: LM51772
Buck-Boost
I2C интерфейс настройки Сердце нашего блока. Понижает, повышает, настраивается по I2C.
Проверка максимальной мощности
Один из первых сценариев, который хотелось проверить на живом устройстве, — длительная работа около максимальной выходной мощности.
Тест был простым:
выходное напряжение — 32 В, 3А
вместо сетевого адаптера использовался лабораторный источник питания
в качестве нагрузки — электронная нагрузка
плата без корпуса и радиатора
время теста — 3 часа под нагрузкой
По итогам измерений PowerBlock потреблял 103,64 Вт, а на нагрузку отдавал 96,17 Вт. КПД 92,7%, тепловые потери 7,47 Вт. В целом, как и ожидали.

Что показал нагрев
После трёх часов работы на выходной мощности около 96 Вт мы посмотрели тепловую картину платы.
Самая горячая точка сверху — корпус индуктивности, 80 °C. Температура DC-DC преобразователя на протяжении теста держалась на уровне 71–72 °C. Снизу самая горячая зона оказалась в точке термоперехода площадок индуктивности на внутренние слои платы — 86 °C. Дроссель готов терпеть и до +165°C, так что каких-то проблем от нагрева мы не ждём, хотя тест в термо-камере обязательно будет.

Главный вывод из этого теста: блок может работать и не перегревается даже без корпуса, работу в корпусе предстоит проверить. Дроссель возьмём пожирнее. Отвод тепла на корпус через термо прокладку как раз под дросселем должен работать хорошо.

Регулировка напряжения и тока
Регулировка выходного напряжения через I2C работает как и написано, из коробки. Шаг 10 мВ в диапазоне 1-24В, 20мВ в диапазоне 3.3-32В. Мы добавили фичу - аналоговая тонкая подстройка, которая неплохо работает для небольшого сдвига выставленного напряжения. С ней можно сделать шаг регулировки 1 мВ. Эта фича явно не прописана в описании микросхемы, но… работает! Вот блок-схема из документации на lm51772 , мы подаём смещение на ATRK, одновременно управляя напряжением по I2C.

LM51772 умеет ограничивать не только импульсный ток, но и средний, измеренный на внешнем шунте. И этот порог можно регулировать по I2C. Таким образом, можно сделать цифровую ступенчатую регулировку с шагом 50мА. Однако, ниже 500мА регулировки нет.
Второй вариант - использовать внешний резистор для задания порога тока. Мы поставили вместо резистора ISET регулятор с транзистором, и испытали регулировку от ЦАП микроконтроллера. Регулирование работает. Но внизу диапазона, ниже 500мА, источник ведёт себя очень нестабильно, наблюдаются пульсации выходного напряжения с частотой 6,5 кГц. Теоретически при замене шунта на больший, мы сдвинем нижний предел на 250мА, а максимальный измеряемый ток на 3,5А.
То есть использовать внутренний аппаратный блок стабилизации тока LM51772 для режима CC (стабилизация тока) можно только для диапазона 250мА - 3А. Цифровой метод даст шаг регулировки 25мА, а аналоговый - менее 1мА. Ниже порога 250мА надо реализовать программный режим CC.
Корпус
С корпусом мы в итоге остановились на простой конструкции из 1мм листового алюминия. Потому что это можно дёшево производить даже в малых партиях. Думали, 1мм может быть тонковато, но в собранном виде он довольно жёсткий.

Плата прикручивается на нижнюю половину корпуса через стойки, припаянные к ней на стороне bottom. Между платой и корпусом - термопрокладка для отвода тепла. Надписи нанесены лазерной гравировкой, покрытие - анодирование. На образцах подтвердилось опасение про изолирующие свойства анодирования. Стойки платы не получили контакта с корпусом, а значит, заземление не работает. Будем зачищать участки корпуса где нужен контакт. Прикладывая блок внутрь разных стендов поняли, что надо добавить ещё гаек на нижнюю грань. Так его можно будет прикрутить вообще куда угодно.
Кнопку решено заменить на похожую, но со щелчком, а также добавить подсветку. В целом блок очень кайфовый по ощущениям, брутальный, простой, и приятный глазу.

Что дальше
Сейчас ближайшие задачи такие:
пройти испытания в тепловой камере и ЭМС
закончить тюнинг динамических характеристик
проверить нижний диапазон стабилизации тока с программной реализацией CC
довести программную часть
сделать реальную оснастку для тестирования какой-нибудь платы с этим источником внутри
Шаг за шагом PwrBlock превращается в рабочий инструмент для стендов, оснастки и автоматизированной проверки электроники.
Поддержите проект
Мы делаем PwrBlock как открытый инструмент для инженеров, которые строят тестовые стенды, небольшие производственные установки и просто хотят иметь удобный управляемый источник питания.
Если вам близка идея open-source инструментов для тестирования электроники, поддержите проект на Crowd Supply. Подписка, обратная связь и комментарии здесь реально помогают быстрее довести устройство до следующего этапа.
P.S. Следующий блок — CmptBlock. Это Raspberry Pi Compute Module с источником на 25 Вт, аналоговыми и цифровыми входами-выходами, амперметром и омметром. То есть блок, на котором можно собрать стенд практически целиком, без дополнительных приборов.
