Ардуино дает возможность для легкой реализации множества различных устройств и функций, в том числе, переключения нагрузок переменного тока с помощью механического или твердотельного реле. Но чуть сложнее ситуация складывается тогда, когда вам приходится регулировать яркость ламп с помощью программы, ведь ограничить силу тока симистром уже нельзя.
Диммер (от англ. dim — затемнять, в русском языке — светорегулятор, во французском — вариатор) — электронное устройство, предназначенное для изменения электрической мощности (регулятор мощности). Обычно используется для регулировки яркости света, излучаемого лампами накаливания или светодиодами.
В таком случае более эффективным будет использовать Ардуино диммер, КПД которого значительно выше в данной задаче, чем у того же симистра, учитывая необходимость рассеивать большое количество теплоты. Давайте разберёмся, как создать диммер, что необходимо прописать в программной части, и какие материалы вам потребуются.
Как сделать диммер на Ардуино своими руками
Вариант 1
Ардуино диммер 220 В проектируется таким образом, чтобы в него входили простые синусоиды из розеток, а выходили уже обрезанные. Таким образом, он не будет пропускать часть синусоид, в зависимости от размера которой будет изменяться и усреднённое напряжение на устройстве. Поэтому, с помощью изменения промежутков с нулевым напряжением возможно регулировать ток на выходе, с помощью того самого симистра.
Важно подобрать подходящий, ведь они различаются по размеру корпуса и принимаемому току, например, более крупные пропускают напряжение в 800 вольт, эквивалентное 30 квт.
У нас будет два варианта исполнения. Теоретический и конкретный альтернативный, уж, простите, за аналогии.
В первом варианте, чтобы проект поддавался контролю, потребуется пакет рассыпух, а также пара резисторов и несколько оптопар. Большая часть компонентов, полный список которых мы опишем ниже, продается за копейки в любом магазине радиотехники, поэтому вам не составит труда собрать всё, что необходимо.
Чтобы было удобнее подключать Аrduino симистор, потребуется несколько клемм, но можно обойтись и без них. А для сборки всей схемы необходимо спроектировать и сделать макетную плату. Удобнее всего использовать 3-Д принтер, но можно создать её и старым химическим способом.
В итоге у нас получится Аrduino диммер 220 В, который будет разрывать соответствующую сеть, а контролировать мы всё будем с помощью оптопары, для чего нам потребуется стандартная мигалка. Таким образом, выйдет, что сама плата останется развязанной с помощью сетевого напряжения, что поспособствует безопасности инженера и дальнейших пользователей.
Но для своевременного открытия симистра устройству потребуется узнавать, когда напряжение будет проходить через ноль, для чего и пригодится вторая оптопара, которую мы подключим к противоположной стороне.
С помощью такой незамысловатой схемы мы получим девайс, который будет отправлять нам сигнал каждый раз, когда напряжение проходит через 0 в сети, а управление симистром будет осуществляться с помощью верхней оптопары.
О том, какой алгоритм работы потребуется прописать программой, – мы расскажем чуть ниже, но давайте сначала разберёмся, какие инструменты и составляющие вам потребуются, чтобы собрать аппаратную часть проекта. Как уже упоминалось, все их вы сможете купить на рынке или в магазине радиотехники без затруднений.
Вариант 2
Во втором варианте мы настроим яркость лампы, подключенной к цепи последовательным портом. Яркость можно изменить в соответствии с командами, которые мы предоставляем для последовательного порта. Мы будем использовать эти конкретные команды в этом проекте Ардуино диммера:
- 0 для ВЫКЛЮЧЕНИЯ
- 1 для яркости 25%
- 2 для яркости 50%
- 3 для яркости 75%
- 4 для 100% яркости
Мы разработаем схему диммера с импульсной волной (PWM), которая будет использовать IRF830A в диодном мосте, который используется для управления напряжением на лампе с импульсной модуляцией (PWM). Напряжение источника питания для управления затвором подается с напряжением на полевом транзисторе с полевым эффектом из оксида металла (MOSFET).
Материалы
Вариант 1
Для удобства следует разбить список покупок на несколько основных пунктов, в зависимости от того, для чего мы будем использовать те или иные инструменты. Так, вам будет необходимо собрать:
- Детектор для отслеживания пересечений с нулем. Для этой части проекта потребуется H11AA11 с парой резисторов на 10кОм, а также мостовой выпрямитель на 400 Вольт и ещё пара резисторов на 30 кОм. Для удобства стоит прикупить и 1 разъем, а также стабилизатор на 5.1 Вольт.
- Драйвер для лампы. Здесь достаточно будет простого светодиода, а также MOC3021 с резистором 220 Ом (можно и больше), а еще резистором на 470 Ом и 1 кОм, и один симистор, подойдет версия TIC Также можете докупить ещё один разъем.
- Вспомогательные элементы. Конечно, при спайке не обойтись без проводов и куска текстолита 6 на 3 см.
Когда вы соберёте все необходимые элементы, придёт время спайки, поэтому, помимо выше перечисленного, потребуются также паяльник и канифоль с припайкой. Плату вы можете расчертить и сделать самостоятельно или воспользоваться специальным принтером, если есть в наличии. Варианты расположения дорожек можно найти на нашем сайте или спроектировать всё самостоятельно, по вашему желанию.
Вариант 2
Для нашего второго альтернативного варианта нам понадобятся:
Создание платы
Мы рассмотрим самый бюджетный вариант – вытравку платы в соляном растворе, но прежде на неё необходимо будет наклеить проект, который вы можете создать в программе по желанию. Дальнейшая сборка не несёт никаких трудностей и секретов, необходимо будет воспользоваться панельками под оптроны и мостовые выпрямители. Также, при написании текста, для разметки элемента, его стоит делать зеркальным, так как при ЛУТе, отпечатавшийся рисунок примет правильный вид на меде, и перенесется так, что вы без проблем прочитаете все необходимые данные.
Хорошим выбором станет TIC206, который выдаст добротных 6 ампер. Но здесь стоит учесть, что те проводники, которые установлены на плате, просто не выдержат такую силу тока, поэтому дополнительно стоит припаять провод на проводник симистора у разъемов, а вторую часть – к другим разъемам.
Также, при наличии оптрона H11AA11, мостовой выпрямитель можно не использовать, ведь в нем уже имеются два не параллельных диода, а также возможность работы с переменными токами. Совместимость с выводами 4N25 позволяет просто вставить его к припою с двумя перемычками, находящимися между 5 и 7 резистором, на нашей схеме.
Во втором варианте схема будет выглядеть так:
Какая программа необходима для устройства
Вы можете подгрузить готовый код с библиотеками с сайта или написать его самостоятельно. Благо, программа под диммер на Ардуино не очень тяжелая, и в ней достаточно учитывать, что нулевой сигнал будет генерироваться в прерываниях, которые в симисторе переключаются на определённое время.
Единственное, что стоит учесть – это использование переменной цикла, её стартовое значение стоит поставить не в 0, а в 1, а максимальный шаг варьируется от 1 до 5. Таким образом, нам будет подходить два вида диапазонов измерения – от 2 до 126, и от 0 до 128.
Код для альтернативного варианта у нас такой:
Скачать arduino-dimmer.ino
intledPin = 3; void setup() { Serial.begin(9600); Serial.println(“Serial connection started, waiting for instructions…n0 = Offn1 = 25%n2 =50%n3 = 75%n4 = 100%”); } void loop () { if (Serial.available()) { char ser = Serial.read(); //read serial as a character //NOTE because the serial is read as “char” and not “int”, the read value must be compared to character numbers //hence the quotes around the numbers in the case statement switch (ser) { case ‘0’: analogWrite(ledPin, 0); break; case ‘1’: analogWrite(ledPin, 64); break; case ‘2’: analogWrite(ledPin, 128); break; case ‘3’: analogWrite(ledPin, 192); break; case ‘4’: analogWrite(ledPin, 255); break; default: Serial.println(“Invalid entry”); } } }
Технологический процесс сборки
Мигалка на Ардуино без проблем собирается на макетной плате, и особенностей в спайке уже готового макета нет никаких. Единственное, стоит не забывать о примечаниях, приведённых выше, по поводу припайки одного провода к симистору, дабы не сжечь дорожки на плате, выстроив правильное прерывание. В остальном, даже новичку удастся без проблем собрать конечный проект, благодаря его простоте.
Как это выглядит в реальном виде:
Настройка и тестирование устройства
Наш второй вариант работает таким образом (на видео видно как к устройству подносится фонарик):
Уже распаянный Аrduino диммер подключите к Ардуино и двигайте потенциометр до тех пор, пока не достигнете максимума и минимума накала лампочки. Для того чтобы увидеть реальную картину волны, достаточно воспользоваться осциллографом, способным измерять напряжение до 12 вольт.
Но напрямую подключать также нельзя, здесь пригодится делитель напряжения в соотношении 1 к 20; дабы не греть лишний раз резисторы, подойдет номинал двести и десять килоОм. После аккуратного подключения устройство можно подсоединить к сети и, наконец, увидеть результаты своих трудов.
Диммер на базе Arduino – это одно из сотен простых и интересных устройств, с помощью которого можно плавно изменять сетевое напряжение от 0 до номинального значения. Каждый пользователь Arduino найдёт применение столь полезной самоделке, а опыт, полученный во время сборки своими руками, пополнит багаж знаний.
Схема и принцип её работы
Как и большинство недорогих диммеров, данная схема работает за счёт фазовой регулировки напряжения, что достигается путем принудительного открывания силового ключа – симистора. Принцип действия схемы следующий. Arduino на программном уровне формирует импульсы, частота которых подстраивается сопротивлением потенциометра. Управляющий импульс с вывода P1 проходит через оптопару MOC3021 и поступает на управляющий электрод симистора. Он открывается и пропускает ток до перехода полуволны сетевого напряжения через ноль, после чего закрывается. Затем приходит следующий импульс и цикл повторяется. Благодаря сдвигу управляющих импульсов, в нагрузке формируется обрезанная по фронту часть синусоиды.
Чтобы симистор открывался в соответствии с заданным алгоритмом, частота следования импульсов должна быть засинхронизирована с напряжением сети 220 В. Другими словами Arduino должен знать, в какой момент синусоида сетевого напряжения проходит через ноль. Для этого в диммере на элементах R3, R4 и PC814 реализована цепь обратной связи, сигнал с которой поступает на вывод P2 и анализируется микроконтроллером. В цепь детектора нуля добавлен резистор R5 на 10 кОм, который нужен для подпитки выходного транзистора оптопары.
Один силовой вывод симистора подключается к фазному проводу, а ко второму – подключается нагрузка. Нулевой провод сети 220 В напрямую следует от клеммника J1 к J2, а затем к нагрузке. Применение оптопар необходимо для гальванической развязки силовой и низковольтной части схемы диммера. Потенциометр (на схеме не показан) средним выводом подключается на любой аналоговый вход Arduino, а двумя крайними – на +5 В и «общий».
Печатная плата и детали сборки
Минимум радиоэлементов позволяет сконструировать одностороннюю печатную плату, размер которой не превышает 20х35 мм. Как видно из рисунка на ней отсутствует переменный резистор, чтобы радиолюбитель мог самостоятельно подобрать потенциометр подходящего форм-фактора и определить место его крепления к корпусу готового диммера. Подключение к Arduino осуществляется через провода, которые запаивают в соответствующие отверстия на плате.
Для сборки своими руками диммера, управляемого Arduino, понадобятся следующие радиоэлементы и детали:
- Симистор BT136-600D, способный выдерживать обратное напряжение до 600 В и пропускать в нагрузку ток до 4 А (естественно с предварительным монтажом на радиатор). В схеме можно применить симистор и с большей нагрузочной способностью. Главное – обеспечить отвод тепла от его корпуса и правильно подобрать ток на управляющий электрод (справочный параметр). При подключении к нагрузке электроприбора большой мощности ширину печатных проводников в силовой части схемы необходимо будет пересчитать. Как вариант, силовые дорожки можно продублировать с другой стороны платы.
- Оптопара MOC3021 с симисторным выходом.
- Оптопара PC814 с транзисторным выходом.
- Резисторы номиналом 1 кОм, 220 Ом, 10 кОм мощностью 0,25 Вт и 2 резистора на 51 кОм мощностью 0,5 Вт.
- Переменный резистор на 10 кОм.
- Клеммные колодки – 2 шт., с двумя разъёмами и шагом 5 мм.
Все необходимые файлы по проекту находятся в ZIP-архиве: dimmer-arduino.zip
Алгоритм управления Arduino
Программа управления симистором создана на базе таймера Timer1 и библиотеки Cyber.Lib, благодаря чему отсутствует влияние на работу других программных кодов. Принцип её действия следующий. При переходе сетевого напряжения через ноль «снизу вверх» таймер перенастраивается на обратный переход «сверху вниз» и начинает отсчёт времени в соответствии со значением переменной «Dimmer». В момент срабатывания таймера Arduino формирует управляющий импульс и симистор открывается. При следующем переходе через ноль симистор перестаёт пропускать ток и ожидает очередное срабатывание таймера. И так 50 раз в секунду. За регулировку задержки на открывание симистора отвечает переменная «Dimmer». Она считывает и обрабатывает сигнал с потенциометра и может принимать значение от 0 до 255.
Область применения диммера на Arduino
Конечно, использовать дорогостоящий Arduino для управления яркостью галогенных ламп – избыточно. Для этой цели лучше заменить обычный выключатель диммером промышленного изготовления. Диммер на Arduino способен решать более серьёзные задачи:
- управлять любыми видами активной нагрузки (температурой нагрева паяльника, проточного водонагревателя и т. д.) с точным удержанием заданного параметра;
- одновременно выполнять несколько функций. Например, обеспечивать плавное включение утром (отключение вечером) света, а также контролировать температуру и влажность террариума.
Увидеть каким образом изменяется напряжение в нагрузке можно с помощью осциллографа. Для этого к выходным клеммам диммера припаивают резистивный делитель, благодаря которому сигнал в контрольной точке должен уменьшиться примерно в 20 раз. После этого к делителю подсоединяют щупы осциллографа и подают питание на схему. Изменяя положение ручки потенциометра, на экране осциллографа можно наблюдать насколько плавно Arduino управляет симистором и присутствуют ли при этом высокочастотные помехи.
Авторство вышеприведенных материалов принадлежит Youtube каналу AlexGyver.
Привет, Друзья! Сегодня хочу рассказать о том, как я управляю переменным током с помощью симистора. Сам начинающий радиолюбитель и здесь пытаюсь разбиратся в основах радиоелектроники. Без простого человеческого обьяснения сложновато, поэтому прошу у Вас советы, про то как лучше это сделать.
Строю инкубатор яиц и появилась необходимость сделать трехканальный ключ, для управления переменным током, чтоб подключать разные приборы типа обогрева и увлажнителя. Хотел сделать проще, тупо поставить реле и не парится, но необходимых реле под рукой не оказалось, ждать с Китая долго а в городе нужных мне не нашел. Почитал в интернете что бывают симисторы, которые используются в твердотельных реле. Раздобыл у друга несколько симисторов и оптодрайвер к ним, нашел подходящую схему.
Вот она самая.
Необходимых номиналов резистора под рукой не оказалось, использовал какие были.
Собрал схему, подключил к контроллеру, подал нагрузку и все работает! Но заметил такую странность, как только подать нагрузку(в качестве прибора лампочка 220в), то лампочка слегка загорается на долю секунды. Это значит в цепи на короткий промежуток появляется ток. Поискал в интернете других схем и нашел решение, достаточно поставить конденсатор и резистор на выходе.
Вот другая схема
Если есть специалисты подскажите как подбирают номинал резисторов для подобных схем. А то я встречаю в сети более-менее подобные схемы и в них суют резисторы разного номинала и с широким диапазоном. Поэтому есть подозрение что можно ставить любой резистор и все будет впорядке (шутка). Бывает ли четкая аргументация как подбирать резисторы для подобных схем?
В итоге собрал трехканальный, мимисторный ключ по вот такой схеме.
Вот так он выглядит.
И так он включает лампочку.
Если кто знает как сделать подобную схему эффективней, лучше и безопасней отзовитесь и поделитесь опытом.
По мере постройки инкубатора у меня появляются вот такие устройства, которые делаю впервые, скажу не очень сложно, но знаний маловато. Как доделаю инкубатор обязательно покажу, думаю вам будет интересно посмотреть. Спасибо за внимание!)
97Используемые источники:
- https://arduinoplus.ru/arduino-dimmer/
- https://ledjournal.info/shemy/dimmer-na-arduino.html
- https://pikabu.ru/story/simistor__arduino_5311481