Опубликовано 08.04.2013 17:05:00
Рано или поздно появляется желание поуправлять чем-то более мощным чем светодиод, либо создать нечто на подобие умного дома своими руками. В этом нам поможет такая радио деталь как реле. В данной статье рассмотрим как реле подключается к микроконтроллеру, как им управлять, а также устроим демонстрацию его работы на примере включения лампы накаливания.
Используемые компоненты (купить в Китае):
• Управляющая плата
Arduino UNO 16U2, либо более дешевая Arduino UNO CH340G,
Arduino Nano CH340G, либо Arduino MEGA 16U2, либо более дешевая Arduino MEGA CH340G,
Arduino PRO mini, либо Arduino Micro
• Реле модули
Реле модуль 1 канал, либо
Реле модуль 4 канала, либо
Реле модули (1 — 4 канала управляющее напряжение 5 либо 12V)
• Соединительные провода
Устройство и принцип работы реле
Рассмотрим устройство реле на широко распространенном в области Arduino реле фирмы SONGLE SRD-05VDC.
Данное реле управляется напряжением 5V и способно коммутировать до 10А 30V DC и 10A 250V AC.
Реле имеет две раздельных цепи: цепь управления, представленная контактами А1, А2 и управляемая цепь, контакты 1, 2, 3. Цепи никак не связаны между собой.
Между контактами А1 и А2 установлен металлический сердечник, при протекании тока по которому к нему притягивается подвижный якорь(2). Контакты же 1 и 3 неподвижны. Стоит отметить что якорь подпружинен и пока мы не пропустим ток через сердечник, якорь будет удерживается прижатым к контакту 3. При подаче тока, как уже говорилось, сердечник превращается в электромагнит и притягивается к контакту 1. При обесточивании пружина снова возвращает якорь к контакту 3.
Подключение модуля к Arduino
В большинстве реле модулей для Ардуино используется N-канальное управление, его мы и рассмотрим. Для примера возьмем одноканальный модуль.
Далее приведу примерную схему данного модуля. Необходимыми для управления реле являются следующие детали: резистор(R1) , p-n-p транзистор(VT1) , диод(VD1) и, непосредственно само реле(Rel1) . Оставшиеся два светодиода установлены для индикации. LED1 (красный) — индикация подачи питания на модуль, загорание LED2 (зеленый) свидетельствует о замыкании реле.
Рассмотрим как работает схема. При включении контроллера выводы находятся в высокоомном состоянии, транзистор не открыт. Так как у нас транзистор p-n-p типа, то для его открытия нужно подать на базу минус. Для этого используем функцию digitalWrite (pin, LOW ); .Теперь транзистор открыт и через управляющую цепь течет ток и реле срабатывает. Для отключения реле следует закрыть транзистор, подав на базу плюс, вызвав функцию digitalWrite (pin, HIGH );. Можно сказать что управление реле модуля ничем не отличается от управления обычным светодиодом.
Модуль имеет 3 вывода (стандарта 2.54мм):
VCC: «+» питания
GND: «-» питания
IN: вывод входного сигнала
Подключение модуля предельно просто:
Читайте также: Песня с минусом и текстом
VCC на + 5 вольт на Ардуино.
GND на любой из GND пинов ардуино.
IN на любой из цифровых входов/выходов ардуино (в примерах подсоединено к 4).
Переходим непосредственно к скетчу. В данном примере реле будет включаться и выключаться с интервалом в 2 секунды.
пример программного кода:
Для подключения лампы накаливания следует поставить реле в разрыв одного из проводов.
На нашем модуле контакты 1, 2, 3 расположены таким образом. Для подключения лампы накаливания следует поставить реле в разрыв одного из проводов.
Должно получиться так как показано на рисунке.
Пример включения лампы накаливания в связке с PIR датчиком движения
P.S. Более дорогие модули имеют на своем борту еще и оптрон, который позволяет получить кроме развязки между управляемой и управляющей цепями реле еще и полную гальваническую развязку непосредственно между контроллером и цепью управления реле.
Статьи в похожей тематике:
Купить в России реле модуль для Arduino
А как же комментарии?
В данный момент еще реализованы не все элементы нашего сообщества. Мы активно работаем над ним и в ближайшее время возможность комментирования статей будет добавлена.
В этой статье мы разберём особенности подключения реле к Arduino. Но начнём с теории.
Что из себя представляет реле, и для чего оно нужно?
Реле — это небольшой модуль, который имеет две раздельные цепи.
Одна цепь — A1-A2 — осуществляет управление, вторая цепь — управляемая. Они друг другом не связаны. Между контактами A1 и А2 установлен металлический сердечник или катушка.
Катушка, или сердечник — это электромагнит, который можно включать или выключать подачей электрического тока.
Что такое магнит известно всем — это тело, обладающие собственным магнитным полем, с двумя полюсами намагниченности, способное притягивать металлические предметы.
Вокруг провода, по которому течёт электрический ток тоже возникает магнитное поле. Если провод спирально намотать на металлический стержень и подать питание, то стержень превратится в магнит и будет притягивать металлические предметы.
Этот принцип и используется в реле.
Внутри электромагнитных реле находится металлический сердечник — катушка. Над ним устанавливается пластина (подвижный якорь), к которой крепятся от одного до нескольких контактов. Напротив закрепленных контактов устанавливают парные им неподвижные контакты.
При прохождении электрического тока по виткам сердечника, в нём возникают электромагнитные силы, притягивающие якорь.
В зависимости от конструкции реле, происходит размыкание или замыкание контактов.
При отключении напряжения якорь возвращается в исходное положение, благодаря пружине.
Таким образом, реле имеет два несимметричных состояния — нерабочее состояние — при обесточенной обмотке, а рабочее — при поданном на обмотку токе.
Нормально замкнутые контакты — это контакты, которые в нерабочем состоянии замкнуты, нормально разомкнутые — в нерабочем состоянии разомкнутые.
Реле даёт возможность включать или выключать приборы питаемые током различной мощности.
Попробуем собрать схему.
Читайте также: Навигатор построение маршрута по точкам
Для демонстрации мы выбрали два реле. Первое — это релейный модуль JQC-3FF для Arduino.
Нам понадобится блок с двумя батарейками на 1.5V каждая, мотор постоянного тока, плата Arduino NANO, и проводочки, у которых один конец припаян к штырьку, второй к контактному разъёму.
Схема соединения такая.
Затем подключаем плату Arduino NANO к компьютеру, открываем среду разработки программ под Arduino, указываем в выпадающем списке «Инструменты» тип платы — Arduino NANO и нужный порт.
Затем загружаем в плату программу, которая включает мотор на 5 секунд, затем на 5 секунд выключает.
/*Программа для Arduino NANO, реле JQC-3FF и мотора постоянного тока, питаемого от батареек общим напряжением 3V*/
/*целочисленная константа, которой присваивается значение 2го контакта, отвечающего за замыкание контактов, запускающих мотор*/
const int LED_ON = 2;
void setup() <
pinMode(LED_ON, OUTPUT);
digitalWrite(LED_ON, LOW);
>
void loop() <
// включаем диод
digitalWrite(LED_ON, HIGH);
// задержка на 5 сек
delay(5000);
// выключаем диод
digitalWrite(LED_ON, LOW);
// задержка на 5 сек
delay(5000);
>
Если мы отключим питание от платы Arduino, то выключится и вторая цепь — с мотором. Но есть и другие типы реле, например бистабильное или импульсное. Посмотрим разницу.
Рассмотрим в качестве примера бистабильное реле FRT5 — L2 DC5V.
FRT5 — название реле, L2 — означает, что у него две катушки, DC5V — означает, что реле требуется питание постоянным электрическим током в 5 Вольт.
Чтобы замкнуть контакты, надо подать управляющий импульс, чтобы разомкнуть ещё один такой же импульс. Поэтому управляющих проводочка два.
Схема реле выглядит так:
Слева — вариант с одной катушкой, справа — с двумя. Наш вариант тот, что справа.
Мы подключим обычный диод, питаемый двумя батарейками по 1.5V каждая. Через плату Arduino мы будем посылать сигнал реле на замыкание-размыкание цепи диод-батарейка.
Нужно собрать такую схему:
Чтобы замкнуть нормально разомкнутые контакты нужно подать напряжение 5V на контакт D3, а D2 должен быть обесточен. Чтобы разомкнуть эти контакты, выключаем подачу питания на D3 и подаем на D2.
Заливаем в плату Arduino программу и диод начинает мигать раз в секунду.
/*Программа для Arduino NANO, реле FRT5 и диода, питаемого от батареек общим напряжением 3V*/
/*целочисленная константа, которой присваивается значение 3го контакта, отвечающего за замыкание контактов отвечающих за включение диода*/
const int LED_ON = 3;
/*целочисленная константа, которой присваивается значение 3го контакта, отвечающего за размыкание контактов отвечающих за включение диода*/
const int LED_OFF = 2;
void setup() <
pinMode(LED_ON, OUTPUT);
digitalWrite(LED_ON, LOW);
pinMode(LED_OFF, OUTPUT);
digitalWrite(LED_OFF, LOW);
>
void loop() <
// включаем диод
digitalWrite(LED_OFF, LOW);
digitalWrite(LED_ON, HIGH);
// задержка на 1 сек
delay(1000);
// выключаем диод
digitalWrite(LED_ON, LOW);
digitalWrite(LED_OFF, HIGH);
// задержка на 1 сек
delay(1000);
>
Читайте также: Как покинуть беседу в вк с телефона
Если мы разъединим плату Arduino c питанием во включённом состоянии диода, диод так и останется включённым, так как управляемая цепь была включена в момент выключения управляющей цепи. Если разъединить плату Arduino c питанием при выключенном состоянии – диод будет выключен.
Добавим в схему провод, который будет считывать состояние реле и если при подаче питания на плату Arduino провод регистрирует включённую лампочку, то она должна выключаться.
/*Программа для Arduino NANO, реле FRT5 и диода, питаемого от батареек общим напряжением 3V*/
/*целочисленная константа, которой присваивается значение 3го контакта, отвечающего за замыкание контактов отвечающих за включение диода*/
const int LED_ON = 3;
/*целочисленная константа, которой присваивается значение 3го контакта, отвечающего за размыкание контактов отвечающих за включение диода*/
const int LED_OFF = 2;
/*целочисленная константа, которой присваивается значение 4го контакта, считывающего информацию о сотоянии диода*/
const int LED_TEST = 4;
void setup() <
pinMode(LED_ON, OUTPUT);
pinMode(LED_OFF, OUTPUT);
pinMode(LED_TEST, INPUT);
if( digitalRead(LED_TEST) == HIGH )
<
digitalWrite(LED_ON, LOW);
digitalWrite(LED_OFF, HIGH);
>
delay(3000);
>
void loop() <
// включаем диод
digitalWrite(LED_OFF, LOW);
digitalWrite(LED_ON, HIGH);
// задержка на 3 сек
delay(3000);
// выключаем диод
digitalWrite(LED_ON, LOW);
digitalWrite(LED_OFF, HIGH);
// задержка на 3 сек
delay(3000);
>
Вот такие две схемы у нас были сегодня собраны.
Если вы хотите добавить в свой проект реле, проще всего воспользоваться модулем ky-019.
Модуль KY-019 для arduino является готовым решением с реле на борту. На плате модуля уже есть транзистор, позволяющий включить реле малым током, защитный диод и светодиод, сигнализирующий о включенном реле.
Данный модуль можно использовать как включатель, так и как переключатель. Когда реле выключено ток свободно проходит между B и С (см. картинку ниже), а когда включено – между B и A.
Подключения модуля реле KY-019 к arduino
К “-” подключаем землю (GND), к “+” – 5В, к “S” – управляющий провод, подключённый к пину 2 на ардуино. Когда на “S” подаётся напряжение реле срабатывает и загорается красный светодиод. При этом контакты A и B замыкаются, а B и C – размыкаются.
Если вам надо использовать реле как включатель, то используйте только контакты А и B. Если как выключатель, то – В и С. Кстати на этом хочу заострить внимание: не все понимают, что такие реле можно использовать именно как выключатель. Например, электромагнит на двери с домофоном постоянно включен, и только при открытии двери его ненадолго нужно отключить…
Пример скетча для arduino
Результат работы скетча смотрите на видео: