От переводчика. Вниманию читателей предлагается обзорная статья в которой автор рассматривает восемь устройств из очень интересной и специфической области — профилирования энергопотребления embedded и IoT устройств.
Для тех, кто занимается разработкой энергоэффективных устройств на микроконтроллерах это будет интересная и полезная информация — в обзоре присутствуют как довольно дорогие девайсы ($800), так и приборы с вполне демократичной ценой $55–$120, которые может позволить себе любой любитель электроники.
❯ Вступление
Потребление энергии встраиваемыми и IoT устройствами снижается с каждым днем. Довольно сложно снизить энергопотребление без измерения постоянного тока и энергии, которое обычно выполняется с помощью профилировщиков потребляемой мощности.
❯ Анализаторы потребления тока/профилировщики мощности
На рынке доступны несколько устройств, которые могут вам помочь проанализировать и оценить, сколько энергии потребляет встроенное устройство на разных этапах работы, а также сколько энергии оно потребляет в течение определенных периодов времени.
Анализ профиля потребления мощности становится ещё более важным, если вы создаете устройство, которое должно питаться от батареи или иметь резервный источник питания.
❯ Традиционный способ
Многие инженеры до сих пор используют традиционный подход измерения тока с помощью последовательно включённого шунтирующего резистора или мультиметра, который не дает точных результатов. Почему? Потому, что во встраиваемых системах текущие потребление энергии меняется с очень высокой скоростью. Трудно корректно измерить этот динамически меняющийся ток.
Если у вас нет высокоточного измерителя постоянного тока с высокой частотой дискретизации, интерфейсом с ПК и специальным программным обеспечением, провести такой анализ будет практически невозможно.
Даже если бы вы могли это сделать, вам потребуется расчет энергии для каждого измерения. В идеале вам нужно измерительное устройство, которое может показывать значения напряжения, тока и расчетной энергии потребления на динамически меняющемся графике. С помощью этого графика будет намного проще понять, как меняется потребление тока встраиваемым устройством в зависимости от режима его работы, а затем, на основе этих данных, можно оптимизировать его энергопотребление.
❯ Новый подход
К счастью, есть компании, которые разрабатывают подобные продукты, чтобы помочь разработчикам встраиваемых устройств. Давайте рассмотрим их более подробно.
❯ 1. Joulescope ($800)
Joulescope измеряет ток в диапазоне от наноампер до ампер, одновременно измеряя напряжение, мощность и потребляемую энергию.
Joulescope подключается к источнику питания последовательно, чтобы выполнять измерения. Он может работать в режиме мультиметра, когда вы можете видеть цифровые показания измерений или в режиме осциллографа, когда вы можете наблюдать графики текущего потребления.
Прибор питается от USB и передает данные на ПК через интерфейс USB 2.0. Программное обеспечение для ПК поставляется вместе с прибором.
Технические спецификации
- Диапазон напряжения: от -1 до 15 В
- Диапазон тока: от -1 до 3 А (импульсы до 10 А)
- Разрешение: 1,5 нА (32-бит)
- Полоса пропускания: 250 кГц (2 миллиона выборок в секунду, 14 бит)
- Переключение между шунтирующими резисторами: 1 мкс
- Вычисление мощности и полной энергии
- Электрическая изоляция от USB
- Работает с: Windows, Mac, Linux
Точность измерения тока
Точность измерения напряжения
❯ 2. Otii Arc ($700)
Otii Arc поистине универсален. Это двухканальный блок с источником постоянного напряжения или постоянного тока и высокоточным многоканальным мультиметром и функцией даталоггера. Настраивается как линейный источник питания постоянного тока или батарея (с помощью программы Otii Battery Toolbox).
Используйте его в качестве анализатора мощности или профилировщика для записи и отображения значений тока, напряжения и/или UART логов в реальном времени. Он обеспечивает измерение тока с разрешением в нА и частотой дискретизации до 4 кГц.
Otii Arc имеет размеры 10,9x14,4x4,4 см и весит 450 грамм. Программное обеспечение для ПК работает на платформах Linux, Mac и Windows.
Вы можете питать его от USB в портативном варианте использования или с помощью внешнего адаптера постоянного тока.
Точность измерения напряжения
Он может измерять напряжение до 5,0 В с точностью ± (0,1% +1,5 мВ) с частотой дискретизации 1 кГц.
Точность измерения тока
Измерение тока от 0 до 2,5 А (в пике до 5,0 А). Точность составляет ±(0,1 % + 50 нА) для значений до ±19 мА, выше этого значения точность составляет ±(0,1 % + 150 мкА).
❯ 3. Nordic Semiconductor Power Profiler Kit 2 ($90)
Power Profiler Kit II (PPK2) является недорогим инструментом разработки, который может как измерять различные параметры, так и обеспечивать питание (от 0.8V до 5 В постоянного тока) на всём диапазоне токов от микроампер до 1 А на различных платах Nordic DK (Development Kit).
Питание PPK2 осуществляется при помощи стандартного USB кабеля напряжением 5 В и током до 500 мА. Если тестируемое устройство требует тока до 1A, необходимо запитывать PPK2 через два USB кабеля.
Ключевые характеристики
- Диапазон измерений: от 200 нА до 1A
- Разрешение: от 100 нА до 1 мА
- Работает со всеми Nordic DK
- Режим источника тока
- Напряжение: от 0,8 до 5 В
- Выборка: 100 кГц
- Автономность, питание от USB
- Логический анализатор на 8 цифровых входов
Программное обеспечение nRF Connect — это всё, что вам нужно использовать вместе с PPK2 для профилирования энергопотребления вашего устройства.
Поддерживается два режима: режим только амперметра или режим с источником тока (AMP или SMU (source measure unit).
❯ 4. NanoRanger от AltoNovus ($220)
NanoRanger — это 3,5-разрядный измеритель постоянного тока, полезный для измерения очень малых токов вплоть до наноампер.
Благодаря функции автоматического выбора предела измерений в девяти диапазонах он способен измерять ток от 1 нА до 800 мА с максимальным разрешением 10 пА. Падение напряжения составляет всего 50 мВ для всего диапазона измерений.
На дисплее отображается средний, максимальный и минимальный ток, а также соотношение сигнал/шум, что очень удобно для быстрой оценки энергопотребления.
NanoRanger, как инструмент измерения тока, может использоваться инженерами и производителями, которые заинтересованы в точных измерениях, особенно теми, кто создаёт встраиваемые продукты с питанием от батарей.
NanoRanger имеет USB порт для подключения к ПК, но не имеет программного обеспечения, которое могло бы отображать показания, создавать графики, генерировать отчеты и т. д. Это основной недостаток этого измерительного инструмента.
Разработчики продолжают обновлять свою прошивку и последняя версия дает возможность выполнять 150 операций чтения в секунду. Для визуализации получаемых данных и построения графиков вы можете написать свою собственную программу.
❯ 5. Current Ranger от Low Power Lab ($120)
CurrentRanger — это измеритель тока с наноамперным диапазоном и OLED дисплеем. Он имеет автоматическое переключение предела измерений и может измерять ток в обоих направлениях.
Он также имеет опцию передачи данных по Bluetooth.
Это доступный по цене амперметр с широкими возможностями настройки и сверхнизким падением напряжения, подходящий для любительского и профессионального использования, где важны фиксация быстрых переходных процессов и точность измерений. Применяется при создании встраиваемых систем с низким энергопотреблением, использующим батарею в качестве источника питания.
Функции:
- Три малошумящих диапазона (1 мВ на нА/мкА/мА)
- Низкое входное падение напряжения, высокая точность и пропускная способность аналоговых выходов
- Несколько вариантов входных и выходных клемм
- Автоматический выбор диапазона
- Режим автономного измерителя с OLED дисплеем или использование с мультиметром/осциллографом
- Сверхбыстрое переключение между любыми диапазонами (даже от нА до мА)
- Режим фильтра нижних частот (полезен для захвата малошумящих сигналов на осциллографах)
- Однонаправленный режим (наиболее часто используемый при измерении постоянного тока от 0 до 3,3 А)
- Двунаправленный режим (позволяет измерять переменные токи в диапазоне от -1,65 до 1,65 А
- Питание от LiPo батареи с автоматическим отключением
- Полностью цифровое управление переключением диапазонов с помощью сенсорных панелей
- Регистрация данных через модуль Bluetooth
- Возможность изменения прошивки SAMD21 Cortex M0+ под свои нужды
- Зуммер для звуковых оповещений
❯ 6. ZS-2102-A IOT Power Profiler ($650)
(Видеоролик о ZS-2102-A IOT Power Profiler на английском.)
❯ 7. Battlab One Battery Life Optimizer ($100)
(Видеоролик о Battlab One Battery Life Optimizer на английском.)
❯ 8. Hardkernel SmartPower 3 ($55)
Компания Hardkernal известна своими одноплатными компьютерами ODROID Linux, но на этот раз она представила совершенно иной продукт — блок питания со встроенным измерением мощности.
Этот источник питания можно использовать при разработке ваших устройств для контроля их энергопотребления и помощи в его оптимизации.
Измерение тока осуществляется с точностью до миллиампер, поэтому его нельзя использовать для оптимизации устройств с батарейным питанием.
Этот источник питания предназначен в основном для разработчиков, использующих Linux платы, которые обычно потребляют ток от нескольких миллиампер до 1–2 ампер.
Возможности SmartPower 3
- TFT-дисплей 3,5 дюйма (480x320)
- Два выходных канала (макс. 50 Вт + 50 Вт)
- Выходной ток: до 3 А (на канал)
- Измерение напряжения, тока, мощности (частота дискретизации до 200 Гц)
- Типичный допуск 3% (выше 5 В, 1 А)
- Энкодер для удобной работы
- Разъемы «банан» 4 мм
- Напряжение питания: 9–21 В
Вы можете подключить исследуемое устройство через порт USB-C и контролировать показания мощности со скоростью до 200 раз в секунду (время выборки 5 мс – 1 с).
Компания-производитель не предоставляет никакого программного обеспечения, но вы можете сохранить лог измерений в формате CSV, а затем открыть этот файл и провести анализ в подходящем для этого ПО (например, электронных таблицах).
Ограничения
Цена у этого устройства привлекательная, но, прежде чем его покупать, убедитесь, что вы хорошо понимаете его технические ограничения:
- Разрешение измерения тока в миллиамперах
- Отсутствие программного обеспечения для удобного анализа
- Источник питания может выдавать минимум 3 В
С моей точки зрения, если производить добавит простое в использовании программное обеспечение, то SmartPower 3 станет полезным инструментом анализа потребляемой мощности.
❯ Заключение
Надеюсь, эта статья оказалась полезной для улучшения ваших встраиваемых и IoT устройств!
Pallav Aggarwal
❯ От переводчика
Это статья от 2021 года, но большинство рассматриваемых устройств актуальны и сейчас. Если вы знаете лучшие девайсы для профилирования потребляемой мощности IoT устройств или сами пользуетесь какими-то из них — поделитесь своим мнением на эту тему в комментариях.
Возможно, захочется почитать и это:
- ➤ Скромное обаяние ClimateGuard CG Mini
- ➤ Простая гравировка для дома: электрический карандаш
- ➤ Гиковский КПК за копейки: как китайцы сделали ARM-ноутбук за 40$ с железом от… навигатора?
- ➤ Что такое гексагональная архитектура. Разделение бизнес-логики и инфраструктуры с помощью портов и адаптеров
- ➤ История создания Metal Gear Solid
Комментарии (16)
le2
05.11.2023 09:20+2Для большинства случаев нужен просто осциллограф с дифференциальным входом и резистор, например, 10mOhm. Лучше выкинуть 100-200 долларов на это, чем не пойми на что.
В редких случаях, например, при многочасовой оценке изделий с батарейным питанием, действительно удобно, когда есть счетчик, который за тебя вычисляет всю мощность.
Есть еще решения, которые я видел только на картинках, когда измеритель тока (мощности) интегрирован с Jtag-отладчиком. В этом случае можно оценивать совсем малые значения и смотреть весь код, который за это ответственнен.
В крупных изделиях очень полезен тепловизор. Бывает так что сразу видно транзисторы, которые забыли закрыть и что-то в этом духе.N1X
05.11.2023 09:20+4Увы, но осциллограф в промере потребления IoT железок не самая удобная штука... Возьмем какую-нибудь железку с NBIoT модулем: в фоне кушает 20мкА, при передаче 300 мА. При этом эти 20 мкА - важный параметр. 20 или 25 может быть критично, когда это датчик, стоящий в герметичном корпусе у черта на куличках со сроком жизни батареи года 3... Т.е. за эти микроамперы приходится бороться, оптимизируя ПО. В итоге при шунте 10мОм будет нифига не видно, а при большом шунте будет просаживаться питание... А без калибровки это еще и попугаи будут, а не измерения, т.к. задача осциллографа показывать форму, а не измерять точно... Так что перечисленные девайсы имеют место там, где они нужны. А кому не нужны - естественно нет смысла тратить деньги.
На работе юзаем упомянутый нордик - вполне себе норм. На прошлой пользовал настольный мультиметр (GWInstek, старшая модель вроде), который сносно рисовал график на экране, имел частоту выборок более килогерца и писал лог на флешку - тоже неплохой вариант, главное диапазон ручками подобрать, чтоб он их не переключал при пиках потребления...
le2
05.11.2023 09:20-1В моей картине мира все это бесполезно в 99,9% случаев. Единственный параметр который важен это потребление во время сна. А этот параметр можно измерить с помощью любого микрометра и сложное оборудование не требуется. Все потому что в подобных системах рабочий режим слишком скоротечный и на балланс влияет очень слабо.
Также для себя отмечал что игроки на этом рынке постоянно увеличивают и увеличивают размер элемента питания. Вероятно потому что в этом деле сложно оценить деградацию-саморазряд элементов питания и температурные режимы, влажность и подобные вещи. То есть практически будут рулить подглядывание за другими успешными игроками на рынке (делать также) и теоретические расчеты по документам от поставщиков.
Деградацию крупные игроки оценивают только по многомесячным наблюдениям в климокамерах (климокомнатах) при повышенной температуре, обычно +40..+60 градусов. Обычно там держат образцы в течение всего времени жизни изделия. Ну и нужен качественный контроль поставщиков компонентов само собой.olartamonov
05.11.2023 09:20+2Показывал студентам на лекции логгер тока и его использование для оптимизации потребления устройств. Прямо во время показа попал на баг прошивки, из-за которого она при определённых условиях не уходила в сон после сеанса передачи данных.
На логгере это было очевидно сразу, без него — ну, высока вероятность, что никто бы не заметил никогда, максимум — уже по результатам эксплуатации большого флота устройств.
N1X
05.11.2023 09:20+1Ну вот пример: счетчик воды. Сон <10мкА, прерывание каждые 250мс, проводится опрос входов датчика, обсчет и уход в сон. Потребление прыгает до сотни (или меньше, не помню, но значительно) мкА, на несколько десятков мкс. Причем хотелось понимать именно картину потребления, а не среднее... Вот упомянутый GWInstek выручил конечно, потому, что частота выборок большая...
Indemsys
05.11.2023 09:20+1Otii Arc внутри выглядит так -
Такие штуки конечно полезны, но все таки стоит обзор делать не на основе рекламных буклетов, а факту их реальной схемотехники.
Вот на этой плате, скажем, применено реле на входе. Это риск окисленных контактов и роста внутреннего сопротивления. Также там на входе стоит не специфицированный супрессор. Это риск выхода из строя если от нагрузки пойдёт обратное напряжение. Т.е. непонятно выдержит ли эта штука если будет работать вместо аккумулятора в дивайсах с зарядкой.
В принципе все показанные в статье решения как бы интересны для измерения токов в устройствах с аккумуляторным питанием, по полную эмуляцию аккумуляторов не поддерживают.
Также стоит смотреть поддерживает ли софт этих устройств экспорт данных в тот же MATLAB.
Поскольку аналитика собственно нативных программ к устройствам очень слаба.
RV3EFE
05.11.2023 09:20+2Очень полезные устройства, в отсутствии такого часто приходилось использовать шунт и осциллограф.
Но параметры у представленных все немного разные. Мне кажется тут нет универсального. Хотя есть очень классные приборы.
uhf
05.11.2023 09:20Если уж совсем на коленке, и надо грубо прикинуть - можно просто конденсатор параллельно питанию подключить, и замерить, сколько времени на нем проработает.
VT100
05.11.2023 09:20+1Как уже упомянули выше - для IoT нагрузок важен динамический диапазон измерителя (не упомянутый ни для одного прибора, а легко возможен сценарий с быстрым изменением тока на 4-5 декад) или скорость переключения пределов (упомянутая только для Current Ranger).
NutsUnderline
05.11.2023 09:20в отладчики для контроллеров сейчас делают такую опцию, как бы можно следить после какой команды ток скакнул
Megobari
05.11.2023 09:20+1Интересно, разъёмы под бананы реально удобны?
Я дела тоже кастом для измерения микропотреблений устройств, но так как в большинстве случаев это всё отлаживается на столе с паяльником, просто паялся на плату. Знаю, что у плохих бананов могут быть окисления.
DungeonLords
05.11.2023 09:20А вот тут делают свой профилировщик мощности
RV3EFE
05.11.2023 09:20Видел, но как-то у них слабенько это. Скорее реально стенд для изучения репки и ina...
Arhammon
Есть еще базовые варианты типа ucurrent в виде приставки к мультиметр/ослу, собственно усилитель на 2 ОУ 5 резисторов и обвязка.
Или схема а-ля электрометер с нулевым падением напряжения на шунте и проблемной реализацией на большие токи.
VT100
ОУ электрометра можно умощнить до желаемого тока. Как транзисторами, так и интегральным буфером.
Arhammon
Да, но прогонять через высокомный шунт даже ампер не лучшая идея. Как альтернатива ucurrent до десятков мА вполне рабочая, а на нА и получше. Правда там уже веселье с экранированием, гуардом.