• Ардуино: модуль реле. Реле модуль подключение к Arduino

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

    Нам понадобится:

    • Ардуино UNO (или совместимая плата);
    • персональный компьютер с Arduino IDE или иной средой разработки ;
    • модуль с реле (например, такой);
    • 4 резистора по 220 Ом (рекомендую приобрести набор резисторов с номиналами от 10 Ом до 1 МОм);
    • 4 светодиода (к примеру, вот из такого набора);
    • соединительные провода (вот такие).

    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 мА.


    Разъём для подачи внешнего питания используется для того, чтобы обеспечить гальваническую развязку платы 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 Ом, светодиоды любые.


    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); }

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


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

    Скачать техническое описание (datasheet) реле SRD-05VDC-SL-C

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

    Используемые компоненты (купить в Китае):

    . Управляющая плата

    Устройство и принцип работы реле

    Рассмотрим устройство реле на широко распространенном в области 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. Более дорогие модули имеют на своем борту еще и оптрон, который позволяет получить кроме развязки между управляемой и управляющей цепями реле еще и полную гальваническую развязку непосредственно между контроллером и цепью управления реле.

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

    На тот случай, если у вас в наборе идет не просто реле, а именно модуль, т.е уже собранная схема на печатной плате, Вам не нужно собирать схему (см. ниже), а нужно правильно подключить модуль к плате Arduino.

    Реле и Электронный модуль Реле для Arduino на 5V.

    VCC — питание +5 Вольт

    GND — общий (земля) — минус.

    IN1 — управление

    NO — нормально разомкнутый (Normally Open)

    NC — нормально замкнутый (Normally Closed)

    COM — обший (Common)

    К контактам NC и NO подключаются светодиоды, общий COM подключается к + питания (+5V), GND к земле (-), VCC к +5 Вольт, IN1 (управление, обозначение может быть другим) к порту ардуино Pin 2.

    Когда реле выключено, общий контакт «COM» (common) будет подключен к нормально замкнутому контакту «NC» (Normally Closed). Когда же реле сработает «общий» контакт COM соединится с «нормально разомкнутым» контактом «NO» (Normally Open).

    Выше, вы видите саму принципиальную схему к уроку 13, думаю сложностей возникнуть не должно, при правильном соединении, т.е соблюдая указания маркировки и «полюсность», все должно получиться.

    Для этого опыта вам понадобится:

    1. Arduino UNO — 1 шт.

    2. Реле или «Электронный модуль Реле» — 1 шт.

    3. Транзистор 2N222A — 1 шт.

    4. Диод 1N4148 — 1 шт.

    5. Резистор 330 Ом.

    6. Светодиоды различных цветов — 2 шт.

    7. Соединительные провода.

    Cхема электрических соединений макетной платы и Arduino. Уроку 13. Arduino и Реле

    Скачать код к опыту 13. Скетч и подробное описание (Обязательно прочтите весь скетч!):

    Набор для экспериментов ArduinoKit
    Код программы для опыта №13:

    Вид созданного урока на макетной схеме:

    Arduino и Реле. Урок 13

    В результате проделанного опыта Вы должны увидеть…

    Вы должны услышать щелчки переключающегося реле, а также увидеть два светодиода по переменно загорающимися с секундным интервалом. Если этого нет, — проверьте правильно ли вы собрали схему, и загружен ли код в Arduino.

    Возможные трудности:

    Светодиоды не светятся
    Дважды проверьте правильность установки светодиодов, — длинный вывод является плюсовым контактом..

    Не слышны щелчки реле
    Проверьте правильность подключение реле и транзистора.

    Срабатывает через раз
    Проверьте надежность подключение реле, у реле, если это не электронный модуль очень короткие выводы, попробуйте слегка придавить его в макетную плату.

    Всем удачи! Ждём ваши комментарии к ARDUINO УРОК 13 — ARDUINO УПРАВЛЯЕТ РЕЛЕ.

    Для коммутации различного силового оборудования и прочих устройств посредством относительно небольшого напряжения используют реле. В классическом варианте простейшее реле состоит из катушки, на которую подается управляющее напряжение, и контакта, замыкающего или размыкающего цепь объекта управления. Помимо функции управления реле также обеспечивают защиту управляющей цепи благодаря гальванической развязке, поскольку между катушкой и контактом существует зазор, не позволяющий перетекать напряжению из одной цепи в другую. Начинающие радиолюбители, которые, возможно, недавно познакомились с популярной в наше время платой 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 можно .