Аналоговые входы микроконтроллера
Почти все модели современных микроконтроллеров, даже простые и недорогие, такие как ATtiny13A, имеют возможность подключения аналоговых сигналов, то есть имеют аналоговые входы.
В старых микроконтроллерах могло и не быть аналоговых входов. А если и были, то обычно они выполнялись в виде отдельных выводов на корпусе микроконтроллера.
Современные микроконтроллеры обычно имеют линии ввода-вывода общего назначения, которые становятся либо дискретными входами или выходами, либо аналоговыми, в зависимости от программной конфигурации устройства.
Чем отличаются аналоговые входы от дискретных?
Для начала вспомним, что дискретный — это прерывистый сигнал. То есть сигнал, который имеет какое-то фиксированное число значений.
Аналоговый же сигнал — это непрерывный сигнал. То есть сигнал, значение которого изменяется плавно (см. рис.).
Красным цветом изображён аналоговый сигнал. Это может быть напряжение, температура, давление или любая другая физическая величина.
Если провести аналогию с лампочкой, как мы это сделали при изучении дискретных входов, то можно сказать так:
- При подаче дискретного двоичного сигнала на вход лампочка либо гаснет, либо зажигается.
- При подаче и изменении аналогового сигнала на вход лампочка плавно меняет свою яркость свечения.
Как мы знаем, микроконтроллер может работать только с электрическими сигналами. Более того, архитектура микроконтроллера использует двоичные числовые значения.
Поэтому, чтобы измерить с помощью микроконтроллера, например, температуру, нам сначала потребуется преобразовать её в электрический сигнал. Например, в напряжение.
А потом ещё значение этого напряжения надо как-то преобразовать в двоичное число. Забегая вперёд, скажу, что это делается с помощью АЦП.
Что такое аналоговый вход
Аналоговый вход микроконтроллера — это вход, на который можно подавать аналоговый сигнал. То есть определённый вывод на корпусе микроконтроллера, к которому можно можно подключить датчик, на выходе которого имеется аналоговый сигнал.
В качестве простейшего такого датчика может быть, например, обычный резистивный делитель напряжения. Или переменный резистор, как показано на рисунке ниже:

В этом примере на выходе резистора будет аналоговый сигнал в виде плавно изменяющегося напряжения в диапазоне от 0 до +U В.
Подобные резистивные датчики можно использовать, например, как датчики положения задвижек. Если установить такой резистор на задвижку и откалибровать её положение по крайним значениям (например 0 В — задвижка полностью закрыта, а +U В — задвижка полностью закрыта), то, снимая показания с такого датчика, можно определить процент открытия (закрытия) задвижки, если знать закон изменения сопротивления переменного резистора (обычно сопротивление изменяется по линейному закону или близко к этому).
Типы аналоговых входов
Пожалуй, говорить о типах аналоговых входов неинтересно. Потому что нас больше интересуют типы аналоговых сигналов.
Существуют определённые стандарты для аналоговых сигналов. Созданы они для того, чтобы разработчикам было проще создавать устройства и системы, использующие аналоговые датчики.
Наиболее распространены два вида аналоговых сигналов:
- Токовые сигналы
- Сигналы напряжения
По диапазону значений на выходе датчика они также отличаются. Основные диапазоны следующие:
- Токовые:
- 0. 5 мА
- 0. 20 мА
- 4. 20 мА
- 0. 0,01 В
- 0. 1 В
- 0. 10 В
Поэтому практически все устройства, рассчитанные на подключение аналоговых датчиков, поддерживают один или несколько из перечисленных выше типов аналоговых сигналов.
Если вы будете создавать свои устройства на микроконтроллерах, то я также советую вам придерживаться этих стандартов. Хотя, конечно, никто не может запретить вам использовать нестандартные диапазоны и типы аналоговых сигналов.
Также надо учитывать, что все аналоговые входы микроконтроллера имеют и другие характеристики, такие как входное сопротивление. Но так глубоко в электронику в этой статье мы не полезем — всё таки она рассчитана на начинающих.
Подключение аналоговых входов
Здесь ничего сложного нет. И это уже электроника, а не устройство микроконтроллера, и тем более не программирование.
Но всё же немного об этом рассказать надо.
К аналоговым входам обычно подключают устройства двух типов:
- Активные датчики — датчики со стандартным аналоговым выходом (см. выше).
- Пассивные датчики.
С активными датчиками проще. Если выбранный вами микроконтроллер это позволяет, то выход такого датчика можно напрямую (или через простой резистивный делитель) подключить к аналоговому входу микроконтроллера.
С пассивными датчиками сложнее, потому что они пассивные )))
То есть на выходе таких датчиков не какого-либо активного сигнала (ни тока, ни напряжения, ни частоты).
Например, термопреобразователи сопротивления — довольно широко распространённые в автоматизации датчики температуры, изменяют своё сопротивление, как вы понимаете, в зависимости от температуры.
Однако микроконтроллер не умеет измерять сопротивление. И чтобы его этому научить, надо каким-то образом пассивный сигнал сделать активным. Один из простейших способов (но не самый лучший) показан на рисунке ниже:

Здесь мы видим простой резистивный делитель, одним звеном которого (на рисунке — нижним) является термосопротивление. Так как его сопротивление будет изменяться вместе с температурой, то и напряжение на аналоговом входе микроконтроллера тоже будет меняться. Эти изменения мы и можем зафиксировать и преобразовать уже программно в значение температуры (зная зависимость термосопротивления от температуры, и рассчитав напряжение на аналоговом входе).
Повторюсь — это не лучший способ. И не со всеми микроконтроллерами и не со всеми термосопротивлениями такой трюк можно проделать. Но зато это простой способ.
Для тех, кто ещё не понял, объясняю: таким нехитрым способом, как показано на рисунке, мы превратили пассивный датчик в активный. То есть преобразовали сопротивление в напряжение.
Ну а как преобразовать это напряжение в температуру — это уже отдельная история.
Входы и выходы контроллера (ПЛК), дискретные и аналоговые
Входы и выходы — базовое понятие любого контроллера. Это может быть промышленный контроллер (Beckhoff, Овен, Siemens, ABB), специальный контроллер для системы Умный Дом (Larnitech, Wiren Board, EasyHomePLC, Evika) или распределённая система KNX или HDL. В любой системе есть элементы типа «дискретный вход», «дискретный выход», «аналоговый вход», «аналоговый выход».
Поскольку для расчёта системы и вообще понимания того, откуда берётся её стоимость, очень важно знать разницу между входами и выходами, расскажу подробнее о них.

Входы контроллера
Вход — это клемма для подключения какого-либо источника сигнала, который передаёт информацию в контроллер. Какие могут быть источники сигнала?
Выключатель — это источник сигнала. Сигнал может быть либо «нажато» либо «не нажато». То есть, либо логический ноль, либо логическая единица.
Тут мы переходим к понятию того, что вход и выход может быть дискретным (бинарным или цифровым его могут называть) или аналоговым. Дискретный — значит, воспринимающий либо единицу, либо ноль. Выключатель подключается к дискретному входу, так как он либо нажат, либо не нажат, других вариантов нет.
Дискретный вход может либо ожидать появления какого-то напряжения, либо замыкания входа на землю. Например, контроллер ОВЕН ПЛК воспринимает как логическую единицу появление на входе напряжения от +15 до +30 вольт. А контроллер WirenBoard ожидает, что на входе появится земля (GND). В первом случае на выключатель надо подать +24В, чтобы при нажатии кнопки на вход контроллера пришли +24 вольта, во втором — на выключатель подаём общий минус (землю) с того же модуля входов, при нажатии она придёт на контроллер.
Датчик движения также подключается к дискретному входу контроллера. Датчик либо подаёт сигнал о том, что движение есть, либо о том, что движения нет. Вот схема подключения датчика Colt XS:

Два левых контакта — напряжение питания датчика, +12 вольт. Два средних контакта — тревожный контакт, он нормально-замкнут. То есть, если движения нет, то N и С замкнуты, если движение появляется, то N и С размыкаются. Так сделано для того, чтобы если злоумышленник перережет провод датчика или повредит датчик, то цепь разорвётся, что приведёт к сработке сигнализации. Если на датчик не подавать питание, то N и С также будут разомкнутыми.
В случае с контроллерами Овен, Beckhoff и большинством других контроллеров, нам надо подать на один из контактов датчика +24 вольта, а другой подключить ко входу контроллера. Если контроллер видит на входе +24В, то есть, логическую единицу, то всё в порядке, движения нет. Как только сигнал пропадает, значит, датчик сработал. В случае с контроллером, который детектирует не напряжение, а землю (как в Wirenboard), мы подключаем N к общему минусу контроллера, С так же к его входу.
Контакты Т датчика — это тампер, датчик вскрытия корпуса. Они также нормально замкнуты, размыкаются при вскрытии корпуса датчика. Такие контакты есть у многих элементов охранных систем. Для датчиков охранной сигнализации тампер можно подключить последовательно клеммам сработки, для датчиков на включение света можно вообще не подключать тампер.
Датчик протечки воды также подключается к дискретному входу. Принцип тот же — при отсутствии протечки с датчика приходит сигнал. Нужно по каждому датчику смотреть по инструкции, замкнут он в случае протечки или разомкнут.
Аналоговый вход контроллера видит не просто наличие или отсутствие сигнала, он видит величину сигнала. Универсальный аналоговый сигнал — это от 0 до 10 вольт постоянного тока, такой сигнал даёт множество разных датчиков. Либо от 1 до 10 вольт. Есть ещё токовый сигнал — от 4 до 20 миллиампер. Почему не от ноля, а от 1 вольта или 4 миллиампер? Чтобы понимать, работает ли вообще источник сигнала. Если датчик с выходным сигналом 1-10 вольт выдаёт 1 вольт, значит, это соответствует минимальному уровню измеряемой величины. Если 0 вольт — значит, он выключен или сломан, а может, провод оборван.
Датчики температуры могут выдавать от 0 до 10 вольт. Если по паспорту датчик измеряет температуру в диапазоне от 0 до +50 градусов, значит, сигнал 0 вольт соответствует 0 градусов, сигнал 5 вольт соответствует +25 градусов, сигнал 10 вольт соответствует +50 градусов. Если датчик измеряет температуру в диапазоне от -50 до +50 градусов, то 5 вольт от датчика соответствуют 0 градусов, а, скажем, 8 вольт от датчика соответствуют +30 градусам.
То же с датчиком влажности или освещённости. Смотрим диапазон измерения параметра, смотрим выходной сигнал и можем получить точную измеряемую величину.
То есть, аналоговый вход измеряет величину сигнала: ток или напряжение. Многие датчики выпускаются в разных модификациях: с выходом по току или по напряжению. Если нам для системы надо найти какой-то редкий датчик, например, уровня определённого газа в воздухе, то, скорее всего, у него будет выход либо 0-10В, либо 4-20мА. У более продвинутых — интерфейс RS485, о нём чуть позже.
Датчики угарного газа, природного газа (метана) и пропана обычно имеют дискретный выход, то есть, подключаются к дискретному входу контроллера и подают сигнал, когда значение измеряемой концентрации газа становится опасным. Датчики уровня углекислого газа или кислорода дают аналоговое значение, соответствующее уровню газа в воздухе, чтобы контроллер сам мог принимать решение о каком-то действии.
Выходы контроллера
Выходы — это клеммы, на которые сам контроллер может подать сигнал. Контроллер подаёт сигнал, чтобы чем-то управлять.
Дискретный выход — это выход, на который контроллер может подать либо логический ноль, либо логическую единицу. То есть, либо включить, либо выключить.
Свет без регулировки яркости подключается к дискретному выходу.
Электрический тёплый пол — тоже к дискретному выходу.
Клапан перекрывания воды, или электрическая розетка, или вентилятор вытяжки, или привод радиатора — они подключаются к дискретным выходам контроллера.
В зависимости от конкретного модуля дискретных выходов выход может быть либо транзисторным (открытый коллектор), то есть, требующим реле для управления каким-то мощным прибором, либо релейным, то есть, к нему сразу можно что-то подключить. Надо смотреть характеристики выхода — коммутируемое напряжение и ток. Важно понимать, что если написано, что выход коммутирует 230 вольт 5 ампер резистивной нагрузки, то это относится только к лампочке накаливания. Светодиодная лампа — надо делить ток на десять. Блоки питания и электромоторы тоже далеко не резистивная нагрузка.
Выход типа «открытый коллектор» не позволяет подключать на него нагрузку, только реле. Надо смотреть, чтобы коммутационные возможности выхода соответствовали току и напряжению катушки реле.
Аналоговый выход — клемма, на которую контроллер может подать сигнал не только включено-выключено, но определённое значение управления. Это те же 0-10 (или 1-10) вольт, либо 4-20 миллиампер. Далее на этот управляющий сигнал мы подключаем либо диммер освещения, либо регулятор скорости вращения вентилятора либо что-то ещё, имеющее соответствующий вход.
Управление освещением — это силовой диммер, который в зависимости от сигнала 0-10 вольт с контроллера даёт на выходе от 0 до 230 вольт переменного тока для питания ламп накаливания или диммируемых светодиодных ламп.
Для светодиодных лент используется ШИМ-диммер (или ШИМ-драйвер или блок питания с диммированием), он по сигналу 0-10 либо 1-10 вольт с контроллера подаёт на ленту широтно-импульсно модулированный сигнал для диммирования. Подробнее про ШИМ у меня написано здесь.
Для вентиляторов используется тиристорный регулятор, часто также со входом 0-10 вольт.
Интерфейсы контроллера
У любого контроллера есть разные интерфейсы связи, которые определяют, с какими устройствами он может общаться. Интерфейсы связи обычно двухсторонние, то есть, контроллер может передавать на них информацию и получать информацию о состоянии.
Интерфейс Ethernet — это подключение к компьютерной сети и интернету для управления с мобильного приложения или общения с другими контроллерами. Аналогично интерфейс Wi-Fi.
Интерфейс RS-485 Modbus — самый распространённый для связи с разной техникой. Это кондиционеры, вентмашины, различные датчики и исполнительные устройства, модули расширения и много чего ещё.
RS-232 это интерфейс с маленькой дальностью линии. Обычно это, например, GSM модемы.
KNX — интерфейс связи с шиной KNX, на которой может находиться очень много устройств всех видов.
Получаем такую сводную картинку по входам и выходам контроллера:

Пример
Возьмём для примера контроллер системы Умный Дом EasyHomePLC 5.2.
У него 32 дискретных входа. Напряжение на входе должно быть от +9 до +60 вольт, чтобы контролер считал его единицей.
Из этих 32 входов 16 могут быть аналоговыми. Сигнал на входе от 0 до 10 вольт.
18 дискретных выходов. Из них 9 релейные (коммутация 16 ампер 230 вольт), 9 открытых коллекторов для подключения внешних реле.
6 ШИМ выходов с током коммутации до 1.4 ампера и напряжением до 30 вольт на каждый выход. Это управление светодиодной лентой, либо сигнал 0-10 вольт, если на ШИМ выход подключить RC-цепочку (резистор и конденсатор будут сглаживать сигнал ШИМ).
Интерфейсов связи у него много: Ethernet, два RS-485, два RS-232, miniUSB (для прошивки).
Аналоговый и цифровой вход в печатных платах: различия
В производстве электронной продукции важное значение имеет различие между цифровым и аналоговым вводом-выводом сигналов. Необходимо избегать объединения одной системы с другой, чтобы избежать ошибок в управлении электронным оборудовании. В этой статье разберемся, в чем именно состоит разница между цифровым и аналоговым входом на платах.
Разница между аналоговым и цифровым сигналом
Но для понимания различий между электронными устройствами сначала необходимо разобрать, что такое сигнал и в чем состоит разница между двумя его типами.
Сигналом в теории информационных систем обозначается физическая величина, изменяющаяся с течением времени. Именно это изменение несет в себе определенную информацию. Важно понимать, что это не само явление, а именно его характеристика. Например, сам по себе звук (колебания среды) не является сигналом, им будет изменение его параметров, таких как частота и амплитуда звуковой волны.
Соответственно, электрический сигнал – это изменение характеристик электрического тока, таких как напряжение, сила тока. Большинство электронных устройств работает именно с электричеством, хотя сегодня есть изделия, в которых носителем информации является свет.
В настоящее время в информационных системах (к которым относится любое электронное устройство) используется два типа электрических сигналов:
- Аналоговый. Это непрерывный сигнал, принимающий любое значение в заданных пределах. Его название говорит о том, что он изменяется аналогично физической величине. Например, напряжение может быть плавно (непрерывно) изменено в пределах от 0 до 10 В. По сути, любой сигнал, существующий в природе, будь то голос человека, излучение от планет, свет солнца, температура воздуха, движение какого-либо тела и т. д. Преимущество использования аналоговых сигналов в том, что они максимально близко описывают физическое явление, а потому являются наиболее точными. Недостаток – в подверженности паразитным шумам, которые легко могут исказить или заглушить их значение.
- Цифровой. Такой сигнал принимает только два (реже – три) значения: 0 и При этом нулю соответствуют одни значения реальной физической величины, а единице – другие. Например, нулевой уровень напряжения может включать от 0 до 0,5 В, а единичный – от 2,5 до 5 В. Иными словами, цифровой сигнал не содержит весь непрерывный диапазон значений, поэтому описывает реальное явление менее точно, чем аналоговый. Однако, в отличие от аналогового сигнала, цифровой более устойчив к шумам и искажениям, лучше передает и сохраняет информацию. Кроме того, записанные с его помощью данные занимают меньше места на материальных носителях. Например, сравните объем данных, который можно записать на обычной виниловой пластинке и флеш-карте.
Различия между аналоговым и цифровым входом
Входом называется устройство, преобразующее принятый извне сигнал в электрический ток, с которым проще выполнять различные манипуляции (усиление, сохранение и т. д.). В соответствии с типами сигналов различаются и устройства (интерфейсы) ввода.
Аналоговый вход принимает и преобразует внешний аналоговый сигнал в аналоговый электрический. Например, голос человека принимается микрофоном, преобразуется им в электрический ток с определенными параметрами, который затем через усилитель передается на громкоговоритель с увеличенной мощностью. То есть сигнал сначала из звука превращается в электричество, затем снова в звук. И все это время он остается аналоговым.
Соответственно, для аналогового ввода изготавливается своя печатная плата, которая имеет ряд характерных особенностей:
- Точная настройка диапазона частот колебаний электрической цепи;
- Меньшее количество электронных компонентов, особенно высокочастотных, и их менее плотное расположение;
- Отдельное от аналоговой платы размещение источника питания.
Все эти меры направлены на то, чтобы исключить негативное влияние любых источников шума на качество аналогового сигнала. Кроме того, при изготовлении цифровой печатной платы всегда есть возможность скорректировать небольшие ошибки в схеме путем добавления новых перемычек или удаления лишних проводников. В производстве аналоговой использовать такой способ можно очень ограниченно, потому что любое изменение схемы может привести к неприемлемым искажениям чувствительного сигнала.
Цифровой вход преобразует аналоговый внешний сигнал в набор дискретных значений или просто принимает цифровой сигнал (например, поступающий с клавиатуры устройства). Для его платы характерны следующие особенности:
- Высокая плотность электронных компонентов, которая позволяет более точно манипулировать со значениями сигнала;
- Наличие высокопроизводительных компонентов, таких как процессоры, источники тока и т. д.;
- Более сложная структура, включающая множество токопроводящих медных слоев.
Эти особенности цифровой платы обусловлены ее меньшей подверженностью воздействию паразитных шумов и наведенных помех. Кроме того, некоторые ошибки проектирования цифровых схем легче исправить, удалив часть проводников или, напротив, добавив новые перемычки.
Кроме того, современные электронные устройства могут иметь смешанный вход, который способен принимать и аналоговые, и цифровые сигналы. Как правило, в его конструкцию входит контроллер, включающий аналогово-цифровой (АЦП) и цифро-аналоговый преобразователь. Другой подход заключается в использовании аппаратных кодеков – микросхем, выполняющих одновременно функции АЦП и ЦАП. Но даже в таких входах аналоговая схема должна быть еще на этапе проектирования отделена от цифровой, чтобы в ней не возникали помехи из-за работы высокочастотных компонентов.
Типы входов и выходов
Информация о состоянии и данные, поступающие от машины/процесса, передаются в систему ввода/вывода ПЛК в виде бинарных, цифровых, инкрементных или аналоговых сигналов. Решения и результаты, определяемые функцией обработки, передаются в машину/процесс путем использования соответствующих бинарных, цифровых, инкрементных или аналоговых сигналов. Большое разнообразие применяемых датчиков и приводов требует их адаптации к широкому диапазону входных и выходных сигналов.
В системах ввода/вывода применяются различные способы обработки, преобразования и локализации сигналов. Работа и производительность ПЛК-системы зависят от статической/динамической оценки сигнала (обнаружения события), процедур хранения/не хранения, наличия оптоизоляции и т.д.
Системы ввода/вывода в целом демонстрируют модульную функцию, которая предусматривает конфигурирование ПЛК-системы в соответствии с потребностями машины/процесса, а также последующее расширение (вплоть до максимальной конфигурации).
Системы ввода/вывода могут быть смонтированы либо вблизи модулей обработки сигналов, либо вблизи датчиков и приводов машины/процесса отдельно от модулей обработки сигналов.
Аналоговый вход
Аналоговый вход (analogue input)Устройство, которое преобразовывает непрерывный сигнал в дискретное мультибитовое двоичное число для работы в системе программируемых контроллеров.
Аналоговый выход
Цифровой вход
цифровой вход типа 1 (type 1 digital input): Устройство для измерительных сигналов, получаемых от механических контактов устройств переключения, например реле, кнопок, выключателей и т.п. Преобразует фактически сигнал с двумя состояниями в однобитовое двоичное число.
Примечание — Цифровые входы типа 1 могут быть непригодны в случае использования полупроводниковых приборов, таких, как датчики, бесконтактные переключатели и т.д.
цифровой вход типа 2 (type 2 digital input): Устройство для измерительных сигналов от полупроводниковых устройств переключения, например двухпроводных бесконтактных переключателей. Преобразует фактически сигнал с двумя состояниями в однобитовое двоичное число.
1 Приводимые здесь двухпроводные бесконтактные переключатели соответствуют IEC 60947-5-2.
2 Данный класс цифрового входа может использоваться вместо классов 1 и 3.
цифровой вход типа 3 (type 3 digital input): Устройство для измерительных сигналов, получаемых от полупроводниковых устройств переключения, например двухпроводных бесконтактных переключателей. Преобразует фактически сигнал с двумя состояниями в однобитовое двоичное число.
1 Данный класс цифрового входа может также использоваться вместо класса 1.
2 Цифровые входы типа 3 имеют более низкие электрические характеристики по сравнению с цифровыми входами типа 2. Обычно они имеют, благодаря этому, значительно более высокую плотность входного канала на один модуль или на одну единицу продукции. Отличие типа 3 от типа 2 заключается в том, что первый совместим с устройствами согласно IEC 60947-5-2, которые в состоянии «выключено» работают на низком токе. См. таблицу 8, в которой установлены рабочие диапазоны. Что касается совместимости с бесконтактными переключателями, то большое количество бесконтактных переключателей, совместимых с типом 2, должны быть совместимы также с типом 3.
Цифровой выход
цифровой выход (digital output): Устройство, которое преобразует однобитовое двоичное число в сигнал с двумя состояниями.
Батон Средства автоматизации Программируемые контроллеры 02 мая 2019 Обновлено: 23 мая 2019
