Симисторный регулятор мощности arduino. Световой диммер управляемый Arduino. Общие сведения о регуляторах

Симисторный регулятор мощности arduino. Световой диммер управляемый Arduino. Общие сведения о регуляторах

03.03.2020

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

Диммер (от англ. 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

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

  1. Детектор для отслеживания пересечений с нулем. Для этой части проекта потребуется H11AA11 с парой резисторов на 10кОм, а также мостовой выпрямитель на 400 Вольт и ещё пара резисторов на 30 кОм. Для удобства стоит прикупить и 1 разъем, а также стабилизатор на 5.1 Вольт.
  2. Драйвер для лампы. Здесь достаточно будет простого светодиода, а также MOC3021 с резистором 220 Ом (можно и больше), а еще резистором на 470 Ом и 1 кОм, и один симистор, подойдет версия TIC Также можете докупить ещё один разъем.
  3. Вспомогательные элементы. Конечно, при спайке не обойтись без проводов и куска текстолита 6 на 3 см.

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

Вариант 2

Для нашего второго альтернативного варианта нам понадобятся:

1x - 330 Ом резистор
2x - 33К резистора
1x - 22К резистор
1x- 220 Ом резистор
4x - 1N4508 диоды
1x - 1N4007 диоды
1x - Диод Zener 10V.4W
1x - Конденсатор 2.2uF / 63V
1x - Конденсатор 220nF / 275V
1x - Arduino / Ардуино
1x - Оптрон: 4N35
1x - МОП-транзистор: IRF830A
1x - Лампа: 100 Вт
1x - Питание 230 В
1x - Розетка
1x - Паяльная плата и паяльный комплект

Создание платы

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

Хорошим выбором станет TIC206, который выдаст добротных 6 ампер. Но здесь стоит учесть, что те проводники, которые установлены на плате, просто не выдержат такую силу тока, поэтому дополнительно стоит припаять провод на проводник симистора у разъемов, а вторую часть – к другим разъемам.

Также, при наличии оптрона H11AA11, мостовой выпрямитель можно не использовать, ведь в нем уже имеются два не параллельных диода, а также возможность работы с переменными токами. Совместимость с выводами 4N25 позволяет просто вставить его к припою с двумя перемычками, находящимися между 5 и 7 резистором, на нашей схеме.

Во втором варианте схема будет выглядеть так:

Какая программа необходима для устройства

Вы можете подгрузить готовый код с библиотеками с сайта или написать его самостоятельно. Благо, программа под диммер на Ардуино не очень тяжелая, и в ней достаточно учитывать, что нулевой сигнал будет генерироваться в прерываниях, которые в симисторе переключаются на определённое время.

Единственное, что стоит учесть – это использование переменной цикла, её стартовое значение стоит поставить не в 0, а в 1, а максимальный шаг варьируется от 1 до 5. Таким образом, нам будет подходить два вида диапазонов измерения – от 2 до 126, и от 0 до 128.

Код для альтернативного варианта у нас такой:

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; дабы не греть лишний раз резисторы, подойдет номинал двести и десять килоОм. После аккуратного подключения устройство можно подсоединить к сети и, наконец, увидеть результаты своих трудов.

Содержание видео: (при нажатии на строчку видео откроется в нужном месте.)

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

Заменить тахогенератор на датчик Холла совсем не сложно. Я подробно рассказываю об этом в видео на 5:48. Но какой, же поставить? Нам необходим цифровой датчик Холла, желательно биполярный. Так как он будет выдавать в 2 раза больше сигналов. А это очень важно для малых оборотов. Вот такой стоит в моём двигателе SS 441 .

смотрим распиновку и припаиваем на место.

Разместив такой датчик возле магнита, который находится на валу двигателя, ардуино будет получать информацию об оборотах нашего двигателя. Залив в микроконтроллер прошивку №4, считаем сколько импульсов даёт датчик на 10 оборотов вала двигателя или станка. Это число нам понадобится в дальнейшем.

А вот уже теперь мы можем приступать к установке прошивок. В папке их находится 3. «PID_12», «_16», «_18».

Рассмотрим PID_12:

В самом начале скетча у нас имеются строки, в которые мы должны внести нужные нам значения:

int obMax = 6000; //ввести максимальные обороты

float kImp = 120; //ввести кол-во импульсов на 10 оборотов

В первой строке мы вводим число максимальных оборотов, которые нам необходимы. Во второй - минимальные. В третью строку ставим число импульсов нашего датчика за 10 оборотов вала. В четвёртой строке нужно ввести число, которое будет ограничивать ток минимальных оборотов. Оно будет зависеть от количества минимальных оборотов и прилагаемых нагрузок. И в пятой – число, при котором двигатель начинает вращение на прошивке №6 (мы с вами обращали на это внимание).

PID myPID(&Input, &Output, &Setpoint, 0.01 , 0.2 , 0 , DIRECT);

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

Рассмотрим _16:

Основные переменные скетча те же, что и в ПИД регуляторе:

int obMin = 200; //ввести минимальные обороты

int minzn = 115; // минимальное значение симмистора на котором начинается вращение.

int ogrmin = 70 ; // ограничение симистора на минимальных оборотах.

int mindimming = 80; //значение симистора при закллинившем станке (первоначальный импульс)

И устанавливаются они так-же. Но добавилось 2 значения. Это значение симистора при заклинившем станке (первоначальный импульс) Оно подбирается так. На прошивке №6 даём на вал небольшую нагрузку, минимальную, лишь бы вал был не в холостую. И начинаем вращать регулятор. Необходимо заметить число, при котором вал начнёт вращаться. Это значение нам необходимо чтоб придать первоначальный импульс нашему станку. Число весьма условно и позволяет некоторые допуски. И основная переменная которая потребует настройки и подбора это допуск оборотов в минус и плюс . Она означает в каких пределах обороты нашего двигателя будут стабилизироваться. Находим минимальное значение, при котором двигатель будет вращаться без рывков и в холостую, и под нагрузкой на разных оборотах. Данная прошивка уже обеспечивает хорошую стабилизацию оборотов в заданных пределах и возможно этого уже будет достаточно. Если же необходима точная стабилизация оборотов, то переходим к следующей пошивке.

Рассмотрим _18:

Все значения переносим из предыдущей прошивки:

int obMin = 200; //ввести минимальные обороты

int obMax = 9000; //ввести максимальные обороты

int kImp = 120; //ввести кол-во импульсов на 10 оборотов

int minzn = 115; // минимальное значение симмистора на котором начинается вращение.

int ogrmin = 70 ; // ограничение симистора на минимальных оборотах.

int mindimming = 80; //значение симистора при заклинившем станке (первоначальный импульс)

int dopusk = 200 ; //допуск оборотов в минус и плюс

int razgon = 50; //переменная разгона 1 - 100

Добавилось только значение разгона, или плавности. При значении 1 стабилизация происходит плавно, при увеличении значения разгон более жесткий. Верхняя граница очень большая, но после 100 (в моём случае) уже изменений нет.

Параллельная разработка: http://www.motor-r.i...og-page_19.html

Вариант регулятора на чипмейкере:

Много вопросов по деталям, где заказать. Заказал комплект себе, делюсь с вами.

И заказал блок релюшек для реверса и защиты. Будем дополнять.

Исходя из ваших вопросов, статья будет дополняться. Так что спрашиваем.

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

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

Для этого нам необходимо временно припаять переменное сопротивление на 10 кОм центральным контактом на контакт А3, нашей ардуинки. Крайние контакты сопротивления, как и всегда, припаиваем на + и -.

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

Подбираем допуск, так как показано в видео. После этого можем вносить полученные данные в прошивку 18 и пользоваться. В этой прошивке улучшено отображение на дисплее. Так как вы и просили.

Следующей проблемой у нас было то, что на определённых оборотах двигателя происходили «рывки». Чтобы понять причину, была сделана прошивка, которая отсылала в компьютер значение переменной tic. Это количество тактов которое проходит между сигналами с датчика Холла. Данные отображались в программе SerialPortPlotter в графическом виде.

После консультаций выяснилось, что сбои происходят, если сигнал с датчика приходит одновременно с переполнением счётчика, которое происходит после 65535 тактов. Так же мне подсказали, как избежать таких сбоев, за что я очень благодарен.

Дальнейшей задачей, которая стояла перед нами, это с помощью реле реализовать защиту от пробоя симистора. Так, чтоб если обороты превысят заданные на определённое число, сработает реле и отключит двигатель.

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

На контакты GND подаём минус, VCC подаём плюс 5вольт, IN3 и IN4 подключаем к контакту А1 ардуинки, это для реверса, а IN2 к контакту А2. Этот контакт и будет отвечать за отключение силовой платы. Заливаем прошивку proverka_rele , и наши релюшки должны поочерёдно включаться на 1 сек и выключаться. Две спаренные и одна отдельно. Если всё работает верно, то можно провод который идёт к силовой плате пускать через это одинарное реле, заливать прошивку roos_zashita_1 и пользоваться регулятором. Здесь устранены рывки и реализована защита.

Так же мы можем сразу установить и подключить тумблер для реверса на 3 положения и тумблер который будет делить наш диапазон скорости так, как мы захотим. Для своего станочка я сделал первую скорость для точения, от 100об\мин до 2000об\мин, а вторую для шлифовки от 1500об\мин до 5000об\мин. Подключаем их по такой схеме:

Для проверки заливаем скетч proverka_tumblerov и при смене положения тумблеров, будут меняться числа на экране. Если изменения происходят, то можно заливать прошивку roos_zashita_2skorosti и пользоваться.

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

2. Реверс торможение - реле реверса на А1 Тумблер реверса на А7

Скетч: https://drive.google...iew?usp=sharing

2а. В переменных можно менять торможение

Варианты печаток

Печатка ----- без реле https://wdfiles.ru/drgO

Печатка----- с 1 реле защиты https://wdfiles.ru/dr2l

Печатка ---- с двумя реле для реверса и торможения https://wdfiles.ru/dr8k

Печатка ---- с СМД компонентами и импульсным блоком питания для корпуса D6MG https://drive.google...T0JOd2pFZjI3SmM

Для релюшек 12в перемычку перекинуть на метку 12

Для релюшек 5в уже стоит на метке 5

Диоды на релюшках припаивать прямо на плату со стороны проводников.

Для плат с ULN2003 диоды на реле не нужны.

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

резистор 10к 0.25W-2шт

резистор 4.7к 0,25W-1шт

резистор 2к 0,25W-1шт

резистор 470 0,25W-1шт

резистор 100 2W-1шт

резистор 360 0.25w-2шт

резистор 5к 0.25W-1шт (кнопка реверс)

подстроечный резистор 10к-1шт (для LCD дисплея)

переменный резистор 10к-1шт (крутилка оборотов)

подстроечный резистор 10к (на ногу А3)

диод RL205 1шт

конденсатор 100n 600V-1шт С4

конденсатор 0.05мф -1шт С3

симистор BTA24-600 (BTA16-600) На радиаторе

PC817C-1шт

MOC3021-1шт (MOC3023)

L7805CV-1шт

диодный мост что б такой как на плате GBL04-E3/51 (KBL04), Диодный мост 4А 400В

клеммники на плату - двойных - 7шт,

реле JS1-12V 2шт можно 5в

электролитические конденсаторы 100 мкф *25в -2шт (С1 и С2)

микросхема ULN2003A - 1шт

трансформатор - какой найдешь (1,5-3Вт)

переключатель трех позиционный - 1шт

панелька для Ардуинки -1шт

Есть на плате, нет в списке

резистор на схеме под ардуинкой - 10k (он со стороны дорожек или без разницы?) На плате со стороны проводников но можно поставить и сверху. И он нужен для тех кто будет делить диапазон регулировки оборотов на два поддиапазона.

Для системы «Умный дом» основной задачей является управление бытовыми приборами с управляющего устройства будь то микроконтроллер типа Ардуино, или микрокомпьютер типа Raspberry PI или любое другое. Но сделать этого напрямую не получится, давайте разберемся как управлять нагрузкой 220 В с Ардуино.

Для управления цепями переменного тока средств микроконтроллера недостаточно по двум причинам:

1. На выходе микроконтроллера формируется сигнал постоянного напряжения.

2. Ток через пин микроконтроллера обычно ограничен величиной в 20-40 мА.

Мы имеем два варианта коммутации с помощью реле или с помощью симистора. Симистор может быть заменен двумя включенными встречно-параллельно тиристорами (это и есть внутренняя структура симистора). Давайте подробнее рассмотрим это.

Управление нагрузкой 220 В с помощью симистора и микроконтроллера

Внутренняя структура симистора изображена на картинке ниже.

Тиристор работает следующим образом: когда к тиристору приложено напряжение в прямом смещении (плюс к аноду, а минус к катоду) ток через него проходить не будет, пока вы не подадите управляющий импульс на управляющий электрод.

Я написал импульс не просто так. В отличие от транзистора тиристор является ПОЛУУПРАВЛЯЕМЫМ полупроводниковым ключом. Это значит, что при снятии управляющего сигнала ток через тиристор продолжит протекать, т.е. он останется открытым. Чтобы он закрылся нужно прервать ток в цепи или сменить полярность приложенного напряжения.

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

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

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

Таким образом, сигнал включает внутренний светодиод оптопары, она открывает симистор, который и подает управляющий сигнал на силовой симистор T1. В качестве оптодрайвера может быть использован MOC3063 и подобные, например, на фото ниже изображен MOC3041.

Zero crossing circuit - цепь детектора перехода фазы через ноль. Нужна для реализации разного рода симисторных регуляторов на микроконтроллере.

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

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

Реле и А рдуино

Для управления реле с А рдуино нужно использовать дополнительный транзистор для усиления тока.

Обратите внимание, использован биполярный транзистор обратной проводимости (NPN-структура), это может быть отечественный КТ315 (всеми любимый и всем известный). Диод нужен для гашения всплесков ЭДС самоиндукции в индуктивности, это нужно чтобы транзистор не вышел из строя от высокого приложенного напряжения. Почему это возникает, объяснит закон коммутации: "Ток в индуктивности не может измениться мгновенно".

А при закрытии транзистора (снятии управляющего импульса) энергии магнитного поля накопленной в катушке реле необходимо куда-то деваться, поэтому и устанавливают обратный диод. Еще раз отмечу, что диод подключен в ОБРАТНОМ направлении, т.е. катодом к плюсу, анодом к минусу.

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

Или купить готовый модуль или целый шилд с реле для Ардуино :

На фото изображен самодельный шилд, кстати, в нем использованы для усиления тока КТ315Г, а ниже вы видите такой же шилд заводского исполнения:

Заключение

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

Главная задача - обеспечить нужные напряжение и ток для управления симистором или реле и гальваническая развязка цепей управления и силовой цепи переменного тока.

Кроме безопасности для микроконтроллера, таким образом, вы подстраховываете себя, чтобы при обслуживании не получить электротравму. При работе с высоким напряжением нужно соблюдать все правила техники безопасности, соблюдать ПУЭ и ПТЭЭП.

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

Алексей Бартош

Переключение нагрузки переменного тока с использованием Arduino довольно просто: используется либо механическое реле, либо твердотельное реле с оптически изолированным симистором. Становится немного сложнее, если необходимо уменьшать яркость лампы переменного тока используя Arduino: просто ограничивать ток симистором не представляется возможным из-за необходимости в мощном симисторе, и как следствие необходимости рассеивания большого количества тепла, а также это не эффективно с точки зрения использования энергии.

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

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

Открытие симистора на некоторое количество микросекунд, начиная от пересечения нуля, дает предсказуемый уровень затемнения.
Такую схему легко сделать: пересечение нуля берётся непосредственно из выпрямленного сетевого переменного тока - конечно через оптрон, и дает сигнал каждый раз, когда волна проходит через нуль. Так как синусоида сначала проходит двухфазное выпрямление, сигнал пересечения нуля подается независимо от того, вверх или вниз идет синусоидальная волна. Затем этот сигнал может быть использован для вызова прерывания Arduino.

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

Схема изображенная здесь делает именно это. Сетевое напряжение 220 Вольт идет к мостовому выпрямителю через два резистора 30кОм, который выдает двухфазный выпрямленный сигнал на оптрон 4N25. Светодиод в этом оптроне при низком уровне работает на частоте 100 Гц, а на коллекторе выходит сигнал высокого уровня с частотой 100 Гц в соответствии с синусоидальной волной. Сигнал с 4N25 подается на прерывающий вывод в Arduino (или другого микропроцессора). Программа прерываний дает сигнал определенной длины на один из портов ввода/вывода. Сигнал с порта ввода/вывода сигнала уходит в нашу схему и открывает светодиод в MOC3021, который запускает оптотиристор. Светодиод последовательно MOC3021 указывает, проходит ли ток через MOC3021. Имейте в виду, что при затемнении, свечение будет не очень видно из-за коротких вспышек. Если вы решили использовать тиристорный переключатель непрерывно, то светодиод будет гореть ясно.

Имейте в виду, что только обычные лампы накаливания действительно подходят для затемнения. Схема также будет работать с галогенной лампой, но это сократит срок службы галогенной лампы. Она не будет работать с любыми КЛЛ лампами, если они специально не сделаны с возможностью диммирования.

Если у вас есть оптрон H11AA11, то его использование описано ниже.
Предупреждение: Эта схема работает с напряжением 110-220В. Не делайте её, если вы не уверены в своих действиях. Отключайте её, прежде чем приблизиться к печатной плате. Радиатор симистора подключен к сети. Не прикасайтесь к нему во время работы и сделайте для него надлежащий корпус.

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

Материалы

Детектор пересечения нуля
4N25 или H11AA11 (см. текст).
Резистор 10кОм.
Мостовой выпрямитель 400В.
2x Резистор 30кОм 1/2 Вт (Скорее всего на каждом резисторе будет рассеиваться 200mW).
1 разъем.
Стабилитрон 5,1В(опционально).

Драйвер лампы
Светодиод
MOC3021
Резистор 220 Ом (я использовал 330 Ом, и всё хорошо работало).
Резистор 470 Ом-1кОм (Я закончил с использованием 560 Ом, и всё хорошо работало)
Симистор TIC206
1 разъем

Прочее
Кусок текстолит 6x3см.
Провода.

Плата

Я сделал плату при помощи и вытравил её в растворе солянной кислоты и перекиси водорода. В интернете есть много . Вы можете сделать плату, используя прилагаемый рисунок ПП. Сборка платы достаточно проста. Я использовал панельки для оптронов и мостового выпрямителя. Скачать рисунок платы и его зеркальную версию можно внизу статьи.

Примечание: рисунок платы имеет текст. В незеркальной версии рисунка текст зеркален, а в зеркальной версии рисунка текст не зеркален. Это правильно. При ЛУТ, отпечатанный рисунок переноситься непосредственно на медь, где он и выглядит правильно.

Я использовал TIC206. Он может выдавать 6 ампер. Имейте в виду, что проводники платы не выдержат 6 ампер. При подключении мощной нагрузки припаяйте провод на проводники от симистора к разъемам и на проводники ко вторым разъемам.

Если неясно значение контактов: сверху вниз по второй фотографии:
+5 вольт.
Сигнал прерывания (Digital Pin 2 Arduino).
Сигнал для симистор (выходит из Digital Pin 3 на Arduino).
GND.

ПРИМЕЧАНИЕ:
Если у вас есть оптрон H11AA11, то вам не нужен мостовой выпрямитель. H11AA11 имеет два не параллельных диода, и может работать с переменным током. Он совместим по выводам с 4N25, просто вставьте его в припоя и 2 перемычки между R5 и + и R7 и -.

Программа

Программа довольно проста. Нулевой Х сигнал генерируется в прерывании. Затем в прерывании симистор переключается на определенное время. Программа доступна ниже.

О программе: Теоретически в цикле можно было позволить переменной "i" начинается с "0 ". Однако, поскольку времени на прерывание мало, использование "0"(полностью вкл.) может немного испортить время. То же самое касается 128(полностью выкл.), хотя это кажется менее критичным. Точность "5" или, возможно, "1" является пределом настройки. Ваш диапазон может быть, например, от 2 до 126, вместо 0-128. Если у кого-то есть более точный способ настройки времени прерывания, я буду рад услышать его.

Результаты и применение

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

Подобным способом можно сделать схему для смешивания RGB светодиодов. Это также возможно с текущей схемой, но необходимы две дополнительных симисторных схемы. Разумеется, нужен только один детектор пересечения нуля.

Также возможно сделать традиционную (назовем ей старомодной) гирлянду для рождественской елки, работающую непосредственно от 220 (или 110) вольт. Повесьте 3 провода с разными лампами на дерево и регулируйте их при помощи этой схемы с двумя дополнительными симисторными схемами.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
T1 Симистор TIC206 1 В блокнот
T4 Оптопара

MOC3021M

1 В блокнот
T5 Оптопара

4N25M

1 В блокнот
BR1 Диодный мост 400 В 1 В блокнот
Резистор

220 Ом

1 В блокнот
Резистор

1 кОм

1

Рассмотрим один интересный и полезный вопрос. Диммер для регулировки нагрузкой переменного тока при помощи arduino. То есть это плавный контроль таких сетевых приборов, как лампы, нагреватели в виде тэнов или тёплых полов.
Пару недель назад на втором канале, который полностью посвящен программированию arduino, вышел видос про управление нагрузкой постоянного тока при помощи шим- сигнала. То, что смотрите сейчас, тоже должно было выйти на том канале. Но решил опубликовать его.

Радиодетали, компоненты и приборы в этом китайском магазине .

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

Устройство, которое будем делать, называется диммер. В него входят обычные синусоиды из розетки и выходят обрезанные. Диммер не пропускает часть синусоиды. И чем больше эта часть, тем меньше среднее напряжение. Изменяя промежутки, когда напряжение равно нулю, будем регулировать суммарное выходное напряжение. Открывает и закрывает напряжение такая железяка, как симистор. Они есть в разных корпусах и на разный ток. Например, крупный парнишка может пропустить через себя 40 ампер при напряжении 800 вольт. Что как бы около 30 квт.

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

Симистор разрывает сеть 220в, arduino будет его открывать и закрывать через оптопару. То есть сама arduino будет оптически развязана сетевым напряжением в целях нашей безопасности. И важный момент. Чтобы вовремя открывать симистор, arduino должна знать, когда напряжение сети проходит через 0. Для этого стоит вторая оптопара, подключенная в противоположную сторону. И на выходе из нее получаем сигнал каждый раз, когда напряжение в сети проходит через 0. И управляем симистором через верхнюю оптопару. Алгоритм работы чуть позже.

Соберем схему в железе

В идеале такие вещи нужно делать на печатной платье. Об на канале скоро отдельный цикл видео уроков. Покажем, как разводить платы и как травить. Ну а пока не умеем делать печатные платы, есть ещё два пути. Первый, это собрать схему на макетной плате. Чем займемся через минуту. И второй – заказать изготовление плат у китайцев. Сделал несколько вариантов плат на платформе easyeda. Первая – на маленьком семисторе, вторая – на большом семисторе. И третья, это трехканальный диммер. У которого есть один общий вход и один общий выход детектора нуля. Три выхода под нагрузку и 3 pin под управление тремя симисторами arduino. Схему легко масштабировать и сделать диммер на любое число каналов.

Чтобы заказать платы, нужно вытащить из проекта gerber- файлы. Нажимаем кнопочку и попадаем на страницу заказа плат у сервиса easyeda. И нажимаем кнопочку скачать gerber- файлы. Они скачаются одним архивом. Идем на сайт сервиса lg psb. Это один из дешевых и крупнейших сервисов изготовления печатных плат в промышленных масштабах c доставкой. Для начала залогинимся на всякий случай. Переходим в корзину и добавляем новый заказ. И добавляем gerber- файл, то есть, тот самый архив. Плата однослойная. Выбираем один слой. Размеры, как можете видеть, поставились автоматически. Количество – мнимум можно заказать 5 штук. Толщина текстолита, цвет. Пусть красный. Это цвет маски, которой покрыта плата. Выбирается припой, которым будут покрыты дорожки. Это оловянно-свинцовый, безсвинцовый и ещё, который не знаем. Дальше толщина медной фольги не текстолите. Ну цена почему-то меняется в два раза. Идут золотые пальчики. Это гребенка вставлять плату в разъем. Потом можно получить плату в таком виде. И еще можно обрезать крайние контакты. Но ничего из этого не нужно. Всё сохраняем корзину. Как можете видеть, цена за 5 плат составляет 2 бакса. То есть это примерно 25 рублей за одну плату. Платы промышленного качества достанутся практически даром.

Единственное, доставка. Нужно указать свой адрес. Для удобства обычно пользуемся сервисом транслит, который переводит русские буквы в транслит. Ну и сама доставка. 30 долларов за курьерскую, и стандартная – 250 рублей за отправку по почте. Dhl, с физическим лицами не работают. Если нет знакомых фирмы, то лучше не связываться и подождать пару недель почтой. Оплатить это дело можно по paypal или банковской карты. В общем, печатные платы заказал, и пока они едут, соберем схему на макетке.

Данный проект сборки регулятора переменного тока относится к тем, которые можно собрать на макетной плате, глядя на разводку печатной платы. То есть вставляем компоненты в макетку точно так же, как на печатке. И соединяем все ногами самих компонентов. Вот, например, симистор дотягивается до обоих клеммников и до оптопары. Берем и запаиваем. А еще можно использовать лайфхак из видео про сварочник для аккумуляторов. То есть распечатать разводку платы, приклеить ее на макетку и паять, ориентируясь на дорожки. И спустя 10 минут работы пинцетом и паяльником получается плата. Компактная.
Для соединения использованы многие компоненты. Единственное, надо было соединить общий выход куском медного провода. Важный момент. Паяем с глицериновым флюсом, и его следы можно видеть. Он блестит. Диммер работать с напряжением в 220в и пробивать через флюс, и работать не стабильно. Или вообще сгорит. Поэтому берём зубную щетку и идём чистить. Ну а лишнее отрезаем ножницами по металлу, а ровняем край. И всё, готов диммер. Здорово и компактно.
На обрезке макетки, собрал вариант с большим парнем. Идет прямое подключение к симистору при помощи колодок. Левая – это выход, средняя – вход, а правая – общая для входа и выхода. К ней по схеме только один резистор. Сам симистор приклеен на двухсторонний скотч. В идеале колодки надо было привинтить. Ну и так сойдет. Всё. Припаяно просто, ногами резисторов. Это плата нужна в одном из следующих проектов. Попробуйте угадать в комментариях, что это может быть.
Сейчас наконец посмотрим на алгоритм, по которому работает управление симистором. Так вот, управлять симистором будем с arduino. Прошивки пишутся в специальной программе. Есть два важных момента. Первый – получение сигнала с выхода детектора нуля, который сообщает, что синусоида напряжения сети пересекает напряжение 0 вольт. Выход детектора нуля подключен к обработчику аппаратных прерываний. Это второй pin arduino. И pin подтянут к земле резистором на 10 килоом. Внутренняя подтяжка не справляется. Не знаем почему. В отличие от всех прошивок в интернете, алгоритм не использует задержки. То есть управление симистором не мешает выполнению остального кода программы. Реализована это при помощи таймера таймер-1. Так как использование обычных счетчиков приведет к некоторым мерцаниям через каждые несколько минут.
Для удобной работы с таймером используем шуструю библиотеку сайберлип. В общем, суть такая, как только обнаруживается переход через ноль снизу, это точка, таймер запускает на время диммирования, и прерывание перенастраивается на переход напряжения через ноль сверху вниз. И время пошло. После срабатывания таймера, симистор открывает ток на потребитель. Как только прерывание замещает переход через ноль сверху вниз, оно останавливает таймер и снова перенастраивается. А также выключает ток через симистор. И так повторяется 50 раз в секунду.

Для регулировки времени, через которое откроется симистор после пересекания через ноль, использован потенциометр. Переменные диммер должны принимать значения от 0 до 255. Это полная и минимальная яркость. И всё. Напомню, что все схемы и скетч можно скачать на странице проекта. Ссылка в описании под видео.

Диммер можно использовать не только для управления яркостью. Гораздо больший интерес представляет система управления нагревательным элементом с обратной связью. Для точного поддержания заданной температуры.
Также диммер можно использовать в системах, таких как умный дом, и контроль этого самого диммера через интернет. Для этого нужно уметь писать программы под windows, android или под веб.

Приехали китайские печатные платы. Повторимся, если вы физическое лицо, то заказывать лучше почтой. Через dhl пришлось прикрываться знакомой фирмой и переоформлять документы на таможне. В общем, такие симпатичные печатки. Если учесть, что они обошлись по 25 руб штука, надеемся, китайцам это хоть чуть-чуть выгодно. Иначе обидно.

Распаяли один диммер и подключаем его к arduino, также как раньше. Двигаем потенциометром, накал лампочки меняется от максимального до еле-еле тлеющего. На самом деле, интересное зрелище.

Наверное, всё видео хотелось посмотреть на реальную форму волны на выходе из диммера. Соответствует ли она картинкам, которые показывал. Воспользуемся дешевым китайским осциллографом, который умеет измерять напряжение до 12 вольт. Стоп. Так делать нельзя. Чтобы измерить сетевое напряжение, нужно воспользоваться штукой, как делитель напряжения. Подойдет соотношение 1 к 20. Чтобы резисторы не грелись, взял номиналы двести и десять килоом. Аккуратненько всё подключаем и только потом включаем в сеть. Это опасно для жизни. И видим ту же самую красоту, как на картинках. Видно, как напряжение в периодах синусоиды появляется, доходит до нуля и пропадает. Чтобы снова включится по таймеру следующим полупериуде. Великолепное зрелище!



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows