Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Измерение тока микроконтроллера
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Вопросы аналоговой техники
kada
Уважаемые коллеги.

Появилась необходимость измерения потребляемого тока микроконтроллеров для отладки спящих режимов.
Диапазон измеряемых токов от 1 мкА до 100 мА. Ток предполагается измерять непосредственно в разрыве между блокировочным конденсатором и выводом положительного питания микроконтроллера. Т.е. нужно отследить фронт изменения тока например от нескольких мкА до нескольких десятков мА и обратно. Полученный сигнал будет подаваться на АЦП микроконтроллера STM32F4 и передаваться на компьютер через USB. По возможности хотелось бы иметь полосу пропускания аналоговой части порядка 500кГц.

Был собран макет на основе трансимпендансного усилителя с переключаемыми токовыми шунтами: 10 Ом, 100 Ом, 1К, 10К и 100К. Для статичных нагрузок схема работает хорошо, но для быстроизменяемых (реальный случай измерения тока микроконтроллера) возникают большие пульсации измерительного напряжения в следствии постоянного переключения диапазонов. Для уменьшения пульсаций пришлось установить конденсатор 10 мкФ параллельно измеряемой цепи. Пульсации уменьшились, но соответственно возросла постоянная времени.

В связи с этим вопрос, существуют ли в природе какие либо решения для измерения быстроизменяющихся токов в таких больших пределах? Была идея использовать один единственный шунт 10 Ом. Но для микроампер понадобится усилитель с КУ порядка 10^6 и входным напряжением порядка микровольт.
Может есть какие то готовые решения? Думаю многие сталкивались с похожими задачами. Благодарю всех откликнувшихся.
Марик
Инструментальный усилитель с изменяемым коэффициентом усиления. AD8221, например. Потом еще один усилитель.
In_an_im_di
Цитата(kada @ Apr 15 2014, 20:41) *
Уважаемые коллеги.

Появилась необходимость измерения потребляемого тока микроконтроллеров для отладки спящих режимов.


Может, лучше сделать так, например http://www.elcomdesign.ru/ingineer/ingineer_37.html, рис1.
входной ток ОУ взять с вывода GND контроллера, а для переключения диапазонов коммутировать R обратной связи ОУ. Сам операционник должен быть пошустрее(и по полосе и по быстродействию) и с добавлением на выходе эмиттерного повторителя на одном pnp-транзисторе для обеспечения максимума в 100мА. В таком включении не понадобится ёмкость для сглаживания, потенциал на выводе GND будет автоматом поддерживаться током через R обратной связи ОУ.
Это и будет трансимпедансный усилитель(преобразователь ток-напряжение с входным сопротивлением=0)

ПС
Цитата
Был собран макет на основе трансимпендансного усилителя с переключаемыми токовыми шунтами: 10 Ом, 100 Ом, 1К, 10К и 100К

Трансимпедансному усилителю не нужен шунт, у вас там собрано что-то типа шунт+усилитель напряжения.
Plain
Цитата(kada @ Apr 15 2014, 19:41) *
в разрыве между блокировочным конденсатором и выводом положительного питания микроконтроллера

В этом случае конденсатор лишается названного Вами титула и становится просто конденсатором, а микроконтроллер, соответственно, подключённым не по требованиям производителя, ну и все измерения, как следствие, тоже станут неверными.

Для "отладки спящих режимов" в подавляющем большинстве случаев достаточно выяснить средний ток, а это легко получается одним-двумя RC- и/или LC-фильтрами и интегратором. Можно, конечно, сделать то же самое программно, например, для презентации, но денег потребуется на порядки больше.
In_an_im_di
Цитата(Plain @ Apr 15 2014, 22:30) *
Для "отладки спящих режимов" в подавляющем большинстве случаев достаточно...

Достаточно гораздо более скромных усилий, я того же мнения. Но, как говорится, хозяин-барин.
sifadin
Нужна многоканальность
Поставь три канала с разными Ку на порядок и измеряй три канала.
и выбирай один для каждого отсчета.
Здесь нужно только учесть разничу в АЧХ и ФЧХ
kada
Спасибо всем откликнувшимся!

Цитата(Марик @ Apr 15 2014, 22:50) *
Инструментальный усилитель с изменяемым коэффициентом усиления. AD8221, например. Потом еще один усилитель.

Возможно, но какая тогда будет полоса пропускания тракта, состоящего из двух ОУ с КУ=1000 каждый? Инструментальные усилители ГГЦ диапазона не предлагать sm.gif

Цитата(In_an_im_di @ Apr 15 2014, 22:55) *
Может, лучше сделать так, например http://www.elcomdesign.ru/ingineer/ingineer_37.html, рис1.

На данный момент так и сделано. Посмотрите пожалуйста прилагаемую схему аналоговой части. ОУ применен AD8628 (GBP = 2.5 MHz). Может нужен пошустрей?

Цитата(Plain @ Apr 15 2014, 23:30) *
Для "отладки спящих режимов" в подавляющем большинстве случаев достаточно выяснить средний ток, а это легко получается одним-двумя RC- и/или LC-фильтрами и интегратором. Можно, конечно, сделать то же самое программно, например, для презентации, но денег потребуется на порядки больше.

Цитата(In_an_im_di @ Apr 15 2014, 23:46) *
Достаточно гораздо более скромных усилий, я того же мнения. Но, как говорится, хозяин-барин.

Коллеги, я Вас прекрасно понимаю. Но хозяин к сожалению не я. sm.gif

Цитата(sifadin @ Apr 16 2014, 01:22) *
Нужна многоканальность
Поставь три канала с разными Ку на порядок и измеряй три канала.
и выбирай один для каждого отсчета.
Здесь нужно только учесть разничу в АЧХ и ФЧХ

Вы имеете ввиду использовать один единственный шунт? И одновременно усиливать с него сигнал несколькими усилителями с разными КУ?
In_an_im_di
Цитата(kada @ Apr 16 2014, 16:17) *
На данный момент так и сделано. Посмотрите пожалуйста прилагаемую схему аналоговой части. ОУ применен AD8628 (GBP = 2.5 MHz). Может нужен пошустрей?
Коллеги, я Вас прекрасно понимаю. Но хозяин к сожалению не я. sm.gif

Да, схема аналогичная, просто название Rос шунтом сбивает с толку.
Пошустрей - не спасёт, даже идеальный - не спасёт, потому что останется решить еще два вопроса: 1. почти мгновенно измерять+принимать решение об уходе на другой диапазон 2.почти мгновенно переключить диапазон(резисторы ОС).
Myron
Цитата(In_an_im_di @ Apr 16 2014, 09:07) *
Да, схема аналогичная, просто название Rос шунтом сбивает с толку. Пошустрей - не спасёт, даже идеальный - не спасёт, потому что останется решить еще два вопроса: 1. почти мгновенно измерять+принимать решение об уходе на другой диапазон 2.почти мгновенно переключить диапазон(резисторы ОС).


Для повышения "шустрости" есть два выхода:
- Использовать 3 канала с разной чувствительностью постоянно без их переключения
- Использовать быстродействующие токовые клещи с усилителем и подключением к осциллоскопу (Current probe amplifier, типа, что-нибудь TM-01)
Меджикивис
Почему-то никто не вспомнил про логарифмический усилитель...
sifadin
Цитата(Меджикивис @ Apr 18 2014, 16:09) *
Почему-то никто не вспомнил про логарифмический усилитель...

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

sifadin
Я имел ввиду опорное сопротивление - скажем набор резисторов от 1 до 1000, зашунтированных транзистором каждый, или диодом.
Тогда измеряя на каждом можно перекрыть весь диапазон
но падение большое - получится 4*0.6 или 4*0.3 (шотки)
Правда можно больше подать, ограничив стабилизатором, но он внесет погрешность, правда его ток тоже можно измерить
Меджикивис
А зачем всё это, когда существуют известные, проверенные схемы логарифмирующих усилителей?
Herz
Цитата(kada @ Apr 16 2014, 15:17) *
Коллеги, я Вас прекрасно понимаю. Но хозяин к сожалению не я. sm.gif

Однако решение ищете же Вы. И легкомысленно не обращаете внимания на тот факт, что блокировочный конденсатор должен быть подключен к питанию МК не только с минимальным сопротивлением, но и максимально короткими проводниками. Иначе поведение контроллера станет непредсказуемым. О каких там килоомах может идти речь?!
О какой полосе в 500кГц? Задача явно надумана безграмотным человеком.
kada
Цитата(sifadin @ Apr 19 2014, 02:31) *
Я имел ввиду опорное сопротивление - скажем набор резисторов от 1 до 1000, зашунтированных транзистором каждый, или диодом.
Тогда измеряя на каждом можно перекрыть весь диапазон
но падение большое - получится 4*0.6 или 4*0.3 (шотки)
Правда можно больше подать, ограничив стабилизатором, но он внесет погрешность, правда его ток тоже можно измерить

Тоже пришла такая идея в голову. Думаю использовать эту цепочку в качестве обратной связи трансимпендансного усилителя. В этом случае падение на резисторах будет скомпенсировано. См. прилагаемую схему.

Цитата(Меджикивис @ Apr 19 2014, 13:01) *
А зачем всё это, когда существуют известные, проверенные схемы логарифмирующих усилителей?

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

Цитата(Herz @ Apr 19 2014, 14:13) *
Однако решение ищете же Вы. И легкомысленно не обращаете внимания на тот факт, что блокировочный конденсатор должен быть подключен к питанию МК не только с минимальным сопротивлением, но и максимально короткими проводниками. Иначе поведение контроллера станет непредсказуемым. О каких там килоомах может идти речь?!
О какой полосе в 500кГц? Задача явно надумана безграмотным человеком.

Мне эта идея тоже показалась авантюрной. Но даже отказавшись от нее, и измеряя ток до блокировочного конденсатора, никто не запрещает иметь полосу пропускания 500 кГц или около того. При питании 3,3В и потребляемом токе 15 мА в активном режиме, постоянная времени цепи, образованной блокировочным конденсатором 0,1 мкФ и микроконтроллером будет порядка 20 мкс. Это конечно не 500 кГц, но и потребляемый ток микроконтроллера может быть значительно больше 15 мА.
Herz
Цитата(kada @ Apr 19 2014, 15:05) *
Мне эта идея тоже показалась авантюрной. Но даже отказавшись от нее, и измеряя ток до блокировочного конденсатора, никто не запрещает иметь полосу пропускания 500 кГц или около того. При питании 3,3В и потребляемом токе 15 мА в активном режиме, постоянная времени цепи, образованной блокировочным конденсатором 0,1 мкФ и микроконтроллером будет порядка 20 мкс. Это конечно не 500 кГц, но и потребляемый ток микроконтроллера может быть значительно больше 15 мА.

Конечно, это далеко не 500кГц. И 0.1мкф - далеко не всегда достаточная ёмкость. Особенно, если контроллер потребляет больше 15мА.
Кстати, какой максимум потребления Вы предполагаете? 100мА? Это о каких МК речь?
Меджикивис
Цитата(kada @ Apr 19 2014, 18:05) *
смущает сужение динамического диапазона. В итоге вряд ли удастся измерить ток с достаточной точностью.
Однако с переключаемыми шунтами Вы же делаете то же самое - только ступенчато.
На шунте для 100 мА Вы не сможете замерить с точностью до 1 мкА (для того Вы их и переключаете).


kada
Цитата(Herz @ Apr 19 2014, 18:58) *
Конечно, это далеко не 500кГц. И 0.1мкф - далеко не всегда достаточная ёмкость. Особенно, если контроллер потребляет больше 15мА.
Кстати, какой максимум потребления Вы предполагаете? 100мА? Это о каких МК речь?

100 мА не предел. Например STM32F4 на частоте 168 МГц потребляет 102 мА. Это будет универсальный инструмент для отладки спящих режимов разных микроконтроллеров: AVR, STM8, STM32, NRF.

Цитата(Меджикивис @ Apr 19 2014, 19:31) *
Однако с переключаемыми шунтами Вы же делаете то же самое - только ступенчато.
На шунте для 100 мА Вы не сможете замерить с точностью до 1 мкА (для того Вы их и переключаете).

Поэтому я переключусь на шунт 100К и замерю с точностью до 1 мкА. А как это сделать с помощью логарифмического усилителя (если быть точнее, то преобразователя) не совсем понятно.
Кстати, идея изображенная на последней схеме, по предварительным тестам работает. А в ней не нужно ничего переключать.
Tanya
Цитата(Herz @ Apr 19 2014, 13:13) *
Однако решение ищете же Вы. И легкомысленно не обращаете внимания на тот факт, что блокировочный конденсатор должен быть подключен к питанию МК не только с минимальным сопротивлением, но и максимально короткими проводниками. Иначе поведение контроллера станет непредсказуемым. О каких там килоомах может идти речь?!
О какой полосе в 500кГц? Задача явно надумана безграмотным человеком.

А если именно на конденсаторе еще напряжение измерять... быстро? Короткие просадки дадут импульсный ток, а средний тоже нужно измерять... можно в земляном проводе умощненным трансимпедансным усилителем.
Plain
Цитата(kada @ Apr 19 2014, 15:05) *
смущает сужение динамического диапазона. В итоге вряд ли удастся измерить ток с достаточной точностью

Наконец-то проговорились. Итак, касательно бюджета я уже высказался ранее, а в остальном:

1) Совет простой — ставьте 16-разрядный АЦП требуемого быстродействия и в типовой схеме включения, к нему соответствующий усилитель, и один прецизионный резистор 0,1 Ом в качестве датчика. Далее всё каким-то образом закидываете в компьютер.

2) Решение попроще — купить бескорпусной 16-разрядный осциллограф, т.е. демоплаты какого-либо производителя АЦП, и довесить к нему датчик и усилитель.
Herz
Цитата(Tanya @ Apr 19 2014, 19:23) *
А если именно на конденсаторе еще напряжение измерять... быстро? Короткие просадки дадут импульсный ток, а средний тоже нужно измерять... можно в земляном проводе умощненным трансимпедансным усилителем.

Надо будет хорошо знать конденсатор: ёмкость, ESR, зарядный ток...
Меджикивис
Цитата(kada @ Apr 19 2014, 21:13) *
Цитата(Меджикивис @ Apr 19 2014, 20:31) *
На шунте для 100 мА Вы не сможете замерить с точностью до 1 мкА
Поэтому я переключусь на шунт 100К и замерю с точностью до 1 мкА.
А какое общее падение напряжения дадут 100 мА по 100 кОмам, ага sm.gif
Микроампер можно замерить только в начале шкалы, на десятках-сотнях микроампер.

Цитата(kada @ Apr 19 2014, 21:13) *
А как это сделать с помощью логарифмического усилителя (если быть точнее, то преобразователя) не совсем понятно.
А ничего и не надо "делать" - в начале шкалы он и сам меряет с большим Ku и отмечает микроамперы.
А по мере увеличения сигнала, Ku пропорционально снижается - так что относительная точность, то есть в процентах от измеренного тока, остается одной и той же.

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

Но это всё я так к слову; разъяснил только потому что Вы спросили. Делайте как Вам удобнее конечно.


undefined
Стартеркиты Energy Micro с J-Link-ом умеют мониторить потребление отлаживаемого устройства с построением реал-тайм графиков через свою прогу energyAware Profiler:

The Advanced Energy Monitor is capable of measuring currents in the range of 0.1uA to 50mA. For
currents above 250uA, the AEM is accurate within 0.1mA. When measuring currents below 250uA, the
accuracy increases to 1uA. Even though the absolute accuracy is 1uA in the sub 250uA range, the
AEM is able to detect changes in the current consumption as small as 100nA. The AEM produces 6250
current samples per second.

Схемотехника этого безобразия имеется в схематиках ихних стартеркитов, например в документе BRD2201A_A02_schematic.pdf
ЗЫ. Сам не пользовался, потому что к чему не в курсе.
Jekin
Есть и универсальное устройство для решения данной задачи - PowerScale от hitex http://www.hitex.com/fileadmin/pdf/product...-powerscale.pdf , правда недешевое и рабоает с ненамного менее дешевым адаптером ULINKpro
muravei
В Радиолоцман №4 , на стр 20 решение проблемы.
http://yadi.sk/d/OUruAsJMNs4tP
ссылка не вставляется
rx3apf
Фактически это разновидность кулонометра. Довольно интересное решение. У меня тоже есть потребность в подобном устройстве, но для решения руки пока не дошли (приходиться суррогатными методами), предполагал сделать на AD7741 (токовый шунт, усилитель и дальше 7741)...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.