Назначение Vref в микроконтроллерах/АЦП

Что такое Vref в микроконтроллерах? Например, Arduino имеет контакты +5 В, +3,3 В и Vref. Если бы я хотел использовать Arduino в качестве источника напряжения, обеспечивающего 3,3 В для моей схемы, я бы использовал вывод +3,3 В. Какова цель Vref в этом контексте?

Кроме того, что такое Vref в АЦП? Я вижу, что у АЦП есть вывод Vdd и вывод Vref. Если бы я должен был питать АЦП, используя, скажем, 5 В постоянного тока, я бы подключился к контакту Vdd. Однако какова цель Vref в этом контексте?

Это одинаково как для микроконтроллеров, так и для АЦП, потому что вывод Vref на микроконтроллере используется для его встроенного АЦП. Микроконтроллеры без АЦП не будут иметь вывода Vref, а некоторые дешевые микроконтроллеры или микроконтроллеры с малым числом выводов, которые имеют АЦП, также не будут иметь вывода Vref и просто используют напряжение питания в качестве эталона, что отрицательно влияет на точность, но это, вероятно, не является главной проблемой, если вы используете дешевый микроконтроллер или микроконтроллер с малым количеством выводов.
Я бы закрыл другой вопрос как дубликат этого, поскольку он более общий.

Ответы (3)

что такое Vref в АЦП?

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

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

Если вас не беспокоят эти вещи, используйте Vcc в качестве опорного напряжения.

например, 16-битное измерение 0x8000 означает, что входное значение составляет примерно половину Vref. Измерение 0xFFFE означает, что входное значение лишь немного меньше, чем Vref.
В некоторых случаях может помочь использование источника питания микросхемы в качестве эталона: например, при считывании потенциометра или делителя (например, с NTC), которые питаются от одного и того же источника. Показания не будут зависеть от фактического значения подачи. (подача все равно должна быть чистой)
@ Redy000 правильно - это называется логометрическим измерением.

Vref — это опорное напряжение. АЦП работают, определяя соотношение между входным напряжением и их опорным напряжением (ЦАП работают в обратном порядке, давая напряжение, равное отношению между опорным и входным числом, или в более старых ЦАП, давая ток). пропорциональна опорному току).

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

Чтобы немного уточнить другие ответы, Vref может быть входом или выходом (в зависимости от устройства). Если это вход, то это способ подачи точного напряжения 5000 В на чувствительные части микросхемы. Если это выход, то он говорит вам, что обеспечивает внутренний источник питания чипа (который вам может понадобиться для других частей вашей схемы). Чипы, такие как Arduino Atmels, имеют его как программируемый вход, то есть по умолчанию он использует 5 В от Vin, если вы не нажмете переключатель с кодом, который вы запускаете, чтобы вместо этого использовать вывод Vref.

Причина, по которой это важно (особенно для АЦП), заключается в том, что когда они преобразуют аналоговое напряжение в цифровое, они будут использовать для этого опорное напряжение. Допустим, конкретный АЦП говорит, что может преобразовывать любое напряжение от 0,0 до 5,0 В в 0-1024. Если вы представите, что подали 2,5 В, вы ожидаете получить от АЦП значение 512 (математически: 2,5/5,0 * 1024). Однако, если АЦП использовал Vdd в качестве эталона, и, возможно, в этот момент источник питания был немного высоким, поэтому подавал 5,2 В. Это будет означать, что вход 2,5 В вернет 492 (т.е. 2,5/5,2 * 1024). Из-за этого низкого показания схема вокруг него что-то включает, что потребляет дополнительный ток источника питания, поэтому подаваемое напряжение падает до 4,9 В... и теперь показание 2,5 В становится 522.

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

Как говорится в старой поговорке, «вы получаете то, за что платите». Встроенный в Arduino источник напряжения довольно хорош — и его достаточно почти для всех видов вещей, к которым действительно привыкли Arduino. Однако, если вы выполняете какие-то сверхточные аналоговые измерения, вы можете потратить несколько дополнительных фунтов на прецизионный источник напряжения, а затем подключить его к выводу Vref, чтобы АЦП получил сверхпостоянное, сверхвысокое напряжение. -точное опорное напряжение 5,0 В все время.