Диммер освещения на ардуино

AC Light Dimmer Module. Модуль сетевого диммера управляемый Arduino

Если кончатся на Ali то можно купить на banggood : http://bgd.by/2kez6f

И так давайте сначала ознакомимся, что же такое Диммер вообще:

Диммер — электронное устройство, предназначенное для изменения электрической мощности (регулятор мощности). Обычно используется для регулировки яркости света, излучаемого лампами накаливания или светодиодами.

Обычно диммеры встречаются как выключатели света, только не с клавишами вкл. и выкл. А с крутилкой регулировки яркости, с ее помощью можно увеличивать и уменьшать яркость лампочки например.

Но Важно понимать, что это все будет работать только с лампами накаливания, с энергосберегающими лампами не прокатит. С светодиодными лампами тоже не прокатит, за исключением специальных светодиодных ламп предназначенных для управления диммером.

Регулировать яркость это конечно хорошо, но нужно постоянно подходить к выключателю и крутить яркость. Вот для решения данной проблемы и существуют диммеры цифровые, которые управляться будут микроконтроллерами на растоянии.

Собственно данный модуль и предназначен для этого.

Данный модуль AC Light Dimmer Module фирмы RobotDyn и у них на сайте есть схематика данного модуля которую я и приведу:

Когда я заказывал данный модуль, я думал, что тут все просто, подключу плюс и минус от ардуино и шим сигнал буду подавать, чтоб лампочка меняла яркость. Но как оказалось все гораздо сложнее.

Модуль имеет 4 пина подключаемых к Arduino :

Z-C – Zero-Cross detector

Пин Zero-Cross это пин прерывания, как он работает я так и не понял, но мучался с ним долго. в итоге я нашел рабочий скетч демонстрирующий работу диммера, плавно включая и плавно выключая лампочку. собственно от данного примера можно дальше и прыгать делая все под себя.

Вот сам скетч для работы с модулем “AC Light Dimmer Module”:

Схема подключения:

Arduino AC Light Dimmer Module
+5 VCC
GND GND
pin 3 PWM
pin 2 Z-C

Если вы знаете как работает пин прерывания и вы победили данный модуль, пожалуйста отпишитесь в комментариях.

Демонстрация работы в Видео:

Источник

AlexGyver/AC_Dimmer

Use Git or checkout with SVN using the web URL.

Work fast with our official CLI. Learn more.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Диммер переменного тока на Arduino

Диммер переменки на Arduino, управляем симистором, опираясь на таймер timer1 и детектор нуля. Вся высоковольтная часть развязана с логической, все подробности смотрите на схемах.

  • Library — библиотеки для дисплея и прочего, скопировать в
    C:\Program Files (x86)\Arduino\libraries\ (Windows x64)
    C:\Program Files\Arduino\libraries\ (Windows x86)
  • Sketches — прошивки для Arduino, файлы в папках открыть в Arduino IDE (читай FAQ)
    • dimmer_timer — показанная в видео прошивка для 1 канала, с таймеромм и потенциометром
    • dimmer_6ch — прошивка для 6ти канального диммера с таймером, для платы из видео
    • dimmer_delay — версия, часто встречающаяся в интернете, с задержками. Чисто для ознакомления
  • Schematics&PCB — схемы и печатки. Весь проект полностью находится здесь https://easyeda.com/beragumbo/AC_Dimmer-76ae9ae002a64ab28c81e22fb88a56ab

Подключаем к Ардуино

Вариант печатки с подтяжкой на плате

Материалы и компоненты

  • Arduino NANO https://ali.ski/tc-c3
  • Макетка https://ali.ski/ITwkbK
  • Линейный потенциометр https://ali.ski/LasUn

Вам скорее всего пригодится

Настройка и использование

  • Загрузка прошивки — ультра подробная статья по началу работы с Ардуино
  • Переменная Dimmer — величина диммирования, от 0 до 255. В этом коде на пин А0 подключен потенциометр для управления яркостью. Также можно вводить число для переменной Dimmer через монитор порта, для этого в лупе надо раскомментировать код

Настройки в коде

В: Как скачать с этого грёбаного сайта?
О: На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP

В: Скачался какой то файл .zip, куда его теперь?
О: Это архив. Можно открыть стандартными средствами Windows, но думаю у всех на компьютере установлен WinRAR, архив нужно правой кнопкой и извлечь.

В: Я совсем новичок! Что мне делать с Ардуиной, где взять все программы?
О: Читай и смотри видос http://alexgyver.ru/arduino-first/

В: Компьютер никак не реагирует на подключение Ардуины!
О: Возможно у тебя зарядный USB кабель, а нужен именно data-кабель, по которому можно данные передавать

В: Ошибка! Скетч не компилируется!
О: Путь к скетчу не должен содержать кириллицу. Положи его в корень диска.

В: Сколько стоит?
О: Ничего не продаю.

Вопросы по этому проекту

В: Работает нестабильно, мерцает!
О: Пайка приветствуется, соединение джамперами очень ненадёжно

Источник

Регулятор силы света (диммер) на Arduino и симисторе

В современных домохозяйствах большинство устройств (лампочки, телевизоры, кондиционеры и т.д.) запитываются от напряжения переменного тока. Мы можем управлять включением и выключением этих устройств с помощью платы Arduino и реле, эти способы управления домашними электронными устройствами рассматривались на нашем сайте в проектах автоматизации дома. Но если нам нужно не просто управлять процессами включения/выключения устройств, а нужно еще, к примеру, регулировать яркость свечения лампы или частоту вращения вентилятора, то здесь нам необходимо использовать методы управления фазами и статические переключатели наподобие симисторов (TRIAC) для управления фазами напряжение переменного тока.

В данной статье мы рассмотрим создание регулятора силы света (диммера, dimmer) лампы переменного тока на основе платы Arduino и симистора. Для переключения режимов лампы переменного тока мы будем использовать симистор (TRIAC) – быстродействующий электронный переключатель, наиболее хорошо подходящий для проектов подобного вида.

На нашем сайте вы можете также посмотреть проекты, в которых использовалась регулировка силы света:

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Оптопара MCT2E (купить на AliExpress).
  3. Оптопара MOC3021 (купить на AliExpress).
  4. Симистор (TRIAC) BT136 (купить на AliExpress).
  5. Понижающий трансформатор (12-0V, 500mA) (купить на AliExpress).
  6. Резисторы 1 кОм, 10 кОм, 330 Ом (купить на AliExpress).
  7. Потенциометр 10 кОм (купить на AliExpress).
  8. Лампа переменного тока с держателем (патроном).
  9. Соединительные провода.

Методика обнаружения перехода через ноль

Для управления напряжением переменного тока первое, что мы должны уметь делать – это обнаруживать переходы через ноль сигнала переменного тока. Следовательно, в каждый момент времени, когда этот сигнал переходит через ноль, мы должны переключать симистор. Момент перехода через ноль сигнала переменного тока показан на следующем рисунке.

Принцип работы симистора

Симистор (симметричный триодный тиристор, в англ. TRIAC) представляет собой переключатель переменного тока с тремя выводами, который можно переключить при помощи подачи отпирающего импульса на его управляющий вывод (затвор). Но в отличие от других подобных переключателей, которые проводят ток в одном направлении, симистор может управлять током в обоих направлениях. В нашем проекте мы будем использовать симистор BT136.

Принцип управления симистора переменным током показан на следующем рисунке.

Как показано на рисунке, мы можем переключать, к примеру, симистор на угле 90 градусов при помощи подачи отпирающего импульса на его управляющий вывод. В этом случае мы будем подавать ток на лампу только в половине времени положительной полуволны сигнала (на графике время t1), соответственно, лампа будет гореть вполовину мощности. Уменьшая или увеличивая это время мы можем заставить лампу гореть ярче или тусклее.

Частота сигнала переменного тока в нашей сети составляет 50 Гц, соответственно, период сигнала равен 1/f =20 миллисекунд. Значит, половина периода будет равна 10 мс. Поэтому мы можем изменять время t1 на приведенном графике для управления яркостью свечения лампы переменного тока в диапазоне от 0 до 10 мс (10000 мкс).

Оптопара

Оптопару (оптрон) также называют оптоизолятором. Она используется для изоляции друг от друга двух электрических цепей постоянного или переменного тока. Принцип ее действия достаточно прост: светодиод внутри нее излучает инфракрасный свет, а фотодатчик обнаруживает его. В нашем проекте мы будем использовать оптопару MOC3021 для управления лампой переменного тока, с помощью платы Arduino, использующей сигналы постоянного тока.

Схема проекта

Схема регулятора силы света (диммера) на Arduino и симисторе представлена на следующем рисунке.

Схема соединения симистора и оптопары показана на следующем рисунке.

Эту схему мы собрали на перфорированной плате, у нас получилась конструкция следующего вида:

Оптопару MCT2E и соединения с ней мы также разместили на перфорированной плате и подсоединили ее к понижающему трансформатору.

Конструкция всего проекта в сборе выглядит следующим образом:

Объяснение программы для Arduino

Полный код программы и видео, демонстрирующее работу проекта, приведены в конце статьи, здесь же мы кратко рассмотрим основные фрагменты кода.

В самом начале программы нам необходимо объявить используемые глобальные переменные. Симистор у нас подключен к контакту 4 платы Arduino. В переменной dim_val мы будем хранить значение шага диммирования (регулирования силы света), который мы далее будем использовать в программе.

Источник

Dimmer

This example shows how to send data from a personal computer to an Arduino board to control the brightness of an LED. The data is sent in individual bytes, each of which ranges in value from 0 to 255. The sketch reads these bytes and uses them to set the brightness of the LED.

You can send bytes to the board from any software that can access the computer serial port. Examples for Processing and Max/MSP version 5 are shown below.

Hardware Required

220 ohm resistor

Software Required

Circuit

Connect the 220 ohm current limiting resistor to digital pin 9, with an LED in series. The long, positive leg (the anode) of the LED should be connected to the output from the resistor, with the shorter, negative leg (the cathode) connected to ground.

Schematic

Processing Code

The Processing sketch in the code sample above will send bytes out the computer serial port to the board to dim the LED.

Max code

The Max/MSP patch in the code sample above looks like the image below. Copy it and paste it into a new patch window.

See Also:

ASCIITable — Demonstrates Arduino’s advanced serial output functions.

Graph — Send data to the computer and graph it in Processing.

Midi — Send MIDI note messages serially.

MultiSerialMega — Use two of the serial ports available on the Arduino Mega.

PhysicalPixel — Turn a LED on and off by sending data to your board from Processing or Max/MSP.

ReadASCIIString — Parse a comma-separated string of integers to fade an LED.

SerialCallResponse — Send multiple variables using a call-and-response (handshaking) method.

SerialCallResponseASCII — Send multiple variables using a call-and-response (handshaking) method, and ASCII-encode the values before sending.

SerialEvent — Demonstrates the use of serialEvent().

VirtualColorMixer — Send multiple variables from Arduino to your computer and read them in Processing or Max/MSP.

Источник