• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Power Profiler

pvvx

Активный участник сообщества
Беда в Opera - кто-то погрыз кнопки в панельке выбора устройств:
1607107098571.png
В chrome и edge всё нормально:
1607107205289.png1607107224823.png
 

nikolz

Well-known member
слепил для тестирования BLE модулей на ESP8266 измеритель тока.
Диапазон измерения от 0.5 мкА до 200 mA.
Погрешность измерения не более 5% от измеряемой величины.
Нечем калибровать в диапазоне менее 1 мкA,
поэтому там погрешность не более 20% от измеряемой величины.
----------------------------
Время одного замера 120 мкс.
Потенциально можно сократить до 10 мкс.
-----------------------------
влияние температуры пока не исследовал
-----------------------------
Вот такая картинка получилась:

1614530157361.png
 

pvvx

Активный участник сообщества
@nikolz - Вот тут есть "Дипломная работа/проект"
ВКР_2019.pdf Там чел описал нормативы для простейшего PowerProfiler.
По практике - требуется шаг замеров не более 10 us. Оптимально 1 us. Быстрее - это уже проф. уровень и цена.
На 1 us работают почти любые дешевые SoC - скорости передачи на стандартных интерфейсах хватает (~4 Мегабайта/сек).
 

pvvx

Активный участник сообщества
А тут дано наглядное сравнение ваших 120 мкс (8кГц) с 20 мкс (50кГц) на модуле за 100 рупь.
 

pvvx

Активный участник сообщества
В дешевом исполнении использование чипов типа INA199 ограничивает полосу как раз по оптимуму, т.к. у измеряемых устройств по питанию должны быть установлены хоть какие-то емкости.
Это и есть полоса к 100 кГц. Т.е. оцифровка должна быть к x10, т.е. порядка 1 МГц. USB2.0 (480 Mbit/s) без проблем качает хоть 32 бита 1 MГц (4 мегабайта в сек) c любого чипа RTL872xDx.
Проф. вариант с нулевым выходным сопротивлением источника вы всё равно не сделаете...
И решения типа на INA199 позволяет просто подключать осциллограф.
 

pvvx

Активный участник сообщества
АЦП по току - это всего малая половинка PowerProfiler. Обязательна вторая часть - регулируемый источник напряжения и тока, и замер напряжения.
Для типовой отладки любого батарейного проекта выходят такие требования к источнику - регулировка напряжения от 0 до 5В с шагом хотя-бы 10 бит и присутствие схемы зашиты по току в пределах, как измерений - от пары мкА до 1A. У зашиты по току могут быть варианты и ступенчатые и от DAC. В зависимости от цены...
 

pvvx

Активный участник сообщества
Вот такая картинка получилась:

Посмотреть вложение 10679
Такое совершенно не годится. Т.к. все чипы большее время используют sleep, то требуется обратная зависимость ошибки - при меньшем токе меньшая ошибка. Иначе никогда не оцените среднее потребление.
 

nikolz

Well-known member
Такое совершенно не годится. Т.к. все чипы большее время используют sleep, то требуется обратная зависимость ошибки - при меньшем токе меньшая ошибка. Иначе никогда не оцените среднее потребление.
проблема не в том, что схемы нет. Схему могу нарисовать любую.
просто нет времени для этого хобби.
Вот сейчас слепил источник тока на MCP4725 и снял характеристики своего измерителя тока.
Получилось такое :
диапазон от 50 нА до 15 мА (ограничивает источник тока MCP4725).
Погрешность измерения от измеряемой величины не более 5%( в основном не более 3%) выше 100 нА.
Ниже 100 нА- не более 20% от измеряемой величины ( в основном не более 10%) .
 

nikolz

Well-known member
А тут дано наглядное сравнение ваших 120 мкс (8кГц) с 20 мкс (50кГц) на модуле за 100 рупь.
Вы что-то путаете.
Я тоже сделал и на INA219 и на INA226
На Ina219 c шунтом в 1 Ом имеем шаг 10 мкА. и погрешность измерения тока в 10 мкА составляет 100%.
измерить с погрешностью не более 5% можно лишь ток не менее 200 мкА.
В своем решении сейчас я измеряю минимальный ток в 100 нА с погрешностью в 5%.
как говорят в Одессе -почувствуйте разницу.
-------------------
Про быстродействие АЦП INA219 Вы тоже ошибаетесь. Но об этом позже.
 

pvvx

Активный участник сообщества
Вот сейчас слепил источник тока на MCP4725 и снял характеристики своего измерителя тока.
MCP4725 имеет дикую нелинейность, разброс и шумы - аналоговый выход прямо от цифрового питания, и нет опорного источника.
Я тоже сделал и на INA219 и на INA226
На Ina219 c шунтом в 1 Ом имеем шаг 10 мкА. и погрешность измерения тока в 10 мкА составляет 100%.
Следовательно на 100 Ом получаем уже 0.1 мкА.
измерить с погрешностью не более 5% можно лишь ток не менее 200 мкА.
High Accuracy:
– 0.1% Gain Error (Max)
- 10 μV Offset (Max)
В своем решении сейчас я измеряю минимальный ток в 100 нА с погрешностью в 5%.
Верить вам на слово не приходится из-за печального опыта ваших предыдущих заявок. Пока они все оказались фантазией.
Про быстродействие АЦП INA219 Вы тоже ошибаетесь. Но об этом позже.
В доке всё перечислено.
1615377828123.png
Для минимального измерения 7?..84..93 мкс
 

nikolz

Well-known member
информация к размышлению:
фирма Ti выпустила чип INA228 Ultra-Precise Power/Energy/Charge Monitor
напряжение на шунте +-40 мВ, разрядность 20 бит.
1617120450640.png
 

pvvx

Активный участник сообщества
информация к размышлению:
фирма Ti выпустила чип INA228 Ultra-Precise Power/Energy/Charge Monitor
напряжение на шунте +-40 мВ, разрядность 20 бит.
Чуда не произошло:
1617125282905.png
80mV/50uV = 1600 Т.е. всего до 10 бит на 50 us
Смешной чип - 10 бит на 20 кГц. Ещё и это гнать по I2C с перезапросами статуса готовности данных...
 

pvvx

Активный участник сообщества
Для PowerProfiler абсолютная точность в скоростном режиме для отладки BLE устройств не нужна. Нужна наглядность и в первую очередь скорость оцифровки к 1 us (на текущем этапе).

Для точного измерения потребления устройства подключите электролит (без утечек) в питание и измерьте ток измерителем с 6-тью или более знаками.

И то в реальности уровень потребления будет разный. В режиме рекламы внешние устройства при активном сканировании запрашивают дополнительные данные и ток такого цикла рекламы будет другой. А эти запросы происходят для устройства со случайной вероятностью – от наличия в эфире других сканирующих устройств… Так-же и всякие биения циклов со стандартной в BLE рандомной прибавкой к интервалу рекламы, чтобы избежать синхронизации с другим рекламирующим устройством для уменьшения кол-ва коллизий в эфире.

Сейчас PowerProfiler c самым дешевым TLSR8266 дает 50 кГц от 14 бит в USB...
 

ZiB

New member
Тема нарвеное уже не очень актуальная, но может будет полезно...

Я собрал на базе блюпилл и ина226, сходу не заработало, почему-то Manufacturer ID по документам от TI должно быть 5449, а читается как 5549, благо исходники есть, поставил "заглушку" при чтении чтобы подменяло ID. В исходниках не хватало файла system_stm32f10x.h

2022-10-22_4263.png
 

Вложения

pvvx

Активный участник сообщества
При переходе к измерению по разрешению в наноАмперах опять столкнулся с известной проблемой...
Источник уже без шумов, ADC и прочие цепи максимально безшумные, но итог, при подключении тестовой схемы имеющей электролитический конденсатор:
1670844863630.png
Пусть тут "большой кондер" и видна его вечная зарядка (утечки) до отключения. Но шум огромен.
А подключение - отключение малого эл.кондера:
1670844989272.png
всё равно дает громадный шум.
Подключение простого резистора дает во много раз меньший шум и видны его температурные изменения сопротивления. На простых резисторах можно измерять температуру :)
Как жить?

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

pvvx

Активный участник сообщества
Проблема усугубляется тем, что комплектация для PowerProfiler с разрешением в нано Амперы и диапазоном к примеру 0..500 мА / 0..26 В укладывается в $10 вместе со сборкой.
Но к нему требуются резисторы стоимостью более всей комплектации. :cry:
 

pvvx

Активный участник сообщества
И при первом тесте сразу наблюдается несоответствие документации по TTP223.
Период вообще не 20 и не 160 мс, а около 35 мс.
Среднее минимальное потребление не 1.5 мкА, а 4.3 мкА без включения светодиода на плате.
Где-то 1.55 мкА - это в режиме паузы между опросом микросхемой сенсора.
При этом каждые 4 сек возникает какой-то длинный импульс:
1670864414272.png
И ускорение после и перед срабатыванием происходит не к 20 мс, а к 17 мс:
1670864579100.png1670864597151.png
PS: Не читайте китайскую документацию перед обедом...
 

goodwin

Member
Для информации:
Возможно у кого-нибудь завалялись платки, наподобие вот такой
Это сейчас оно стОит 99$, а я приобрел в 2011 парочку за сущие копейки.
Валялось это добро за ненадобностью. Сегодня наткнулся. Может у кого тоже валяются -
cгодятся по теме топика. Ибо именно для такого дела и предназначены.
Там в прошивку набортного J-Link уже встроен монитор питания с резистором шунта 4.7 Ом
и динамическим диапазоном 114dB. От десятков нА до 50 мА.
Качнул последнюю прошивку для платы и свежий Commander от Silabs- некую надстройку для набортного J-Link. Раньше возможно было только измерять средний ток в заданном интервале. Сейчас добавилась возможность сохранять в файл дамп замеров тока и напряжения и даже устанавливать триггер на превышение/понижение с предвыборкой.
Причем в свежей прошивке J-Link скорость сэмплинга увеличилась - интервал замеров сократился до 100 мкс. 10000 замеров/сек. И все это дело запускается из командной строки... Не требуется устанавливать Студию с гигабайтами дерьмеца. ПО мультиплатформенное...
Кстати, в Студии есть утилита мониторинга с графиками и пр. В ней реализована возможность одновременной трассировки команд контроллера.
На плате стоит стабилизатор на напряжение 3.3В для питания измеряемой цепи.
Есть идея слегка допилить схему. У стабилизатора есть возможность регулировки (резисторы обратной связи), а у контроллера EFM32ZG222 имеется DAC. Чего ему там впустую стоять... Накидать простенькую прошивку для ручной установки напряжения 2..3.3В и выключения. Потому как и кнопки и индикатор на плате тоже есть. А можно и через VCP рулить. Неплохая шалабушка по-идее должна получится...
У кого такая платка завалялась без дела ;)
По отладчику:
В свежей прошивке поддерживается VCP, SWO и диск. SWD, JTAG и С2. Ну и только что попробовал подоткнуть с обычным J-Flash от Segger LPC1768, LPC11U47, STM32F105. По SWD и JTAG все пучком - не залочен только на Silabs. ARM7 не поддерживает. Только кортексы. M4 и новее не пробовал - нет под руками плат с полнным отладочным разъемом 20 pin. Лицензии на flash, бряки и отладку уже вшиты.
Можно пользовать как полноценный J-Link. Да еще и питание мониторить заодно...

Ну и пример 1 сек лога:
 

Вложения

pvvx

Активный участник сообщества
Это сейчас оно стОит 99$
nRF PowerProfiler II тоже ныне стоит $99.
Там в прошивку набортного J-Link уже встроен монитор питания с резистором шунта 4.7 Ом
ESP32 уже не запустится. Будет орать о BOR или вообще не стартанет. При 0.1 Ом от 5V(USB) ESP32 уже не хватает напряжения для инициализации через LDO типа LM1117.
Большинство типовых разработок питается от USB. Т.е. нужный предел измерения на максимальный ток - 500мА. (EPS жрет больше в пиках)

и динамическим диапазоном 114dB. От десятков нА до 50 мА.
Там всего 2 диапазона, судя по схеме. AEM_SENSE_CURRENT_RANGE1 и AEM_SENSE_CURRENT_RANGE2.
 

pvvx

Активный участник сообщества
Что EFR, что ‘nRF PowerProfiler II’ обычному частнику ныне у нас не купить. Можно, но цена будет x10 или, что реальнее x100.

Так же не купить INA228/229. Хотя там 20 бит, но 1-ой скорости (50us) там всего макс 10 бит. На али впаривают исключительно перемаркированные болванки (кристалл там неизвестного чипа) от 700..2000 руб за кусок пластмассы с ножками.

В итоге только юрики могут что-то купить с наценкой и ожиданием растаможек.

Так-же TI всегда врет. Указывая, к примеру, что INA226/233 и прочие якобы 16 битные, но они ВСЕ выдают на нескольких первых из списка максимальных sps бит меньше, чем заявлено. И это скрыто в документации – ни слова.

А выдают не 1 шаг ADC, а типа чередующейся (повторяющейся при росте тока/напряжения) последовательности в 1, 2, 3 младших разряда. У каждого типа чипов своя последовательность, через сколько бит прыгать и ещё зависит от выбранного времени оцифровки. Т.е. вообще криво.

А без PowerProfiler заниматься разработкой в BLE невозможно и народу нужен дешманский PowerProfiler...
 
Сверху Снизу