Тестер мощности USB питания


Представляем очень простой нагрузочный амперметр для проверки портов usb в смартфонах, ноутбуках и других подобных устройствах. Конструкция до смешного проста, она основана на базе МК Attiny13 и содержит всего несколько радиоэлементов, необходимых для работы прибора. Измеритель показывает результаты измерения тока на линейке, состоящей из 10 светодиодов.

  • Имеет два режима отображения: столбик или точка.
  • Напряжение питания 5 В
  • Диапазон измерений 0 — 2000 мА.
  • Разрешение деления 100 мА.

Измерение осуществляется через резистор 0,1 Ом по отрицательной шине питания. Также был применен программный фильтр нижних частот, который сглаживает результат измерения до целого значения ступени. Показание тока от 0 мА до 1000 мА в режиме линейки, и от 1000 мА до 2000 мА в режиме точки.

Принципиальная схема А/В USB метра

Управляющая программа

$regfile = «attiny13.dat»
$crystal = 9600000
$hwstack = 24
$swstack = 8
$framesize = 24

‘————————Porty————————-‘
Config Portb = &B000000
Portb = &B010000

‘————————-ADC————————-‘
Config Adc = single , Prescaler = Auto , Reference = Internal
Start Adc

‘————————Zmienne————————‘
Dim X As Byte
Dim R As Byte
Dim Avg As Word
Dim tem as Byte

‘————————Stale————————‘
const ts = 4

‘————————START————————‘
Avg=0
Gosub Selftest

Do

X = Getadc(2)
‘——————Obliczanie sredniej—————-‘
Avg = Avg * ts
Avg = Avg + x
tem = ts + 1
Avg = Avg / tem

Gosub bmp
Loop
End

‘—————-Podprogram testujacy Led————-‘
Selftest:
For avg = 0 To 83
Gosub leddot
Waitus 12
Next avg

For avg = 83 To 0 Step -1
Gosub leddot
Waitus 12
Next avg
avg = 0
Return

‘—————————-Tryb———————‘
bmp:
If avg < 82 Then
gosub ledlin
else
gosub leddot
End If
Return

‘——————Wyswietlanie — Linijka————-‘
Ledlin:
For R = 0 To Avg
Gosub Disp
Waitus 123
Next R
Return

‘———————Wyswietlanie — Punkt————-‘
Leddot:
r = avg
gosub disp
waitms 4
return

‘—————————«Zakresy»——————‘
Disp:

Select Case r

Case 0 to 5
Ddrb = &B0000 ‘0
Portb = &B0000
Case Is < 9
Ddrb = &B1001 ‘100
Portb = &B0001
Case Is < 18
Ddrb = &B0101 ‘200
Portb = &B0001
Case Is < 27
Ddrb = &B0011 ‘300
Portb = &B0001
Case Is < 35
Ddrb = &B1010 ‘400
Portb = &B0010
Case Is < 44
Ddrb = &B0110 ‘500
Portb = &B0010
Case Is < 52
Ddrb = &B0011 ‘600
Portb = &B0010
Case Is < 60
Ddrb = &B1100 ‘700
Portb = &B0100
Case Is < 70
Ddrb = &B0110 ‘800
Portb = &B0100
Case Is < 78
Ddrb = &B0101 ‘900
Portb = &B0100
Case Is < 86
Ddrb = &B1100 ‘1000 ‘1000
Portb = &B1000
‘—————————-Powyzej 1A—————‘
Case Is < 94
Ddrb = &B1001
Portb = &B0001
Case Is < 104
Ddrb = &B0101
Portb = &B0001
Case Is < 112
Ddrb = &B0011
Portb = &B0001
Case Is < 120
Ddrb = &B1010
Portb = &B0010
Case Is < 132
Ddrb = &B0110
Portb = &B0010
Case Is < 140
Ddrb = &B0011
Portb = &B0010
Case Is < 148
Ddrb = &B1100
Portb = &B0100
Case Is < 156
Ddrb = &B0110
Portb = &B0100
Case Is < 164
Ddrb = &B0101
Portb = &B0100
Case Is <172
Ddrb = &B1100
Portb = &B1000

End Select
Return

Измеритель выполнен в виде отдельного модуля на двусторонней печатной плате и не имеет корпуса, его можно упаковать куда угодно.

Полезное:  Частотный регулятор для трехфазного электродвигателя

Питание подается через разъем micro-usb, что дает возможность подключения различных зарядных устройств, power-bank и так далее, для делания вывода об эффективности нагрузки, требуемой для данного устройства. На выходе установлен разъем usb-a, что дает возможность подключения usb-кабелей различного типа (apple, micro-usb, mini-usb, старые типы).

Итого, в этом проекте мы получаем простой инструмент не только для измерения тока, но меняя степень входной чувствительности можем получить датчики на другие значения, например, электромагнитного поля, силы радиосигнала, или обычного индикатора VU и многое другое.



Оцените: (3 - 5,00 из 5)
Загрузка...
26

НАЖМИТЕ ТУТ И ОТКРОЙТЕ КОММЕНТАРИИ