Как использовать выходные датчики 3,3 В и 5 В с Arduino?

13

Чтобы получить полное разрешение от АЦП Arduino при использовании датчиков 3,3 В, необходимо сделать две вещи.

  1. Подключите источник питания 3,3 В к контакту AREF.
  2. Вызвать аналоговую ссылку (ВНЕШНЯЯ) в коде.

Но что, если я должен смешать выходные датчики 3,3 В и 5 В. Какие у меня варианты?

tuupola
источник

Ответы:

10

Простое решение заключается в использовании резистора делителя (соотношение примерно 1: 1,94), и уменьшить сигнал 5v до пика 3.3v Таким образом, вы бы сохранить полное разрешение в то время как не нуждающиеся в качестве ссылки переключателя. Подходящий делитель будет использовать 18 кОм от датчика к аналоговому входу и 33 кОм от аналогового входа к земле. Это переведет 5-вольтовый вход в 3,23-вольтовый. Использование резисторов с более высокой точностью позволит приблизить это значение до 3,3 В при необходимости. Вы должны убедиться, что датчик может подавать ток, необходимый для данного значения - в этом случае около 0,1 мА. Входное сопротивление аналоговых входов ATMega составляет около 100 мОм, поэтому вы можете значительно увеличить эти значения (уменьшив нагрузку на датчик), прежде чем беспокоиться о влиянии входного сопротивления.

JohnC
источник
3

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

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

ka1kjz
источник
2

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

За исключением редизайна всего вашего проекта с учетом новых чипов, John C и ветчина предлагают отличные, простые решения. По моему опыту, я использовал датчик 3 на 3 с питанием и опорным напряжением 5 В, и у меня были большие проблемы с шумом, чем с потерянным разрешением для случайных проектов. Это самый простой выход, но он требует некоторой математики, и я соответственно проголосовал за пост ka1kjz (проверьте справочные листы).

Что касается решения по делителю напряжения, то, если вы используете высокоточные резисторы, вы получаете преимущество, когда все ваши измерения находятся в одном и том же диапазоне напряжения, и вы получаете преимущество в отношении ратиометрической коррекции, используя AREF для отслеживания любых скачков напряжения. На практике, однако, я обнаружил, что шум и отсутствие методов калибровки в моих проектах привели к большей ошибке, чем это может вызвать небольшая пульсация напряжения или 10% резисторов. По этой причине я также проголосовал за решение JohnC, так как он описывает все это более подробно.

Лу
источник