
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 Вт, аналоговыми и цифровыми входами-выходами, амперметром и омметром. То есть блок, на котором можно собрать стенд практически целиком, без дополнительных приборов.
Комментарии (17)

LinkToOS
30.03.2026 12:04Лучше на аккумуляторах. Кирпич без сетевого кабеля. И удобно, и гальваническая развязка.

Ioanlarionov Автор
30.03.2026 12:04Да, от powerbank тоже работает

LinkToOS
30.03.2026 12:04В powerbank лишний преобразователь. Который к тому же слабый. Step-up может потребовать больше ампер.

extreme_engineering
30.03.2026 12:04Сейчас есть (и достаточно много) повербанки с выходом для ноутов, там мощность под 100Вт и емкость большая

extreme_engineering
30.03.2026 12:04Есть еще вопросы:А будет какой-то GUI для работы как с обычным лабораторником, но только портативным

Ioanlarionov Автор
30.03.2026 12:04По данным последней утечки из лаборатории, да

Слитое фото экрана разработчика с прототипом интерфейса 
extreme_engineering
30.03.2026 12:04Только на ПК? Со смартфона нельзя будет подключиться и поуправлять. А то, я бы с собой брал в командировки, где ноут отбирают, а смартфоны пока еще не запретили.

Ioanlarionov Автор
30.03.2026 12:04Да, можно конечно! Любой USB, или написать свой кусочек и управлять по UART/SPI/I2C

sergyk2
30.03.2026 12:04по блютузу через HC-05 или что там нынче модно

Ioanlarionov Автор
30.03.2026 12:04да мы думаем нашлёпку с дисплеем, крутилкой и беспроводными интерфейсами сделать

Hexlight
30.03.2026 12:04Здоровенная плата с кучей места
@
Ставим мелкий, дорогой и редкий Coilcraft, рассказываем, что ему нормально будет греться 100+ градусов
@
Окей.

Dark_Purple
30.03.2026 12:04Почитал, но так и не увидел адекватных характеристик. Короче, “Миша всё не то, давай по новой”. Вот два варианта для вдохновения:
https://www.qoitech.com/otii-ace
https://www.joulescope.com/products/js220-joulescope-precision-energy-analyzer

levkirillov
30.03.2026 12:04В разделе с КПД Вы измеряете погоду на Марсе. На нагрузке без ног sense у вас дикое падение на проводах (Я так понимаю вы решили током добить до 96 Вт, судя по напряжению упало пол Вольта - еще может сложиться впечатление, что DC/DC не справляется). Но на входе у вас тоже провода, да еще и с крокодилами.
Скорее всего КПД только увеличится если переделать нормально, но тем не менее.
Ioanlarionov Автор
30.03.2026 12:04Так и есть, целью эксперимента было нагрузить наш блок на полую мощность, а не точно измерить КПД. По хорошему надо измерять мощность на входе и выходе непосредственно на разъемах устройства. Источник питания вместо адаптера USB C на входе появился потому, что наш блок питания на 100Вт выдавать полную мощность долго отказался.
Arhammon
Просмотрел по диагонали, я так понял разнообразия управляемого выхода не предполагается? Вроде коммутируемых стандартных напряжений, цап итп.
Ioanlarionov Автор
Не вполне понятен вопрос. Выход полностью контролируется с микроконтроллера, по i2c. Можно сделать разные формы сигнала, правда, финальные динамические характеристики ещё не ясны
Arhammon
Ну например есть DUT он подключен по основному выходу к питанию, там допустим контролируем потребление, с того же суперБП подаем 1кгц синус на вход и тем же устройством меряем выход. Правда это как минимум потребует несколько гальваноразвязок внутри устройства.
Просто БП в таком форм-факторе уже есть...