Здравствуйте, уважаемые читатели! Сегодня поговорим о готовом модуле сетевого диммера, для управления нагрузкой в сети 220 вольт. В качестве контроллера для управления данным модулем выступит Arduino UNO. В статье будет представлен краткий обзор модуля, подключение его к Ардуино и написание скетча для работы с ним. В качестве примера работы сетевого диммера, мы будем управлять плавным включением лампы накаливания. А яркость лампы будем менять с помощью потенциометра.
У диммера есть два входа для подключения сети 220 вольт и два выхода, для подключения проводов нагрузки. В центре модуля, размещен симистор BTA16, соединенный с алюминиевым радиатором. На противоположной стороне от клемм 220 вольт, размещены пины для управления модулем с помощью микроконтроллера. А именно:
1. VCC – для подключения 5В
2. GND – для подключения земли
3. Z-C (zero-cross) – детектор перехода синусоиды переменного тока через ноль
4. PWM – пин для получения ШИМ-сигнала от микроконтроллера.
По характеристикам, данный модуль может управляться логическим ШИМ-сигналом 3,3 В и 5 В и выдерживать постоянный ток сетевого напряжения 2 А и в пике до 5 А.
Ссылка на модуль - https://aliexpress.ru/item/32802025086.html
Подключение сетевого диммера к Ардуино
Подключение сетевого диммера к Ардуино осуществляется следующим образом. Пины модуля VCC и GND подключаем соответственно к пинам 5В и GND Ардуино. Пин PWM модуля подключаем к 12 пину Ардуино. А пин Z-C модуля мы подключаем к пину номер 2, т.к. это один из двух пинов Ардуино, который поддерживает аппаратное прерывание. И именно с помощью аппаратного прерывания, отслеживается появление сигнала на выходе Z-C диммера.
Для изменения яркости лампы, я буду использовать потенциометр на 10 КОм. Ножку номер 1 которого, соединяем с землей, ножку номер 3 с питанием 5 вольт, а ножку номер 2, соединяем с аналоговым пином А0 Ардуино. Подробно подключение потенциометра к Ардуино, я разбирал в статье - Плавное изменение цвета RGB светодиода с помощью переменного резистора (потенциометра) и Ардуино.
Скетч для работы сетевого диммера в Arduino IDE
Так как речь идет о конкретном модуле, то мы не будет писать для его работы свой скетч, а возьмем готовый код, который содержится в примерах библиотеки к данному модулю.
Скачиваем библиотеку по ссылке https://github.com/RobotDynOfficial/RBDDimmer
И в меню Скетч -> Подключить библиотеку -> Добавить .ZIP библиотеку открываем скачанный файл.
Далее идем в меню Файл -> Примеры -> RBDDimmer и выбираем скетч SimplePotenciometr.
Единственное, что изменим в этом скетче, это значение 4-го и 5-го аргумента функции map(). Чтобы в крайнем левом положении регулятора потенциометра, лампа не горела. А при вращении регулятора потенциометра по часовой стрелке, яркость лампы плавно увеличивалась от 0 до 100%.
outVal = map(analogRead(0), 1, 1024, 0, 100);
Загружаем скетч в Ардуино и видим, как при вращении регулятора яркость лампы увеличивается. Дополнительно, можно контролировать текущее значение яркости в процентном отношении в Мониторе порта.
В следующей статье мы разберемся, как используя технологию ШИМ в сочетании с транзистором (для постоянного тока) и симистором (для переменного тока) можно создать готовое устройство для плавного включения и отключения света, с использованием микроконтроллеров семейства ATtiny.
_________________________________________________________
Спасибо, что дочитали до конца! Если статья понравилась, нажмите, пожалуйста, соответствующую кнопку. Если интересна тематика электроники и различных электронных самоделок, подписывайтесь на канал. До встречи в новых статьях!
Другие публикации по теме:
- Как работать с ШИМ на ATtiny13/25/45/85