
Как гарантировать, что тысячи устройств будут работать безупречно как в лабе, так и у конечного пользователя? Конечно, с помощью тестов на всех этапах. И вот здесь критично важный элемент — стабильное и предсказуемое питание тестируемого устройства (DUT). Чем запитать DUT? С одной стороны - дешевый китаец (проблемно непредсказуемый или предсказуемо проблемный), с другой - лабораторный монстр (пугающе дорогой, 90% наворотов - мусор). Мы устали делать этот выбор, и решили сделать свой источник: надёжный с первой до последней секунды теста, компактный, умный и послушный.
Вот что мы придумали
Компактный блок импульсного источника питания для стендов с питанием от USB-C, открытой Python библиотекой. Open source hardware & software.

USB Host - управляющее устройство(ПК, одноплатный компьютер, ноутбук...),
DUT - нагрузка,
Type C Adapter - любой источник питания USB-C, например, от сети, powerbank, ноутбук,
телефон.Всеми частями блока управляет MCU. Это даёт возможность не только управлять источником с ПК, но и загрузить предварительные настройки по заранее заданному алгоритму, связать питание с внешними событиями
PLD connector - универсальный разъём, на который выведено входное и выходное питания, управление USB, интерфейсы микроконтроллера и логическое питание.
Конечно, это источник специализированный, и заменить лабораторные источники мы не собираемся. Давайте подробнее поговорим о вариантах применения.
В тестовом стенде
Что требуется от источника в составе стенда? На тестируемый блок надо подать внешнее питание, проверить что устройство потребляет нужный ток во всём диапазоне входного напряжения. Отключить питание при превышении тока. Работать безотказно, много раз в день повторяя циклы испытаний. В стендах нет человека, который может покрутить ручки и нажимать кнопки. Любоваться на дисплей тоже некому. Даже наоборот - наличие органов управления может приводить к нежелательным воздействиям со стороны неавторизованных лиц (например, оператора стенда на удалённом производстве). Вот пара вариантов использования в составе стенда:

Блок устанавливается внутрь оснастки, на задней панели доступны разъёмы питания и управления
Питание для DUT проходит через board-to-board разъём, по кросс-плате или проводами внутри стенда
-
Можно подключить несколько блоков для получения разных напряжений
Несколько источников внутри стенда -
Можно разместить управляющий ПК внутри стенда, USB управления доступен и на универсальном разъёме
Источник и ПК внутри стенда
На столе
Часто и на столе у разработчиков обычные лабораторные источники питания излишни. Один раз выставив напряжение и ток (открываем консоль, Jupiter notebook, или даже SmuView), мы забываем про его существование, а источник стоит рядом и никто не смотрит на него. Для такого сценария одной кнопки и пары индикаторов достаточно. Никого же не смущает, что логический анализатор не имеет экрана?

Блок лежит на столе
Питание для DUT проходит через banana разъём и провода
Настройка происходит с ПК
Питание можно подать/снять, нажав на кнопку на корпусе
Статус питания и режим - на светодиодных индикаторах
Как вариант - разрабатывается модуль расширения с экраном и крутилками.
Характеристики
Электрические параметры
№ |
Параметр |
Значение |
---|---|---|
1 |
Вход |
USB Type C Power Delivery 100W |
2 |
Выход |
Гальванически не изолирован |
3 |
Количество выходных каналов |
1 |
4 |
Максимальная выходная мощность |
96 Вт |
5 |
Выходное напряжение |
0–32 В |
6 |
Выходной ток, макс. |
3 А |
9 |
Пульсации напряжения |
< 30 мВ (peak-to-peak) |
10 |
Пульсации тока |
< 2 мА RMS |
11 |
Load regulation — при изменении нагрузки с 10% до 90% |
|
12 |
Напряжение ± (% of output + offset) |
< 0.1% + 20 мВ |
13 |
Ток ± (% of output + offset) |
< 0.1% + 5 мА |
14 |
Load recovery time (10% → 90% load change within ± 30 mV of set voltage) |
< 200 мкс |
15 |
Line regulation — ±10% change in mains voltage |
|
16 |
Напряжение ± (% of output + offset) |
< 0.1% + 20 мВ |
17 |
Ток ± (% of output + offset) |
< 0.1% + 5 мА |
18 |
Output voltage overshoot at turn-off of mains power and active channel output |
< 100 мВ |
19 |
Разрешение уставок |
|
20 |
Напряжение |
10 мВ |
21 |
Ток |
1 мА |
22 |
Погрешность установки |
|
23 |
Напряжение ± (% of output + offset) |
< 0.1% + 30 мВ |
24 |
Ток ± (% of output + offset) |
< 0.1% + 5 мА |
Измерения
№ |
Параметр |
Значение |
---|---|---|
1 |
Измеряемые величины |
Ток, напряжение, мощность |
2 |
Погрешность измерения |
|
3 |
Напряжение |
< 0.1% + 30 мВ |
4 |
Ток |
< 0.1% + 5 мА |
5 |
Разрешение измерения |
|
6 |
Напряжение |
10 мВ |
7 |
Ток |
1 мА |
Защиты
№ |
Параметр |
Значение |
---|---|---|
1 |
Overvoltage protection (OVP) |
Настраиваемый параметр |
2 |
Overpower protection (OPP) |
Настраиваемый параметр |
3 |
Overcurrent protection (OCP) |
Настраиваемый параметр, время реакции (Iload > Iresp × 2) < 10 мс |
4 |
Overtemperature |
— |
Управление
USB type B
кастомные интерфейсы и алгоритмы (модификация прошивки контроллера)
Конструкция

Пассивный радиатор как часть корпуса
Отверстия с резьбой для крепления прибора на всех боковых гранях
Разъёмы
Вход питания - USB‑C
-
Выход питания
Banana 4mm
Вход управления - USB-B
-
Универсальный разъём PLD
Входное питание
Выходное питание
USB управление
ноги MCU с защитами для расширения функционала
-
Индикация, органы управления
Светодиоды состояния входа, выхода, защит
Экрана нет, кнопка - есть!
План
Сейчас мы собираем обратную связь от всех заинтересованных, затем источник будет разработан, протестирован, и запущен в crowdfunding(CrowdSupply). Если вам интересна судьба проекта - пишите в комменты, будем на связи!
Глобальная идея - сделать серию компактных инструментов для тестирования. Программатор, коммутатор, логический анализатор, DAQ... При разработке стендов мы будем брать с полки готовые приборы без необходимости доработки, написания драйверов. Просто вставил - и работает, без сюрпризов. Новый сегмент приборов, доступных, открытых, готовых к тестам круглые сутки.
Комментарии (39)
sdy
14.08.2025 15:34Как предложение
-- предусмотреть все таки элементарный экран
-- добавить обязательно индикатор заземления и возможно схему защиты от разности потенциалов на земле DUT и локальной, а также обязательно земляной болт
-- SCPI круто, но обычный CLI тоже норм, главное чтобы драйвер USB/TCP/Serial для того же Matlab Instrument Control Toolbox подходил, ну либо без драйвера напрямую с ним можно общаться было через функции работы с интерфейсами типовыми
-- добавить PoE+ как альтернативу Type-C PD, это дополнительно сразу дает интерфейс удаленного управления
-- добавить какой нибудь интерфейс для подключения кастомной панели управления локальной, например, подключать USB клавиатуру и HDMI для дисплея....хотя стоп, это уже что то не то пишу
Будет ли вэб сервер локальный поднят?
По конструктиву: установка в 10 дюймовый рэк, петли хотя бы добавить, размер 1U
Предохранители обязательно должны быть самосгораемыми приборными быстрыми
Type-B ? - Зачем, почему не Type-C с фиксацией на одном, либо двух винтах как в стандарте
Ioanlarionov Автор
14.08.2025 15:34Спасибо за ценные мысли. По наворотам мы пока себя ограничиваем в рамках простого функционала за понятные деньги. Земляной болт топ!
sdy
14.08.2025 15:34какой примерно бюджет планируется? Скажем один простой китайский БП, либо небольшой бп типа Ригол, либо что то среднее?
VT100
14.08.2025 15:34Load recovery - вижу. Load dump - не вижу.
Нормировку ошибок и времён переключения CV-CC-CV - тоже не вижу.
И, на сладкое, что-нибудь про эмиссию помех.
Indemsys
14.08.2025 15:34Откуда такая увереность в точности измерений?
Или это будет усреднение на больших интервалах в сотни миллисекунд?
randomsimplenumber
14.08.2025 15:34Если устройство должно питаться от type-c - логично проверять его именно с type-c. Если от аккумулятора - с аккумулятором. От внешнего power bank - с ним. А то может оказаться, что с блоком питания оно работает как то иначе.
unalacuna
14.08.2025 15:34Желательно проверять должен тот самый человек, который будет потом пользоваться. А то мало ли.
Ioanlarionov Автор
14.08.2025 15:34Можно использовать разные подходы. На производстве как правило функции не тестируют так, как ими будут пользоваться в жизни. Из-за ограничений по времени и специфики производства больших количеств. Прошивки отдельные, нагрузки специальные. Например, в тесте аккумулятор надо зарядить от устройства, а потом поработать от него без внешнего источника. Но через 100 протестированных устройств аккумулятор стенда уже заряжен полностью и зарядка не идёт.
ioccy
14.08.2025 15:34А будет возможность залить в него программу тестирования, и индикатор fail/pass, чтоб без компа?
Ioanlarionov Автор
14.08.2025 15:34Да, конечно, это же опенсорс. Дописываете прошивку и в путь.
Но лучше - использовать как прибор, а автоматизировать на HardPyioccy
14.08.2025 15:34Ну если б я собирался купить что-то за 200 баксов, то хотелось бы получить это изкаробки. Но все тлен, потому что все равно не буду покупать, даже если вдруг дойдет то производства в количестве. Просто вы идей просили.
Dark_Purple
14.08.2025 15:34Не понял чем ЛБП не угодил, он для этого и придуман.
Ioanlarionov Автор
14.08.2025 15:34Такой?
zatim
14.08.2025 15:34Ага. Кстати, тот что на фотке после доработки напильником становится вполне юзабельным девайсом, особенно за свои деньги.
ailcat
14.08.2025 15:34А ссылочку на "доработку напильником" не подскажете?
Или хотя бы о чем речь...zatim
14.08.2025 15:34Замена шнура питания на нормальный, более прочный
Замена трансформатора на более мощный (по размерам отлично подходят от бесперебойников 250-400 Вт)
Замена диодного моста на 10А и установка его на корпусе блока для теплоотвода
Установка дополнительной фильтрующей емкости по основному каналу 10000-20000 мкФ х 35В.
Замена стабилизатора 5В на вспомогательном канале на 7805 с небольшим теплоотводом (т.к. трансформатор от ИБП на вспомогательной обмотке выдает большее напряжение, около 20В), замена конденсатора до стабилизатора во вспомогательном канале на более высоковольтный (не менее 35В) (по той же причине)
Установка выходного транзистора на большой радиатор, желательно с вентилятором. Неплохо подходят радиаторы от процессора, но транзистор в этом случае лучше применить КТ819Б (или любой другой низкочастотный, низковольтный, с током около 10А), его проще крепить к такому радиатору, просверлив отверстие и нарезав резьбу. Тут на ваше усмотрение, в зависимости от того какой радиатор и транзистор есть в наличии. Вентилятор питается от выпрямителя вспомогательной обмотки через гасящий резистор 200 Ом.
Замена токовых низкоомных керамических резисторов на более мощные (и более низкоомные - для увеличения максимального тока).
Подстройка показаний индикаторов по образцовому прибору, перенастройка фиксированных напряжений на более ходовые: 1,5, 1,8, 2,5, 3,3, 3,7 и т. д. После указанных доработок блок способен длительно выдавать ток до 3-4 А напряжением 0...15 В. Я его использую даже для зарядки автомобильного аккумулятора.
Ioanlarionov Автор
14.08.2025 15:34Остался только корпус?
zatim
14.08.2025 15:34Не вижу причин для сарказма. По описанной методике было доработано несколько БП и люди ими счастливо пользуются. В отличие от вашего прожекта, которого даже еще не существует в природе.
Кстати, большой и жирный минус вашей задумки - эта самоделка никогда не пройдет поверку. Пока вы ее используете только для личных единичных нужд, еще норм. Но на более-менее адекватном производстве ее завернут и потребуют поверенные средства измерения с ворохом необходимых бумаг. Я не потому это говорю чтобы обосрать ваше творение, я говорю чтобы предупредить. По этим граблям мы уже проходили. Более того, сейчас нет недостатка в управляемых лабораторных БП и стоят они весьма недорого, даже приличных фирм.
vazir
14.08.2025 15:34Говорите открытый а схемы нет. если там esp32 есть то экран элементарно, цена копейки, а юзабилити +100...
Ioanlarionov Автор
14.08.2025 15:34Пока это открытая идея открытого источника. Экран, кнопки и всё такое - это другая ниша как будто
juramehanik
14.08.2025 15:34А есть возможность управления временем нарастания напряжения питания при включении?
vvzvlad
14.08.2025 15:34Измерение небольших токов на длительном периоде. Для отладки каких-нибудь батарейных устройств, которые спят минуту, просыпаются на 200мс, кидают пакет в эфир и засыпают обратно. Было бы удобно на промежутке в десяток часов оценить потребленную мощность на разных напряжениях, симулируя разряд батареи.
Serj_78
14.08.2025 15:34Специфическая для некоторых цифровых устройств характеристика- значение выбросов при существенном изменении нагрузки. Например питание 3.3в, ток меняется за 20 мкс с 0.5 до 3А . И наоборот. Уделите этому внимание.
engin
14.08.2025 15:34Вообще-то правильным и логичным тоном в любой разработке считается применение встроенного в стенд такого источника питания, как и другой аппаратной части в виде уже существующих готовых модулей с требуемыми функциями и параметрами, которые в дальнейшем могут стать частью прототипа (репликация или как есть), при этом сегодня выбор таких готовых и выставленных на поток, как источников с в.у. характеристиками, так и других модулей, вполне позволяют вести их подбор в качестве универсальных компонентов к той архитектуре устройств, которые Вы разрабатываете сегодня или с идеями на завтра. Такой подход избавит Вас от дальнейших дополнительных затрат в создании прототипов или промышленных образцов.
LinkToOS
14.08.2025 15:34Я встречал такие самодельные устройства:
Многоканальные ИП, аккумуляторные, с типовыми фиксированными напряжениями.
Электронные предохранители, с программируемым профилем. Учитывают например заряд входного конденсатора при подаче питания.
Генераторы тестовых напряжений, до сотен вольт, с программируемой формой сигнала.
Это есть и в промышленном исполнении. Но слишком дорого, или недостаточно гибко.
Но обычная практика это лабораторный источник. Можно подключить устройство на 24 вольта. Можно на 5 вольт. Можно на 5-вольтовое устройство подать 24 вольта. Удобно.
Еще у него есть хороший режим ограничения тока, предотвращающий взрыв устройства. При этом питание с устройства не снимается, а только ограничивается ток, и устройство медленно дожаривается на малом огне. Можно пощупать что греется, и понять где проблема.
sintech
Чем ваше устройство отличается от FNiRSi DPS-150
Тоже usbc PD, тоже есть управление с открытым протоколом, тоже есть настраиваемые OVP, OCP.
В плюсах компактный размер и экран с локальными кнопками.
Ioanlarionov Автор
должен работать не только на понижение
не должен иметь таких шумов по выходу
можно встраивать в стенды
можно продолжать работать после срабатывания защит
выходные бананы будут на расстоянии 19мм
открытое железо и софт
хорошая библиотека для автоматизации
arthuru1
Низкие шумы при двух импульсных преобразователях?
drWhy
Пассивный радиатор как часть корпуса
А если ещё и анодированный алюминий..
unalacuna
И большая крутилка?

drWhy
Главное чтобы не энкодер. А то нагрузку рано или поздно ждёт сюрприз.