sonyps4.ru

Поочередное управление 2 реле ардуино. Ардуино: модуль реле

Проведена ревизия статьи, доступны Eagle файлы для скачивания, добавлены 3 варианта реле модулей.

В вашем проекте требуется включать/выключать освещение, либо что-нибудь иное, что, в силу потребляемого напряжения и тока, нельзя подключить напрямую к портам Arduino? С данной задачей отлично справится реле модуль!

Немного теории

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

Реле бывают различными по величине коммутируемого тока и напряжения, по количеству пар коммутационных контактов, по питающему напряжению катушки реле. Для наглядного примера остановимся на синих, знакомых глазу Ардуинщика, реле марки SONGLE SRD-05VDC. Они позволяют коммутировать до 10А 30V DC и 10A 250V AC, при подаче на обмотку реле всего 5 Вольт.


Реле модуль с транзистором в ключевом режиме

В архиве "Реле модуль DIP "

Казалось бы, раз реле включается от пяти вольт, то можно просто напросто подключить реле к цифровому выводу как светодиод. Но не всё так просто. Дело в том, что реле потребляет около 70мА, в то время как порт контроллера способен выдать лишь 20мА. Справиться с этой проблемой нам поможет биполярный транзистор + небольшая обвязка. Транзистор представляет из себя радиодеталь с тремя ногами: база, коллектор и эмиттер. В данном случае будем использовать NPN типа. Когда на базе транзистора нет сигнала - он закрыт, при появлении напряжения транзистор открывается и ток беспрепятственно течет через переход коллектор-эмиттер. С транзистором определились, переходим к обвязке.

Для корректной работы потребуются два резистора R1 и R2. R1 является токоограничительным и устанавливается для защиты порта контроллера. Во избежание ложных срабатываний, базу транзистора следует притянуть к земле резистором R2. Катушка реле является по сути своей индуктивностью, при резком обрыве тока на ней происходит скачок напряжения, который в последствии может вывести транзистор из строя. За сим следует замкнуть катушку на саму себя установив для этого диод D1 встречно напряжению.

Реле модуль с опторазвязкой

В архиве "Реле модуль DIP (оптрон) " и "Реле модуль SMD (оптрон) "

Более навороченным вариантом является реле модуль и опторазвязкой. Опторазвязка позволяет разделить цепь питания обмотки реле и сигнальную цепь Arduino.

В модулях используются широко распространенные оптроны PC817 (EL817), так что проблем с покупкой возникнуть не должно. Оптрон представляет из себя радиодеталь внутри которой находится фотодиод и фототранзистор, т.е сигнал передается через свет, Оптрон имеет 4 вывода назначение которых можно увидеть на картинке снизу.

При использовании оптрона схема не сильно усложнится. Добавится только токоограничительный резистор R1 для фотодиода. Т.к не всегда под рукой оказывается два источника питания, то на модулях было решено оставить возможность работы от одного источника путем замыкания джампера (об этом чуть ниже).

Подключение реле модуля с опторазвязкой

1. Питание от различных источников

Питание обмотки реле подключается к контактам "RV" и "RG", а управляющее к выводам "S" и "G".

2. Питание от одного источника

Замкнув джампер, мы объединили земли. Теперь модуль можно питать от одного источника.

В архиве лежат шаблоны под ЛУТ, Eagle файлы и списки деталей.

Открываем изображение => Печать => Во всю страницу

Для облегчения распайки smd компонентов с обратной стороны платы, где нет маркировки, приведу картинку.

Подключить на прямую к Arduino мощную нагрузку, например лампу освещения или электронасос не получится. Микроконтроллер не обеспечивает необходимую мощность, для работы такой нагрузки. Ток, который может протекать через выходы Arduino, не превышает 10-15 мА. На помощь приходит реле, с помощью которого можно коммутировать большой ток. К тому же, если нагрузка питается от переменного тока, например 220v, то без реле ни как вообще не обойтись. Для подключения мощных нагрузок к Arduino через реле, обычно используют реле модули.

В зависимости от количества коммутируемых нагрузок, применяют одно-, двух-, трёх-, четырёх- и более канальные реле модули.

Свои, одно и четырёх канальные модули, я купил на Aliexpress, за $ 0,5 и $ 2.09 соответственно.

Устройство реле модуля для Arduino, на примере 4-х канального модуля HL-54S V1.0.

Рассмотрим более детально устройство данного модуля, по данной схеме обычно строятся все многоканальные модули.

Принципиальная схема модуля .

Для защиты выводов Ардуино от скачков напряжения в катушке реле, применяется транзистор J3Y и оптрон 817C. Обратите внимание, сигнал с пина In подаётся на катод оптрона. Это значит, для того что бы реле замкнуло контакты, нужно подать на пин In логический 0 (инвертированный сигнал).

Так же бывают модули, у которых сигнал с пина In подаётся на анод оптрона. В таком случае, нужно подать логическую 1 на пин In , для срабатывания реле.

Мощность нагрузки, которую могут включать / отключать модули, ограничивается установленными на плате реле.

В данном случае используются электромеханические реле Songle SRD-05VDC-SL-C , имеющее следующие характеристики:

Рабочее напряжение: 5 В
Рабочий ток катушки: 71 мА
Максимальный коммутируемый ток: 10А
Максимальное коммутируемое постоянное напряжение: 28 В
Максимальное коммутируемое переменное напряжение : 250 В
Рабочий температурный режим: от -25 до +70°C

Реле Songle SRD-05VDC-SL-C имеет 5 контактов. 1 и 2 питание реле. Группа контактов 3 и 4 представляют из себя нормально разомкнутые контакты (NO ), группа контактов 3 и 5 - нормально замкнутые (NC ).

Подобные реле бывают на различные напряжения: 3, 5, 6, 9, 12, 24, 48 В. В данном случае используется 5-вольтовый вариант, что позволяет питать реле-модуль непосредственно от Arduino.

На плате имеется перемычка (JDVcc ), для питания реле либо от Arduino, либо от отдельного источника питания.

Пинами In1 , In2 , In3 , In4 модуль подключается к цифровым выводам Arduino.

Подключение реле модуля HL-54S V1.0 к Arduino.

Поскольку у нас модуль с 5-вольтовыми реле, подключим его по такой схеме, питание возьмём от самой Ардуино. В примере подключу одно реле, в качестве нагрузки буду использовать лампочку на 220 в.

Для питания реле модуля от Arduino, перемычка должна замыкать пины «Vcc » и «JDVcc », обычно по-умолчанию она там и установлена.

Если у вас реле не на 5 вольт, питать от Ардуино модуль нельзя, питание нужно брать от отдельного источника.

Нижеприведённая схема показывает, как подключить питание модуля от отдельного источника. По такой схеме нужно подключать реле, рассчитанное на питание от более или менее чем 5 В. Для 5-вольтовых реле эта схема так же будет более предпочтительная.

При таком подключении нужно убрать перемычку между пинами «Vcc » и «JDVcc ». Далее пин «JDVcc » подключить к «+ » внешнего источника питания, пин «Gnd » подключить к «- » источника питания. Пин «Gnd », который в предыдущей схеме подключался к пину «Gnd » Ардуино, в данной схеме не подключается. В моём примере, внешний источник питания 5 В, если ваше реле рассчитано на другое напряжение (3, 12 ,24 В), выбираете соответствующее внешнее питание.

Скетч для управления реле модулем через Ардуино.

Зальём в Ардуино скетч, который будет сам включать и отключать лампочку (мигалка).

int relayPin = 7;

void setup() {
pinMode(relayPin, OUTPUT);
}

void loop() {
digitalWrite(relayPin, LOW);
delay(5000);
digitalWrite(relayPin, HIGH);
delay(5000);
}

В строке int relayPin = 7; указываем номер цифрового пина Arduino , к которому подключали пин In1 реле модуля. Можно подключить на любой цифровой пин и указать его в этой строке.

В строке delay(5000); можно менять значение времени, при котором лампочка будет гореть и при котором будет погашена.

В строке digitalWrite(relayPin, LOW); указано, при подаче логического нуля (LOW ), реле-модуль замкнёт контакты и лампочка будет гореть.

В строке digitalWrite(relayPin, HIGH); указано, при подаче логической единицы (HIGH ), реле-модуль разомкнёт контакты и лампочка погаснет.

Как видим, в строке digitalWrite(relayPin, LOW); оставили параметр LOW . Если реле замкнёт контакты и лампочка загорится, значит на пин In1 вам нужно подавать логический нуль, как и у меня. Если лампочка не загорится, зальём скетч, в котором заменим параметр LOW на HIGH.


Результат скетча на видео.

Теперь давайте добавим в схему тактовую кнопку и при нажатии на неё, реле-модуль будет включать лампочку.

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

Заливаем скетч

В строкеif(digitalRead(14)==HIGH) задаём номер цифрового пина, на котором подключена кнопка. Подключать можно на любой свободный. В примере эта аналоговый пин A0 , его же можно использовать в качестве цифрового 14 пина.

В строке delay(300); задаётся значение в миллисекундах. Это значение указывает, через какое время после нажатия или отпускание кнопки, нужно производить действия. Это защита от дребезга контактов.

Для информации! Все аналоговые входы от A0 (нумеруется как 14) до A5 (19), можно использовать как цифровые (Digital PWM ).

В заключении результат выполнения скетча на видео.

Более дешёвые реле-модули могут не содержать в своей схеме оптрона, как например в моём случае с одноканальным модулем.



Схема одноканального реле-модуля . Производитель сэкономил на оптроне, из-за чего Ардуино плата лишилась гальванической развязки. Для работы такой платы, на пин In нужно подавать логический нуль.

Подключение реле модуля к Arduino Due.

Arduino Due работает от 3,3 вольт, это максимальное напряжение, которое может быть на его вводах / выводах. Если будет более высокое напряжение, плата может сгореть.

Возникает вопрос, как подключить к реле модуль?

Убираем перемычку JDVcc. Подключаем пин «Vcc » на плате реле модуля к пину «3,3V » Arduino. Если реле рассчитано на 5 вольт, соединяем пин «GND » платы реле модуля, с пином «GND » Arduino Due. Пин «JDVcc » подключаем к пину «5V » на плате Arduino Due. Если реле рассчитано на другое напряжение, то питание к реле подключаем как на рисунке, в примере это 5 вольт. Если у вас многоканальный реле модуль, пожалуйста проверьте что бы «JDVcc » подключен к одной стороне всех реле. Оптопара активируется сигналом 3,3 В, которая в свою очередь активирует транзистор, используемый для включения реле.

Твердотельное реле из симистора для коммутации мощной нагрузки через Ардуино

С помощью Ардуино. Но как быть, если мы задумаем управлять устройствами, подключенными к бытовой сети? Напомню, что даже небольшая настольная лампа питается от источника переменного тока с напряжением 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. Управление двигателем. Имея два трехконтактных реле, таких же как в этом уроке, можно собрать схему для изменения направления вращения двигателя.

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

Также часто читают:

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

Реле – это шлюз, который позволяет соединить вместе электрические цепи с совершенно разными параметрами. Обычный шлюз на реке соединяет водные каналы, расположенные на разной высоте, открывая или закрывая ворота. Реле в ардуино включает или выключает внешние устройства, определенным образом замыкая или размыкая отдельную электрическую сеть, в которую они подключены. С помощью ардуино и реле мы управляем процессом включения или выключения так же, как включаем или выключаем свет дома – подавая команду на замыкание или размыкание. Ардуино подает сигнал, само же замыкание или размыкание “мощной” цепи будет делать реле через специальные внутренние механизмы. Реле можно представить себе в виде дистанционного пульта, с помощью которого мы выполняем нужные действия с помощью относительно “слабых” сигналов.

Реле характеризуется следующими параметрами:

  • Напряжение или ток срабатывания.
  • Напряжение или ток отпускания.
  • Время срабатывания и отпускания.
  • Рабочие ток и напряжение.
  • Внутреннее сопротивление.

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

Электромагнитные и твердотельные реле

Электромагнитное реле

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

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

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

Классификация электромагнитных реле:

  • Управляющий ток может быть как постоянным, так и переменным. В первом случае устройство может быть нейтральным или поляризованным. Для переменного тока якорь выполняется из электротехнической стали, чтобы уменьшить потери.
  • Якорное или герконовое реле. Для якорного процесс замыкания и размыкания происходит при помощи перемещения якоря, для герконового характерно отсутствие сердечника, магнитное поле воздействует на электрод с контактами.
  • Быстродействие – до 50 мс, до 150 мс и от 1 с.
  • Зщитное покрытие – герметизированное, зачехленное и открытое.

По сравнению с полупроводниковыми устройствами электромагнитное реле обладает преимуществами – оно стоит недорого, коммутация большой нагрузки при небольшом размере устройства, малое выделение тепла на катушке. Из недостатков можно выделить медленное срабатывание, помехи и сложность коммутации индуктивных нагрузок.

Твердотельные реле

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

  • Долгий срок эксплуатации.
  • Быстродействие.
  • Малые размеры.
  • Отсутствуют посторонние шумы, акустические помехи, дребезги контактов.
  • Низкое потребление энергии.
  • Качественная изоляция.
  • Стойкость к вибрации и ударам.
  • Нет дугового разряда, что позволяет работать во взрывоопасных местах.

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

Твердотельные реле также имеют несколько недостатков. Во-первых, при коммутации происходит нагрев устройства. Повышение температуры устройства приводит к ограничению регулируемого тока – при температурах, превышающих 60 градусов, уменьшается величина тока, максимальная рабочая температура 80 градусов.

Твердотельные реле классифицируются по следующим признакам:

  • Тип нагрузки – однофазные и трехфазные.
  • Способ управления – коммутация происходит за счет постоянного напряжения, переменного или ручного управления.
  • Метод коммутации: контроль перехода через ноль (применяется для слабоиндуктивных, емкостных и резистивных нагрузок), случайное включение (индуктивные и резистивные нагрузки, которым необходимо мгновенное срабатывание) и фазовое управление (изменение выходного напряжения, регулировка мощности, управление лампами накаливания).

Реле в проектах Ардуино

Наиболее распространенное реле для платы Ардуино выполняется в виде модуля, например, SONGLE SRD-05VDC. Устройство управляется напряжением 5 В, может коммутировать до 10 А 30 В DC и 10 А 250 В AC.

Схема изображена на рисунке. Реле состоит из двух не связанных между собой цепей – управляющая цепь А1 и А2 и управляемая 1, 2 и 3.

Между А1 и А2 имеется металлический сердечник. Если пустить по нему электрический ток, к нему притянется якорь (2). 1, 3 – неподвижные контакты. При отсутствии тока якорь будет около контакта 3.

Подключение реле к Ардуино

Рассмотрим одноканальный модуль реле. Он имеет всего 3 контакта, подключаются они к Ардуино Uno следующим образом: GND – GND, VCC – +5V, In – 3. Вход реле – инвертирован, так что высокий уровень на In выключает катушку, а низкий – включает.

Светодиоды нужны для индикации – при загорании красного LED1 подается напряжение на реле, при загорании зеленого LED2 происходит замыкание. Когда включается микроконтроллер, транзистор закрыт. Для его открытия на базу нужен минус, подается при помощи функции digitalWrite(pin, LOW);. Транзистор открывается, протекает ток через цепь, реле срабатывает. Чтобы его выключить, на базу подается плюс при помощи digitalWrite(pin, HIGH);.



Загрузка...