Программируемые модули питания DPS от RD Tech (Riden) давно прижились у радиолюбителей. Они дешёвые и компактные, а из обычного блока питания делают лабораторный источник с регулировкой напряжения и тока. У «коммуникационных» версий есть последовательный порт, но фирменный софт неудобен. Проект DPS Control позволяет управлять блоком питания с компьютера, будь то DPS5015, DPS5020 или DPH5005, прямо из браузера, ничего не устанавливая.
Как это работает
DPS Control — веб‑приложение на технологии Web Serial. Браузер (настольный Chrome или Edge) сам открывает COM‑порт и общается с модулем по Modbus RTU. Драйверы, программы производителя и Python не нужны.
Приложение можно запустить двумя способами:
- Онлайн. Готовая версия выложена на GitHub Pages: . Откройте страницу, подключите USB‑адаптер и нажмите Connect. Всё общение с блоком идёт между браузером и адаптером, на сервер ничего не отправляется.
- Офлайн. Скачайте из три файла и откройте index.html двойным щелчком.
Файлы проекта: index.html — само приложение; dps-control.css — оформление со светлой и тёмной темами (должен лежать рядом с HTML); devices.json — описание поддерживаемых моделей. Копия списка встроена в HTML, поэтому без JSON приложение тоже работает.
Возможности
- Показания в реальном времени: выходные напряжение, ток и мощность, входное напряжение, режим CV/CC и состояние защит.
- График с выбором шкалы времени: прошедшее время, секунды или время суток.
- Запись в CSV: строка на каждое измерение или строго раз в N секунд.
- Автоматизация: плавный подъём (ramp), снятие ВАХ (I‑V sweep), последовательности шагов и автоматическое отключение.
- Ячейки памяти M0–M9 вместе с порогами защит OVP, OCP и OPP.
- Консоль Modbus для ручных запросов к регистрам.
- Симулятор, чтобы освоить программу без железа.
Клавиша Esc мгновенно выключает выход и останавливает все инструменты. В заголовке вкладки видны текущие вольты и амперы. Если блок перестал отвечать, показания становятся серыми. Пока идёт запись или работает сценарий, экран не гаснет. Тема переключается по кругу: авто, светлая, тёмная.
Поля уставок синхронизируются с блоком: если покрутить ручку на модуле, значения на экране обновятся. После каждой записи приложение читает значение обратно и предупреждает о расхождении. Опрос по умолчанию идёт каждые 100 мс, поэтому реакция видна примерно через 0,1 с даже на 9600 бод.
Совместимые устройства
Нужна коммуникационная версия модуля (обычно обозначена как «USB/BT» или «CNC communication version»). Модель определяется автоматически по регистру 0x0B.
| Модель | Тип | Диапазон |
|---|---|---|
| DPS3005 | понижающий | 30 В / 5 А / 160 Вт |
| DPS5005 | понижающий | 50 В / 5 А / 250 Вт |
| DPS5015 | понижающий | 50 В / 15 А / 750 Вт |
| DPS5020 | понижающий | 50 В / 20 А / 1000 Вт |
| DPS8005 | понижающий | 80 В / 5,1 А / 408 Вт |
| DPH5005 | повышающе‑понижающий | 50 В / 5 А / 250 Вт |
| DPH3205 | повышающе‑понижающий | 32 В / 5 А / 160 Вт (не подтверждён) |
На реальном железе проверен DPS5015. Остальные модели проверены на симуляторе по документации RD Tech и данным проекта rdserialtool. Для неизвестной модели приложение прикидывает пределы по номеру и помечает её как непроверенную.
Не поддерживаются: Riden RD60xx и Joy‑IT JT‑RD60xx (другая карта регистров), модули с прошивкой OpenDPS, модули без коммуникационной платы, серия DP, DPS3003, DPM8600 и серия XY.
Подключение
На модуле есть четырёхконтактный разъём с шагом 1,25 мм. Штатный USB‑ или Bluetooth‑модуль RD вставляется в него напрямую и появляется в системе как COM‑порт. Подойдёт и USB‑UART переходник с логикой 3,3 В (CP2102, CH340, FT232): TX переходника — к RX модуля, RX — к TX, GND — к GND. Вывод VCC не подключайте!
Параметры связи: Modbus RTU, 8N1, 9600 бод по умолчанию, адрес 1. Скорость, адрес и PIN Bluetooth меняются в сервисном меню: нужно удерживать кнопку ▲ (V) при включении модуля.
Быстрый старт
- Откройте в Chrome или Edge либо запустите локальную копию index.html.
- В настройках (⚙) оставьте «Auto-detect» или выберите модель. Проверьте скорость и адрес.
- Нажмите Connect и выберите порт. В следующий раз тот же адаптер подключится автоматически.
- До подключения нагрузки задайте пороги защит.
Нет модуля под рукой — нажмите Simulator. Он эмулирует выбранную модель с регулируемой нагрузкой и учитывает ограничение по входному напряжению.
Свои модели в devices.json
Список устройств легко расширить. Для модели задаются номер из регистра 0x0B, пределы напряжения, тока и мощности, коэффициенты масштабирования, скорость и адрес. Обязательных полей всего четыре: идентификатор, номер модели, максимальные напряжение и ток.
Онлайн‑версия подхватывает файл автоматически. При локальном запуске двойным щелчком Chrome не даст странице прочитать соседний файл. Тогда загрузите JSON один раз кнопкой в настройках или запустите локальный веб‑сервер.
Безопасность
Сценарии и автоотключение работают во вкладке браузера. Если компьютер уснёт или выдернут кабель, модуль останется в последнем состоянии. Поэтому главная защита — аппаратные пороги OVP/OCP/OPP в ячейке M0, которые отслеживает сам блок.
На понижающих моделях уставка должна быть примерно на 1,5 В ниже входного напряжения. Иначе выход не достигнет заданного значения. DPS Control распознаёт такую ситуацию и выводит сообщение INPUT LIMIT.
Итог
DPS Control превращает недорогой модуль DPS в лабораторный источник с компьютерным управлением, графиками, логированием и сценариями, и для этого нужен только браузер. Проект пригодится и для повседневной работы, и для длительных испытаний: зарядки аккумуляторов, прогона устройств и снятия характеристик.
Онлайн‑версия:
Репозиторий:
