измерить +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 резисторами.
@avelo, 👍2
2 ответа
Лучший ответ:
При измерении напряжения, превышающего максимальный номинал, интересующее напряжение привязывается к земле с помощью делителя напряжения. При измерении отрицательного напряжения вместо этого вы должны связать интересующее напряжение с положительным напряжением питания (изучите ответы на этот вопрос).
Теоретически вы можете использовать внутреннюю подтяжку, чтобы сэкономить один резистор, но я считаю это плохой практикой и рекомендую использовать внешнюю подтяжку по следующим причинам:
- внутренние подтяжки/падения UC не точны и иногда не указаны
- особенно при измерении отрицательного напряжения есть вероятность того, что на АЦП подается опасное напряжение (рассмотрите состояние gpio по умолчанию)
- подтягивание/вниз является некритичным компонентом в отношении его ценности и точности. Поэтому они очень дешевые
Два резистора по 1 МОм для делителя напряжения — это много. Вы можете добавить конденсатор (1 нФ или 10 нФ) к GND и аналоговому входу.
Не могли бы вы попытаться найти ток утечки или ток саморазряда самой батареи? Затем возьмите процент от этого, например 20%, затем рассчитайте, какой номинал резистора должен быть у делителя напряжения.
Не обязательно 20 %, это может быть любой ток, от которого вы готовы отказаться, чтобы иметь возможность измерять напряжение.
Например, если ток саморазряда батареи составляет 10 мкА, то 20 % составляют 2 мкА, то есть два резистора по 825 кОм. Это близко к 1M резисторам, которые вы уже используете.
- NodeMCU - Vin контакт как выход 5V?
- Что произойдет с ардуино, если не использовать резистор со светодиодом?
- Обнаружение прерывания питания на NodeMCU
- Контакты ввода-вывода на Arduino считывают ток или напряжение?
- Я сжёг вход напряжения на моем Arduino Nano?
- Использование нагрузочного резистора для измерения напряжения с помощью Arduino
- Схематическая интерпретация, где разместить резистор?
- Контакты для подключения напряжения Arduino
Да, резистор 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