Как измерить энергопотребление при разработке электронного устройства

Устройства, работающие от батарейки, требуют минимального энергопотребления. Оно достигается за счет строгого соблюдения рекомендаций референсных схем при использовании различных компонентов, а также за счет использования режимов низкого потребления компонентов в моменты бездействия устройства. Конечное энергопотребление устройства может сильно отличатся от ождаемого, вычисленного по заявленным в даташитах цифрам энергопотребления. Для этого может быть множетсво причин, например, переход и выход из режимов сна как правило осуществляется программно, и в коде могут быть ошибки. Либо установленные на плате пассивные компоненты оказались другого номинала, чем было указано при закупке. Чтобы проверить, что энергопотребление устройства соответствует проектируемой, необходимо его померить. Для этого есть разные способы, и в статье рассматривается два возможных.
Электронные ценники TLakePro работают от одной батарейки CR2450, которая питает микроконтроллер nordic nrf52810 и e-ink дисплей, установленные на плате. Контроллер работает в нескольких режимах: режим рекламирования, режим обмена данными с базовой станцией и режим сна. Так как используется e-ink дисплей, то его можно полностью отключить после обновления отображаемых на нём данных. Поэтому дисплей имеет два режима: включён и выключен. Переход между режимами выполнятеся программно, то есть, например, для отключения дисплея или перевода микроконтроллера в режим сна прошивка выполняет соответствующие команды. Но как проверить, что это действительно происходит? Для этого, естественно, необходимо просто померить энергопотребление, то есть померить ток, потребляемый устройством в различных режимах работы. Далее рассмотрим два варианта измерения тока: при помощи мультиметра и при помощи осциллографа.
Измерение энергопотребления при помощи мультиметра
Для измерения тока при помощи мультиметра его необходимо вставить в разрыв сети питания устройства. Например, часто во время разработки электронного устройства используется программатор j-link для его прошивки. В том числе устройство может и запитываться от j-link. Тогда можно вставить мультиметр в цепь питания устройства от j-linik.

Основное преимущество такого способа измерения энергопотребления – простота. Но есть и минус. Обычные мультиметры имееют низкую частоту дискретизации входного сигнала. Из-за этого они могут пропускать кратковременные всплески тока. И несмотря на то, что мультиметр показывает значения тока соответствующие расчётам, может оказаться, что на практике батарейка разряжается намного быстрее, чем ожидается. Именно с такой ситуацией мы столкнулись при разработке ценников. Для того, чтобы увидеть такие всплески, необходимо воспользоваться более чувствительнымы прибороми, например, осциллографом.
Измерение энергопотребления при помощи осциллографа
Измерение тока при помощи осциллографа осуществляется при помощи шунтирующего резистора в цепи питания. То есть мы последовательно с устройством в цепи питания ставим резистор. Тогда снимая напряжение на этом резисторе и зная его сопротивление, можно определить ток . Но проблема заключается в том, что если постваить резистор слишком большого номинала, то на него упадёт слишком большое напряжение, и устройство отключится. Если поставить резистор слишком маленького номинала, то на нём упадёт слишком маленькое напряжение, и его сложно будет отличить от шума. Также устройство в разных режимах может потреблять разный ток. Так ценники TLakePro в режиме сна потребляют несколько микро Ампер, а когда дисплей обновляется, то они потребялют несколько милли Ампер. Чтобы решить эти проблемы необходимо иметь устройство с изменяемым сопротивлением – реостат, либо воспользоваться платой с набором резисторов и перемычками

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

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

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