- Определяем наличие сети 220В при помощи оптопары для Arduino
- Выбор платы для контроля 220В.
- Как работают изолированные оптопары.
- Как использовать плату для контроля 220В при помощи Arduino.
- Проблемы.
- Как с помощью Ардуино безопасно управлять нагрузкой на напряжении 220 вольт
- Как подключить оптоизолятор к Arduino
- 1 Что такое оптопараи в каких случаях её применяют
- 2 Описание оптопары на микросхеме TLP281-4
Определяем наличие сети 220В при помощи оптопары для Arduino
Задача проверки наличия 220в появилась для диспетчеризации работы теплого пола.
Необходимо определять — подано ли напряжение на сервоприводы клапанов коллектора теплого пола.
Определив моменты открытия/закрытия направлений отопления водяным теплым полом, можно уже вести статистику и передавать значения на сервер.
Выбор платы для контроля 220В.
Существуют в продаже специальные платы.
На вход подается исследуемая на наличие 220В линия, а на выходе будет 0 или +5В.
Выход можно подключить к аналоговым входам платы Arduino и на основе полученных значений уже совершать требуемые действия.
Бывают три вида плат с разным количеством измеряемых каналов: 1, 3, 8 — по цене 120, 320 и 622р соответственно.
Мне нужно контролировать наличие 220В нескольких направлений, поэтому заказал плату на 8 каналов.
Как работают изолированные оптопары.
Для начала необходимо выяснить — как же работает плата AC 220V 8 Channel MCU TTL Level 8 Ch Optocoupler Isolation Test Board Isolated Detection Tester Module PLC Processors.
Подключим ее к контроллеру Arduino Uno WiFi и посмотрим что будет на аналоговом входе при подаче 220В.
Пока на соответствующем контролируемом направлении сетевое питание отсутствует, на аналоговом входе Arduino мы наблюдаем значение 1023:
После подачи напряжения значение на аналоговом входе фиксируется на уровне 17-20:
Конечно имеет место переходный процесс:
Как использовать плату для контроля 220В при помощи Arduino.
Нам не нужно аналоговое значение, а нужно бинарное значение: ВКЛ/ВЫКЛ.
Получить это значение можно при помощи такого кода:
Переходный процесс линейный, поэтому можно ставить простой программный ключ без отсечки дребезга.
Возможно нужно добавить область неопределенности
Но в моем случае это лишне усложнит код, а работает и так.
Проблемы.
Ну а куда же без них.
Очень долго выявлял проблему, возникшую при практическом решении задачи передачи данных о работе коллектора теплых полов на сервер.
Там я контролировал питание 4-х головок-актуаторов направлений и питание насоса.
В зависимости от ситуации бывали моменты, когда плата зависала.
Исследования показали, что плата не зависала, а прекращался обмен по Serial, если включались направления, висящие на 4 и 5 аналоговых входах Arduino.
Помогла выяснить причину смена полярности подключения VSS,GND платы с оптронами к Arduino UNO.
Раньше подключение было: VSS-5.0V, GND-GND.
Теперь подключил наоборот: GND-VSS, 5.0V-GND.
После этой смены значения аналоговых входов A1-A3 стали таки зависеть от сигнала:
Значения же A4,A5 не менялись и не зависели от сигнала.
Вот листинг вывода значений A1-A5, иллюстрирующий ситуацию:
В последних показаниях все направления включены, но выходы A4,A5 показывают иные значения, чем A1-A3.
В первых строчках направления для A4,A5 и направление A1 выключены, но показания A4,A5 постоянны.
Причем причина была не в плате с оптронами, а именно в Arduino — перестановка пина A3 на направления с пинов A4,A5 показывало, что каналы платы с оптронами работают одинаково.
Причем так же вела себя и совсем другая Arduino, что, вероятно, означает что тут я делаю что-то не так, а не Arduino такая.
Решать проблему не стал и обошёлся нормальными входами A0-A3.
В экспериментах я использовал входы A1-A4 для контроля направлений и вход A5 для контроля насоса.
Перенес контроль направлений на входы A0-A3, а от контроля насоса отказался.
Вернул полярность подключения в исходную и при не задействованных A4, A5 все работает нормально.
Источник
Как с помощью Ардуино безопасно управлять нагрузкой на напряжении 220 вольт
Для системы «Умный дом» основной задачей является управление бытовыми приборами с управляющего устройства будь то микроконтроллер типа Ардуино, или микрокомпьютер типа Raspberry PI или любое другое. Но сделать этого напрямую не получится, давайте разберемся как управлять нагрузкой 220 В с Ардуино.
Для управления цепями переменного тока средств микроконтроллера недостаточно по двум причинам:
1. На выходе микроконтроллера формируется сигнал постоянного напряжения.
2. Ток через пин микроконтроллера обычно ограничен величиной в 20-40 мА.
Мы имеем два варианта коммутации с помощью реле или с помощью симистора. Симистор может быть заменен двумя включенными встречно-параллельно тиристорами (это и есть внутренняя структура симистора). Давайте подробнее рассмотрим это.
Управление нагрузкой 220 В с помощью симистора и микроконтроллера
Внутренняя структура симистора изображена на картинке ниже.
Тиристор работает следующим образом: когда к тиристору приложено напряжение в прямом смещении (плюс к аноду, а минус к катоду) ток через него проходить не будет, пока вы не подадите управляющий импульс на управляющий электрод.
Я написал импульс не просто так. В отличие от транзистора тиристор является ПОЛУУПРАВЛЯЕМЫМ полупроводниковым ключом. Это значит, что при снятии управляющего сигнала ток через тиристор продолжит протекать, т.е. он останется открытым. Чтобы он закрылся нужно прервать ток в цепи или сменить полярность приложенного напряжения.
Это значит, что при удержании положительного импульса на управляющем электроде нужно тиристор в цепи переменного тока будет пропускать только положительную полуволну. Симистор может пропускать ток в обоих направлениях, но т.к. он состоит из двух тиристоров подключенных навстречу друг другу.
Управляющие импульсы по полярности для каждого из внутренних тиристоров должны соответствовать полярности соответствующей полуволны, только при выполнении такого условия через симистор будет протекать переменный ток. На практике такая схема реализована в распространенном симисторном регуляторе мощности.
Как я уже сказал микроконтроллер выдает сигнал только одной полярности, для того чтобы согласовать сигналу нужно использовать драйвер построенный на оптосимисторе.
Таким образом, сигнал включает внутренний светодиод оптопары, она открывает симистор, который и подает управляющий сигнал на силовой симистор T1. В качестве оптодрайвера может быть использован MOC3063 и подобные, например, на фото ниже изображен MOC3041.
Zero crossing circuit – цепь детектора перехода фазы через ноль. Нужна для реализации разного рода симисторных регуляторов на микроконтроллере.
Если схема и без оптодрайвера, где согласование организовано через диодный мост, но в ней, в отличие от предыдущего варианта нет гальванической развязки. Это значит, что при первом же скачке напряжения мост может пробить и высокое напряжение окажется на выводе микроконтроллера, а это плохо.
При включении/выключении мощной нагрузки, особенно индуктивного характера, типа двигателей и электромагнитов возникают всплески напряжения, поэтому параллельно всем полупроводниковым приборам нужно устанавливать снабберную RC цепь.
Научитесь разрабатывать устройства на базе микроконтроллеров и станьте инженером умных устройств с нуля: Инженер умных устройств
Реле и А рдуино
Для управления реле с А рдуино нужно использовать дополнительный транзистор для усиления тока.
Обратите внимание, использован биполярный транзистор обратной проводимости (NPN-структура), это может быть отечественный КТ315 (всеми любимый и всем известный). Диод нужен для гашения всплесков ЭДС самоиндукции в индуктивности, это нужно чтобы транзистор не вышел из строя от высокого приложенного напряжения. Почему это возникает, объяснит закон коммутации: «Ток в индуктивности не может измениться мгновенно».
А при закрытии транзистора (снятии управляющего импульса) энергии магнитного поля накопленной в катушке реле необходимо куда-то деваться, поэтому и устанавливают обратный диод. Еще раз отмечу, что диод подключен в ОБРАТНОМ направлении, т.е. катодом к плюсу, анодом к минусу.
Такую схему можно собрать своими руками, что значительно дешевле, плюс вы можете использовать реле, рассчитанное на любое постоянное напряжение.
Или купить готовый модуль или целый шилд с реле для Ардуино :
На фото изображен самодельный шилд, кстати, в нем использованы для усиления тока КТ315Г, а ниже вы видите такой же шилд заводского исполнения:
Это 4-канальные шилды, т.е. вы можете включать целых четыре линии 220 В. Подробно о шилдах и реле мы уже выкладывали статью на сайте — Полезные шилды для Ардуино
Схема подключения нагрузки на напряжении 220 В к Ардуино через реле:
Заключение
Безопасное управление нагрузкой переменного тока подразумевает прежде всего безопасность для микроконтроллера вся описанная выше информация справедлива для любого микроконтроллера, а не только платы Ардуино .
Главная задача – обеспечить нужные напряжение и ток для управления симистором или реле и гальваническая развязка цепей управления и силовой цепи переменного тока.
Кроме безопасности для микроконтроллера, таким образом, вы подстраховываете себя, чтобы при обслуживании не получить электротравму. При работе с высоким напряжением нужно соблюдать все правила техники безопасности, соблюдать ПУЭ и ПТЭЭП.
Эти схемы можно использовать и для управления мощными пускателями и контакторами. Симисторы и реле в таком случае выступают в роли промежуточного усилителя и согласователя сигналов. На мощных коммутационных приборах большие токи управления катушкой и зависят непосредственно от мощности контактора или пускателя.
Любите умные гаджеты и DIY? Станьте специалистом в сфере Internet of Things и создайте сеть умных гаджетов!
Записывайтесь в онлайн-университет от GeekBrains:
Изучить C, механизмы отладки и программирования микроконтроллеров;
Получить опыт работы с реальными проектами, в команде и самостоятельно;
Получить удостоверение и сертификат, подтверждающие полученные знания.
Starter box для первых экспериментов в подарок!
После прохождения курса в вашем портфолио будет: метостанция с функцией часов и встроенной игрой, распределенная сеть устройств, устройства регулирования температуры (ПИД-регулятор), устройство контроля влажности воздуха, система умного полива растений, устройство контроля протечки воды.
Вы получите диплом о профессиональной переподготовке и электронный сертификат, которые можно добавить в портфолио и показать работодателю.
Источник
Как подключить оптоизолятор к Arduino
Для проекта нам понадобятся:
1 Что такое оптопараи в каких случаях её применяют
Оптопара (или оптрон) – это электронный компонент, который позволяет исключить влияние электромагнитных и электрических наводок одной части электрической цепи на другую. Также с помощью оптопары можно отделить высоковольтную часть цепи от низковольтной. Ещё одно преимущество оптопары – возможность применения в цепи переменного тока. Кроме того, оптопара может служить заменой электромеханическому реле, т.к. способно коммутировать части электроцепи. По сути, оптопара действует как электромеханическое реле, только без механической части. Переключение осуществляется с помощью оптического сигнала, который передаётся от управляющего элемента к управляемому. Именно поэтому оптопара и называется «опто-пара». Обычно она состоит из излучающего светодиода и фиксирующего фотодиода.
Оптопару иногда ещё называют «оптоизолятор» из-за того, что с помощью оптопары можно изолировать части электрической схемы друг от друга.
Причём оптический сигнал излучателя может быть в видимом или инфракрасном диапазоне. На работу оптопары это никак не влияет, т.к. и передатчик излучения, и приёмник обычно расположены в одном корпусе в непосредственной близости друг от друга. Обычно оптопара действует как триггер и имеет 2 состояния: «включено» и «выключено», но в некоторых случаях применяются оптопары с несколькими уровнями.
2 Описание оптопары на микросхеме TLP281-4
Рассмотрим работу оптопары на примере микросхемы TLP281, а точнее её разновидности TLP281-4. Микросхема TLP281-4 имеет 4 канала. То есть у неё есть 4 управляющих ножки и 4 выходных ножки, к которым подключается полезная нагрузка.
Будем использовать для работы модуль HW-399. Выглядит он так, как показано на иллюстрации ниже. Рядом приведена его схема.
Внешний вид модуля HW-399 с микросхемой TLP281-4 и её схема
Здесь выводы IN1…IN4 – это управляющие входные сигналы от микроконтроллера, например, Arduino, или другого управляющего элемента. На них можно подавать напряжение от 3,3 до 5 вольт. Выводы OUT1…OUT4 – выходы. Ножки HVCC и HGND – питание и земля управляемой части электрической схемы. На ножку питания HVCC можно подавать напряжение до 24 вольт.
Выводы IN1…IN4 соответствуют анодам светодиодов модуля, которые и являются источниками светового сигнала для фотокатодов модуля, которые являются электронными ключами OUT1…OUT4.
Для демонстрации работы оптопары давайте соберём схему, показанную на следующем рисунке. Здесь управлять будем одним каналом IN1 модуля HW-399 с помощью Arduino. К выходу OUT1 модуля подключим светодиод, питание на который будем подавать с отдельного источника питания (хотя можно и с самого Arduino, в данном случае это не принципиально). Подключать светодиод необходимо через токоограничивающий резистор, разумеется.
Схема подключения модуля HW-399 с микросхемой TLP284-1 к Arduino
Как только мы соберём схему и подадим питание на внешнюю цепь (ножка HVCC), светодиод загорится. Это из-за того, что на управляющий пин IN1 ещё не подан управляющий сигнал. При отсутствии напряжения логической единицы на входе IN1 (допустим, он просто «висит» в воздухе или подключён к земле) на выходе OUT1 находится низкий уровень. Поэтому ток может идти от питания HVCC через OUT1 на землю, и светодиод загорается.
Подключение оптопары TLP284-1 к Arduino
Давайте загрузим в Arduino стандартный скетч из примеров – Blink. Этот скетч каждую секунду меняет логический уровень на 13-ой ножке Arduino. Таким образом, мы наглядно увидим, как работает управление оптопарой.
Подключение оптопары TLP284-1 к Arduino
Когда на 13-ом выводе Arduino высокий логический уровень – загорается встроенный светодиод платы Arduino, и отправляется управляющий сигнал на вход IN1 модуля. На выходе OUT1 появляется высокий уровень, и светодиод, подключённый к модулю, гаснет, т.к. нулевая разность потенциалов, и ток не может протекать через светодиод. Когда на 13-ой ножке Arduino низкий уровень, то встроенный светодиод гаснет, и управляющий сигнал переключается также в низкий уровень. Из-за этого между выходом OUT1 и питанием HVCC модуля возникает разность потенциалов, и подключённый к микросхеме TLP281 светодиод загорается. Таким образом эти два светодиода будут загораться как бы в противофазе.
Осциллограмма при работе оптопары в скетче Blink
На приведённой осциллограмме голубой график – управляющий сигнал с пина 13 платы Arduino. А фиолетовый график – напряжение на светодиоде на 1-ом выходе модуля HW-399.
Источник