Сколько реле можно подключить к ардуино
Перейти к содержимому

Сколько реле можно подключить к ардуино

  • автор:

Arduino.ru

Можно ли подключить два Relay Slield к одной Arduino Uno?

  • Войдите на сайт для отправки комментариев

Сб, 27/09/2014 — 08:56

TaurusFox аватар

Зарегистрирован: 20.09.2014

Нужно управлять восемью реле, для чего хочу использовать две платы Relay Shield. Потянял ли их одна Arduino Uno?

  • Войдите на сайт для отправки комментариев

Сб, 27/09/2014 — 09:09

Puhlyaviy аватар

Зарегистрирован: 22.05.2013
TaurusFox пишет:

Нужно управлять восемью реле, для чего хочу использовать две платы Relay Shield. Потянял ли их одна Arduino Uno?

я вам щас открою страшную тайну. если пороетесь то найдете плату на которой сразу 16 реле распаяны и они легко управляются с уно.

  • Войдите на сайт для отправки комментариев

Сб, 27/09/2014 — 09:25

TaurusFox аватар

Зарегистрирован: 20.09.2014

Да, что-то я и не подумал, что такие бывают. )) Спасибо за раскрытие великой (для меня) тайны. ;))

  • Войдите на сайт для отправки комментариев

Сб, 27/09/2014 — 14:27

Jeka_M аватар

Зарегистрирован: 06.07.2014
TaurusFox пишет:

Нужно управлять восемью реле, для чего хочу использовать две платы Relay Shield. Потянял ли их одна Arduino Uno?

К ардуино можно подключать столько реле, сколько хватит свободных портов. НО! питание реле (VCC, GND) обязательно отдельное, не от ардуины. От ардуины только сигнальные провода (IN1, IN2 и т.д.).

UPD: Земли (GND) отдельного питания и ардуины нужно соединить.

  • Войдите на сайт для отправки комментариев

Твердотельные реле SSR: руководство по использованию

Используйте твердотельные реле для управления мощной нагрузкой с помощью Arduino, Raspberry Pi и других микроконтроллеров.

Релейные модули помогут коммутировать ТЭН в DIY-электрочайнике, включать/отключать освещение или рулить однофазным электрическим двигателем.

Список моделей

Модель Количество каналов Управляющее напряжение Коммутируемое напряжение Коммутируемый ток
SSR-1 D4810 1 3–32 В DC 24–480 В AC 10 А
SSR-1 D4825 1 3–32 В DC 24–480 В AC 25 А
SSR-1 D4840 1 3–32 В DC 24–480 В AC 40 А

Общие сведения

Твердотельное реле SSR (англ. Solid State Relay) — это электронный рубильник, который коммутирует силовое напряжение с помощью слаботочного. Это даёт возможность внешним контроллерам, например Arduino или Raspberry Pi, управлять мощными бытовыми приборами. При этом электрическая связь между управляющей электроникой и коммутируемой нагрузкой отсутствует — никакие помехи не повлияют на работу девайса.

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

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

Твердотельные реле семейства SSR-1 DA — это однофазные полупроводниковые реле с контролем управления перехода тока через ноль (Zero Cross Circuit). При подаче управляющего сигнала, блок управления реле производит коммутацию выходных контактов, только когда фаза синусоидального напряжения питающей сети переходит через ноль. Это позволяет уменьшить начальный бросок тока, снизить уровень создаваемых электромагнитных помех и увеличить срок службы коммутируемых устройств.

Relay Solid State SSR Info 2

Примеры работы

Рассмотрим несколько примеров работы с твердотельным реле.

Простой коммутатор

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

Что понадобится

  • 1× Твердотельное реле SSR-1 D4810
  • 1× Переключатель
  • 4× Батарейка AA
  • 1× Батарейный отсек 4×AA
  • 1× Патрон E27 с выходной вилкой 220 В
  • 1× Лампа на 220 В с цоколем E27

Схема устройства

Relay Solid State SSR Example 1

Результат работы

При переключении состояния маленького тумблера → управляющие напряжение поступает на управляющие контакты реле → происходит коммутация выходных контактов реле → бытовая лампочка включается или выключается.

Пример работы с Arduino

Автоматизируем процесс, вместо ручного управления заставим реле коммутировать контакты по заданному алгоритму. На роль контроллера для работы с твердотельным реле рассмотрим платформу Arduino Uno.

Что понадобится

  • 1× Твердотельное реле SSR-1 D4810
  • 1× Arduino Uno
  • 1× Кабель USB (A — B)
  • 1× Соединительные провода «папа-папа» (65 шт.)
  • 1× Патрон E27 с выходной вилкой 220 В
  • 1× Лампа на 220 В с цоколем E27

Схема устройства

Relay Solid State SSR Example 3

Программная настройка

Исходный код

// GPIO пин к которому подключено реле constexpr auto PIN_RELAY = 4; void setup() < pinMode(PIN_RELAY, OUTPUT); >void loop() < // Подаём на реле «высокий» уровень digitalWrite(PIN_RELAY, HIGH); // Ждём 1000 мс delay(1000); // Подаём на реле «низкий» уровень digitalWrite(PIN_RELAY, LOW); // Ждём 1000 мс delay(1000); >

Результат работы

После прошивки Arduino, бытовая лампочка будет менять своё состояние каждую секунду.

Элементы платы

Relay Solid State SSR Annotation

Силовые контакты

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

Контакт Функция Подключение
1 Клемма подключения нагрузки или силового питания. Подключите к нагрузке или силовому питанию.
2 Клемма подключения нагрузки или силового питания. Подключите к нагрузке или силовому питанию.

Управляющие контакты

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

Контакт Функция Подключение
3 Клемма подключения управляющего напряжения (+). Подключите к плюсу управляющего напряжения.
4 Клемма подключения управляющего напряжения (−). Подключите к минусу управляющего напряжения или земле.

Индикаторный светодиод

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

  • Горит: на управляющих контактах присутствует напряжение → силовые контакты реле замкнуты.
  • Не горит: на управляющих контактах отсутствует напряжение → силовые контакты реле разомкнуты.

Габаритный чертёж

Relay Solid State SSR Dimensions

Ресурсы

  • Твердотельные реле в магазине:
    • SSR-1 D4810 (DC-AC / 10 А)
    • SSR-1 D4825 (DC-AC / 25 А)
    • SSR-1 D4840 (DC-AC / 40 А)

    Управление реле с компьютера при помощи Arduino и bluetooth.

    Сегодня в проекте рассмотрим беспроводное управление реле с компьютера при помощи Arduino NANO и bluetooth модуля hc-06. Приложение для компьютера сделал в программе Processing. Не смотря на свой простой дизайн приложения можно использовать для управления от 1 до 5 реле. Для этого достаточно в приложении и в прошивке для Arduino изменить одну переменную. При этом в интерфейсе приложения будет отображать нужное количество кнопок управления и сопутствующей информации.

    Описание программы для управления реле с компьютера при помощи Arduino и bluetooth.

    Пред тем как делать программу, нужно определиться с её функциями и возможностями. По планам, мое приложение для ПК должно иметь кнопку включения и выключения реле или светодиода. Изначально планировал сделать по 2 кнопки управления, одна включает, вторая выключает реле. Но потом понял, что гораздо нагляднее будет сделать 1 кнопку для управления реле и вывести статус «включено» или «выключено» реле. В итоге получился вот такой интерфейс.

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

    Чтобы сделать программу более функциональной, решил изменить количество управляемого оборудования. Для этого достаточно поменять 1 значение в коде и количество элементов меняется от 1 до 5.

    Описание программы для управления реле с компьютера при помощи Arduino и bluetooth.

    При нажатии на кнопку происходит изменение цвета обводки. Что наглядно отображает работу кнопки. А также при смене состояния реле меняется цвет шрифта на кнопке и изменяется статус: ВКЛ или ВЫКЛ.

    Это мое первое приложение, сделанное в Processing, поэтому прошу строго не судить. Если вдруг увидите костыли, прошу указать на более правильное решение. Оставляйте ваши предложения в «Комментариях».

    Для проекта понадобиться следующая электроника:

    Описание кода Processing IDE для создания программы управления Arduino.

    Сначала подключаем библиотеку для работы с последовательным портом и создадим объект, чтобы включить последовательное соединение, а также создадим массив для хранения статуса реле. Самая важная переменная это int n = 5; Отвечающая за количество управляемых реле.

    boolean flag[] = new boolean[n]; boolean flagOld[] = new boolean[n]; int step = 70; void setup() < size(450, 480); myPort = new Serial(this, "COM18", 9600); // Запускает последовательное соедениние myPort.bufferUntil('\n'); // Определяет, до какого символа будут считываться данные с последовательного порта. Символ "\n" или "Новая строка" >

    В разделе настройки нам нужно установить размер окна программы и запустить последовательное соединение. Что касается номера COM-порта. Необходимо перейти в раздел «Панель управления\Оборудование и звук\Устройства и принтеры».

    Панель управления\Оборудование и звук\Устройства и принтеры

    Посмотреть свойства вашего устройства, нажав на иконку правой кнопкой мыши и выбрав в выпадающем меню «Свойства».

    Посмотреть свойства вашего устройства, нажав на иконку правой кнопкой мыши

    В открывшемся окне переходим на вкладку «Службы». Тут мы увидим «Последовательный порт», в моем случае это «COM18». У вас будет другой.

    увидим «Последовательный порт», в моем случае это «COM18»

    В основной функции draw (), которая постоянно повторяется, мы делаем всю графику и функции программы. Итак, сначала нам нужно установить цвет фона, цвет заливки, размер и цвет обводки, а затем с помощью функции rect () рисуем кнопку. Используя функцию text (), мы выводим весь текст, включая строку ledStatus.

    background(227, 230, 231); textSize(26); fill(20, 160, 133); text("Управление реле с компьютера", 15, 35); textSize(24); fill(33); text("№", 12, 80); text("Реле", 80, 80); text("Состояние", 230, 80); textSize(24); fill(33); text(i+1, 12, 135+i*step); fill(20, 160, 133); // Зеленый Цвет stroke(33); strokeWeight(1); rect(50, 100+i*step, 150, 50, 10); fill(255); textSize(28); text("Включить", 60, 135+i*step);

    Теперь осталось сделать кнопки работоспособными. Для этого используем оператор «if», при нажатии кнопки символ команды будет отправлен через последовательный порт на Arduino, и это включит или выключит реле. Следующие строки используются для выделения кнопки при ее нажатии.

    // Если нажата кнопка if (mousePressed && mouseX>50 && mouseX100+i*step && mouseY <150+i*step) < // Выделяет кнопки красным цветом при нажатии stroke(255, 0, 0); strokeWeight(3); noFill(); rect(50, 100+i*step, 150, 50, 10); if (!flagOld[i]) < flag[i] = !flag[i]; flagOld[i] = true; int s; if (flag[i]) s = i; else s = i+n; myPort.write(str(s)); // Посылает символ >> else

    Изменения значения flag в массиве, изменяет состояние кнопки и статуса которые выводим ниже.

    if (flag[i]) < fill(20, 160, 133); // Зеленый Цвет stroke(33); strokeWeight(1); rect(50, 100+i*step, 150, 50, 10); fill(255); textSize(26); text(onButton, 60, 135+i*step); ledStatus[i] = "ВКЛ."; >else < fill(20, 160, 133); // Зеленый Цвет stroke(33); strokeWeight(1); rect(50, 100+i*step, 150, 50, 10); fill(255, 255, 0); textSize(26); text(offButton, 60, 135+i*step); ledStatus[i] = "ВЫКЛ."; >

    И для вывода определённого количества элементов управления необходим цикл.

    for (int i=0; i

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

    Схема подключения модуля с четырьмя реле и bluetooth hc-06 к Arduino.

    Схема подключения модуля с четырьмя реле и bluetooth hc-06 к Arduino.

    Подключить реле можно в количестве от 1 до 5 шт. На схеме приведен пример подключения модуля с 4 реле и bluetooth hc-06 к Arduino. Вы можете использовать другое количество реле и другой модуль bluetooth. А также подключить твердотельное реле. В связи с тем, что твердотельное реле чаще всего высокоуровневое, в прошивке есть переменная, отвечающая за выбор логического уровня реле.

    Пример исходного кода Arduino управления реле по Bluetooth.

    Пример исходного кода Arduino управления реле по Bluetooth.

    В связи с тем, что программа для ПК получилась универсальная и можно изменять количество управляемых реле. Скетч для Arduino нужно также сделать максимально универсальным.

    Первым делом подключим библиотеку для создания программного Serial порта. И укажем переменные, к которым подключим модуль Bluetooth.

    #include const int rx = 3; const int tx = 4; SoftwareSerial mySerial (rx, tx);

    Также в скетче я предусмотрел настройки для изменения типа рел. Значение 1 – позволит управлять реле высокого уровня. Значение 0 – в свою очередь позволит управлять реле низкого уровня.

    const bool level = 1; // 1 - реле высокого уровня 0 - реле низкого уровня int relay_num = 4; // количество реле 1-5 int sdvig_pin = 5; // начальный пин подключения

    Следующие 2 переменные определяют, сколько реле мы планируем подключить и номер пина, с которого будет вестись подключение. Соответственно, если мы начинаем с 5 pin и подключим 2 реле, это означает, что реле нужно будет подключить к пинам 5,6. Если нам нужно подключить 4 реле, то для этого будем использовать уже pin 5,6,7,8. И так далее.

    Это основные настройки которые нужно знать. Всю программу разбирать не буду. Если вы разбираетесь в программировании, то вы без труда в ней разберётесь. Также в программе есть один костыль. Если у вас есть решение как его исправить пишите в комментариях.

    Беспроводное управление светом с 2 мест с помощью bluetooth и переключателя.

    Есть у меня на сайте проект, в котором я рассказываю, как можно управлять светом с 3 мест с помощью: Пульта ДУ, Радиопульта, Переключателя. Данное управление можно переделать. И вместо или помимо Пульт ДУ + Радиопульт подключить bluetooth. И управлять освещением еще и с компьютера. Достаточно удобно! Давайте рассмотрим, как это сделать.

    Схема подключения Arduino NANO, bluetooth модуля hc-06 и модуля с двумя реле.

    Схема подключения Arduino NANO, bluetooth модуля hc-06 и модуля с двумя реле.

    Как видим, схема изменилась не сильно и управлять также можно с ПК и с помощью переключателей.

    Приложение для компьютера с двумя кнопками управления будет выглядеть следующим образом.

    Приложение для компьютера с двумя кнопками управления будет выглядеть следующим образом.

    Описание работы управлением светом с компьютера по bluetooth.

    Как видим на фото ниже, вместо радиоуправления подключил bluetooth модуль hc-06. Код использую тот же, что привел выше безо всяких изменений. Только указал нужное количество реле и тип сигнала низкого уровня. После чего можно приступать к управлению светом, включать с компьютера посредством беспроводной связи по bluetooth и переключателя, который можно установить в монтажную коробку как обычный выключатель.

    писание работы управлением светом с компьютера по bluetooth.

    Вариант отличный, но имеет ряд минусов, о которых я рассказывал в проекте про управление светом с 3 мест.

    Вариант отличный, но имеет ряд минусов, о которых я рассказывал в проекте

    Подведём итог.

    Управление реле с компьютера, скорее всего не очень востребовано, так как мы редко нуждаемся в управлении светом за компьютером. Хотя… Это возможно только мое мнение!

    В свези с тем, что это мое первое приложение для компьютера учтены не все моменты и имеются некоторые недочеты. Также есть смысл сделать управление реле по Wi-fi. Жду ваши мнение и предложения.

    Понравился проект Управление реле с компьютера при помощи Arduino и bluetooth? Не забудь поделиться с друзьями в соц. сетях.

    А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

    Спасибо за внимание!

    Технологии начинаются с простого!

    Arduino и реле

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

    В наборе идёт красный модуль с настройкой логического уровня (жёлтый джампер-перемычка между буквами H и L). В центре – самый дешёвый модуль с минимальной обвязкой, высокого уровня. И справа – тоже неплохой модуль, но низкого уровня, что не всегда удобно использовать. Примечание: реле высокого уровня переключается при высоком сигнале на логический вход, а низкого – низком. Все модули реле имеют три пина на одном конце и три на другом:

    Слева находятся пины питания и управления самого реле:

    • VCC (DC+, +) – питание
    • GND (DC-, -) – “земля”
    • IN (S) – логический управляющий сигнал

    Справа находятся выходы самого реле, это одна контактная группа с переключением:

    • COM (Common) – общий контакт
    • NO (Normal Open) – нормально разомкнутый относительно COM контакт
    • NC (Normal Close) – нормально замкнутый относительно COM контакт

    Работает это следующим образом: само реле (синяя коробочка на плате) питается от VCC и GND и подключается на питание схемы, так как реле потребляет около 60 мА при переключении. Но управляется реле логическим сигналом от микроконтроллера, который подаётся на пин IN. На выходе реле наблюдается следующая картина: у неактивного реле замкнуты контакты COM и NC. При активации реле контакт переключается и COM замыкается с NO.

    Реле высокого уровня будет включаться и потреблять ток при подаче высокого сигнала (5, 3.3V), а низкого – при подаче низкого (GND, 0V). Чисто логически удобнее использовать реле высокого уровня: подали высокий сигнал – реле включилось. Мы кстати разбирали реле вот в этом уроке. И вот в этом:

    Подключение

    Примеры

    Для активации реле достаточно подать высокий сигнал (для реле из набора) на логический вход. Для примера и проверки подойдёт и классический пример “мигания светодиодом”:

    #define RELAY_IN 2 void setup() < // пин реле как выход pinMode(RELAY_IN, OUTPUT); >void loop() < // "мигаем" digitalWrite(RELAY_IN, HIGH); delay(1000); digitalWrite(RELAY_IN, LOW); delay(1000); >

    Домашнее задание

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

    Связанные уроки

    • Управление мощной нагрузкой
    • Цифровые пины

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *