Як виміряти невеликі, колючі кількості струму?


13

Припустимо, у мене є мікроконтролер із певною кількістю периферійних пристроїв, і хотілося б зробити обґрунтовану оцінку часу роботи акумулятора. Оскільки я можу заснути час від часу, а різні периферійні пристрої знаходяться в різних станах, моє поточне споживання може змінюватись між uA (у режимі сну) і приблизно 10s мА (коли я не сплю).

Тепер я можу приєднати батарею і дозволити їй працювати і вимірювати час, але це робить як трудомістким, так і важким (і, можливо, дорогим) порівняння різних підходів як у прошивці, так і в апаратному забезпеченні.

Я міг би розмістити мультиметр послідовно, але навіть якщо у нього є реєстрація даних, це є на певному інтервалі, і мені доведеться інтерполювати, і я можу повністю пропустити варіанти, менші за інтервал. (Плюс напруга навантаження і все таке.)

Якщо мій пристрій спить достатньо , струм неспання стає дещо незначним, але це може знадобитися співвідношенню 1000: 1 для сну, щоб прокинутися, тому це, мабуть, не для всіх конструкцій.

Чи є якийсь пристрій, який інтегрує струм з часом у дуже малих кількостях (наприклад, не розетковий прилад Kill-a-Watt)? В основному мені цікаво знати, що "за останню годину було спожито 20mAh". Бонусні бали, якщо я можу отримати точні вимірювання струму в будь-який момент часу, порівняти спокійний і сплячий струм.


3
@ Sparky256, про що ти говориш? Швидкість дискретизації 10 кГц, швидше за все, тут буде достатньою, якщо припустити, що тут є достатньо конденсаторів для роз'єднання. Скажімо, ми використовуємо 16 біт на зразок, що складає лише 20 кБ в секунду. Будь-який сучасний 16 або 32-бітний мікроконтролер може записати це на SD-карту без особливих прихильності, а мій ПК може зберігати роки цього в оперативній пам'яті, на SSD або жорсткому диску. Це не 1960-ті! Навіть 1MS / s Вінса є ... смішним для тих, хто працює з програмним радіо.
Маркус Мюллер

5
@ Sparky256, у мене 16-канальна система NI Labview, яка може записувати 16 каналів зчитування 16-бітового ЦАП при 200 кс / с до повного заповнення жорсткого диска 1 ТБ. Вся справа в тому, скільки грошей ви хочете заплатити.
Вінс Меценат

3
@ Sparky256 Безумовно, карти DAQ фірмових брендів дорогі. Для цього можна було б зробити дуже простий пристрій - потенційно навіть звукову карту (з мостиковими ковпачками з’єднання) з опорною напругою на іншому стереоканалі.
Маркус Мюллер

4
Вибачте, але для інтеграції не потрібно зберігати оцифровані поточні зразки, досить зберегти накопичений інтеграл - суму. 1MSa / секунди або 1Sa / секунди, однієї секунди інтегруючого часу або одного тижня, мало байтів пам'яті.
користувач287001

6
Я не бачив, щоб хтось згадував кулонові лічильники, які здаються не дуже поганою ідеєю в цій ситуації
BeB00

Відповіді:


13

Ну, звичайно, є специфічні ІЧ-сенсори. У вашому випадку я б "просто" пішов з чимось на зразок:

  • Використовуйте невеликий резистор (наприклад, 0,5 Ом) між акумулятором та електронікою.
  • Підсилюйте напругу на цьому резисторі за допомогою приладового підсилювача
  • Запишіть цю напругу, наприклад, використовуючи АЦП

Проблеми:

  1. низькі струми · низький опір = низька напруга: точність вимірювання буде поганою через шум
  2. оскільки мікроконтролери прокидаються дуже швидко і сплять однаково швидко, швидкість вибірки АЦП обов'язково повинна бути дуже високою.

Але, як правило, це працює і, безумовно, є життєздатним (хоча проектування стабільного низькошумного, підсилювального приладу з високим підсиленням може бути нетривіальним; але: є існуючі ІМС instr.amp, які роблять це набагато простіше).

На щастя, ваша проблема досить поширена. Отже: у багатьох, включаючи Texas Instruments, є портфоліо поточних підсилювачів зондування, деякі з яких інтегрують і вищезгаданий маневровий резистор, і цифровий інтерфейс. Дивіться список продуктів TI .

Насправді ці ІМС здатні одночасно вимірювати струм та напругу живлення - і це чудово, щоб насправді виміряти витягнуту потужність, міру, набагато важливішу для ресурсу акумулятора, ніж сирий струм, якщо немає нелінійних елементів (наприклад, , MCU).

Наприклад, INA233 може бути підключений до зовнішнього шунта (скажімо, 0,3 Ом) і має роздільну здатність 2,5 мкВ на крок АЦП. Це означає, що один крок АЦП - I = U / R = 2,5 мкВ / 0,3 Ом = 8,333 мкА в струмі.

Я думаю, що цей пристрій також має автоматичний режим відбору проб і усереднення, так що ви можете легко отримати хороші наближення навіть при швидко мінливому навантаженні.

Крім того, як я нещодавно з’ясував: річ має рівень "оповіщення", щоб ви могли будити вашу систему вимірювання кожного разу, коли струм піднімається вище встановленого порогу. Приємно! Таким чином, робити вибірку потрібно лише зрідка.


Чи може потреба у високій частоті вибірки по черзі вирішуватися з аналоговим інтегратором, який відбирається, а потім скидається з меншою швидкістю?
Філ Мороз

Зауважте, що жоден постачальник акумуляторів не має однакових коефіцієнтів витоку, ємності та двошарового ефекту або коефіцієнта ШОЕ. Звідси прогнозування. А ємність проти струму розряду неможливо узагальнити. Він повинен бути протестований, якщо не вказано точно в таблиці.
Tony Stewart Sunnyskyguy EE75

@PhilFrost Мені подобається ця ідея, але я стурбований також інтегруючими неточностями! Але я майже впевнений, що це, принаймні, в якомусь масштабі, можливо!
Маркус Мюллер

7

Чи є якийсь пристрій, який інтегрує струм з часом у дуже малих кількостях

Так, є кілька; найстаріший - це гальванічний осередок (маса покритого металу становить ампер-годин), патент Едісона , а клітини електролізу (скупчення газу в капілярній трубці) були використані останнім часом. Вони точно рівноцінні аналізу акумулятора після тривалого періоду використання.

У наш час застосовують оцифрування.

Якщо ви очікуєте коливань швидше, ніж швидкість цифрової вибірки, це можна виправити. Можна влаштовувати двогалузевий контур струму з високочастотною провідністю (конденсатор), що обходить датчик струму, і паралельною низькочастотною провідністю (індуктор і елемент струму).

Якщо ви очікуєте малого струму тривалої тривалості (який перемагає деталізацію цифрової вибірки), це теж можна виправити. Додайте до сигналу струму постійного струму невелике джерело постійного струму плюс білий-шум, і дробовий біт струму призведе (статистично) до правильного накопичення цифрових сигналів протягом великих разів. АЦП з фіг. 5а Однак частина постійного струму доданого сигналу повинна бути відкалібрована подалі. Псевдовипадкові джерела шуму корисні для подібного роду «дрижи».

Оцифровка та накопичення в регістрі (як і Kill-a-Watt) можуть працювати з легко доступними компонентами, а деякі хитрощі приборкають його потенціал для неправильного вимірювання.


7

Швидкий і брудний: СУПЕРКАПАЦІТОРИ! (Також шукайте ультраконденсатор.) Вони живлять вашу систему і відображатимуть інтегральний струм як проміжок напруги з часом.

Про який процесор Vdd та / або вольт акумулятора ви думали? Конденсатор, природно, інтегрує струм, звичайно, і якщо ви використовуєте кілька-фарадів суперконденсатор замість джерела живлення, ви можете виміряти напругу, що падає з часом, і точно визначити довготривалі середні мікроампер.

Якщо ваша конструкція потребує постійного Vdd, виберіть величину суперкап, достатньо велику, щоб напруга опускалася лише на XX відсотків під час запуску тесту. Залежно від середнього струму, можливо, ви зможете піти з конденсатором на кілька доларів. Наприклад, 4,7 фарадів на кілька вольт - це звичайна суперкапа в надлишкових каталогах. (У Sparkfun є десь десять фарадів, а максимальний розмір - 3000-фарадні підсилювачі електронного Goldmine при 2,7 В.) Складіть їх послідовно, щоб отримати більш високу межу напруги.


3
Суперкапсули суттєво змінюються струмом витоку залежно від напруги та температури, на які доведеться враховувати ОП.
Дмитро Григор’єв

2
@DmitryGrigoryev Добрий момент. Виконайте випробування лише голими конденсаторами, обчисліть струм витоку, а потім повторіть тест із встановленою платою процесора. Не забувайте: швидкий і брудний, не складний і високоточний. Якщо йому потрібно знати відповідь у межах 1%, тоді перейдіть до добре розроблених активних інтеграторів тощо
wbeaty

Виконайте тест кілька разів , деякі з, а деякі без додавання дошки процесора, в рандомізованому порядку; потім обчислити середню різницю та її довірчий інтервал. / статистик
некоматичний

Потім мета-аналіз декількох проектів процесорів, що займаються захопленням, щоб виявити, чи якісь групи створювали упередженість, відкидаючи людей, що вижили.
wbeaty

4

Якщо ви очікуєте великого динамічного діапазону, можливим може бути використання дзеркала струму, що пропускається логарифмічним підсилювачем транс-імпедансу, як LOG114 . Ви можете отримати понад 6 десятиліть діапазону за допомогою добре налаштованої схеми. Інтеграцію можна регулювати за допомогою конденсатора після дзеркала струму.

Це більш складне рішення, і роздільна здатність при сильному струмі, коли заряд акумулятора істотно змінюється, нижче. Точність та пряме, пропорційне зондування залежать від частки часу, який ви проводите при низькому струмі.

Крім того, ви можете просто запустити грубу силу з роздільною здатністю АЦП. 24 біт або 32 біт можуть охоплювати 4 десятиліття без проблем.


3

Для ваших грубих вимірів (можливо, +/- 10% або 20%).

Просто покладіть резистор послідовно з потужністю і паралельно його конденсатору, щоб отримати достатньо велику константу часу, щоб швидкість вибірки не пропускала суттєвих даних. Наприклад, якщо ви здійснюєте вибірку на частоті 100 Гц, ви можете вибрати константу часу 0,2 секунди. Ймовірно, це буде електролітичний конденсатор, і найкращий тип низького опору, і ви можете паралельно його кераміці 1uF-10uF, якщо імпульси коротші приблизно на 10us. Значення некритичне, воно просто повинно бути досить високим. Підберіть резистор так, щоб він не впав занадто багато напруги, щоб це вплинуло на роботу, але все ж подає достатньо сигналу, щоб можна було отримати розумні вимірювання.

Не потрібно аналізувати час підйому і падіння підсилювачів або будь-якого з цих матеріалів - резистор і конденсатор виконають цю роботу.

Майте на увазі, що робота, що залежить від того, що акумулятор є джерелом низького імпедансу для ваших імпульсів «колоска», вийде з ладу до того, як акумулятор буде фактично вичерпаний - паралельність батареї з конденсатором може (іноді сильно) продовжити термін служби - внутрішній опір акумулятора збільшується в міру виснаження.


Крім того, майте на увазі, що якщо час увімкнення короткий, а струм у режимі очікування низький, це буде хорошою ідеєю виміряти струм без підключеної схеми, аби тільки нуль витікати електролітичну кришку - я ' Приблизно розраховані конструкції MCU спорадично активних контролерів, і витік через керамічну кришку 100 nF був вищим, ніж середнє енергоспоживання MCU.
Маркус Мюллер

Ω

так, це минуло кілька років. Але, можливо, він був пошкоджений (хоча я не впевнений, який вид пошкодження настільки значно збільшить витік. Змушує замислитись, чи я десь мав систематичну помилку). MCU - це якийсь фреш-маштаб ультрамалої потужності, який працював на найнижчій тактовій швидкості протягом декількох десятків мкс перед тим, як повністю вимкнутись (виключаючи оперативну пам’ять та джерело переривання), здебільшого на секунди-хвилини. Ніколи не закінчений прототип ІР-комунікативних «ювелірних виробів».
Маркус Мюллер

3

Я пропоную, мабуть, надмірність ... Але якщо ви виявите, що стандартні / дешеві рішення просто не мають достатнього динамічного діапазону, або якщо ви робите такі вимірювання регулярно, ви можете переглянути цей дуже акуратний пристрій: RocketLogger .

Він розроблений та відкритий джерелом ETH Zurich. Вони називають це "точним реєстратором даних зі змішаним сигналом для портативних вимірювань". Це портативний реєстратор струму та напруги з дуже високим динамічним діапазоном струму, заснований на SBC Beaglebone.

  • 2 × поточні канали з високим динамічним діапазоном від 4 нА до ± 500 мА
  • 4 × канали напруги розміром від 13 у до ± 5,5 В
  • тощо ...

Відмова від відповідальності: я не асоціюється із творцями пристрою.


3

Кулонівський підрахунок може здійснюватися шляхом вимірювання зміни збереженого заряду за падінням напруги від відомого заряду Q = CV протягом вимірюваного інтервалу щонайменше 1 повторюваного циклу.

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

По-друге, метод кулонівського підрахунку повинен бути достатньо точним певним методом тестування через короткі проміжки часу, такі як 1 година або близько того, якщо це може в середньому повторювати цикли сну та пульсової активності, щоб ефективність програмного забезпечення була оптимізована для енергії.

Наприклад, час зберігання акумулятора може бути, або може бути; 1 рік основного або 1-денний вторинний між зарядами, але повинен бути специфічним.

По-третє , чи не можемо ми скористатися низькою кришкою витоку для швидшого підрахунку кулонів? Таких, як за 1 год?
Якщо очікується, що стік складе 20 мА на годину, а падіння лише 0,1 В, яке значення C потрібно? C = Ic * dt / dV = 20mA * 3600s / 0,1V = 700 Farads

Якщо можливо, виберіть деталь із таким діапазоном ємності, як 3V CR123A акумулятор, тоді перевірте метод підрахунку кулонів та стежте за напругою.

Крім того, відчуйте поточний і використовуйте поточний контент для точного підрахунку кулонів окремо від дизайну.


3

Один годинна частина вашого запитання робить це трохи складним - але, можливо, вам це справді не потрібно, якщо ваш пристрій робить щось циклічне (як це робить більшість вбудованих речей).

Тож давайте повний зайвий набір, щоб показати, що ви могли купити. Keysight CX3300 дозволить зразок струму форми хвилі з до 200 МГц аналогової смуги пропускання і 1 GSA / с. У поєднанні з 256 МС пам’яті ви можете отримати пристойні вибіркові показники навіть більше години. Ціна, звичайно, трохи висока, починаючи з $ 33 000, а зонди починаючи від $ 4 800.

Трохи дешевшою дорогою, якою я зазвичай їду, є мій осцилограф з поточним зондом, як N2820A - це поверне вам приблизно $ 4200, і ви не отримаєте зовсім аналогову пропускну здатність (до 3 МГц), але я вважаю, що це дійсно корисний. Це дасть вам канал з низьким вимірюванням струму та каналом з високим вимірюванням струму, тому для аналізу потрібно трохи ручного розрахунку.

Я впевнений, що є подібні пропозиції від різних виробників для чогось подібного до вищезгаданої продукції Keysight.

Оскільки мій осцилоскоп не має великої кількості пам’яті, я зазвичай вимірюю один цикл активності і обчислюю звідти - наші пристрої не мають довгих циклів, так що це виходить досить добре.

Якщо мені потрібно довго проводити вимірювання з автоматичним розрахунком Wh, я використовую свою надійну Gossen Metrahit Energy , яка чудово справляється навіть з низькими струмами. Але обробка даних не підходить для сильно змінних струмів, оскільки швидкість вибірки не така велика.

Будь ласка, не розумійте цієї відповіді, оскільки я хвалюсь про дороге обладнання, це вказівка ​​на те, що там є професійне обладнання для тестування, яке може впоратися з вимогами - так як більшість інших відповідей зосереджені на тому, щоб робити це самостійно (що може спричинити проблеми якщо ви не просто власноруч виконуєте щасливі тести).

Я жодним чином не пов’язаний з Keysight або Gossen, я просто щасливий користувач їхньої продукції.


2

Візьміть чудову відповідь @ marcusmuller і подайте вихід в інтегратор. нульовий ковпак перед початком роботи, і виміряйте накопичений мАг або uAh як напругу постійного струму.

Можливо, вам доведеться експериментувати з вибором конденсатора інтегратора; деякі конструкції конденсаторів погані для вимивання або мають внутрішній опір, що заважає їм правильно нулюватися.


2

Я міг би розмістити мультиметр послідовно, але навіть якщо у нього є реєстрація даних, це є на певному інтервалі, і мені доведеться інтерполювати, і я можу повністю пропустити варіанти, менші за інтервал.

Отже, ви можете помістити фільтр низьких частот у свою вимірювальну ланцюг, щоб записати середнє значення з досить низькою частотою:

схематичний

імітувати цю схему - Схематично створено за допомогою CircuitLab


2

Для меншої тривалості (секунд) ви можете використовувати такий пристрій, як μCurrent, підключений до осцилографа.

Якщо ваш піковий струм є відносно неважливим (наприклад, через те, що він дуже короткий або через те, що в ньому переважає більш-менш фіксований і відомий показник, як піковий струм вашого мікроконтролера), ви можете використовувати резистор шунта з діодом паралельно для обмеження падіння напруги. При паралелі 100 Ом та паралельному SI-діоді ви могли виміряти до ~ 7 мА та досягти точності в десятках мкА.


Це набагато краще, ніж секунди. Аналогова пропускна здатність становить 8 кГц для вихідного μКаточна і 300 кГц для μCurrent GOLD (Kickstarter). Я виміряв 1 мс поточні перехідні для Raspberry Pi за допомогою цієї установки.
Пітер Мортенсен

1
@PeterMortensen: Я мав на увазі загальну тривалість ви можете виміряти, щоб оцінити час роботи акумулятора (тобто середню потужність за час). Якщо пристрій ОП виконує такі дії, як, наприклад, періодичні вимірювання з інтервалом у 0,5 секунди, досить було б виміряти кілька секунд. Якщо пристрій ОП виконує більш складні завдання протягом більш тривалого часу, тоді йому / їй знадобиться інший підхід.
Майкл

0

Я думаю, що ваша ідея використання акумулятора може бути найкращим підходом, але я не впевнений, чому ви кажете, що це важко чи дорого? Я впевнений, що ви можете придбати лічильники A-Hr, але вони не можуть точно виміряти коротких інтервалів струму, які вас цікавлять. Іншим підходом може бути струмовий зонд, підключений до осцилографа. Це, мабуть, буде найбільш точним способом характеризувати струм з точки зору амплітуди та часу, але не дасть A-Hrs, якщо поточна форма хвилі не буде періодичною.


Скажімо, я хочу побачити вплив останнього натиску коду на тривалість роботи акумулятора на пристрої, розрахованому на один акумулятор ~ 2 місяці. Мені потрібно посидіти і дати батареї розрядитися досить довго. :) ("Дороге" - це певне визначення, якщо використовуються первинні клітини.)
Девід

Одним із варіантів було б використання набагато меншої батареї. Поки A-hr батареї знає, ви можете масштабувати результати до будь-якого розміру.
EE_socal

Акумулятори не є каліброваним вимірювальним обладнанням. Все, що ви знаєте про батарею 1Ач, це те, що в ній принаймні 1Ач.
Дмитро Григор’єв

Акумулятор можна відкалібрувати, поставивши на нього ноу-хау і побачити, скільки часу потрібно для розряду. Я згоден, це не найточніший метод, але, можливо, досить хороший.
EE_socal

@EE_socal У хобі-проекті обов'язково. На роботі я вважаю за краще придбати належне вимірювальне обладнання, ніж платити інженеру за те, щоб зробити щось таке ж клепання, як калібрування акумулятора. Нові батареї можуть змінити свої характеристики вже через кілька циклів, тому калібрування одного не таке швидке.
Дмитро Григор’єв

0

Мені довелося довго працювати з цією проблемою з літієвими батареями. Пристрій прокидався дуже мало часу, раз на хвилину. Я міг пробити напругу в акумуляторі. Проблема з літієвими батареями в цій ситуації полягає в тому, що у них дуже різке «коліно» в циклі розрядки, і коли вони потрапляють у цю точку, у вас вийшов час, і це невеликий діапазон значень.


0

Я фактично взяв логічний / аналоговий аналізатор (Saleae Logic 8) і підключив його до µCurrent Gold і виміряв весь поточний графік і напругу акумулятора від повністю заряджених аж до розрядки. Ви можете просто запустити скрипт python, який підключається до інтерфейсу розробки для опитування та збереження значень. Це створює TON даних і часто не може бути легко маніпулювати в Excel, але ви можете принаймні відкрити шматок часу, щоб побачити, який миттєвий струм був у цей конкретний час.

Ось знімок екрана з деякої перевірки тривалості роботи акумулятора, який я схожий на те, що ви шукаєте:

Поточний захоплення за допомогою Saleae Logic 8

Жовтий сигнал - це струм (V переводимо на A). Ви можете бачити відгук акумулятора (у цьому випадку акумулятор перевершує максимум 5 В Logic 8). Тоді, найголовніше, ви можете побачити, як включені рейки живлення, а потім вимкнення для вимірювань (я фактично надсилав дані через CAT -М до наших хмарних серверів). У вашому випадку, ви, ймовірно, не побачите настільки захоплюючих речей через те, що ваш робочий цикл набагато менший (я робив тут прискорене тестування акумулятора, тому це було так часто)

Якщо ви хочете побачити, як виглядала моя установка, нещодавно я написав статтю про те, як проводити вимірювання за допомогою шестерні, яка виробляла знімок вище.

Ви, ймовірно, можете зробити щось подібне з осциліскопом, керованим GPIB, або іншим брелоком даних. Я просто радий використати те, що мав під рукою.

Для розширених зйомок ви також можете ознайомитися з посиланням на програмування Saleae щодо їх логічних аналізаторів. Я також створив суть коду, який я використовував для створення цього захоплення і тут.


0

Усі ці відповіді і лише @wbeaty згадували очевидний. Пристрій, який інтегрує струм із часом? Що з I = C dV / dt?

Якщо споживання струму досить низьке, декількох конденсаторів може бути і більше, але для більш високих струмів знадобиться суперконденсатор. Налаштування конденсаторів для отримання розумного падіння за розумну кількість часу. Схема такої, як наведена нижче, зробила б свою справу.

схематичний

імітувати цю схему - Схематично створено за допомогою CircuitLab

Ємнісний дільник є, щоб уникнути виведення струму з вузла. Для встановлення початкового стану можна заздалегідь заряджати подачу УК через периферійний штифт, а потім періодично вимірювати, щоб прочитати швидкість розряду. Одна з проблем цієї схеми полягає в тому, що вихідна напруга зміниться, що може означати змінне навантаження.

Щоб уникнути цієї проблеми, а також для регульованої універсальної схеми з компонентами розумного розміру замість цього можна було б використовувати активний множник ємності, як концептуальна схема нижче. Деякі калібрування з відомими навантаженнями, і у вас є індивідуальний лічильник витрат.

схематичний

моделювати цю схему

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.