USB-Тестер
Рекомендуем прочитать инструкцию подготовки и настройки к прошивке тестера , а также документацию программы для ПК .
USB-Тестер - компактное устройство на базе ESP32-S3, созданное для диагностики питания и анализа поведения USB-подключений.
Оно измеряет напряжение, ток и мощность, строит графики, ведет статистику и содержит отдельные разделы для быстрой зарядки, записи данных, настроек и дополнительных инструментов.
Что такое USB-тестер?
USB-тестер - это измерительный прибор, который подключается между источником питания и устройством-потребителем. Он показывает напряжение, ток, мощность и помогает понять, как USB-линия ведет себя под нагрузкой.
На практике такой тестер помогает быстро увидеть просадки напряжения, нестабильный ток, плохой контакт, слабый кабель или отсутствие ожидаемого режима быстрой зарядки.
Также это все дополняется графиками, статистикой, анализом линий DATA, режимами быстрой зарядки и служебными инструментами, поэтому устройство подходит не только для быстрой проверки, но и для отладки собственных электронных проектов.
Интерфейс
Интерфейс разделён на несколько рабочих экранов: базовый мониторинг, графики, быструю зарядку, статистику, инструменты и настройки. Так основные данные остаются рядом, а дополнительные функции не мешают быстрой проверке.
Главное меню
После запуска открывается главное меню - основной экран, с которого удобно быстро оценить состояние подключения. Здесь отображаются ключевые параметры питания, температура контроллера, текущий режим обновления показаний и индикатор stop/start.
Меню специально сделано без перегруза: пользователь сразу видит важные цифры и не тонет в настройках:
- Нажатие средней кнопки - остановка или продолжение обновления показаний. Это удобно, когда нужно спокойно рассмотреть конкретное значение.
- Нажатие правой кнопки - переход к следующему меню. Логика простая: один экран показывает базу, следующие раскрывают более подробные режимы.
NGR-меню
NGR-меню - это расширенный экран мониторинга. Помимо базовых значений напряжения, тока и мощности здесь отображаются данные по линии DATA, что делает раздел полезным для анализа поведения USB-устройств и зарядных режимов.
Такой экран нужен, когда обычных V/A/W уже мало и хочется понять, что происходит глубже: есть ли активность на линиях, как меняется состояние подключения и не ведет ли себя источник питания подозрительно. По сути, это более технический режим для диагностики.
Графики
Третье меню посвящено графикам. Оно нужно для тех случаев, когда одно текущее значение мало что объясняет. График сразу показывает динамику: просадки, скачки, плавный рост тока, нестабильное питание или момент переключения режима зарядки. Сейчас доступны три основных типа графиков:
- График V/A - отображает напряжение и ток, помогает видеть просадки, пиковые нагрузки и общее поведение питания.
- График D+/D- - показывает состояние DATA-линий, полезен при анализе зарядных протоколов и поведения USB-подключения.
- График CC1/CC2 - используется для USB-C и помогает отслеживать состояние CC-линий, через которые определяется подключение и режим работы порта.
На каждом графике можно поставить паузу так же, как в главном меню. Это удобно при поиске кратковременных скачков или странных участков кривой. Масштабирование подбирается автоматически: тестер старается удерживать линию в видимой области, чтобы график не улетал за границы.
В графике CC1/CC2 есть важная логика: если устройство не подключено через USB-C или вход идет через USB-A, тестер сообщит об отсутствии нужных контактов и пропустит этот график. Это нормальное поведение, потому что у USB-A физически нет CC-линий.
Application
Меню Application работает как центр перехода к дополнительным разделам. Вместо того чтобы сваливать все функции в одну длинную простыню, интерфейс разделяет их на подкатегории. Такой подход проще для навигации, пользователь видит отдельные блоки, выбирает нужный раздел и переходит внутрь только тогда, когда он действительно нужен.
Внизу отображается время работы устройства. Это полезно при длительных тестах, измерении емкости, записи графиков и проверке стабильности питания. По этому значению можно быстро понять, сколько тестер уже работает без перезапуска и сколько времени длился конкретный замер. Управление в этом меню устроено так:
- Нажатие кнопки вперед - выбор подкатегории. Активный пункт подсвечивается синим.
- Нажатие кнопки назад - возврат к предыдущему меню.
- Нажатие средней кнопки - вход в выбранную подкатегорию.
Быстрая зарядка
Раздел быстрой зарядки нужен для проверки зарядных протоколов и ручного запуска поддерживаемых режимов. Он помогает понять, какие возможности реально доступны у блока питания, а не просто написаны на корпусе.
Предупреждение
При входе в раздел Fast Charge сначала показывается предупреждение. Это сделано специально: триггеры быстрой зарядки могут менять режим работы блока питания, поэтому пользователь должен понимать, что сейчас устройство будет активно проверять или вызывать протоколы. Ниже находятся три варианта действия:
- READY - переход к ручному выбору триггеров быстрой зарядки, включая Samsung AFC, QC2.0, QC3.0 и другие поддерживаемые режимы.
- AUTO - запуск автоматического сканирования блока питания, чтобы определить, какие протоколы он реально поддерживает, а не какие красивые цифры написаны на корпусе.
- CANCEL - выход из подкатегории без запуска проверки или триггера.
Детектирование
При выборе AUTO открывается экран автоматического детектирования. В верхней части отображается версия алгоритма, ниже - текущий статус: Testing во время проверки или Finish после завершения. Затем тестер по очереди пробует доступные протоколы и фиксирует результат для каждого из них.
Такой режим удобен для быстрой проверки зарядного блока: можно увидеть, какие режимы доступны на практике, а какие существуют только в описании продавца, где фантазия часто работает мощнее схемотехники.
Подробнее о принципах работы протоколов быстрой зарядки и их использовании с Arduino-совместимыми платами можно посмотреть по ссылкам ниже. Эти материалы полезны, если хочется не просто нажимать READY, а понимать, почему блок питания вообще меняет напряжение и какие линии участвуют в согласовании режима.
Fast Charge (Trigger)
В меню Fast Charge Trigger доступны ручные триггеры быстрой зарядки и отдельный пункт автодетекта. Сейчас реализовано 6 триггеров, а список может расширяться с обновлениями прошивки. Для удобства добавлены анимации перемещения и скроллбар, чтобы меню не ощущалось как скучная таблица из микроконтроллерного ада.
Пользователь видит, какой пункт выбран, и может быстро перейти к нужному режиму.
Навигация сделана по той же логике, что и в остальных разделах, поэтому после пары переходов управление становится привычным:
- Нажатие кнопки вперед - выбор одного из триггеров. Активный пункт отмечается синим цветом.
- Нажатие кнопки назад - возврат к предыдущему меню.
- Нажатие средней кнопки - переход в меню выбранного триггера или запуск выбранного действия.
Статистика
Статистика нужна для случаев, когда важен не один текущий показатель, а поведение устройства во времени. Здесь можно сохранять результаты, сравнивать измерения и возвращаться к данным после теста.
Раздел статистики нужен для работы с накопленными данными, а не только с текущими показаниями на экране. Он помогает смотреть историю измерений, запускать длительные тесты и сохранять результаты для дальнейшего анализа. Сейчас раздел включает три направления:
- Список ячеек со статистикой измерений и сохраненными результатами.
- Измерение емкости батареи с расчетом Ah, Wh и связанных параметров.
- Запись кривых графика для последующего просмотра и анализа.
Навигация здесь повторяет общую логику интерфейса: кнопка вперед выбирает пункт, кнопка назад возвращает назад, средняя кнопка открывает выбранный раздел. Это намеренно сделано одинаково, чтобы не приходилось заново учиться пользоваться каждым экраном. У прибора может быть много функций, но управление не должно превращаться в квест на выживание.
NGR-статистика
В разделе NGR Статистика отображаются сохраненные данные по ячейкам, в которые ранее записывались измерения. Такой формат удобен для сравнения разных тестов: например, можно посмотреть, как вел себя один кабель под нагрузкой, затем проверить другой и сравнить результаты.
Раздел ориентирован на накопление данных во времени, поэтому он полезнее обычного моментального экрана. Там, где главное меню отвечает на вопрос «что происходит сейчас», статистика отвечает на вопрос «что происходило во время всего теста».
Battery CAP
Battery CAP - это меню для измерения емкости батарей, повербанков и других источников питания. В верхней части находится индикатор ON/OFF, который показывает, идет ли запись данных в выбранную ячейку. Такой режим нужен для длительных измерений: тестер считает накопленную емкость, энергию и время работы, пока источник отдает питание через USB.
Ниже отображается номер ячейки записи, время измерения, емкость в Ah и Wh, текущее напряжение, а также параметры пересчета через выбранное напряжение и КПД. Красным цветом показывается пересчитанное значение Ah с учетом заданных пользователем параметров.
Это удобно, когда нужно оценить не только «сколько вышло на USB», но и примерную полезную емкость с учетом преобразования. Абсолютной лабораторной истины тут ждать не надо, зато для практического сравнения аккумуляторов и повербанков режим полезный.
Сохранение выполняется только после остановки записи удержанием кнопки. Если выключить устройство до остановки, текущие данные могут не попасть в память.
Частая автоматическая запись, например каждые 0.5-1s, сильнее изнашивает память из-за большого количества циклов записи. Поэтому сохранение сделано более аккуратно, без лишнего убийства флеша ради красивой иллюзии надежности.
Навигация в Battery CAP немного отличается от обычных меню, потому что здесь нужно не только перемещаться, но и менять параметры записи:
- Удержание средней кнопки 0.5s - включение или остановка записи данных в выбранную ячейку.
- Нажатие кнопки назад - возврат к предыдущему меню.
- Нажатие кнопки вперед - выбор редактируемого параметра: номер ячейки, напряжение или КПД. Выбранный параметр подсвечивается синим прямоугольником. После выбора значение можно изменить и подтвердить средней кнопкой.
Офлайн-запись
Офлайн-запись позволяет сохранять измерения прямо на устройстве без постоянного подключения к компьютеру. Это полезно для длительных тестов, где нужно оставить нагрузку работать и потом спокойно посмотреть результат. В таком режиме тестер становится не просто экраном с текущими цифрами, а автономным регистратором данных.
Позже сохраненные результаты можно использовать для анализа графиков, сравнения источников питания или поиска нестабильных участков.
Инструменты
Здесь собраны дополнительные режимы, которые не относятся к основному мониторингу, но расширяют тестер для отдельных задач. Это место для вспомогательных функций, экспериментов и быстрых проверок.
Раздел Инструменты объединяет дополнительные функции, которые не относятся напрямую к основным экранам измерений, но сильно расширяют возможности тестера. Здесь могут находиться измерение сопротивления кабеля, генератор сигналов, простые режимы осциллографа, служебные проверки и другие утилиты.
Часть функций уже может быть доступна, часть находится в разработке. Идея раздела в том, чтобы держать экспериментальные и вспомогательные возможности отдельно, не перегружая главный интерфейс. Так проект можно развивать дальше без превращения основного меню в свалку кнопок.
Настройки
Настройки разделены на обычные параметры и системные функции. Так повседневные опции не смешиваются с калибровкой, диагностикой и обслуживанием устройства.
Общие
В общих настройках собраны параметры, которые влияют на повседневное использование устройства: язык интерфейса, единицы измерения, яркость подсветки, поведение экрана, энергосбережение и другие базовые опции. Этот раздел нужен не для редкой инженерной магии, а для нормальной настройки тестера под себя.
Один пользователь будет чаще смотреть графики, другой - измерять емкость, третий - проверять кабели, поэтому интерфейс должен позволять быстро адаптировать прибор под конкретный сценарий.
Система
Системные настройки относятся к более технической части устройства. Здесь находятся параметры калибровки измерительных каналов, сведения о версии прошивки, служебная диагностика, сброс настроек и другие функции обслуживания.
Такой раздел лучше держать отдельно от обычных настроек, чтобы пользователь случайно не трогал то, что влияет на точность измерений или стабильность работы. Проще говоря, это место для настройки «внутренностей» тестера, а не для ежедневного переключения яркости.