Arduino и реле
Описание
Электромагнитное реле – универсальный способ коммутировать нагрузку. Универсальность в том, что реле имеет чисто механический контакт, то есть физически замыкает контакты. Это позволяет коммутировать нагрузку как переменного, так и постоянного тока в широком диапазоне напряжений: от 0 до сетевого, то есть 220 Вольт. По току производитель обещает 10 А, то есть можно коммутировать например 2 кВт обогреватель. Само реле напрямую к микроконтроллеру подключать нельзя, поэтому для управления силовая схема развязывается с логической, соответственно китайцы выпускают несколько типов модулей реле:
В наборе идёт красный модуль с настройкой логического уровня (жёлтый джампер-перемычка между буквами H и L). В центре – самый дешёвый модуль с минимальной обвязкой, высокого уровня. И справа – тоже неплохой модуль, но низкого уровня, что не всегда удобно использовать. Примечание: реле высокого уровня переключается при высоком сигнале на логический вход, а низкого – низком. Все модули реле имеют три пина на одном конце и три на другом:
Слева находятся пины питания и управления самого реле:
- VCC (DC+, +) – питание
- GND (DC-, -) – “земля”
- IN (S) – логический управляющий сигнал
Справа находятся выходы самого реле, это одна контактная группа с переключением:
- COM (Common) – общий контакт
- NO (Normal Open) – нормально разомкнутый относительно COM контакт
- NC (Normal Close) – нормально замкнутый относительно COM контакт
Работает это следующим образом: само реле (синяя коробочка на плате) питается от VCC и GND и подключается на питание схемы, так как реле потребляет около 60 мА при переключении. Но управляется реле логическим сигналом от микроконтроллера, который подаётся на пин IN. На выходе реле наблюдается следующая картина: у неактивного реле замкнуты контакты COM и NC. При активации реле контакт переключается и COM замыкается с NO.
Реле высокого уровня будет включаться и потреблять ток при подаче высокого сигнала (5, 3.3V), а низкого – при подаче низкого (GND, 0V). Чисто логически удобнее использовать реле высокого уровня: подали высокий сигнал – реле включилось. Мы кстати разбирали реле вот в этом уроке. И вот в этом:
Подключение
Примеры
Для активации реле достаточно подать высокий сигнал (для реле из набора) на логический вход. Для примера и проверки подойдёт и классический пример “мигания светодиодом”:
#define RELAY_IN 2 void setup() { // пин реле как выход pinMode(RELAY_IN, OUTPUT); } void loop() { // "мигаем" digitalWrite(RELAY_IN, HIGH); delay(1000); digitalWrite(RELAY_IN, LOW); delay(1000); }
Домашнее задание
- Подумайте, в каких случаях выгоднее использовать реле высокого уровня, а в каких – низкого. Подсказка: при пропадании питания с микроконтроллера реле получит низкий сигнал