Последние комментарии
-
09.03.2023 10:51
Спасибо!Драйвер установил,и все заработало.
-
25.01.2023 16:05
Спасибо. Хорошая статья. Хотелось бы увидеть как ...
-
21.01.2023 22:58
Доброго дня! Як можна замовити? І чи є схема або ...
-
05.05.2022 19:14
Спасибо автору, понял почему блинк не работал
-
21.04.2022 13:18
В моём случае он используется совместно с AGP ...
Самое читаемое
- Многофункциональный программатор на CH341A
- Переходник USB to TTL (RS232) YP-01 на чипе PL2303HX
- Знакомство с Arduino Pro mini на примере китайского аналога
- Подключаем мощную нагрузку к Arduino, через реле модуль
- Твердотельное реле из симистора для коммутации мощной нагрузки через Ардуино
- Знакомство с Arduino Micro (ATmega32U4) на примере китайского аналога Pro Micro
- Знакомство с Arduino Nano на примере китайского аналога
- Знакомство с Arduino UNO на примере китайского аналога
- Обход блокировки Одноклассников, Вконтакте, Яндекс и Маил.ру с помощью OpenVPN
- Управляем Arduino через Bluetooth HC-06, с компьютера или смартфона
Подключаем мощную нагрузку к Arduino, через реле модуль
Подключить на прямую к 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 UNO |
Vcc |
5V |
Gnd |
Gnd |
In1 |
Можно подключить на любой цифровой пин, в примере подключено на 7 пин. К какому пину будет подключен реле модуль, будет задаваться в скетче. |
Для питания реле модуля от 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), реле-модуль разомкнёт контакты и лампочка погаснет.
Если вы не знаете, при каком уровне сигнала (0 или 1) будет срабатывать ваш экземпляр модуля и нет желания разбираться как подключен оптрон на плате, можно определить экспериментально. Для этого заливаете в Ардуино немного упрощённый, вышепредставленный скетч.
Как видим, в строке digitalWrite(relayPin, LOW); оставили параметр LOW. Если реле замкнёт контакты и лампочка загорится, значит на пин In1 вам нужно подавать логический нуль, как и у меня. Если лампочка не загорится, зальём скетч, в котором заменим параметр LOW на HIGH.
Если лампочка загорится, значит на пин In1 вам нужно подавать логическую единицу. |
Результат скетча на видео.
Теперь давайте добавим в схему тактовую кнопку и при нажатии на неё, реле-модуль будет включать лампочку.
Кнопку подключаем вместе с подтягивающим резистором на 10к, который не позволит внешним наводкам влиять на работу схемы.
Заливаем скетч
int relayPin = 7; void setup() { pinMode(relayPin, OUTPUT); } void loop() { if(digitalRead(14)==HIGH)//если кнопка нажата { digitalWrite(relayPin, LOW); //на пине 7 Ардуино будео логический нуль и реле замкнёт нормально разомкнутые контакты. delay(300); } else//если кнопка не нажата { digitalWrite(relayPin, HIGH); //на пине 7 Ардуино будет логическая единица и реле разомкнёт нормально разомкнутые контакты. delay(300); } } |
В строке if(digitalRead(14)==HIGH) задаём номер цифрового пина, на котором подключена кнопка. Подключать можно на любой свободный. В примере эта аналоговый пин A0, его же можно использовать в качестве цифрового 14 пина.
В строке delay(300); задаётся значение в миллисекундах. Это значение указывает, через какое время после нажатия или отпускание кнопки, нужно производить действия. Это защита от дребезга контактов.
Для информации! Все аналоговые входы от A0 (нумеруется как 14) до A5 (19), можно использовать как цифровые (Digital PWM).
В заключении результат выполнения скетча на видео.
Более дешёвые реле-модули могут не содержать в своей схеме оптрона, как например в моём случае с одноканальным модулем.
Схема одноканального реле-модуля. Производитель сэкономил на оптроне, из-за чего Ардуино плата лишилась гальванической развязки. Для работы такой платы, на пин In нужно подавать логический нуль.
Подключение реле модуля к Arduino Due.
Arduino Due работает от 3,3 вольт, это максимальное напряжение, которое может быть на его вводах / выводах. Если будет более высокое напряжение, плата может сгореть.
Возникает вопрос, как подключить к Arduino Due реле модуль?
Убираем перемычку JDVcc. Подключаем пин «Vcc» на плате реле модуля к пину «3,3V» Arduino. Если реле рассчитано на 5 вольт, соединяем пин «GND» платы реле модуля, с пином «GND» Arduino Due. Пин «JDVcc» подключаем к пину «5V» на плате Arduino Due. Если реле рассчитано на другое напряжение, то питание к реле подключаем как на рисунке, в примере это 5 вольт. Если у вас многоканальный реле модуль, пожалуйста проверьте что бы «JDVcc» подключен к одной стороне всех реле. Оптопара активируется сигналом 3,3 В, которая в свою очередь активирует транзистор, используемый для включения реле.
Твердотельное реле из симистора для коммутации мощной нагрузки через Ардуино
Комментарии
По-умолчанию контакты «Vcc» и «JDVcc» замкнуты, это позволяет реле-модуль питать от Ардуино. Для питания модуля от отдельного источника, нужно контакты «Vcc» и «JDVcc» разомкнуть. Теперь контакт «JDVcc» подключить к плюсу внешнего источника питания, а к минусу «GND» пин модуля. Если у вас нет возле перемычки этого пина, то можно подключить минус внешнего источника питания к свободному «GND» пину, который находится возле пинов In1 - In4 реле-модуля.
С этими реле киловатт выдержит, больше, нужно другие реле.
Или может на тиристорах коммутировать, BTA41-600B может коммутировать нагрузку с током до 40А.
Спасибо, исправил.
У тебя индикатор ( скорее всего LCD16x2 ) работает от скетча, то есть программно. При этом инициализируетс я один раз (переключается в нужный режим), а main-цикл работает постоянно и отслеживается влажность, здесь же и включается насос при =сухости=. Значит идет помеха при включении реле и сбивает инициализацию, Ардуино здесь ни при чем
RSS лента комментариев этой записи