Входное сопротивление аналоговых контактов Arduino Uno?

Я использую микросхему измерения тока на основе эффекта Холла ACS712 на некоторых небольших двигателях роботизированной руки и считываю аналоговое напряжение с помощью Arduino Uno. У меня были достаточно хорошие результаты, но только после установки RC-фильтра на выходе. Однако в примечаниях к техническому описанию сказано, что этого делать нельзя:

«добавление RC-фильтра к выходу микросхемы датчика может привести к нежелательному ослаблению выходного сигнала устройства — даже для сигналов постоянного тока».

Затем он дает формулу для расчета затухания, но это зависит от знания входного импеданса того, что считывает сигнал, так что это то, что я здесь ищу.

Ответы (2)

Здесь есть несколько факторов.

Во-первых, входное сопротивление АЦП. ATmega328P использует АЦП последовательного приближения . Таким образом, вход в основном является входом компаратора, поэтому АЦП имеет очень высокий входной импеданс.

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

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


Однако здесь есть еще одно соображение, по которому Atmel указывает импеданс источника < 10 кОм:
Входная емкость

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

По сути, входные соединения с АЦП внутри микросхемы после мультиплексора имеют некоторую емкость. Если вы посмотрите на эквивалентную схему для входа АЦП ATmega:
введите описание изображения здесь

Вы можете увидеть, как выглядит ввод.

Проблема с высоким импедансом источника возникает, когда вы переключаете входной мультиплексор с одного контакта на другой. Если у вас есть два входа, один на 0,5 В и один на 4,5 В, при переключении с одного на другой вход должен заряжать (или разряжать) этот конденсатор емкостью 14 пФ.

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

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

Красиво изложено.
Я знаю, что это старый вопрос, но как можно «просто убедиться, что источник входного сигнала может заряжать емкость достаточно быстро, чтобы это не было проблемой»?
@RubberDuck. Если ваш вход имеет высокое или неизвестное сопротивление, буферизируйте его, используя что-то вроде операционного усилителя, сконфигурированного как повторитель напряжения с единичным усилением .
+1 за «Здесь есть емкость». Теперь я это понимаю.

Даташит не совсем понятен.

http://www.atmel.com/images/atmel-8271-8-bit-avr-microcontroller-atmega48a-48pa-88a-88pa-168a-168pa-328-328p_datasheet_complete.pdf

(24.6.1) Страница 244 гласит: «АЦП оптимизирован для аналоговых сигналов с выходным импедансом приблизительно 10 кОм или меньше. Если используется такой источник, время выборки будет незначительным».

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

Если вам нужно точное значение, 100 МОм указано в таблице 29-15 на стр. 310.
Это называется «Аналоговое входное сопротивление». Итак, заряжать через него конденсатор на 14 пФ? Лучше иметь что-то на переднем конце, я бы сказал. Я использую колпачки 0,01 для постоянного напряжения, которое не меняется быстро.