Arduino:Справочник языка Arduino/Функции/Аналоговый ввод/вывод/analogReference()

Материал из Онлайн справочника
Версия от 09:28, 14 декабря 2016; Myagkij (обсуждение | вклад) (Замена текста — «<syntaxhighlight lang="c">» на «<syntaxhighlight lang="c" enclose="div">»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

{{#setlogo:ArduinoCommunityLogo.png}}

Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция analogReference()

Функция определяет опорное напряжение относительно которого происходят аналоговые измерения. Функция analogRead() возвращает значение с разрешением 8 бит (1024) пропорционально входному напряжению на аналоговом входе, и в зависимости от опорного напряжения.

Возможные настройки:

  • DEFAULT: стандартное опорное напряжение (на платформах с напряжением питания ) или 3.3В (на платформах с напряжением питания 3.3В).
  • INTERNAL: встроенное опорное напряжение 1.1В на микроконтроллерах ATmega168 и ATmega328, и 2.56В на ATmega8.
  • EXTERNAL: внешний источник опорного напряжения, подключенный к выводу AREF.

Синтаксис

analogReference(type)

Параметры

type: определяет используемое опорное напряжение (DEFAULT, INTERNAL или EXTERNAL).

Возвращаемое значение

нет

Внимание

Внешнее напряжение рекомендуется подключать к выводу AREF через резистор 5 кОм.

Таким образом уменьшается риск повреждения микросхемы Atmega, если настройки analogReference не совпадают с возможностями платформы. Однако при этом произойдет небольшая просадка напряжения, вследствие того, что имеется встроенный резистор 32 кОм, подключенный к выводу AREF. В этом случае оба резистора работают как делитель напряжения. Подсоединение внешнего резистора позволяет быстро переключаться на напряжение 3.3В вывода AREF, с напряжения 5В DEFAULT без конфигурации аппаратной части и АЦП.

Использование вывода AREF

Напряжение, подключенное к выводу AREF, конвертируется АЦП и, затем, определяется значение напряжения, при котором АЦП выдает самое высокое цифровое значение, т.е 1023. Другие значения напряжения, поступающие в АЦП, конвертируются пропорционально. Таким образом, при настройке DEFAULT 5В значение напряжения - 2.5В в АЦП будет конвертироваться в 512.

В стандартной конфигурации платформ Arduino вывод AREF (вывод 21 Atmega) не задействован. В этом случае при настройке DEFAULT к выводу подключается внутреннее напряжение AVCC. Соединение является низко-импедансным и любое напряжение подведенное к выводу в этот момент может повредить микросхему ATMEGA.

Настройкой INTERNAL к выводу AREF подключается внутреннее напряжение 1.1В (или 2.56 микросхемы ATmega8). При этом напряжение соответствующее или превышающее 1.1В будет конвертироваться АЦП в 1023. Другие значения напряжения конвертируются пропорционально.

Внутреннее подключение источника 1.1В к выводу является высоко-импедансным, что означает, что измерение напряжения на выводе может быть произведено только мультиметром с высоким сопротивлением. Ошибочное подключение напряжения к выводу AREF при этой настройке функции analogReference не повредит микросхему, но превысит значение 1.1В. В этом случае АЦП будет конвертировать напряжение внешнего источника. Во избежание вышеописанных проблем настоятельно рекомендуется подключать внешнее напряжение через резистор 5 кОм.

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

См.также

Внешние ссылки