енергоспоживання arduino mkr

| щоденник, arduino, проєкт

вчора згаяв чимало часу, намагаючись з’ясувати енергоспоживання набору arduino oplà iot і розрахувати час роботи від акумулятора: виявив, що в мультиметра пробитий запобіжник, трохи пошкодив екран mrk iot carrier, чимало пригадав з курсу електротехніки… але таки щось наміряв: до 40 годин від 3000 мАг, але є важливі нюанси.

tl;dr

з увімкненим екраном, arduino oplà iot працюватиме від акумулятора на 3000 мАг десь приблизно 25 годин; якщо вимкнути екран — цей час можна збільшити до 40 годин! висновок очевидний: вмикати екран лише тоді, коли це треба (наприклад, за жестом: набір має світлочутливий датчик з розпізнаванням жестів) і на короткий час. але! одразу після завантаження oplà чомусь активує два реле (можливо, для перевірки справності? чи глюк?), які зменшують час роботи від акумулятора до 10-15 годин! другий висновок: обов’язково деактивувати реле під час ініціалізації.

зображення

шкільна фізика

почалося з того, що я грався з бібліотекою для програмування arduino mkr iot carrier, і спробував вимкнути екран за допомогою display.enableDisplay(false) — підсвітка залишилася ввімкненою. по-перше, довелося вчитися її виключати (це майже хак, окремої функції нема, що тупо), — але захотілося ще й поміряти споживання електроенергії від акумулятора з екраном в різних режимах, з підсвіткою та без.

нема нічого простішого: розірвав контур біля батареї, і прилаштував мультиметр в розрив… виглядає дивно (дротики, трохи скотчу й тамованої лайки), але ж повинно працювати? клац-клац — контролер не запускається: зʼєдную дротики — працює, пускаю через амперметр — дзуськи. вочевидячки, амперметр має надто великий опір? втуливши в розрив потенціометр (див. фото), трохи покрутивши його в пошуках «точки», коли схема включається/виключається, і вимірявши опір потенціометра після цього (~160 ом), з’ясував, що амперметр має принаймні вищий. але ж зі шкільного курсу фізики ми всі пам’ятаємо, що амперметр в ідеалі повинен мати нульовий опір, так? отже…

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

з того ж таки шкільного курсу фізики (гаразд, це я вже пригадую інститутський курс метрології) напряму струм амперметр, насправді, не міряє — вимірюється падіння напруги на невеличкому резисторі з відомим опором, а переградуйована шкала показує значення в (мілі)амперах замість вольт, або ж величина струму обраховується (I = ΔU/R). схема вже є, лишається тільки викрутити потенціометр в мінімум, вимірявши опір (2,1 ом), і міряти напругу на ньому…

виявляється, що вмикання/вимикання дисплея (enableDisplay()) практично не впливає на споживання, а от підсвітка — так:

  • підсвітка вкл.: U = 0,55 В -> I = 262 мА, час роботи від акумулятора (3000 мАг) t = 11 годин;
  • підсвітка викл.: U = 0,41 В -> I = 195 мА, t = 15 годин (+35%).

все? ні! тому що специфікація arduino oplà iot (с. 3) каже, що набір має працювати до 48 годин від акумулятора 2500 мАг! щось не так…

реле

я ще трохи покрутив набір у руках, повмикав-повимикав, і зрозумів: чомусь під час завантаження на платі mkr iot активуються обидва реле для керування зовнішніми пристроями! я їх не активую програмно в своєму тестовому коді — тож це або особливості схеми (може, перевірка релешок?), або глюк, бо якщо перезавантажити плату кнопочкою reset — цього не відбувається, реле лишаються вимкнені! тож я знову переміряв споживання з вимкненими реле — еврика!

  • підсвітка вкл.: U = 0,24 В -> I = 114 мА, t = 26 годин;
  • підсвітка викл.: U = 0,14 В -> I = 67 мА, t = 44 години!

враховуючи похибки вимірювання й розрахунків, це вже дуже близько до специфікації; а реле (kemet ee2-5nu-l) має досить високий струм витоку — близько 60-70 мА.

висновки?

по-перше, шкілька фізика кермує! ви її проспали в школі? прикро, бо вона справді цікава і може стати в пригоді.

по-друге, навіть досить розвинені бібліотеки часом бракують досить простих і потрібних функцій, а документація — може «приховувати» інформацію про важливі речі, як от: споживання в різних режимах, необхідність вимкнення підсвітки для подовження роботи від батареї та несподівану поведінку деяких компонентів.

а головне: деякі проблеми перетвоюються на цікаві задачки з корисним розв’язком, якщо докласти трішечки зусиль =)