- Arduino и реле
- Описание
- Подключение
- Примеры
- Урок 8 — Подключаем реле к Arduino. Пример работы и скетч
- Подписывайтесь на мой канал на 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). Чисто логически удобнее использовать реле высокого уровня: подали высокий сигнал – реле включилось. Мы кстати разбирали реле вот в этом уроке. И вот в этом:
Подключение
Примеры
Для активации реле достаточно подать высокий сигнал (для реле из набора) на логический вход. Для примера и проверки подойдёт и классический пример “мигания светодиодом”:
Источник
Урок 8 — Подключаем реле к Arduino. Пример работы и скетч
Подключить реле к Arduino достаточно просто. Для примера мы будем использовать Скетч и подключения из урока: Урок2. Нажатие кнопки без ложных срабатываний.Устраняем дребезг кнопки
В схеме вместо светодиода с резистором подключим реле. Вот так выглядит схема подключения реле к Arduino UNO . К другим версиям например Arduino NANO схема не будет иметь отличий.
Как видим, схема не многим отключается от исходного примера.
Реле может управлять различными бытовыми приборами.
Пара фоток сделанных при снятии видео по данному уроку: Подключение реле к Arduino.
Скетч можно взять из Урок 2. Нажатие кнопки без ложных срабатываний. Устраняем дребезг кнопки без изменений.
Для более красивого и читабельного кода заменим переменную ledPin на relayPin . Так же заменим вспомогательную переменную ledOn на relayOn. У нас получиться вот такой скетч управления реле.
Вы должны понимать, что управлять реле можно и буз Arduino . Данный пример приведен для ознакомления.
Если подключить реле через кнопку с фиксацией . Вот по такой схеме.
То у нас все будет работать отлично. В качестве источника питания 5В можно использовать MICRO USB адаптер 5pin, при подключении от компьютера или адаптера. Так же можно подключить через понижающий трансформатор, например вот такой.
Вывод: Урок показывает как можно с помощью Arduino упровлять реле. Но в простых схемах управления реле использовать платформу Arduino или другой микроконтроллер не целесообразно.
Подписывайтесь на мой канал на Youtube и вступайте в группы в Вконтакте и Facebook.
Спасибо за внимание!
Понравилась статья? Поделитесь ею с друзьями:
Источник
Управление реле ардуино: скетч
В этой статье приведены разные варианты управления реле в скетчах ардуино. Примеры тестировались на Arduino Uno, но они могут быть легко применимы для работы на других платах Arduino: Uno, Mega, Nano.
Простой вариант скетча управления реле
Схема подключения
В данном примере используется стандартный модуль реле ардуино, на котором уже установлены все необходимые элементы для подключения к . Схема подключения очень проста: модуль реле присоединяется к 5 пину платы Ардуино. При этом для простоты мы можем даже не присоединять реальную нагрузку – реле будет щелкать при каждом изменении состояния, мы услышим эти щелчки и будем понимать, что скетч работает.
Скетч для работы с реле
Скетч управления реле с датчиком движения
В реальных проектах изменение состояния реле должно происходить в ответ на какую то реакцию среды. Например, в ответ на сигнал сработавшего датчика движения можно включить свет, замкнув цепь с помощью реле. В данном скетче мы рассмотрим такой вариант подключения.
Схема подключения реле
Следует понимать, что в реальных проектах обходятся вообще без ардуино – просто подключая сигнальный выход датчика к реле.
Пример скетча
В данном примере мы добавим в цикл loop проверку состояния PIR датчика с помощью функции digitalRead (). Если мы получаем HIGH, то это означает сработку датчика и мы выполняем действие – включаем реле. Если к нему присоединить лампочку, то она загорится. Но, как и в прошлом примере, можно просто послушать щелчки.
Источник
Управление реле одной кнопкой без фиксации ардуино
_________________
Сделать своими руками всегда интересней чем просто купить и пользоваться
Встал на лапы |
Карма: 9
Рейтинг сообщений: 17
Зарегистрирован: Вс ноя 01, 2015 00:09:59
Сообщений: 83
Рейтинг сообщения: 0
_________________ JLCPCB, всего $2 за прототип печатной платы! Цвет — любой! Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/cwc |
Вымогатель припоя |
Карма: 1
Рейтинг сообщений: 10
Зарегистрирован: Вс дек 30, 2012 00:32:06
Сообщений: 533
Откуда: Николаев / Украина
Рейтинг сообщения: 0
_________________ Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет |
Встал на лапы |
Карма: 9
Рейтинг сообщений: 17
Зарегистрирован: Вс ноя 01, 2015 00:09:59
Сообщений: 83
Рейтинг сообщения: 0
_________________ Последний раз редактировалось Core-X Пн дек 31, 2018 09:59:42, всего редактировалось 1 раз. |
Рассмотрим особенности, характеристики и технологии проектирования продукции RECOM: AC/DC-преобразователи для установки на плату и для внешнего монтажа, изолированные DC/DC-преобразователи, импульсные регуляторы и силовые модули, а также средства отладки для поддержки разработчиков и ускорения выхода разработок на рынок.
Собутыльник Кота |
Карма: 17
Рейтинг сообщений: 334
Зарегистрирован: Вс окт 24, 2010 16:02:46
Сообщений: 2935
Откуда: Ижевск
Рейтинг сообщения: 0
Создать интеллектуальный пожарный датчик, который будет не только оповещать о возгорании, а способен легко интегрироваться в системы умного дома или предприятия и выполнять ряд дополнительных действий, возможно с компонентами STMicroelectronics: высокопроизводительным радиочастотным трансивером S2-LP и малопотребляющим усилителем TSV629x. Рассмотрим подробнее это решение, отладочные комплекты и программный пакет ST. |
Друг Кота |
Карма: 88
Рейтинг сообщений: 1091
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 12550
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 0
Друг Кота |
Карма: 90
Рейтинг сообщений: 1856
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4120
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Собутыльник Кота |
Карма: 17
Рейтинг сообщений: 334
Зарегистрирован: Вс окт 24, 2010 16:02:46
Сообщений: 2935
Откуда: Ижевск
Рейтинг сообщения: 0
Вымогатель припоя |
Карма: 1
Рейтинг сообщений: 10
Зарегистрирован: Вс дек 30, 2012 00:32:06
Сообщений: 533
Откуда: Николаев / Украина
Рейтинг сообщения: 0
_________________ Кто сейчас на форумеСейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14 Источник Работа с кнопкамиКнопка является простейшим устройством, при помощи которого можно управлять ходом программы на микроконтроллере, но физически она выполняет очень простую функцию: замыкает и размыкает контакт. Кнопки бывают нескольких типов:
Подключение и подтяжкаИз урока про цифровые пины вы помните, что микроконтроллер может считывать напряжение со своей ноги. Соответственно кнопка может подать на пин тот уровень, к которому подключена её вторая нога. В том же уроке мы обсуждали, что не подключенный никуда цифровой пин принимает наводки из воздуха, и считанное с него значение будет практически случайным. То есть подключив к пину 5V (сигнал высокого уровня) через кнопку, мы ничего не добьёмся: при нажатой кнопке на пине будет считываться четкий сигнал высокого уровня, а при отпущенной – случайное значение. Для решения этой проблемы существует такое понятие, как подтяжка (pull) пина. Подтяжка выполняется к земле (pull down) или питанию (pull up) микроконтроллера при помощи резистора. Подтяжка выполняется противоположно принимаемому сигналу, т.е. если нужно ловить высокий сигнал, подтяжка выполняется к земле, если ловить нужно сигнал земли – подтяжка выполняется к питанию. Вот два варианта подключения кнопки, с подтяжкой к VCC и GND соответственно: Как выбирается сопротивление резистора? Тут всё очень просто: при нажатии на кнопку через резистор потечёт ток, так как в любом случае замыкается цепь питание-земля. Чем выше ток, больше потери энергии и нагрев резистора, а это никому не нужно, поэтому сопротивление резистора подтяжки обычно выбирается в диапазоне 5-50 кОм. Если ставить больше – подтяжка может не обеспечить стабильный уровень сигнала на пине, а если ставить меньше – будут больше потери энергии в нагрев резистора: при сопротивлении в 1 ком через него потечёт ток величиной 5 В/1000 Ом = 5 мА, для сравнения плата Ардуино с МК в активном режиме потребляет 20-22 мА. Чаще всего для подтяжки используется резистор на 10 кОм. Как вы помните из урока о цифровых пинах, у МК AVR есть встроенные резисторы для всех GPIO, эти резисторы подключены к питанию (к VCC), то есть буквально дублируют первую схему из этого урока и позволяют не использовать внешний резистор. У микроконтроллеров другой архитектуры бывает подтяжка к GND, или вообще может не быть внутренней подтяжки. При использовании подтяжки к питанию мы получим инвертированный сигнал – функция digitalRead() вернёт 1 при отпущенной кнопке, и 0 при нажатой (при использовании нормально-разомкнутой кнопки). Давайте подключим кнопку на пин D3 (и GND): АлгоритмыОтработка нажатияВ большинстве реальных применений работать с текущим состоянием кнопки очень неудобно, например когда действие должно быть выполнено однократно при нажатии на кнопку, т.е. по клику. Чуть усложним конструкцию, добавив один флаг, который будет помнить состояние кнопки. Такая конструкция позволяет отслеживать нажатие и отпускание кнопки и реагировать на них однократно: Дребезг контактовКнопка не идеальна, и контакт замыкается не сразу, какое-то время он “дребезжит”. Прогоняя данный алгоритм, система опрашивает кнопку и условия приблизительно за 6 мкс, то есть кнопка опрашивается 166’666 раз в секунду! Этого достаточно, чтобы получить несколько тысяч ложных срабатываний. Избавиться от дребезга контактов можно как аппаратно, так и программно: аппаратно задача решается при помощи RC цепи, то есть резистора ( 100nF). Выглядит это следующим образом: Программно можно ввести простейший таймер нажатия, основанный на millis() , время гашения дребезга примем 100 миллисекунд. Вот так будет выглядеть код: Рекомендуется конечно же использовать аппаратный способ, так как он не нагружает ядро лишними расчетами. В 99.99% проектов будет достаточно программного антидребезга, так то смело используйте конструкцию с millis() . “Импульсное” удержаниеВ устройствах с управлением кнопкой очень часто бывает нужна возможность изменения значения как однократно кликом по кнопке, так и “автоматически” с тем же шагом – при удержании. Такой вариант реализуется очень просто, добавлением ещё одного условия в наш предыдущий алгоритм, а именно: если кнопка была нажата, но ещё не отпущена, и прошло времени больше, чем задано – условие вернёт true . В примере ниже периодичность “нажатий” при удержании настроена на 500 миллисекунд (2 раза в секунду): Пользоваться таким кодом напрямую будет неудобно, поэтому можно “обернуть” его в класс (читай урок про классы и урок про написание библиотек). Простейший класс кнопкиВот так предыдущий пример можно сделать классом (мы делали это вот в этом уроке), положить его в отдельный файл (button.h) и пользоваться: Другие возможности кнопкиКнопка только с виду кажется простым устройством, дающим 0 и 1, но, подключив фантазию и время, можно придумать гораздо больше применений обычной кнопке. В моей библиотеке GyverButton реализовано очень много всяких интересных возможностей по работе с кнопкой, вот список:
Подробное описание библиотеки можно почитать в заголовочном файле на странице библиотеки, также там есть много примеров. Аналоговые клавиатурыАналоговые клавиатуры – достаточно глубокая тема, достойная отдельного урока (у меня его пока что нет). Максимально подробный урок-исследование можно посмотреть на сайте Codius. Видео
Источник Adblockdetector |