измерить +3В и -3В через резисторный делитель и включить/выключить цифровыми контактами

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

Я подумал, не будет ли экстремального варианта перехода с pinMode INPUT на INPUT_PULLUP или INPUT_PULLDOWN для питания схемы и использования 20k pullups для создания части делителя вместе с другими сопротивлениями на входе. В качестве альтернативы можно было бы переключиться с INPUT на OUTPUT.

Что я хочу измерить, так это внешний источник питания +3 В/GND/-3 В (батарейный блок), который разделяет GND с arduino SAMD21 (3,3 В), измеряя как +3 В, так и -3 В, и избегая утечки, когда это не так. измерение (следовательно, режим вывода меняется)

В настоящее время я использую эту схему для измерения напряжения питающей батареи +5 В (подключенной через VIN, таким образом, используя внутренний регулятор), путем деления на 2 сопротивления по 1 МОм, заземления на цифровой контакт и измерения с помощью внутреннего АЦП. Мне не нужна такая точность, поэтому здесь достаточно. Поэтому я ищу такие же или лучшие альтернативы, но для -3 В я не знаю, как правильно рассчитать делитель с 3 резисторами.

, 👍2


2 ответа


Лучший ответ:

3

При измерении напряжения, превышающего максимальный номинал, интересующее напряжение привязывается к земле с помощью делителя напряжения. При измерении отрицательного напряжения вместо этого вы должны связать интересующее напряжение с положительным напряжением питания (изучите ответы на этот вопрос).

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

  • внутренние подтяжки/падения UC не точны и иногда не указаны
  • особенно при измерении отрицательного напряжения есть вероятность того, что на АЦП подается опасное напряжение (рассмотрите состояние gpio по умолчанию)
  • подтягивание/вниз является некритичным компонентом в отношении его ценности и точности. Поэтому они очень дешевые
,

-1

Два резистора по 1 МОм для делителя напряжения — это много. Вы можете добавить конденсатор (1 нФ или 10 нФ) к GND и аналоговому входу.

Не могли бы вы попытаться найти ток утечки или ток саморазряда самой батареи? Затем возьмите процент от этого, например 20%, затем рассчитайте, какой номинал резистора должен быть у делителя напряжения.

Не обязательно 20 %, это может быть любой ток, от которого вы готовы отказаться, чтобы иметь возможность измерять напряжение.

Например, если ток саморазряда батареи составляет 10 мкА, то 20 % составляют 2 мкА, то есть два резистора по 825 кОм. Это близко к 1M резисторам, которые вы уже используете.

,

Да, резистор 1 МОм был высоким, но я пробовал с резистором 10 кОм, и поведение было плохим. Позже я пришел к выводу, что причина заключалась в том, что я переключал цифровой вывод (низкий) с выхода на вход, чтобы избежать потребления, и когда он оставался плавающим, аналоговый вывод получал 5 В (для микроконтроллера 3,3 В ...). Вероятно, он работает с 1M из-за очень низкого тока, но я также должен изменить это., @avelo

@avelo релевантного потребления не будет. Почему вы **переключаете** «на ввод»? При использовании adc соответствующий gpio уже является входом. АЦП потребляет очень небольшой ток для зарядки своей схемы выборки и хранения (небольшая емкость)., @Sim Son

@SimSon я использовал аналоговый (A1) контакт в середине делителя и цифровой (6) на конце для подключения к земле digitalWrite (6, LOW); pinMode(6,OUTPUT); при измерении (отключение путем изменения его на INPUT). Так же, как способ сэкономить 5/20k энергии впустую. С 2 * 1 МОм потребление падает до неуместного, как вы сказали, поэтому нет причин использовать для этого цифровой контакт (и у меня будет проблема + 5 В, если он будет плавать), я согласен!, @avelo