Рейтинг@Mail.ru

Как подключить реле к Arduino

2 комментарии Arduino
Print Friendly, PDF & Email

В статье описывается такое электронное устройство как реле, кратко объясняются принципы его работы, а также рассматривается подключение модуля с реле постоянного тока к Arduino на примере управления светодиодами.

Для подключения реле к Arduino нам понадобится:

1Принцип действияи виды реле

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

Принцип действия замыкающего реле
Принцип действия замыкающего реле

Кроме того, существует множество других видов реле: переключающие, одноканальные, многоканальные, реле постоянного или переменного тока, и другие.

2Схема подключения модуля реле SRD-05VDC-SL-C

Будем использовать модуль с двумя одинаковыми реле типа SRD-05VDC-SL-C или аналогичный.

Модуль имеет 4 разъёма: силовые разъёмы K1 и K2, управляющий разъём и разъём для подачи внешнего питания (с джампером).

Реле типа SRD-05VDC-SL-C имеет три контакта для подключения нагрузки: два крайних неподвижных, а средний – переключающийся. Именно средний контакт является своего рода «ключом», который коммутирует цепи тем или иным образом. На модуле есть подсказка, какой именно контакт реле является нормально замкнутым: маркировка "K1" и "K2" соединяет средний контакт с крайним левым (на фото). Подача управляющего напряжения на вход IN1 или IN2 (слаботочный управляющий разъём) заставит реле скоммутировать средний контакт контактной группы K1 или K2 с правым (силовой разъём). Ток, достаточный для переключения реле – около 20 мА, цифровые выводы Arduino могут выдавать до 40 мА.

Разъёмы модуля реле SRD-05VDC-SL-C
Разъёмы модуля реле SRD-05VDC-SL-C

Разъём для подачи внешнего питания используется для того, чтобы обеспечить гальваническую развязку платы Arduino и модуля реле. По умолчанию, на разъёме между штырьками JD-VCC и VCC имеется перемычка. Когда она установлена, модуль использует для питания напряжение, поданное на вывод VCC управляющего разъёма, а плата Arduino не имеет гальванической развязки с модулем. Если нужно обеспечить гальваническую развязку модуля и Arduino, необходимо подавать питание на модуль через разъём внешнего питания. Для этого убирается перемычка, и дополнительное питание подаётся на контакты JD-VCC и GND. При этом питание на вывод VCC управляющего разъёма также подаётся (от +5 В Arduino).

Кстати, реле может коммутировать не только слаботочную нагрузку, как в нашем примере. С помощью реле можно замыкать и размыкать достаточно большие нагрузки. Какие именно – нужно смотреть в техническом описании к конкретному реле. Например, данное реле SRD-05VDC-SL-C может коммутировать сети с током до 10 А и напряжением до 250 В переменного тока или до 30 В постоянного тока. То есть его можно использовать, например, для управления освещением квартиры.

Откуда получило своё название реле

От фамилии британского учёного лорда Рэлея - 28.6%
От процедуры смены уставших почтовых лошадей - 57.1%
От названия физической величины измерения яркости - 0%

В данном примере нам не нужна гальваническая развязка Arduino и модуля реле, поэтому будем питать модуль напрямую от платы Arduino, а джампер оставим на своём месте. Соберём схему, как показано на рисунке. Используемые резисторы – 220 Ом, светодиоды любые.

Схема подключения модуля реле SRD-05VDC-SL-C к Arduino
Схема подключения модуля реле SRD-05VDC-SL-C к Arduino

Если светодиоды не должны никогда отключаться, можно подключить центральную точку реле не на выводы D4 и D5 Arduino, а напрямую на питание +5 В.

3Скетч управления реле с помощью Arduino

Будем поочерёдно зажигать пару светодиодов одного цвета, и каждую секунду переключаться на пару другого цвета. Напишем вот такой скетч.

const int relay1 = 2; // пин управления 1-ым реле
const int relay2 = 3; // пин управления 2-ым реле

const int led1 = 4; // коммутируемый вывод - питание 1-го светодиода 
const int led2 = 5; // коммутируемый вывод - питание 2-го светодиода 

void setup() {
  pinMode(relay1, OUTPUT);
  pinMode(relay2, OUTPUT);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  // установим оба реле в исходное положение:
  digitalWrite(relay1, HIGH);
  digitalWrite(relay2, HIGH);
  // подадим питание на светодиоды: 
  digitalWrite(led1, HIGH);  
  digitalWrite(led2, HIGH);
}

void loop() {
// переключим оба реле:
  digitalWrite(relay1, LOW);
  digitalWrite(relay2, LOW);
  delay(1000);
// переключим оба реле обратно:
  digitalWrite(relay1, HIGH);
  digitalWrite(relay2, HIGH);
  delay(1000);
}

Если вы собирали не по приведённой схеме, а вместо D4 и D5 подключали центральную точку реле напрямую к питанию +5V, то от констант led1 и led2 и от всего связанного с ними кода в скетче можно совершенно безболезненно избавиться.

Теперь загрузим скетч в память Arduino. Вот как это всё выглядит у меня. Реле громко пощёлкивают раз в секунду, а светодиоды весело моргают.

Демонстрация работы Arduino с модулем реле SRD-05VDC-SL-C
Демонстрация работы Arduino с модулем реле SRD-05VDC-SL-C

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

Скачать вложения:

Последнее изменениеВоскресенье, 24 Май 2020 15:06 Прочитано 30264 раз

Поблагодарить автора:

Поделиться

Print Friendly, PDF & Email

2 комментарии

  • Денис
    Денис 06.08.2019 11:46 Комментировать

    led1 и led2 неправильное название ещё и путает. Между тем, это питание на контакты 1-го и второго реле. И ему незачем присваивать какие-то константы или переменные, подавать питание на контакты ардуино и пр. Достаточно на оба контакта этих подать 5В и все. Будет то же самое, без лишнего кода и путаницы.

  • aave1
    aave1 06.08.2019 19:23 Комментировать

    Денис, спасибо за замечания!

Оставить комментарий