Аналоговые входы микроконтроллера

Микроконтроллеры / Для начинающих /

Микроконтроллеры для начинающих Что нужно для того, чтобы стать профессиональным разработчиком программ для микроконтроллеров и выйти на такой уровень мастерства, который позволит с лёгкостью найти и устроиться на работу с высокой зарплатой (средняя зарплата программиста микроконтроллеров по России на начало 2017 года составляет 80 000 рублей). Подробнее...

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

В старых микроконтроллерах могло и не быть аналоговых входов. А если и были, то обычно они выполнялись в виде отдельных выводов на корпусе микроконтроллера.

Современные микроконтроллеры обычно имеют линии ввода-вывода общего назначения, которые становятся либо дискретными входами или выходами, либо аналоговыми, в зависимости от программной конфигурации устройства.

Чем отличаются аналоговые входы от дискретных?

Для начала вспомним, что дискретный - это прерывистый сигнал. То есть сигнал, который имеет какое-то фиксированное число значений.

Аналоговый же сигнал - это непрерывный сигнал. То есть сигнал, значение которого изменяется плавно (см. рис.).

Аналоговый и дискретный сигналы

Красным цветом изображён аналоговый сигнал. Это может быть напряжение, температура, давление или любая другая физическая величина.

Если провести аналогию с лампочкой, как мы это сделали при изучении дискретных входов, то можно сказать так:

  1. При подаче дискретного двоичного сигнала на вход лампочка либо гаснет, либо зажигается.
  2. При подаче и изменении аналогового сигнала на вход лампочка плавно меняет свою яркость свечения.

Как мы знаем, микроконтроллер может работать только с электрическими сигналами. Более того, архитектура микроконтроллера использует двоичные числовые значения.

Поэтому, чтобы измерить с помощью микроконтроллера, например, температуру, нам сначала потребуется преобразовать её в электрический сигнал. Например, в напряжение.

А потом ещё значение этого напряжения надо как-то преобразовать в двоичное число. Забегая вперёд, скажу, что это делается с помощью АЦП.

Что такое аналоговый вход

Аналоговый вход микроконтроллера - это вход, на который можно подавать аналоговый сигнал. То есть определённый вывод на корпусе микроконтроллера, к которому можно можно подключить датчик, на выходе которого имеется аналоговый сигнал.

В качестве простейшего такого датчика может быть, например, обычный резистивный делитель напряжения. Или переменный резистор, как показано на рисунке ниже:

Аналоговый сигнал

В этом примере на выходе резистора будет аналоговый сигнал в виде плавно изменяющегося напряжения в диапазоне от 0 до +U В.

Подобные резистивные датчики можно использовать, например, как датчики положения задвижек. Если установить такой резистор на задвижку и откалибровать её положение по крайним значениям (например 0 В - задвижка полностью закрыта, а +U В - задвижка полностью закрыта), то, снимая показания с такого датчика, можно определить процент открытия (закрытия) задвижки, если знать закон изменения сопротивления переменного резистора (обычно сопротивление изменяется по линейному закону или близко к этому).

Типы аналоговых входов

Пожалуй, говорить о типах аналоговых входов неинтересно. Потому что нас больше интересуют типы аналоговых сигналов.

Существуют определённые стандарты для аналоговых сигналов. Созданы они для того, чтобы разработчикам было проще создавать устройства и системы, использующие аналоговые датчики.

Наиболее распространены два вида аналоговых сигналов:

  1. Токовые сигналы
  2. Сигналы напряжения

По диапазону значений на выходе датчика они также отличаются. Основные диапазоны следующие:

  • Токовые:
    • 0...5 мА
    • 0...20 мА
    • 4...20 мА
  • Напряжения:
    • 0...0,01 В
    • 0...1 В
    • 0...10 В

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

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

Также надо учитывать, что все аналоговые входы микроконтроллера имеют и другие характеристики, такие как входное сопротивление. Но так глубоко в электронику в этой статье мы не полезем - всё таки она рассчитана на начинающих.

Подключение аналоговых входов

Здесь ничего сложного нет. И это уже электроника, а не устройство микроконтроллера, и тем более не программирование.

Но всё же немного об этом рассказать надо.

К аналоговым входам обычно подключают устройства двух типов:

  1. Активные датчики - датчики со стандартным аналоговым выходом (см. выше).
  2. Пассивные датчики.

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

С пассивными датчиками сложнее, потому что они пассивные )))

То есть на выходе таких датчиков не какого-либо активного сигнала (ни тока, ни напряжения, ни частоты).

Например, термопреобразователи сопротивления - довольно широко распространённые в автоматизации датчики температуры, изменяют своё сопротивление, как вы понимаете, в зависимости от температуры.

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

Подключение аналоговых входов

Здесь мы видим простой резистивный делитель, одним звеном которого (на рисунке - нижним) является термосопротивление. Так как его сопротивление будет изменяться вместе с температурой, то и напряжение на аналоговом входе микроконтроллера тоже будет меняться. Эти изменения мы и можем зафиксировать и преобразовать уже программно в значение температуры (зная зависимость термосопротивления от температуры, и рассчитав напряжение на аналоговом входе).

Повторюсь - это не лучший способ. И не со всеми микроконтроллерами и не со всеми термосопротивлениями такой трюк можно проделать. Но зато это простой способ.

Для тех, кто ещё не понял, объясняю: таким нехитрым способом, как показано на рисунке, мы превратили пассивный датчик в активный. То есть преобразовали сопротивление в напряжение.

Ну а как преобразовать это напряжение в температуру - это уже отдельная история...


Вступить в группу "Основы программирования"

Подписаться на RUTUBE-канал

Подписаться на Дзен-канал

Подписаться на рассылки по программированию

Микроконтроллеры для ЧАЙНИКОВ Микроконтроллеры для ЧАЙНИКОВ

Бесплатная рассылка о микроконтроллерах. Рассылка содержит как бесплатную информацию для начинающих, так и ссылки на платные продукты (книги, видеокурсы и др.) для тех, кто захочет вникнуть в тему более глубоко. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su