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

Делаем USB тестер с функцией самокалибровки

Microchip ATtiny13A

Tirdad Sadri Nejad

Миниатюрный модуль на микроконтроллере ATtiny13A позволяет измерять напряжение до 22 В и ток до 5 А

Существует много разновидностей так называемых USB тестеров, которые используются для контроля напряжения и тока, протекающего через USB устройство. Они могут использоваться для проверки кабеля, зарядного устройства, быстрого измерения потребляемого тока, тока заряда. Подобного рода измерители пользуются популярностью из-за их функциональности и низкой стоимости. Кстати, по второй причине теряется всякий смысл самостоятельной сборке подобного устройства. Но конструкция прибора, о котором пойдет речь в статье, заслуживает внимания из-за интересной аппаратной и программной реализации (Рисунок 1).

Рисунок 1. USB тестер позволяет измерять напряжение до 22 В и ток до 5 А.

В статье мы рассмотрим конструкцию подобного модуля USB тестера, который выполнен на микроконтроллере (МК) и драйвере семисегментного индикатора и обладает рядом преимуществ:

  • Функция самокалибровки: нет необходимости знать точное значение сопротивления резисторов, используемых в делителе напряжения. Вам просто необходимо рассчитать правильный делитель напряжения для диапазона 0 1.1 В (используется встроенный в МК источник опорного напряжения с выходным напряжением Vref= 1.1 В). После этого все, что вам нужно сделать, – это подключить модуль к источнику постоянного тока с выходным напряжением 5 В, удерживая кнопку на плате. Устройство запустится в режиме самокалибровки (символ «С» на индикаторе), самостоятельно рассчитает значение делителя и сохранит это значение в энергонезависимой памяти МК. В общем случае, самокалибровку необходимо провести один раз.
  • Несколько режимов отображения информации на индикаторе: используя кнопку вы сможете переключать режим отображения: напряжение, ток, напряжение и ток. Режим отображения данных также сохраняется в EEPROM МК (Рисунок 2).
  • Размер кода 1Кбайт: несмотря на то, что есть варианты конструкций лучше, чем использование двух микросхем (МК + драйвер индикатора), автору нравится разрабатывать дискретные устройства. Но в данном случае используется МК в 8-выводном корпусе с 1 Кбайт Flash-памяти, и разработана библиотека для драйвера индикатора. Библиотека драйвера является универсальной, и вы сможете использовать ее для любого другого МК, который поддерживает ANSI Си-компилятор. Библиотека доступна в разделе загрузок.
а)
б)
в)
Рисунок 2. USB тестер на ATtiny13A: одновременная индикация напряжения и тока (а),
индикация напряжения (б), индикация потребляемого тока (в).

В основе схемы МК Microchip семейства AVR ATtiny13A, драйвер семисегментного индикатора TM1637, резистивный шунт сопротивлением 0.033 Ом и 4-разрядный семисегментный индикатор с общим анодом. Внутреннего источника опорного напряжения МК с выходным напряжением 1.1 В вполне достаточно для приемлемой точности прибора.

Принципиальная схема прибора изображена на Рисунке 3. Обратите внимание, напряжение питания МК и драйвера семисегментного индикатора 3.3 В: установлен линейный регулятор напряжения серии LM1117MP-3.3. Датчик тока – резистивный шунт R1 установлен в разрыв «минуса» питания USB разъема P2. Делитель напряжения образуют резисторы R2 и R3. Для данных номиналов резисторов делителя (3.9 кОм и 1 кОм) диапазон измерения напряжения составляет 0-5 В.

Рисунок 3. Принципиальная схема USB тестера на МК ATtiny13A.

Микросхема драйвера 4-разрядного семисегментного индикатора TM1637 считается достаточно распространенной и надежной, применяется в платах расширения Arduino. Подключается к микроконтроллеру по двухпроводному последовательному интерфейсу (CLK, DIO). Помимо реализации динамической индикации, драйвер поддерживает управление яркостью индикатора.

Читайте также:  Как гнуть металлопрофиль своими руками

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

Принципиальная схема и проект печатной платы разрабатывались в Proteus; проект доступен для скачивания в разделе загрузок. Печатная плата двухсторонняя, что позволяет минимизировать размеры прибора. Вид печатной платы со стороны установки МК и микросхемы драйвера индикатора показан на Рисунке 4.

Рисунок 4. USB тестера на МК ATtiny13A: вид печатной платы со стороны установки МК.

С целью уменьшения объема программного кода пришлось избавиться от вычислений с плавающей точкой. Несмотря на то, что значение резистивного делителя напряжения и значения, отображаемые на дисплее, с десятичной точкой, в программном коде значения рассчитываются как мА и мВ, затем десятичная точка отображается в нужном месте на индикаторе.

Исходный код программы микроконтроллера понятен и снабжен комментариями. Библиотека драйвера семисегментного индикатора была оптимизирована по причине ограниченного объема Flash-памяти МК. В частности, в исходном коде библиотеки отключены (закомментированы) многие дополнительные символы, которые могут отображаться на семисегментном индикаторе. Если вы планируете использовать библиотеку для других проектов, то просто раскомментируйте нужные строки. Также в библиотеке можно задать уровень яркости индикатора (перед компиляцией проекта). Также и заголовочный файл библиотеки драйвера индикатора может быть адаптирован под другие микроконтроллеры. Для разработки программного кода использовалась среда разработки Atmel Studio 7.

Источник

Как сделать USB тестер напряжения и тока своими руками?

  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 желательно брать с малым допуском (

Источник

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

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

Автор: SSMix
Опубликовано 21.09.2015
Создано при помощи КотоРед.
Участник Конкурса «Поздравь Кота по-человечески 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

Источник

Читайте также:  Декоративные тарелки роспись своими руками
Оцените статью