Измерение напряжения источника питания Arduino с помощью аналогового входа


9

Я питаю Arduino от батареи 5 В (от 3,7 В до повышающего модуля), и мне нужно измерить напряжение. Допустим, батарея подает большой ток , безопасно ли измерять напряжение через аналоговый вход? Как в этом:

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

Причина, по которой я спрашиваю, состоит в том, что я мало знаю об архитектуре и ограничениях АЦП Arduino. Так что обычно, я бы сделал это для безопасности:

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

Безопасны ли соединения на первой схеме для АЦП? Заранее спасибо!

Примечание. Аналогичный вопрос был задан здесь: ( Мониторинг энергопотребления постоянного тока ), но он не отвечает на вопрос о сильноточных нагрузках на батарею.


1
Где вы взяли батарею на 5 В?

На самом деле это батарея 3,7 В, которая входит в схему повышающего стабилизатора напряжения. Я действительно заинтересован в измерении самой батареи 3,7 В, но для примера просто предположил, что ее 5 В показывает, что Arduino работает.
— Ахмед Фарид

Ах, но это может изменить вещи. Вероятно, не так: Arduino не будет заботиться о том, сколько тока потребляет батарея, пока не весь этот ток проходит через вывод IO. Но я не уверен, я не знаю Arduino.

Это правда. Меня беспокоит токовый вход на аналоговый вход, если я подключу его напрямую к аккумулятору.
— Ахмед Фарид

Ответы:


6

Проверьте таблицу данных для входного тока на выводе ввода / вывода. Это зависит от точного типа контроллера на Arduino. Вероятно, он называется входным контактом ввода / вывода тока утечки и будет около 1 мкА .

Вот типичная таблица данных ATmega, используемая в Uno / Duemilanove / ... , вы можете найти параметр на странице 304. Проверьте таблицу данных для вашего конкретного контроллера для точных деталей.

Если вы используете батарею 3,7 В и повышающий преобразователь для подачи 5 В на контроллер, вы можете подключить батарею непосредственно к аналоговому входу вашего контроллера. Однако, когда выходное напряжение повышающего преобразователя падает ниже напряжения батареи (по любой причине), тогда весь ваш Arduino будет питаться через аналоговый входной вывод, а это то, что вам не нужно. Все входные контакты имеют защиту от перенапряжения, которая обеспечивает такое поведение, но диоды не рассчитаны на постоянные токи. В заключение: лучше всего включить последовательный резистор между батареей и входным контактом.

Но теперь ваше измерение зависит от точности источника питания 5 В. В зависимости от того, какой именно контроллер у вас есть, доступны различные внутренние опорные напряжения, которые намного точнее, чем напряжение источника питания. Если вы добавите дополнительный резистор к заземлению (R2), вы можете использовать такую ​​ссылку для точного измерения входного напряжения. Это называется (резистивный) делитель напряжения. При заданном соотношении напряжение на входном выводе будет равно 1 В при напряжении батареи 3,7 В:

Vmeasurement=R2×VBATTR1+R2

схематический

смоделировать эту схему - схема, созданная с использованием CircuitLab


1
Таким образом, по сути, его можно подключить напрямую к аккумулятору, но НЕ рекомендуется, если переменный ток 5 В. Даже если 5v регулируется и постоянно?
— Ахмед Фарид

2
Это должно быть безопасно, если 5 В постоянно, но все идет не так, как надо: лучше, чем потом сожалеть. Один или два резистора намного дешевле, чем новый микроконтроллер. Инженерия - это не только создание вещей, но и создание вещей, которые продолжают работать, как требуется.
— Джиппи

Еще один вопрос, если позволите: разве одно сопротивление (1 кОм) параллельно батарее не достаточно хорошо, чтобы предотвратить высокий ток на входе? (См. Мою вторую фигуру)
— Ахмед Фарид

Нет, это не делает ничего, кроме как вытащить аккумулятор.
— Джиппи

4

Другой вариант заключается в использовании внутреннего источника опорного напряжения 1.1V запрещенной зоны в Arduino, чтобы определить значение VCC без использования каких-либо дополнительных внешних частей, как подробно на этих двух звеньев:

http://jeelabs.org/2012/05/04/measuring-vcc-via-the-bandgap/

а также

http://arduino.cc/forum/index.php?topic=88935.0

Единственное, что нужно, это то, что вам нужно определить значение калибровки по внутренней запрещенной зоне 1,1 В, так как она может быть отключена на целых 10%.

Но это не потребует дополнительных деталей и позволит вашей атмеге определять напряжение источника питания.


3
Вот еще одна статья, в которой обсуждается, как это сделать. Код, который он использует, немного отличается: provideyourown.com/2012/…
— ThomasW

@TommasW приятно! Еще одна замечательная статья об использовании запрещенной зоны 1.1v.
— Винг Тан Вонг
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.