Usb тестер своими руками

Простой USB-тестер с OLED дисплеем

Автор: SSMix
Опубликовано 21.09.2015
Создано при помощи КотоРед.

В статье описан простой USB-тестер для замера закачиваемой в аккумулятор ёмкости при зарядке. С помощью данного прибора можно проверить работоспособность цепи зарядки гаджета, а также оценить ёмкость встроенного в него аккумулятора.

В настоящее время в китайских Интернет-магазинах можно встретить разнообразные USB-тестеры для замера напряжения и тока зарядки гаджета, а также закачанной в аккумулятор ёмкости.
Наиболее продвинутые USB-тестеры выполнены на графическом OLED индикаторе разрешением 128×32 пиксел и стоят в районе 7-10$.

Было довольно познавательно опробовать на практике такой OLED дисплей, а заодно и сделать на нём полезную в хозяйстве вещь.
Разработанный USB-тестер по своему назначению аналогичен китайскому, собран на доступном дешевом микроконтроллере ATtiny44A (flash-память 4 кБ), который был выбран за малогабаритный и легкий для пайки корпус SOIC-14, а также наличие встроенного (в блок АЦП) дифференциального усилителя х20, позволившего отказаться от дополнительного внешнего ОУ в токовом канале.
В качестве индикатора использован готовый модуль OLED дисплея для Arduino 0.96» 128×64 с интерфейсом SPI, заказанный в Китае на AliExpress за 3,71$ с доставкой.

Вот фото готового прибора в сборе:

Поскольку USB-тестер в радиолюбительской практике предполагает не особо частое использование, он собран без корпуса.
Интерфейс реализован минимально необходимый ввиду ограниченной памяти в ATtiny44A (4кБ).
В верхней строке выводятся входное напряжение и потребляемая мощность, в средней – потребляемый нагрузкой ток и время работы. В нижней строке выводятся закачанная в аккумулятор ёмкость в мАч и текущая контрастность дисплея (0…255). Следует отметить, что даже при нулевой контрастности информация с дисплея вполне нормально считывается даже при ярком солнечном свете

USB-тестер имеет следующие технические характеристики:

Входное напряжение, В………………………………. 3,500÷7,000
Ток нагрузки, А…………………………………………. 0,000÷3,000
Мощность нагрузки, Вт………………..………………..0,00÷21,00
Измеряемая ёмкость, мАч………………………………0÷99999
Счетчик времени работы………………………………..99ч 59мин 59сек
Потребляемый ток:
при минимальной контрастности, мА…………. 8
при максимальной контрастности, мА………….12

Схема электрическая принципиальная:

Схема USB-тестера максимально упрощена и содержит входной X1 и выходной X2 USB-разъёмы, стабилизатор напряжения +3,3В на DA1 MCP1702T-3302, микроконтроллер DD1 ATtiny44A с керамическим резонатором ZQ1 на 4 МГц для точного отсчета времени, токовый шунт на резисторах R3…R8, делитель измеряемого входного напряжения на R11, R12, кнопки SB1…SB3 для управления и калибровки и модуль дисплея Arduino H1. Программатор к микроконтроллеру подключается 6-ю проводами пайкой.
Резисторы шунта и делителя напряжения использованы с обычной точностью (хотя для лучшей температурной стабильности лучше поставить 1%), калибровка каналов напряжения и тока выполняется программно и сохраняется в энергонезависимой памяти микроконтроллера.
Подключение модуля дисплея несколько упрощено – использован аппаратный сброс по выводу RST ввиду отсутствия свободных выводов микроконтроллера, хотя на всякий случай нестабильной работы, на схеме и плате предусмотрено использование для этой цели 4-го вывода PB3 (Reset) ATtiny44A. Но в случае реализации программного сброса после программирования фьюза RSTDISBL микроконтроллер станет недоступен для последующей перепрошивки памяти обычным последовательным программатором.
Резистор R17 на 10кОм добавлен в схему уже на стадии отладки для ускорения разрядки конденсаторов по питанию, иначе если извлечь устройство из USB-разъёма и сразу же подключить вновь, то иногда происходил сбой в работе дисплея.
USB-тестер выполнен на двухсторонней печатной плате из фольгированного стеклотекстолита размерами 47х30мм. На верхней стороне платы фольга не травится, только раззенковываются отверстия под кнопки, резонатор, перемычку и модуль дисплея.
Вид спереди (показанные печатные проводники находятся с противоположной стороны платы):

Читайте также:  Массив указателей на структуру

Вид со стороны печатных проводников и SMD-элементов:

На плате предусмотрено использование керамического резонатора с тремя выводами (со встроенными конденсаторами). В этом случае конденсаторы С7, С8 не нужны. Сам резонатор можно припаивать с обеих сторон платы. В авторском варианте он припаян со стороны печатных проводников, чтобы максимально приблизить модуль дисплея к плате.
Перечень элементов для сборки USB-тестера:

DA1 = MCP1702T-3302E/CB (SOT23-3)
DD1 = ATtiny44A (SO-14)

H1 = Arduino дисплей OLED 0.96» SPI 128X64

SB1…SB3 = Кнопка тактовая 6х3,5мм

X1 = USBA-LP/SMD USB разъем тип A
X2 = USB-A (SMD)

ZQ1 = 4МГц (Керамический резонатор)

Токовый шунт выполнен из 6-ти SMD-резисторов сопротивлением 0,1 Ом каждый типоразмером 0603. Суммарное сопротивление шунта 16,66(6) мОм. Можно использовать другие доступные номиналы и в другом количестве, но так, чтобы расчетное сопротивление составляло указанное значение. В противном случае необходимо корректировать программу.
Модуль дисплея необходим именно с SPI-интерфейсом. Хотя контроллер дисплея SSD1306 можно сконфигурировать для работы с различными интерфейсами (4-SPI, 3- SPI, I²C, параллельный), режим 4-SPI, на мой взгляд, наиболее оптимальный по объему кода, скорости вывода информации и числу задействованных выводов управляющего микроконтроллера.
После сборки USB-тестера необходимо подпаять 6 проводников от программатора к точкам Vcc, GND, MOSI, MISO, SCK, Reset на плате, запрограммировать фьюзы:
CKSEL[3:0]=1100 (Ceramic Resonator 3. 8 МГц),
SUT[1:0]=10 (Ceramic resonator, BOD enabled)
CKDIV8=1 (Divide clock by 8 disabled),
BODLEVEL[2:0]=101 (Схема BOD Ures

Простой USB-тестер с OLED дисплеем

Автор: SSMix
Опубликовано 21.09.2015
Создано при помощи КотоРед.

В статье описан простой USB-тестер для замера закачиваемой в аккумулятор ёмкости при зарядке. С помощью данного прибора можно проверить работоспособность цепи зарядки гаджета, а также оценить ёмкость встроенного в него аккумулятора.

В настоящее время в китайских Интернет-магазинах можно встретить разнообразные USB-тестеры для замера напряжения и тока зарядки гаджета, а также закачанной в аккумулятор ёмкости.
Наиболее продвинутые USB-тестеры выполнены на графическом OLED индикаторе разрешением 128×32 пиксел и стоят в районе 7-10$.

Было довольно познавательно опробовать на практике такой OLED дисплей, а заодно и сделать на нём полезную в хозяйстве вещь.
Разработанный USB-тестер по своему назначению аналогичен китайскому, собран на доступном дешевом микроконтроллере ATtiny44A (flash-память 4 кБ), который был выбран за малогабаритный и легкий для пайки корпус SOIC-14, а также наличие встроенного (в блок АЦП) дифференциального усилителя х20, позволившего отказаться от дополнительного внешнего ОУ в токовом канале.
В качестве индикатора использован готовый модуль OLED дисплея для Arduino 0.96» 128×64 с интерфейсом SPI, заказанный в Китае на AliExpress за 3,71$ с доставкой.

Вот фото готового прибора в сборе:

Поскольку USB-тестер в радиолюбительской практике предполагает не особо частое использование, он собран без корпуса.
Интерфейс реализован минимально необходимый ввиду ограниченной памяти в ATtiny44A (4кБ).
В верхней строке выводятся входное напряжение и потребляемая мощность, в средней – потребляемый нагрузкой ток и время работы. В нижней строке выводятся закачанная в аккумулятор ёмкость в мАч и текущая контрастность дисплея (0…255). Следует отметить, что даже при нулевой контрастности информация с дисплея вполне нормально считывается даже при ярком солнечном свете

USB-тестер имеет следующие технические характеристики:

Входное напряжение, В………………………………. 3,500÷7,000
Ток нагрузки, А…………………………………………. 0,000÷3,000
Мощность нагрузки, Вт………………..………………..0,00÷21,00
Измеряемая ёмкость, мАч………………………………0÷99999
Счетчик времени работы………………………………..99ч 59мин 59сек
Потребляемый ток:
при минимальной контрастности, мА…………. 8
при максимальной контрастности, мА………….12

Схема электрическая принципиальная:

Схема USB-тестера максимально упрощена и содержит входной X1 и выходной X2 USB-разъёмы, стабилизатор напряжения +3,3В на DA1 MCP1702T-3302, микроконтроллер DD1 ATtiny44A с керамическим резонатором ZQ1 на 4 МГц для точного отсчета времени, токовый шунт на резисторах R3…R8, делитель измеряемого входного напряжения на R11, R12, кнопки SB1…SB3 для управления и калибровки и модуль дисплея Arduino H1. Программатор к микроконтроллеру подключается 6-ю проводами пайкой.
Резисторы шунта и делителя напряжения использованы с обычной точностью (хотя для лучшей температурной стабильности лучше поставить 1%), калибровка каналов напряжения и тока выполняется программно и сохраняется в энергонезависимой памяти микроконтроллера.
Подключение модуля дисплея несколько упрощено – использован аппаратный сброс по выводу RST ввиду отсутствия свободных выводов микроконтроллера, хотя на всякий случай нестабильной работы, на схеме и плате предусмотрено использование для этой цели 4-го вывода PB3 (Reset) ATtiny44A. Но в случае реализации программного сброса после программирования фьюза RSTDISBL микроконтроллер станет недоступен для последующей перепрошивки памяти обычным последовательным программатором.
Резистор R17 на 10кОм добавлен в схему уже на стадии отладки для ускорения разрядки конденсаторов по питанию, иначе если извлечь устройство из USB-разъёма и сразу же подключить вновь, то иногда происходил сбой в работе дисплея.
USB-тестер выполнен на двухсторонней печатной плате из фольгированного стеклотекстолита размерами 47х30мм. На верхней стороне платы фольга не травится, только раззенковываются отверстия под кнопки, резонатор, перемычку и модуль дисплея.
Вид спереди (показанные печатные проводники находятся с противоположной стороны платы):

Читайте также:  For to do в паскале что это

Вид со стороны печатных проводников и SMD-элементов:

На плате предусмотрено использование керамического резонатора с тремя выводами (со встроенными конденсаторами). В этом случае конденсаторы С7, С8 не нужны. Сам резонатор можно припаивать с обеих сторон платы. В авторском варианте он припаян со стороны печатных проводников, чтобы максимально приблизить модуль дисплея к плате.
Перечень элементов для сборки USB-тестера:

DA1 = MCP1702T-3302E/CB (SOT23-3)
DD1 = ATtiny44A (SO-14)

H1 = Arduino дисплей OLED 0.96» SPI 128X64

SB1…SB3 = Кнопка тактовая 6х3,5мм

X1 = USBA-LP/SMD USB разъем тип A
X2 = USB-A (SMD)

ZQ1 = 4МГц (Керамический резонатор)

Токовый шунт выполнен из 6-ти SMD-резисторов сопротивлением 0,1 Ом каждый типоразмером 0603. Суммарное сопротивление шунта 16,66(6) мОм. Можно использовать другие доступные номиналы и в другом количестве, но так, чтобы расчетное сопротивление составляло указанное значение. В противном случае необходимо корректировать программу.
Модуль дисплея необходим именно с SPI-интерфейсом. Хотя контроллер дисплея SSD1306 можно сконфигурировать для работы с различными интерфейсами (4-SPI, 3- SPI, I²C, параллельный), режим 4-SPI, на мой взгляд, наиболее оптимальный по объему кода, скорости вывода информации и числу задействованных выводов управляющего микроконтроллера.
После сборки USB-тестера необходимо подпаять 6 проводников от программатора к точкам Vcc, GND, MOSI, MISO, SCK, Reset на плате, запрограммировать фьюзы:
CKSEL[3:0]=1100 (Ceramic Resonator 3. 8 МГц),
SUT[1:0]=10 (Ceramic resonator, BOD enabled)
CKDIV8=1 (Divide clock by 8 disabled),
BODLEVEL[2:0]=101 (Схема BOD Ures

  1. Характеристики и особенности конструкции
  2. Схема, печатная плата
  3. Необходимые детали для сборки своими руками
  4. Фотоинструкция сборки, видео работы
  5. Видео

Для индикации параметров в данном USB тестере применен жидкокристаллический дисплей, устанавливаемый в телефоны фирмы Siemens (модели A62, A65 и т.д.). Также есть возможность сброса результатов измерений, повышен предел по току, и расширен диапазон питающих напряжений.

Характеристики и особенности конструкции USB тестера

Характеристики USB тестера:

  • Потребляемый ток: 50 мА
  • Напряжение питания: 5В
  • Входное напряжение: 2–24 В
  • Сопротивление шунта: 0.1 Ом

Основой данной конструкции является «ветеран» среди микроконтроллеров — ATmega8, работающий на частоте в 16 МГц (это сделано для ускорения отрисовки информации на ЖК-дисплее). В качестве усилителя напряжения с шунта выступает широкодоступный ОУ LM358N(P).

Читайте также:  Фон для коллажа из фотографий

Для питания устройства был применен повышающий DC-DC преобразователь, что позволило в некоторой степени абстрагироваться от питающего напряжения.

Данный модуль обладает следующими характеристиками:

  1. Максимальный выходной ток: 2А.
  2. Максимальное выходное напряжение: 28В.
  3. Диапазон входных напряжений: 2–24В.
  4. КПД: до 93 %.

Также на нем есть надпись MT3608 (впрочем, китайцы вполне могут склепать и с другой маркировкой). Внешний вид представлен ниже.

При больших токах эти модули ведут себя не совсем адекватно (огромные пульсации на выходе), но вот до 100мА это вполне оправданное решение.

  • Смотрите 3 рабочие схемы частотомера для сборки своими руками

Схема USB тестера тока и напряжения, печатная плата

Для облегчения монтажа, а также увеличения ремонтопригодности решено было использовать микроконтроллер и операционный усилитель в корпусах DIP28 и DIP8 соответственно. Этот ход несколько усложнил разводку печатной платы, а также послужил причиной незначительного увеличения ее размеров. Но в итоге печатная плата получилась односторонней с несколькими перемычками.

Платы выполнены на одностороннем фольгированном материале. Для их изготовления был использован ЛУТ. Все контактные площадки, которые предусматривают сверление отверстий, рассчитаны под сверло 1 мм (исключение — отверстия под ушки USB разъема).

Топология печатной платы представлена ниже:

В целом, если вы планируете какой-либо встраиваемый вариант, то можно оставить все как есть. Если же вам требуется законченное устройство, то можно вытравить дополнительную плату, которая устанавливается на основную.

Естественно, все файлы (в том числе и печатные платы) есть в архиве, прикрепленном к статье. Для просмотра схемы и плат необходим Proteus версии не ниже чем 8.4.

Файлы для скачивания: usb-tester.rar

Схема работает следующим образом. Операционный усилитель включен по не инвертирующей схеме и в данном случае обладает коэффициентом усиления 10. Далее аналоговый сигнал поступает на вход АЦП микроконтроллера, который раз в секунду проводит измерения таких параметров как ток и напряжение. На основе полученных данных вычисляется значение емкости в Ач. Кнопка служит для сброса текущих значений.

  • Обзор, схемы и фото цифровых мультиметров DT830, DT 838 и M932

Программа для микроконтроллера написана на языке C++ в среде Atmel Studio 7.0.

При проектировании устройства мы старались использовать доступные комплектующие. Единственное, что выбивается из общей картины — ЖК-дисплей и DC-DC преобразователь.

Необходимые детали для сборки USB тестера тока и напряжения своими руками

  • МК AVR 8-бит (U1) — ATmega8-16PU (DIP28).
  • Операционный усилитель (U2) — LM358N (DIP8).
  • ЖК дисплей (LCD1) — LPH8731-3C (Siemens A65).
  • Кварцевый резонатор (X1) — 16 МГц (низкопрофильный).
  • DC-DC преобразователь — MT3608.
  • Стабилитрон (D1) — 3.3 В.
  • Подстроечный резистор (RV1) — 2 кОм (многооборотный).
  • Резистор — R7 (100 кОм, 0805); R1, R16–R20 (6х10 кОм, 0805); R2 (9.1 кОм, МЛТ-0,25); R3 (1.2 кОм, МЛТ-0,25); R4 (36 кОм, МЛТ-0,25); R5 (24 кОм, МЛТ-0,25); R8 (510 Ом, МЛТ-0,25); R9, R10 (2х220 Ом, МЛТ-0,25); R11–R15 (5х5.6 кОм, 0805).
  • 3 дисковых керамических конденсатора C1 (100 нФ); C2, C3 (22 пФ).
  • 2 разъема — PLS-40 и PBS-40.
  • Гнездо — USB-AF (угловой).
  • Кнопка (S1) —длинный толкатель.

Все smd резисторы использованы типоразмера 0805, роль шунта выполняет резистор мощностью 5–10 Вт, а остальные резисторы можно взять на 0,125 или 0,25 Вт.

  • Смотрите также схему цифрового вольтметра и амперметра

Резисторы R2–R7 желательно брать с малым допуском (