Организация взаимодействия с внешними устройствами | MegaDOCs

Организация взаимодействия с внешними устройствами

ТЕМА 5 Микроконтроллеры

ЛЕКЦИЯ 9

Организация взаимодействия с внешними устройствами

Вопросы лекции:

  1.  Управление светодиодами или оптронами.
  2.  Управление реле.
  3.  Управление светодиодными цифровыми индикаторами.
  4.  Гальваническая развязка входов.

5.1. Параллельные выходы

Одним из наиболее простых, но одновременно и наиболее важных и частых применений параллельных портов микроконтроллера можно назвать управление различными устройствами. В данном случае речь пойдет об управлении типа «включить/выключить».

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

Управление светодиодами или оптронами

Управление светодиодами — самое простое, что может встретиться при изготовлении схем на микроконтроллерах. Как известно, светодиоды потребляют достаточно маленький ток — в зависимости от типа светодиода этот ток может составлять от 3 до 20 мА. Рабочее напряжение светодиодов составляет примерно от 1,5 до 4 В.

Так как ток, который микроконтроллеры семейства AVR могут отдавать при напряжении «логический ноль» на выходной линии, может достигать 20 мА, можно управлять светодиодом просто, подключив его к выходной линии порта последовательно с ограничивающим ток резистором. Второй вывод этой цепочки следует подсоединить к положительной линии питания.

Стоит обратить внимание на то, что подключать следует именно таким образом - при напряжении «логическая единица» микроконтроллер может отдавать гораздо меньший ток. А значит, его нельзя будет применить для управления светодиодом напрямую. Более подробно можно узнать величины допустимых токов, воспользовавшись фирменной документацией на микроконтроллеры.

Рис. 1. Простейшая схема для управления двумя светодиодами

На рис. 1 изображена простая схема с двумя светодиодами.

Управлять светодиодом предельно просто: так как один его вывод подключен к положительному проводу питания, для того, чтобы он стал светиться (т. е. падение напряжения на нем стало достаточным для зажигания), нужно сформировать на втором выводе цепочки со светодиодом напряжение низкого уровня «О». Говоря проще, для того, чтобы зажечь светодиод, надо записать в выходной порт значение «О». Чтобы погасить — записать «1».

Программа, управляющая данной светодиодной периферией, крайне проста (листинг 3.1). Она составлена для схемы, изображенной на рис. 3.1. Для включения или выключения светодиода достаточно записать в соответствующий бит регистра порта 1 или 0.

Таким же образом можно подсоединить и большее количество светодиодов — вплоть до того, что ко всем линиям портов ввода/вывода. Однако следует иметь в виду очень важный факт — хотя каждый выход микроконтроллера может управлять нагрузкой до 20 мА, общий потребляемый ток от всех линий портов ввода/вывода не должен превысить определенного значения. В зависимости от типа корпуса микроконтроллера и числа его линий портов ввода/вывода его величина может быть различной. Точно это значение можно узнать в фирменной документации на микроконтроллер.

Рис. 2 Управление нагрузкой с помощью фотосимисгора

Например, для микроконтроллера AT90S2313 имеются следующие ограничения: суммарный ток нагрузки при «О» на выходах не должен превышать 200 мА, причем суммарный ток линий DO—D5 не более 100 мА и суммарный ток линий ВО— В7 и D6 также не должен превышать 100 мА. Легко увидеть, что если нагрузить все выходы по 20 мА, то можно превысить допустимый ток, ч го может повредить микросхему.

Аналогично можно управлять оптопарами, ведь no-существу, они представляют собой размешенные в одном корпусе напротив друг друга светодиод и фоточувствительный элемент -- фоторезистор фототранзистор, и т. д. Например, используя оптопару со встроенным фотосимистором можно управлять высоковольтной нагрузкой При этом достигаются такие важные цели, как гальваническая paзвязка высоковольтных цепей и схемы управления, отсутствие искрового промежутка. На рис. 2 показана схема управления через симисторные оптроны (МОС3040 или МОС3041 фирмы Motorola) током нагрузки до 8 А.

Управление реле

Рис. 3. Использование реле

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

Принцип управления реле очень близок к принципу управления светодиодами. Но учитывая, что даже самые маленькие реле потребляют ток значительной силы, для управления ими требуется внешний транзисторный усилитель. Поэтому, как и в случае со светодиодами, при подключении не более четырех реле лучше использовать отдельные транзисторы, а при большем количестве - микросхемы ULN2003 или ULN2803, выходные токи которых (500 мА) позволяют управлять реле любого типа.

Поскольку реле - компоненты индуктивные, не надо забывать о защитном диоде, включенном в обратном направлении параллельно

Для питания обмотки реле требуется ток, превышающий 20 мА. поэтому напрямую подключить к микроконтроллеру его нельзя. Дли управления реле, можно применять простейший усилитель — транзисторный ключ. На рис. 3 показан пример схемы с реле. Диод, подключенный параллельно обмотке реле, нужен для защиты схемы от ЭДС самоиндукции, появляющейся в процессе коммутации обмотки.

Совершенно аналогично можно включать не реле, а какую-либо другую нагрузку, например, лампу накаливания и т. д.

В случае, если необходимо управлять большим числом реле, или других мощных нагрузок, удобно применять микросхемы ULN2003 или ULN2803. Эти микросхемы содержат соответственно, 7 и 8 транзисторных ключей на составных транзисторах (схема Дарлингтона) Они позволяют управлять нагрузкой до 500 мА при напряжении до 50 В. При этом входы этих микросхем можно подключать непосредственно к линиям портов ввода/вывода микроконтроллера. Внутри микросхем уже имеется встроенный защитный диод, который можно подключать или отключать, осуществляя внешние соединения. На рис. 4 показан пример схемы с использованием микросхемы ULN2003.

Рис. 4 Применение микросхемы ULN2003

Для включения нагрузки следует сформировать на соответствующем выводе микроконтроллера уровень «1». При этом ток, потребляемый от вывода порта микроконтроллера, не превышает допустимый, в то же время, как осуществляется управление достаточно мощной нагрузкой.

Рис. 5 микросхема ULN2003

Управление светодиодными цифровыми индикаторами

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

   

Рис. 6. Управление цифровым индикатором     Рис. 7. Динамическая индикация

Легко увидеть, что если потребуется управлять большим числом индикаторов, количества выводов портов ввода/вывода будет недостаточно. Для преодоления этого препятствия применяется динамическая индикация. На рис. 6 показан пример схемы динамической индикации. Идея, лежащая в основе работы этой схемы очень проста — человеческий глаз достаточно инерционен, поэтому можно зажигать не все индикаторы одновременно, а только один из них, потом через короткое время другой и так далее. Так как переключение индикаторов происходит достаточно быстро, человеку кажется, что все индикаторы горят.

5.2. Параллельные входы

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

Кнопки и переключатели

а) Идеальный контакт           б) Реальный контакт

Рис. 8. Явление «дребезг контактов»

Проверять состояние кнопок или выключателей достаточно просто. Достаточно подсоединить, например, кнопку одним выводом к общему проводу, а другим — ко входной линии порта ввода/вывода, настроенной для работы в режиме чтения. Также эта линия должна быть соединена через резистор сопротивлением примерно4,7...100 кОм с проводом «+» питания. При большем сопротивлении меньше суммарный потребляемый ток.

При разомкнутых контактах, на соответствующем выводе микроконтроллера будет «1», при замыкании контактов — «О».

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

Параллельные входы обычно применяются для контроля состояния различных коммутационных элементов: кнопок, переключателей, блока контактов и т. д. Также можно проверять состояние неко-

Кнопки и переключатели

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

Рис. 3.25 Подключение кнопок и выключателей к микроконтроллеру

В том случае, если ваше устройство работает вблизи мощного источника помех (например, двигателя), желательно использовать резистор с небольшим сопротивлением (обычно 4,7 или 10 кОм). Наводки на высокоомный вход будут значительно большими, чем на низкоомный. Однако включать в схему резисторы с еще меньшими значениями сопротивления целесообразно только в особых случаях.

     

Теоретический сисмал  Реальной сигнал

Рис. 3 Явление «дребезга контактов»

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

Все механические выключатели имеют одно негативное свойство, известное как «дребезг контактов», которое обусловлено колебаниями упругих контактов при их замыкании и размыкании. Длительность колебаний составляет всего несколько миллисекунд. При этом вместо «чистого» прямоугольного импульса (рис. 3. а) получается искаженный импульс или пачка импульсов (рис. 3 6).

Обычно такой недостаток устраняют с помощью RS-триггеров, одновибраторов или интегрирующих R-C цепочек, устанавливаемых перед триггерами Шмитта. В устройствах на базе микроконтроллеров борьбу с «дребезгом контактов» возлагают на программу, которая осуществляет многократное считывание состояния входа, подключенного к переключателю, определяя момент устойчивого изменения его состояния. Опрос входа может производиться периодически либо нерегулярно, по мере того как микроконтроллер освобождается от выполнения текущих задач. В любом случае необходима временная задержка между двумя последовательными считываниями состояния входа.

Гальваническая развязка входов

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

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

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

Процесс считывания сигнала такой же, как в описанной ранее схеме с переключателем. Борьба с «дребезгом контактов» в данном случае не актуальна.