Arduino блок реле 4 размеры. Подключение модуля управления реле к плате Ардуино. Делаем свет по хлопку
Рано или поздно появляется желание поуправлять чем-то более мощным чем светодиод, либо создать нечто на подобие умного дома своими руками. В этом нам поможет такая радио деталь как реле. В данной статье рассмотрим как реле подключается к микроконтроллеру, как им управлять, а также устроим демонстрацию его работы на примере включения лампы накаливания.
Используемые компоненты (купить в Китае):
. Управляющая плата
Устройство и принцип работы реле
Рассмотрим устройство реле на широко распространенном в области 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 секунды.
пример программного кода:
// Реле модуль подключен к цифровому выводу 4 int Relay = 4; void setup () { pinMode (Relay, OUTPUT ); } void loop () { digitalWrite (Relay, LOW ); // реле включено delay (2000); digitalWrite (Relay, HIGH ); // реле выключено delay (2000); }Для подключения лампы накаливания следует поставить реле в разрыв одного из проводов.
На нашем модуле контакты 1, 2, 3 расположены таким образом. Для подключения лампы накаливания следует поставить реле в разрыв одного из проводов.
Должно получиться так как показано на рисунке.
Пример включения лампы накаливания в связке с
P.S. Более дорогие модули имеют на своем борту еще и оптрон, который позволяет получить кроме развязки между управляемой и управляющей цепями реле еще и полную гальваническую развязку непосредственно между контроллером и цепью управления реле.
С помощью Ардуино. Но как быть, если мы задумаем управлять устройствами, подключенными к бытовой сети? Напомню, что даже небольшая настольная лампа питается от источника переменного тока с напряжением 220 Вольт. Обычный полевой транзистор, который мы использовали в схеме с двигателем уже не подойдет.
Чтобы управлять мощной нагрузкой да еще и с переменным током воспользуемся реле. Это такое электромеханическое устройство, которое механическим способом замыкает цепь нагрузки с помощью электромагнита. Посмотрим на внутренности:
Принцип действия реле следующий. Подаем напряжение на электромагнитную катушку. В катушке возникает поле, которое притягивает металлическую лапку. В свою очередь, лапка механически замыкает контакты нагрузки.
У реле есть два основных применения. Во-первых, мы можем подав всего 5 Вольт на катушку, замкнуть цепь очень мощной нагрузки. Например, реле, используемое в уроках для Ардуино, может включить холодильник или стиральную машину. Во-вторых, некоторые виды реле могут одновременно замкнуть и разомкнуть сразу несколько разных цепей с разным напряжением.
На этом уроке мы будем работать не с отдельным реле, а с целым релейным модулем. Помимо самого реле, модуль содержит еще и оптоэлектронную развязку с транзистором, которые защищают выводы Ардуино от скачков напряжения на катушке.
У одинарного модуля реле есть всего три контакта. Подключим их по следующей схеме.
Кстати, вход реле является инвертированным. Это означает, что высокий уровень на контакте In выключит катушку реле, а низкий уровень — включит.
Принципиальная схема
Внешний вид макета
2. Программа для Ардуино
Напишем простую программу, которая будет включать лампу на 3 секунды, а затем гасить на 1 секунду.
Const int relPin = 3; void setup() { pinMode(relPin, OUTPUT); } void loop() { digitalWrite(relPin, HIGH); delay(1000); digitalWrite(relPin, LOW); delay(3000); }
Загружаем программу на Ардуино. Теперь подключаем питание к лампе и к реле. Наконец, подаем питание на контроллер.
3. Автоматический светильник или уличный фонарь
С помощью контроллера, реле и датчика света можно сделать несложный автоматический светильник. Контроллер будет зажигать лампу в момент, когда уровень света на датчике станет меньше заданного значения.
В качестве датчика используем готовый модуль на основе . Подключим все три устройства по следующей схеме.
Принципиальная схема
Внешний вид макета
4. Программа автоматического светильника
Аналоговый вывод датчика дает значения в диапазоне от 0 до 1023. Причем, 0 — для максимального уровня света и 1023 для полной темноты.
Сначала нам нужно определиться при каком уровне света включать лампу, а при каком выключать. В нашей лаборатории при свете дня датчик показывает значение L = 120, а ночью около L = 700. Будем включать реле при L > 600, и выключать при L < 200. Вспомним как и напишем программу.
Const int photoPin = A5; const int relPin = 3; void setup() { pinMode(photoPin, INPUT); pinMode(relPin, OUTPUT); } void loop() { if(analogRead(photoPin) < 200) digitalWrite(relPin, HIGH); if(analogRead(photoPin) > 600) digitalWrite(relPin, LOW); }
Загружаем программу на Ардуино и проводим эксперимент. Лучше всего это делать ночью.
Задания
1. Музыка реле. Как известно, электромеханическое реле издает щелчок при срабатывании. Попробуйте воспользоваться этим для проигрывания какой-нибудь несложной мелодии.
2. Управление двигателем. Имея два трехконтактных реле, таких же как в этом уроке, можно собрать схему для изменения направления вращения двигателя.
Для коммутации различного силового оборудования и прочих устройств посредством относительно небольшого напряжения используют реле. В классическом варианте простейшее реле состоит из катушки, на которую подается управляющее напряжение, и контакта, замыкающего или размыкающего цепь объекта управления. Помимо функции управления реле также обеспечивают защиту управляющей цепи благодаря гальванической развязке, поскольку между катушкой и контактом существует зазор, не позволяющий перетекать напряжению из одной цепи в другую. Начинающие радиолюбители, которые, возможно, недавно познакомились с популярной в наше время платой Arduino, заинтересованы в использовании реле в своих проектах, но не знают с чего начать.
Поэтому данный материал показывает простоту использования Arduino и реле. В первую очередь он рассчитан на новичков, знакомящихся с Arduino и собирающих на основе этой платы.
Для создания релейной схемы нам потребуется Arduino, один резистор на 1 КОм, один резистор на 10 КОм, один транзистор BC547, одно реле на 6 В или 12 В, один диод 1N4007, и в качестве объекта управления возьмем вентилятор на 12 В. Схема устройства:
После нажатия кнопки вентилятор должен включиться и вращаться до тех пор, пока кнопка не будет нажата снова. Скетч для такого алгоритма:
int pinButton = 8; int Relay = 2; int stateRelay = LOW; int stateButton; int previous = LOW; long time = 0; long debounce = 500; void setup() { pinMode(pinButton, INPUT); pinMode(Relay, OUTPUT); } void loop() { stateButton = digitalRead(pinButton); if(stateButton == HIGH && previous == LOW && millis() - time > debounce) { if(stateRelay == HIGH){ stateRelay = LOW; } else { stateRelay = HIGH; } time = millis(); } digitalWrite(Relay, stateRelay); previous == stateButton; }
Итак, как работает наша схема? После нажатия кнопки Arduino переведет вывод 2 в высокое логическое состояние, то есть на выводе будет напряжение 5 В. Это напряжение используется для открывания транзистора, который включит реле, после чего наша нагрузка (в данном случае вентилятор) будет питаться от основного источника питания.
Вы не можете использовать 5 В порта USB для питания транзистора и нагрузки, поскольку тока будет недостаточно. Поэтому нужно использовать внешнее питание Vcc напряжением 7-12 В для питания как Arduino, так и транзисторно-релейной цепи. Нагрузка использует свой источник питания. Можно, например, в качестве нагрузки использовать лампу и питать ее от 220 В. И ни в коем случае не соединяйте питание Arduino и питание нагрузки!
Теперь немного усложним нашу программу, добавив задержку при отключении реле. Переменная stayON здесь будет использоваться для задания периода задержки в миллисекундах (по умолчанию 5 секунд). В итоге после нажатия кнопки реле включится и по прошествии 5 секунд отключится. Код:
int pinButton = 8; int Relay = 2; int stateRelay = LOW; int stateButton; int previous = LOW; long time = 0; long debounce = 500; int stayON = 5000; //задержка на 5000 мс void setup() { pinMode(pinButton, INPUT); pinMode(Relay, OUTPUT); } void loop() { stateButton = digitalRead(pinButton); if(stateButton == HIGH && previous == LOW && millis() - time > debounce) { if(stateRelay == HIGH){ digitalWrite(Relay, LOW); } else { digitalWrite(Relay, HIGH); delay(stayON); digitalWrite(Relay, LOW); } time = millis(); } previous == stateButton; }
Теперь благодаря информации, приведенной в этом примере, вы смело можете вносить реле в ваши новые проекты с Arduino.
Еще одну схему управления вентилятором с помощью Arduino можно .
Подключение модуля реле к Ардуино потребуется, если вы решите управлять с помощью микроконтроллера мощной нагрузкой или переменным током. Модуль реле SRD-05VDC-SL-C позволяет управлять электрическими цепями с переменным током до 250 Вольт и нагрузкой до 10 Ампер. Рассмотрим схему подключения реле, как управлять модулем для включения светодиодной ленты и лампы накаливания.
Реле SRD-05VDC-SL-C описание и схема
Реле – это электромеханическое устройство, которое служит для замыкания и размыкания электрической цепи с помощью электромагнита. Принцип работы силового реле srd-05vdc очень прост. При подаче управляющего напряжения на электромагнитную катушку, в ней возникает электромагнитное поле, которое притягивает металлическую лапку и контакты мощной нагрузки замыкаются.
Если контакты реле замыкаются при подаче управляющего напряжения, то такое реле называют замыкающим. Если при подаче управляющего напряжения контакты реле размыкаются, а в нормальном состоянии контакты сомкнуты, то реле называется размыкающим. Также реле бывают постоянного и переменного тока, одноканальными, многоканальными и переключающими. Принцип действия у всех одинаковый.
Согласно характеристикам реле SRD-05VDC-SL-C, для переключения контактов достаточно около 5 Вольт 20 мА, выводы на Ардуино способны выдавать до 40 мА. Таким образом с помощью Ардуино мы можем управлять не только лампой накаливания, но и любым бытовым прибором — обогревателем, холодильником и т.д. Полевые транзисторы на Ардуино могут управлять токами только до 100 Вольт.
Схема подключения реле к Arduino UNO
Для занятия нам понадобятся следующие детали:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- блок питания 12 Вольт;
- светодиодная лента;
- провода «папа-папа» и «папа-мама».
Соберите схему, как показано на картинке выше. Подобная схема использовалась в проекте Светильник с управлением от пульта , где светодиодная лента включалась при помощи реле. Модуль имеет три контакта для управления от микроконтроллера Ардуино и два контакта для подключения мощной электрической цепи. Схема подключения реле к Ардуино УНО, Нано или Ардуино Мега ничем не отличается:
GND — GND
VCC — 5V
In — любой цифровой порт
После сборки электрической схемы, загрузите следующий скетч в микроконтроллер. Данная программа ничем не отличается от скетча для мигания светодиода на Ардуино, мы только поменяли в скетче порт и задали большее время задержки.
Скетч для управления реле от Ардуино
void setup () { pinMode (3, OUTPUT ); // объявляем пин 3 как выход } void loop () { digitalWrite (3, HIGH ); // замыкаем реле delay (3000); // ждем 3 секунды digitalWrite (3, LOW ); // размыкаем реле delay (1000); // ждем 1 секунду }После загрузки скетча включите блок питания в цепь. Реле при этом должно устанавливаться в разрыве одного из проводов, идущего к LED ленте. Для безопасности лучше устанавливать реле в провод заземления. К минусам реле следует отнести щелчки при замыкании/размыкании контакта, поэтому для включения LED ленты и других приборов до 40 Вольт удобнее использовать транзисторы.
Видео. Управление LED лентой через реле
Реле может использоваться для создания автоматического светильника, где используется лампа накаливания 200 Вольт, а контроллер включает лампу, когда уровень освещенности в помещении станет меньше заданной величины. Также можно сделать автоматическое управление электрообогревателем в комнате.
Также часто читают:
Шилд блока реле 4 канала для Arduino UNO R3 и MEGA 2560
Реле — это электромеханические устройства, замыкающие и/или размыкающие контакты внешней электрической цепи при подаче в обмотку реле управляющего электрического тока. Этот ток порождает магнитное поле, вызывающее перемещение ферромагнитного якоря реле, механически связанного с электрическими контактами внешней электрической цепи. Последующее перемещение контактов коммутирует эту цепь.
К реле можно подключить лампочку, вентилятор, электромагнитный клапан для управление поливом и программно управлять этими устройствами изменением состояния на цифровых выводах Arduino.
Relay Shield — плата расширения для Arduino, на которой расположены 4 независимых реле TIANBO, подключённых к цифровым пинам Arduino. Это реле управляется напряжением 5 вольт и способно коммутировать до 3 ампер постоянного тока напряжением 24 В и переменного тока напряжением 125 В.
Для управления 4 реле платы используются следующие выводы Arduino - D4, D5, D6, D7.. При подключении каждого вывода Arduino к схеме переключения реле используется гальваническая развязка, что предотвращает внешние наводки при включении/выключении, подключенной к реле нагрузки. В схеме реле используется транзистор p-n-p типа, для его открытия нужно подать на базу минус. Для этого используем функцию digitalWrite(pin, LOW). Транзистор будет открыт и через управляющую цепь потечет ток и реле сработает. Для отключения реле следует закрыть транзистор, подав на базу плюс, вызвав функцию digitalWrite(pin, HIGH).
О текущем состоянии каждого из них можно судить по индикаторным светодиодам, расположенным на плате. К каждому реле подведён клеммник на 3 провода, что позволяет использовать реле как в режиме "нормально разомкнутое", так и в режиме "нормально замкнутое".
В отличие от большиства модулей реле для Arduino, данная плата сделана в формате шилда, что значительно эконимит место и увеличивает надежность контакта между Arduino и реле.
Характеристики реле
Ток обмотки: 80 мА;
Максимальное коммутируемое напряжение: 24 В постоянного тока; 125 В переменного тока;
Максимальный коммутируемый ток: 3 А;
Рекомендованная частота переключения: до 1 Гц;
Время жизни: не менее 50 000 переключений.
Рассмотрим пример использования Relay Shield. Подключим к реле лампу освещения, которая будет включаться/выключаться в зависимости от освещенности помещения. В качестве датчика освещенности помещения будем использовать фоторезистор. Схема соединений.
// Используемый вывод для реле
#define PIN_RELAY 7
// Пин подключения фоторезистора
#define PIN_PHOTORESISTOR A0
// переменная для хранения показаний фоторезистора
int val_photo;
// граничное значение освещенности
#define VAL_PHOTO_ON 220
#define VAL_PHOTO_OFF 520
Void setup(void)
{
// подключение последовательного порта
Serial.begin(9600);
// настроить вывод реле как OUTPUT
pinMode(PIN_RELAY,OUTPUT);
// включить свет
digitalWrite(PIN_RELAY,LOW);
}
void loop(void)
{
// получение данных с фоторезистора
val_photo=analogRead(PIN_PHOTORESISTOR);
// включить
if(val_photo< VAL_PHOTO_ON)
digitalWrite(PIN_RELAY,LOW);
// выключить
else if(val_photo< VAL_PHOTO_OFF)
digitalWrite(PIN_RELAY,HIGH);
// пауза перед следующим измерением
delay(5000);