Уточнение примера аналогового входа Arduino

8

Прежде всего, я абсолютный любитель электроники.

Недавно я получил Arduino Nano. Теперь я пытаюсь понять, почему в примере http://arduino.cc/en/Tutorial/ReadAnalogVoltage отсутствует номинал потенциометра и как изменение этого номинала повлияет на показания аналогового входа.

Кроме того, почему на http://arduino.cc/en/Tutorial/AnalogReadSerial примере они выбрали потенциометр 10 кОм, что будет отличаться с потенциометром 200 кОм.

Спасибо!

AB
источник

Ответы:

12

Не будет никакой разницы в выходном напряжении стеклоочистителя от любого (без нагрузки) потенциометра, все они работают одинаково.

Однако аналоговый вход вашего Arduino рекомендует импеданс источника менее 10 кОм для оптимальной производительности. Это связано с тем, что для зарядки образца и удержания конденсатора требуется время, которое можно рассматривать как динамический импеданс. Изображение ниже взято из таблицы данных AtMega328 (микроконтроллер, на котором основан Arduino):

Сопротивление аналогового входа

Не беспокойтесь слишком сильно, если вы не полностью понимаете это прямо сейчас, просто примите, что нам нужно сопротивление источника менее 10 кОм.

Теперь, как мы рассчитаем выходное сопротивление от потенциометра?

За подробностями обращайтесь к эквивалентному сопротивлению Thevenin . Это говорит нам о том, что максимальное выходное сопротивление от стеклоочистителя в горшке составляет 1/4 от его сопротивления, измеренного сверху вниз (когда стеклоочиститель находится в центре). Так что, если ваш горшок равен 10 КБ, то максимальное выходное сопротивление составляет 2,5 КБ. ,
Вот симуляция 10-тысячного пота, проходящего с одного конца на другой:

Пот Сим

Ось X представляет вращение от 0 до 100% (игнорируйте показанные фактические значения) Ось Y - это выходное сопротивление, измеренное на стеклоочистителе. Мы можем видеть, как он начинается и заканчивается при 0 кОм и достигает пика при 2,5 кОм в середине (50%).
Это значительно меньше, чем рекомендуемое полное сопротивление источника 10 кОм.
Таким образом, вы можете использовать любое значение сопротивления между, например, 100 Ом и 40 кОм в качестве делителя напряжения.

РЕДАКТИРОВАТЬ - чтобы ответить на вопрос о том, что произойдет, если мы используем банк 200k:

Как говорится в выдержке из таблицы, чем выше сопротивление источника, тем больше времени требуется для зарядки конденсатора S / H. Если он не был полностью заряжен до считывания, тогда при чтении отобразится ошибка по сравнению с истинным значением.

Мы можем определить, как долго конденсатор должен заряжаться до 90% от его окончательного значения, формула:

2,3 * R * C

После 1 постоянной времени RC напряжение составляет ~ 63% от его окончательного значения. После 2,3 постоянных времени он составляет ~ 90%, как указано выше. Это вычисляется как 1 - (1 / e ^ (RC / t)), где e - натуральный логарифм ~ 2.718. Например, для 2,3 постоянных времени это будет 1 - (1 / e ^ 2,3) = 0,8997.

Поэтому, если мы подключим показанные значения - полное сопротивление источника 50 кОм, полное сопротивление серии 100 кОм (предположим, в наихудшем случае) и емкость 14 пФ:

2.3 * 150k * 14pF = 4.83us для зарядки до 90%.

Мы также можем рассчитать значение -3 дБ:

1 / (2pi * 150k * 14pF) = 75,8 кГц

Если мы хотим, чтобы окончательное значение было в пределах 99%, нам нужно подождать около 4,6 тау (постоянные времени):

4.6 * 150k * 14pF = 9,66us для зарядки до 99% - это соответствует примерно 16,5 кГц

Таким образом, мы видим, как чем выше сопротивление источника, тем дольше время зарядки и, следовательно, ниже частота, точно считываемая АЦП.

Тем не менее, в случае электролизера, контролирующего значение ~ DC, вы можете взять образец с очень низкой частотой и дать ему достаточно времени для зарядки, поскольку утечка очень мала. Поэтому я думаю, что в этом случае 200К должно быть в порядке. Например, для аудиосигнала или любого переменного (переменного) сигнала с высоким импедансом вам придется принять во внимание все вышеперечисленное.
Эта ссылка подробно описывает характеристики АЦП ATMega328.

Оли Глейзер
источник
1
Большое спасибо за подробное объяснение! Не могли бы вы уточнить, как потенциометр, превышающий 40 кОм, повлияет на цифровые показания? Например, давайте умножим на 5, чтобы потенциометр был 200 кОм?
AB
@AB - Я добавил еще несколько деталей, надеюсь, это поможет. Я понял, что банк в вашем вопросе просто используется для изменения значения постоянного тока (не для контроля уровня сигнала переменного тока), поэтому более высокое значение должно быть в порядке. Вы можете провести некоторые свои собственные тесты влияния увеличения полного сопротивления источника >> 10 кОм, если у вас есть известное напряжение и изменяется последовательное сопротивление.
Оли Глейзер
6

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

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

stevenvh
источник
1

По моему опыту с Arduinos, с потенциометрами за 10k, показания будут колебаться. Я решаю это, помещая конденсатор .1 мкФ между стеклоочистителем и землей. Это поддерживает постоянное напряжение для аналоговых потоков. Используя конденсатор, я использовал емкости до 1 Мегаомметра и получал твердые, устойчивые показания.

Дэн
источник
Мне это нравится, потому что параллельный конденсатор .1uF обеспечивает источник низкого импеданса после переключения входного контакта. 0,1 мкФ / 14 пФ = 7142, а разрешение АЦП (10 бит) равно 1 на 1023. При очень больших горшках между настройкой и стабилизацией напряжения на входном выводе будет небольшая задержка, но это вряд ли будет замечено. 4-омный горшок - это 1-омный имп. * 0,1 мкФ = 0,1 сек. Так за 0,46 сек. Ваша стоимость составляет до 99% от изменения!
Дарио Дентес
Извините, если это кажется глупым, но что произойдет, если напряжение упадет?
HilarieAK