Сайт о телевидении

Сайт о телевидении

» » Arduino подключение реле. Подключение модуля управления реле к плате Ардуино. Делаем свет по хлопку

Arduino подключение реле. Подключение модуля управления реле к плате Ардуино. Делаем свет по хлопку

Шилд блока реле 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);

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

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

Всем привет! Всё, что мы изучали до недавнего времени, были «учебными задачами». Пришло время поставить более серьёзную.

Микроконтроллер (далее – МК) может успешно управлять различными нагрузками (потребителями электроэнергии). Однако выполнять данные операции напрямую он не может. Поскольку напряжение, что протекает в сети на порядки отличается от напряжения, что в состоянии «выдать» МК.

В статье постарается разобраться со следующими пунктами:

  • подключение реле к МК (в нашем случае плата Arduino);
  • управление релейным модулем;
  • управление реальным потребителем электроэнергии;

Примечание: при работе с напряжением 220 В соблюдайте осторожность. Изолируйте все выполненные соединения. Перед включением в электросеть прозвоните мультиметром собранные стенд на предмет отсутствие короткого замыкания.

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

Управление модулем, на котором установлено реле осуществляется при помощи постоянного напряжения 5В. Модуль способен коммутировать 300 Вт (30В, 10А постоянки) и 2500 Вт (250В, 10А переменки).

Само реле состоит из двух цепей, что не связаны друг с другом. Первая цепь (управляющая) выводы А1, А2. Вторая цепь (управляемая) выводы 1, 2, 3.

Конструкция управляющей цепи следующая: между выводами А1 и А2 находится металлический сердечник, к которому в момент протекания по нему тока притягивается подвижный якорь 2. Выводы 1 и 3 неподвижны. Якорь фиксируется пружинной. В момент, когда ток не течёт по сердечнику, якорь прижат к контакту 3. Когда цепь замыкается и начинает протекать ток, якорь притягивается к контакту 1 и в этом момент звучит характерный «щелчок». После разрыва цепи пружина возвращает якорь на исходную позицию.

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

Контакты в реле делятся на два типа:

  • нормально закрытый (НЗ) (пара 1-2);
  • нормально открытый (НО) (пара 2-3).

По условию НЗ разомкнут (не звонится мультиметром накоротко), а НО замкнут (звонится мультиметром накоротко). Подключаем разрыв фазы на нормально закрытую пару контактов.

Индикация:

  • Красный светодиод извещает пользователя о том, что на модуль подано питание;
  • Зеленый светодиод извещает пользователя о том, что реле замкнуто.

Принцип работы модуля.

В момент, когда мы включаем МК, его выводы находятся в высокоимпедансном состоянии (очень большое сопротивление), соответственно транзистор закрыт. Для открытия транзистора необходимо подать низкий уровень сигнала, иными словами 0 (касается транзистора p-n-p типа). После этого транзистор открывается и через первую (управляющую) цепь начинает протекать ток, в этот момент мы слышим характерный «щелчок». Чтобы выключить реле, нужно подать высокий уровень сигнала на транзистор.

Распиновка выводов модуля:

  • VCC — «+» питание;
  • GND — «-» земля;
  • IN — входной сигнал, что «рулит» релюшкой.

Подключаем релюшку к Arduino :

  • VCC «кидаем» на вывод 5В платы arduino.
  • GND «кидаем» на один из выводов GND платы arduino.
  • IN «кидаем» на 13 вывод платы arduino.

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

Испытательный стенд состоит из трёх частей:

  • Линия питания;