Рубрики
Схемы на PIC

Подключение реле к микроконтроллеру PIC16F877A

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

  1. Для удобства пользователя мы поставим в схему переключатель.
  2. Будем управлять электрической лампой переменного тока 220V с помощью реле на 5V.
  3. Для управления реле с помощью микроконтроллера PIC16F877A мы будем использовать NPN транзистор BC547.
  4. Светодиод в схеме будет индицировать о том, включено или выключено реле.

Также на нашем сайте мы рассматривали подключение реле к другим микроконтроллерам (платам):

Необходимые компоненты

  1. Микроконтроллер PIC16F877A (купить на AliExpress).
  2. Реле на 5V.
  3. Лампа переменного тока 220V.
  4. Программатор PICkit 3 (купить на AliExpress).
  5. Кварцевый генератор 20 МГц (купить на AliExpress).
  6. Конденсаторы 33 пФ (2 шт.) (купить на AliExpress).
  7. Резисторы 4,7 кОм (3 шт.) и 1 кОм (купить на AliExpress).
  8. Светодиод (купить на AliExpress).
  9. Транзистор BC547 (купить на AliExpress).
  10. Диод 1N4007 (купить на AliExpress).
  11. Адаптер питания 5V с поддерживаемым током не менее 200mA.
  12. Макетная плата и соединительные провода.

Принципы работы реле

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

Реле изготавливаются на различные входные напряжения – 5V, 6V, 12V, 18V, в нашем проекте мы будем использовать реле на 5V. Используемое нами реле на 5V способно переключать ток до 7A при выходном напряжении 240VAC или до 10A при выходном напряжении 110VAC. Но в нашем проекте мы не будем использовать такие большие токи, в качестве нагрузки у нас будет обычная лампа переменного тока на 220VAC.

Внешний вид используемого нами реле показан на следующем рисунке.

Распиновка у реле следующая.

Контакты L1 и L2 используются для подачи напряжения на электромагнитную катушку, с помощью них реле переводится в состояние ‘ON’ (включено) или ‘OFF’ (выключено). Остальными контактами реле являются POLE, NO и NC. Полюс/стержень (POLE) подключен к внутренней металлической пластине, которая переключает состояние реле. В обычных условиях (напряжение на управляющие контакты не подано) POLE подключен к контакту NC (normally connected – нормально замкнут). При подаче напряжения на управляющие контакты контакт POLE переключается на контакт NO (Normally Open – нормально разомкнут).

В нашей схеме для подключения реле мы будем использовать транзистор и диод – их вместе с реле включают в состав так называемых модулей реле (Relay Module). Если вы покупаете готовый модуль реле, то вместе с ним использовать транзистор и диод уже нет необходимости.

Ранее на нашем сайте рассматривалось применение реле во многих проектах автоматизации дома. Также вы можете посмотреть все проекты с использованием реле на нашем сайте.

Схема проекта

Схема подключение реле к микроконтроллеру PIC16F877A представлена на следующем рисунке.

В представленной схеме реле через транзистор подключено к port B микроконтроллера PIC16F877A. Выключатель подключен к контакту RBO микроконтроллера. Резистор R1 обеспечивает напряжение смещения для базы транзистора. R2 является подтягивающим резистором для выключателя – он обеспечивает логический 0 кода выключатель не включен. 1N4007 является ограничительным диодом для реле – он подавляет (замыкает на себя) возможные электромагнитные помехи.

Транзистор используется для управления реле – его входные контакты требуют ток не менее 50mA, контакты микроконтроллера не могут обеспечить такой ток. Вместо транзистора можно также использовать модуль драйвера двигателей ULN2003 – его применение оправдано когда требуется управление 2 или 3 реле. Светодиод, подключенный к контакту RB2 микроконтроллера PIC16F877A, будет индицировать о состоянии реле (включено/выключено).

Внешний вид собранной конструкции проекта показан на следующем рисунке.

Объяснение программы для микроконтроллера PIC

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

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

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

В основной функции программы main мы будем непрерывно проверять нажат или нет выключатель. Если мы обнаружим его нажатие, то мы подождем немного времени и снова проверим нажат он или нет – это необходимо для борьбы с эффектом «дребезга контактов». Если он нажат, то мы будем переключать (инвертировать) состояние реле и светодиода.

Исходный код программы

Видео, демонстрирующее работу проекта

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *