Arduino: измерение внешнего напряжения


10

У меня "проблема" при попытке измерить внешнее напряжение от ячейки монеты. Я упростил свою схему, но в основном у меня есть часы реального времени DS1307, питаемые от выхода Arduino 5v, и ячейка монеты, подключенная к vBat для поддержания часов в рабочем состоянии, пока Arduino выключен. Моя идея состояла в том, чтобы измерить уровень заряда батареи с помощью Arduino, подключив ее положительный сигнал к аналоговому входу и считав уровень напряжения. Итак, я подумал, что при максимальном напряжении 3 В я могу использовать 3 на 3 в качестве AREF и установить аналоговую опорную мощность на внешнюю, а затем прочитать точные результаты. Результат довольно крутой, и показания Arduino такие же, как показания напряжения батареи с моего мультиметра. Проблема возникает, когда я отключаю источник питания от Arduino (USB-соединение). К моему удивлению, Arduino не выключается (некоторые светодиоды продолжают включаться),

Почему это происходит? Как Arduino получает ток от аналогового контакта? Является ли эта маленькая схема электронной аберрацией?

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

Ответы:


10

Большинство, если не все, входные контакты на контроллерах AVR имеют внутреннюю защиту с помощью зажимных диодов. Эти диоды предотвращают превышение входным напряжением напряжения питания.

Почему эти внутренние диоды есть:

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

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

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

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

Как это решить

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

Но будьте осторожны!

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


Я бы попробовал 10 МОм и посмотрел, что читает АЦП, и использовал бы это как ссылку на заряженную батарею. Это сложное измерение, если вы хотите избежать нежелательного дренажа.
Энди ака

Это может сработать, хотя оно определяется как входной ток, а не как входной импеданс. Ответ может быть нелинейным, но не обязательно бесполезным. Это , возможно , потребуется какое - то калибровка и может быть , опорный зазор 1V1 полосы может быть использованы (вместо 3V3 внешних опорного сигнала) , когда измеренное напряжение падает ниже 1.1V.
Джиппи

Хороший ответ!! Я думал, если резисторный делитель с 100 кОм и 50 кОм будет работать. В этом случае я предполагаю максимальное напряжение батареи 3,2 вольт. Это дает падение напряжения 1,067 В, которое может быть совместимо с внутренним аналоговым заданием 1 на 1. Это может работать? или разрядит батарею слишком рано?
alvarolb

2
Я не знаю емкость вашей батареи. Это должно быть указано в мАч. Грубое указание его времени жизни будетTзнак равномАч3В×1000100КΩ+50КΩзнак равномАч × (100 кОм + 50 кОм)3В×1000 . Ячейка монеты может длиться не очень долго, но вы должны проверить таблицу данных, чтобы быть уверенным.
Джиппи

1
Эти диоды присутствуют в большинстве микроконтроллеров, а не только в AVR. Они не неслыханны и на других типах микросхем.
Адам Лоуренс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.