Ардуїно: Виміряйте зовнішню напругу


10

У мене є "проблема", намагаючись виміряти зовнішню напругу від монети. Я спростив свою схему, але в основному у мене є годинник DS1307 в режимі реального часу, що працює від виходу Arduino 5V, і монета, підключена до vBat, щоб підтримувати годинник живим під час відключення Arduino. Моя ідея полягала в тому, щоб виміряти рівень акумулятора за допомогою Arduino, підключивши його позитив до аналогового входу і прочитавши рівень напруги. Отже, я подумав, що як максимальна напруга 3В, я можу використовувати 3v3 як AREF і встановити аналогове посилання на зовнішні, а потім прочитати точні результати. Результат досить класний, і показання від Arduino такі ж, як і читання напруги акумулятора з мого мультиметра. Проблема виникає, коли я відключаю джерело живлення від Arduino (USB-з'єднання). На мій подив, Arduino не вимикається (деякі світлодіоди продовжують включатись),

Чому це відбувається? Як Arduino приймає струм від аналогового штиря? Це маленька схема електронної аберації?

введіть тут опис зображення

Відповіді:


10

Більшість, якщо не всі, вхідні штифти на контролерах AVR внутрішньо захищені затискаючими діодами. Ці діоди запобігають, що вхідна напруга може бути вище напруги живлення.

Чому ці внутрішні діоди існують:

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

Чому ваш Arduino працює від акумулятора Погляньте на схему нижче. Коли Vcc від'єднується від звичайного джерела живлення, є шлях від акумулятора, через D1, до Vcc. Напруга акумулятора просто достатньо висока, щоб контролер міг працювати.

схематичний

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

Як її вирішити

Рішення просте, послідовно додайте резистор високого значення між акумулятором і входом контролера. Більшість AVR мають вказаний максимальний вхідний струм витоку (I IL ) 1 мкА, тому ви хочете переконатися, що падіння напруги є прийнятним при цьому струмі, скажімо, 100 кОм.

Але будьте обережні!

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


Я б спробував 10Mohm і подивився, що читає АЦП, і використати це в якості посилання на заряджений акумулятор. Це складне вимірювання, якщо ви хочете уникнути небажаного стоку.
Енді ака

Це могло б спрацювати, хоча воно є як вхідний струм, а не як вхідний опір. Відповідь може бути нелінійною, але не обов'язково марною. Може знадобитися якесь калібрування, і, можливо, може використовуватися посилання на проміжок 1V1 (замість зовнішнього посилання 3V3), коли вимірювана напруга опускається нижче 1,1 В.
джиппі

Приємна відповідь !! Я думав, чи буде працювати резисторний дільник 100kΩ і 50kΩ. У цьому випадку я припускаю, що максимальна напруга акумулятора - 3,2 вольта. Це дає напругу перепаду 1,067 В, яка може бути сумісною з внутрішньою аналоговою посиланням 1v1. Це може спрацювати? чи занадто рано буде заряджати акумулятор?
alvarolb

2
Я не знаю ємності вашого акумулятора. Він повинен бути вказаний в мАг. Приблизною ознакою його тривалості буде . Осередок монети може не дуже довго, але вам слід перевірити аркуш, щоб бути впевненим. T=mAh3V×1000100kΩ+50kΩ=mAh × (100kΩ+50kΩ)3V×1000
джиппі

1
Ці діоди присутні на більшості мікроконтролерів загалом - не тільки на AVR. Вони також не чуті для інших типів ІМС.
Адам Лоуренс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.