SportIduino и ток потребления

Электронная отметка SportIduino в Курске используется уже более 2-х лет. Можно подвести первые итоги. Два года назад я в авральном режиме закончил монтаж, сборку и прошивку основной части комплекта. Это 36 базовых станций и 2 мастер-станции. И тогда на проверку такого важного (для приборов с питанием от батареек) параметра, как энергопотребление, уже просто не оставалось времени. Тем не менее первый старт с электронной отметкой SportIduino прошел успешно, сбоев в работе оборудования не было.

Через полгода, при подготовке к следующему старту, я проводил ревизию состояния базовых станций и тогда обнаружил, что 2 станции просто не проснулись (по причине практически полного разряда батареек в них), а еще на части станций (не более 10) напряжение на батарейном отсеке было заметно ниже, чем на большинстве других станций – на них напряжение было в диапазоне 3-3.7V, тогда как на большинстве станций было 4.3-4.5V.

Стало понятно, что придется проводить дотошную проверку каждой базовой станции на предмет энергопотребления, а для этого обычный мультиметр не подойдет. Потому что базовая станция в режиме сна большей частью спит, и тогда ее потребление должно составлять (в теории) десятки микроампер, но иногда она просыпается, чтобы опросить через rfid-считыватель наличие чипа, и тогда ее потребление подпрыгивает до десятков миллиампер (скачкообразно увеличивается примерно в тысячу раз). Далеко не всякий мультиметр может измерять токи в микроамперном диапазоне, но даже если и может, то он не может автоматически переключать диапазоны измерения токов, так как измерения необходимо производить как в микроамперном диапазоне, так и в миллиамперном диапазоне (с разницей показаний в тысячу раз).

Стал смотреть в интернете, какие есть еще готовые решения. Наткнулся на форуме Радиокот на готовый модуль INA226:

Рис.1
Модуль на микросхеме INA226

Модуль построен на микросхеме INA226 производства фирмы Texas Instruments и предназначен для измерения тока, напряжения и мощности в нагрузке постоянного тока. Общается INA226 с внешним миром по интерфейсу I2C. Его легко купить на Aliexpress.

Далее стал искать уже готовое программное обеспечение, умеющее работать с этим модулем. И нашел простую, но очень мне нужную программу PowerProfiler, которая позволяет работать с модулем INA226 либо через плату на чипе STM32F103 (и тогда измеренные значения тока/напряжения передаются через USB на компьютер), либо через BLE-модуль на китайском чипе TLSR8266 (и тогда измеренные значения тока/напряжения передаются по блютузу).

У меня была плата на чипе STM32F103, прошивка для него есть на странице программы PowerProfiler, и вскоре я собрал на макетке стенд для проверки энергопотребления базовых станций:

Рис.2
Стенд проверки тока потребления базовой станции

На этом стенде на базовую станцию напряжение питания 3.3V подавалось с платы STM32F103 через измерительный модуль INA226, а модуль по шине I2C передавал данные измерения в чип STM32F103,  откуда через USB эти данные загружались в компьютер (в приложение «PowerProfiler»).

В окне приложения «PowerProfiler» наглядно виден алгоритм работы базовой станции на примере графика тока потребления (красные линии на графике), вывод графика напряжения отключен (по вертикали шкала тока потребления в милиамперах, по горизонтали – шкала времени в миллисекундах):

Рис.3
Окно приложения «PowerProfiler»
с комментариями алгоритма работы базовой станции

После сброса станции (при подаче напряжения питания) станция начинает работать в режиме ожидания, опрашивая чип раз в секунду. В моменты опроса ток потребления составляет примерно 20 миллиампер (у каждого экземпляра будет свое значение тока потребления), между опросами станция спит (тогда ток ее потребления около 35 микроампер). При отметке чипом станция издает звуковой сигнал (ток потребления возрастает до 50мА), после чего станция переходит в активный режим, опрашивая чип уже 4 раза в секунду (каждые 250мс). При отметке мастер-чипом перевода в сон станция издает 4 звуковых сигнала и засыпает – во сне период опроса составляет 1 раз в 25 секунд.

Также в окне приложения «PowerProfiler» отображается средний ток (и напряжение) за отображаемый на графике интервал измерения, в режиме сна усреднённый ток потребления исправной базовой  станции составляет 35-55 микроампер (зависит от пикового тока потребления rfid-модуля RC522 в режиме опроса чипа, а он может сильно разниться, в моем комплекте в 48-ми модулях был разброс 16-30мА, еще 2 оказались бракованными, а 2 модуля, докупленные на aliexpress у того же продавца через год, потребляли уже 50-60мА и я делал дополнительный транзисторный ключ, через который подавал напряжение питания на эти модули):

Рис.4
Окно приложения «PowerProfiler»
с усреднённым током потребления базовой станции в режиме сна

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

    • Замена транзистора VT1 на npn-транзистор BC817-16 с демонтажом резистора R4 – возможно, мне достались какие-то неправильные полевые транзисторы p-типа BSS138 (все покупалось на aliexpress), но уже на этапе монтажа (до заливки плат компаундом) я поменял часть транзисторов на npn из-за тихого звука пищалок (но там была еще отдельная лотерея с пищалками, да и ток потребления я тогда не измерял, так как нечем было). Однако факт остается фактом – до замены транзистора усредненный ток потребления на некоторых базовых станциях был 100-300 мкА, после замены приходил в норму (35-55микроампер). Примерно 8 станций.
    • Замена стабилизатора D1 MCP1700-3302E. Это скорее была замена «на удачу», когда точная причина повышенного тока потребления еще не установлена, и тогда первое, что приходило в голову – заменить стабилизатор (благо у меня они еще оставались). Но чаще всего это не помогало, но я уже не делал обратную замену. Примерно 4 станции.
    • Залипухи – короткие замыкания соседних ножек или дорожек печатной платы. Примерно 2 станции.
    • Замена микросхемы D3 DS3231SN – это единичный случай, когда у станции усредненный ток потребления в режиме сна плавал от 300мкА до 1.2мА. Заменил уже транзистор и стабилизатор, отключал подачу питания на rfid-модуль RC522. Оставалась уже только замена микросхем RTC и AVR. Решил заменить сначала RTC, после чего ток потребления сразу пришел в норму.

Для исправления дефектов приходилось расковыривать компаунд, чтобы перепаять подозрительную деталь, но потом эти места снова точечно залил компаундом, таким образом восстановил герметичность и влагозащиту печатных плат в отремонтированных станциях.

Какой итог? Для устройств с батарейным питанием необходимо делать практическую проверку их тока потребления. Чтобы быть уверенным в работе оборудования и прогнозировать продолжительность работы. Для базовых станций SportIduino я нашел, как собрать недорогой и в тоже время очень информативный стенд для проверки тока потребления базовых станций.

Теперь, зная диапазон потребления тока базовой станции в режиме сна (в моем комплекте это 35-55 микроампер), нетрудно вычислить суточное потребление одной станции — оно составляет примерно 1-1.5 мАч (миллиампер*час). Емкость батарейки AA зависит от многих факторов (цена, производитель, технология и т.п.), но даже самые дешевые алкалаиновые (щелочные) батарейки имеют емкость не менее 1500 мАч. И этой емкости должно хватить минимум на 1000 дней для базовой станции в режиме сна.