Фазовое регулирование. Ликбез.

диммер, фазорез, фазорезка, фазовый (фазный) регулятор мощности управление нагрузкой 220V 380V

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Фазовое регулирование. Ликбез.

#1

Сообщение Dryundel » 26.06.2022{, 20:07}

Все о фазовом регулировании.
диммер, фазорез, фазорезка, фазовый (фазный) регулятор мощности
Планое управление нагрузкой (мощностью) 220V

.
Готовый блок DimmerPro здесь.
.
Довольно часто на форуме возникают вопросы по теме регулирования мощности в сети 220V. Как правило первый ответ форумчан - фазорезка. Связанных с этим вопросом тем, на форуме довольно много. Пользовательских блоков тоже достаточно. При должном усердии можно найти штук пять от разных авторов. Так же есть и симисторные схемы для управления с помощью этих блоков.

Итак, кратко о принципе работы фазорезки.
Переменное напряжение в бытовой сети 220В 50Гц представляет собой синусоиду c периодом 20мс соответственно ток в ней изменяет направление 100 раз в секунду (1 раз в 10мс). Напряжение 220В рассчитывается исходя из среднеквадратичного напряжения, т.е. берется интеграл от синусоиды в 310 В. Для тех кто позабыл или пропустил что такое интеграл, можно ориентироваться на площадь ограниченную полуволной.
1.jpg
.
Одним из способов регулировки среднеквадратичного напряжения, является отрезание части полуволны, сокращая тем самым рабочую площадь. Т.е. если супер-тумблером включать нагрузку в самом пике полуволны и выключать при переходе через ноль, то мы уменьшим среднеквадратичное напряжение в 2 раза (до 110В). А если сдвигать точку включения, то получим подобие ШИМ регулирования.
2.jpg
.
Резонно было бы заметить, что правильней было бы включать при нуле, а сдвигать точку отключения. Типа помех будет меньше, не будет создаваться "ударного" напряжения. Однако самым распространенным полупроводниковым устройством для работы с переменным напряжением является симистор, а он так не умеет. Симистор может открыться в любой момент, а закроется он только при переходе синусоиды рабочего напряжения через ноль. Самые пытливые могут легко найти физику этого процесса в глобальной сети. (пока она еще есть :) )

Переходим непосредственно к регулированию.
Как правило, столкнувшись с такой задачей как регулирование мощности нагрузки сетевого напряжения, кулибины начинают собирать схему фазорезки и искать блок для управления этой схемой. Дело конечно хорошее и позже мы это все разберем. Однако, на сей момент, существуют и более простые промышленные, надежные решения.
Как выяснилось, далеко не все знают что существуют твердотельные реле (SSR), которые могут не только включать выключать но и регулировать переменное сетевое напряжение по принципу той же самой фазорезки. Кроме того по типу управления существует аж три варианта.
- Управление напряжением 0-5 В (0-10 В)
- Управление током 4-20 мА (и другие)
- Управление переменным сопротивлением.
Разные типы SSRПоказать
3.jpg
4.jpg
4.jpg (35.27 КБ) 4136 просмотров
5.jpg
Конечно же самым простым будет управление напряжением. Для этого берем выход ШИМ контроллера, ставим сглаживающий конденсатор и все.
Не на много сложней управление по току. В цепь надо всего лишь добавить сопротивление. Такое, что бы при 5 V протекал ток соответствующий максимальному указанному на SSR. При подборе твердотелки следует учесть максимально допустимый ток на цифровом пине контроллера. К примеру у AVR - не более 40 мА.
6.jpg
.
Не все твердотелки реагируют одинаково на пульсацию после сглаживания. Поэтому возможно потребуется поднять частоту ШИМ, вставив в setup следующий код:

Код: Выделить всё

void setup() {
  // Для пинов D3 и D11 - 8 кГц
  TCCR2B = 0b00000010;  // x8
  TCCR2A = 0b00000011;  // fast pwm
}
Данный код актуален для контроллеров Arduino (AVR)

Можно сделать блок с этим кодом и просто вставить его в проект.

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

.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Фазовое регулирование. Ликбез.

#2

Сообщение Dryundel » 26.06.2022{, 20:07}

Схема фазореза и принцип работы.
.
Примеров схем в Интернете можно найти довольно много, но все они работают по одному принципу и отличаются небольшими нюансами.
7.jpg
.
Основа состоит в том, чтобы отловить момент перехода синусоиды через ноль, отсчитать необходимое количество микросекунд и подать сигнал на открытие симистора. При следующем переходе через ноль симистор закроется сам, а отсчет времени до запуска начнется снова. И так 100 раз в секунду. Это всё. Можно сказать - проще не бывает. :)

За контроль перехода через ноль отвечает нижняя часть схемы при помощи оптопары PC814 или подобной. Она же служит опторазвязкой. Суть в том что светодиоды (их два) в оптопаре мигают и имеют нулевое свечение при переходе через ноль (близко к нему), что и отлавливает фототранзистор. На самом деле светодиоды гаснут чуть раньше и начинают светиться чуть позже, но это время измеряется десятками микросекунд, а длительность полуволны при 50Гц составляет 10 000 мкс. Этот сигнал и подается на пин контроллера. Необходимо чтобы данный пин мог работать с прерываниями. Таких пинов, к примеру, у Arduino NANO два, это D2 и D3.
Таким образом, в момент погасания светодиодов начинается установленный отсчет времени, по истечении которого будет подан импульс на управляющий пин. В данном случае это D4. Далее сигнал поступает на симисторную оптопару типа MOC3020 которая в свою очередь и открывает силовой симистор. Достаточная для открытия симистора длина импульса - 20-40 мкс.

Так же для детектирования нуля можно применить и однодиодную оптопару типа PC817, задействовав диодный мост и тем самым инвертировав нижнюю полуволну синусоиды. Обратите внимание, что для подключения к ~220В, как и в первой схеме, необходимы токоограничивающие резисторы.
Схема с PC817Показать
8.jpg
Все детали используемые в схеме стоят копейки и их вообще можно найти на старых платах. Однако сборка потребует минимальной квалификации. В случае если вы не хотите заморачиваться, можно приобрести и готовые девайсы.
К примеру: .

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Фазовое регулирование. Ликбез.

#3

Сообщение Dryundel » 27.06.2022{, 13:15}

Программная реализация фазореза.

Итак вы стали обладателем шилда типа Dimmer или собрали его самостоятельно. Теперь встал вопрос программной реализации управления им с помощью контроллера. Первое что приходит на ум - НАДО НАЙТИ ПОЛЬЗОВАТЕЛЬСКИЙ БЛОК для данного девайса. А между тем в штатном наборе блоков программы FLProg есть все инструменты для реализации фазореза.

Что в теории нужно?
Работа по прерыванию и аппаратный таймер, который будет давать задержку в нужное количество микросекунд, не мешая при этом основному циклу программы. А это значит, для этих целей прекрасно подойдет штатный скоростной счетчик. Автор FLProg не обошел вниманием тему Фазного регулирования нагрузки переменного тока. И аж с 2015 года на Хабре лежит отличная подробнейшая статья о том что и как.
Вот всё что вам потребуется. И даже блок масштабирования здесь для того, что бы согласовать 10 битный АЦП аналогового входа (0-1023) с временем задержки от 0 до 10 000 мкс
11.jpg
11.jpg (11.47 КБ) 3890 просмотров
Не буду пересказывать, ибо там все очень подробно и доходчиво написано.
Фазное регулирование нагрузки переменного тока с помощью FLProg (от автора)
.
Результаты настройки фазного регулирования


Вот так это выглядит на осциллографе
Видео от ViktorPetrovПоказать

Маленькие прямоугольные пики это сигнал с оптопары (переход через ноль)
Отлично виден срез полуволны синусоиды в действии при регулировании.
Ссылка на тему форума, где это обсуждалось
.
Конечно же не бывает идеальных блоков которые устраивают во всех случаях.
Как я и писал раньше, для старта (открытия) симистора достаточно короткого импульса 20-40мкс и даже меньше. Дальше симистор будет открыт до перехода синусоиды через ноль. Но это в идеале.

Индуктивная нагрузка

К примеру если нагрузка индуктивная и достаточно мощная, типа коллекторного двигателя, то могут происходить обратные индуктивные выбросы и влиять на работу симистора.
Именно по этой причине одним из пользователей был написан ПБ который обеспечивает высокий уровень управляющего сигнала почти до следующего перехода через ноль.
К сожалению автор не подписал свой блок и имя его мне не известно.
Посмотреть описание и скачать данный блок можно по этой ссылке:
12.jpg
12.jpg (7.87 КБ) 3890 просмотров
Фазовый регулятор мощности

Рассмотрим плюсы и минусы этих двух вариантов

В первом случае:
- Регулировка может осуществляться с шагом в 1 мкс (в реальности около 4 мкс). Т.е. около 2500 градаций.
- Вариант более предпочтителен для ПИД регулирования из-за точности настройки.
- Используется штатный блок
- Не высокая стойкость к индуктивным помехам
Но с нагрузками типа ТЭН или лампочка справляется отлично.

Во втором случае:
- Реальное число градаций чуть больше 150 (по описанию автора), шаг составляет 64 мкс
- Более высокая стойкость к индуктивным помехам
- Код блока более оптимизирован и меньше загружает процессор.
Есть и еще нюансы. Подробнее читай в описании блока.

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

........................

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Фазовое регулирование. Ликбез.

#4

Сообщение Dryundel » 27.06.2022{, 19:18}

Управление несколькими нагрузками.

Чтобы управлять несколькими нагрузками с одного контроллера при помощи твердотельных реле (SSR) ничего особенного делать не требуется. Для этого надо всего лишь взять управляющий сигнал ШИМ с разных пинов.
Несколько сложней дело обстоит с шилдами и самостоятельно собранными схемами на симисторах. Дело в том, что для осуществления этого, используется связка внешнего прерывания и прерывания по таймеру. Не вдаваясь особо в подробности, констатирую то, что не получится использовать в проекте одновременно два блока, о которых говорилось выше. Компилятор выдаст ошибку.
Написать скетч, который будет заставлять аппаратный таймер обрабатывать одновременно две и более задержки не так то просто. Для этого существуют готовые библиотеки.
Так же не стоит пытаться для каждого устройства задействовать на отдельном пине внешнее прерывание для отслеживания перехода синусоиды через ноль. Сетевое напряжение используется одно, а значит для всех устройств достаточно отловить ноль один раз. И в случае если у вас два девайса, достаточно использовать линию zero-cross только от одного устройства.
Схема с одним zero-crossПоказать
14.jpg
.
Кроме того существуют и готовые девайсы на несколько потребителей. К примеру у RobotDyn есть целая линейка таких шилдов.
13.jpg
https://robotdyn.com/catalog/ac-dimmers.html
.
Мне не удалось найти на форуме готовый блок (может кто подскажет), однако готовых решений достаточно.

Рассмотрим два примера с русскоязычных сайтов и библиотеками с русским описанием.
  • Довольно интересная библиотека CyberLib, имеющая много полезного фунционала.
Библиотека CyberLib
Скетч для трех диммеров на библиотеке CyberLibПоказать

Код: Выделить всё

#include "CyberLib.h" //Библиотека от Cyber-Place.ru
volatile uint8_t tic, Dimmer1, Dimmer2, Dimmer3;
uint8_t data;

void setup() 
{ 
  D4_Out; D5_Out; D6_Out; //Настраиваем порты на выход
  D4_Low; D5_Low; D6_Low; //установить на выходах низкий уровень сигнала
  D2_In; //настраиваем порт на вход для отслеживания прохождения сигнала через ноль  
  
//CHANGE – прерывание вызывается при любом изменении значения на входе; 
//RISING – вызов прерывания при изменении уровня напряжения с низкого (Low) на высокий(HIGH) 
//FALLING – вызов прерывания при изменении уровня напряжения с высокого (HIGH) на низкий (Low) 
    attachInterrupt(0, detect_up, LOW);  // настроить срабатывание прерывания interrupt0 на pin 2 на низкий уровень
    StartTimer1(halfcycle, 40); //время для одного разряда ШИМ
    StopTimer1(); //остановить таймер
    UART_Init(115200); //инициализация порта
}
//********************обработчики прерываний*******************************
void halfcycle()  //прерывания таймера
{ 
  tic++;  //счетчик  
  if(Dimmer1 < tic ) D4_High; //управляем выходом
  if(Dimmer2 < tic ) D5_High;  //управляем выходом
  if(Dimmer3 < tic ) D6_High;  //управляем выходом 
}

void  detect_up()  // обработка внешнего прерывания. Сработает по переднему фронту
{  
 tic=0;             //обнулить счетчик
 ResumeTimer1();   //запустить таймер
 attachInterrupt(0, detect_down, HIGH);  //перепрограммировать прерывание на другой обработчик
}  

void  detect_down()  // обработка внешнего прерывания. Сработает по заднему фронту
{   
 StopTimer1(); //остановить таймер
 D4_Low; D5_Low; D6_Low; //логический ноль на выходы
 tic=0;       //обнулить счетчик
 attachInterrupt(0, detect_up, LOW); //перепрограммировать прерывание на другой обработчик
} 
//*************************************************************************
void loop() 
{Start
  if (UART_ReadByte(data)) Dimmer1=data;
  
   Dimmer2=195; //200=мин. 0=макс 
   Dimmer3=0; //200=мин. 0=макс 
End} 
Страница проекта
.
================================
.
  • Библиотека GyverTimers для работы с аппаратным таймером от AlexGyver
Библиотека GyverTimers
Скетч для трех диммеров на библиотеке GyverTimersПоказать

Код: Выделить всё

// пример диммера на симисторе с внешним детектором нуля
// или готовый китайский модуль https://ali.ski/yGU73N
// используется библиотека GyverTimers (минимум версия 1.5)
// по аналогии можно сделать диммер на любом таймере ардуино
// в том числе любом из 6-ти таймеров для Mega
// многоканальный диммер. Тут пример с разрешением 256 (значения 0-255)

#define ZERO_PIN 2    // пин детектора нуля
#define INT_NUM 0     // соответствующий ему номер прерывания
#define DIM_AMOUNT 3  // количество диммеров
const byte dimPins[] = {3, 4, 5}; // их пины

#include <GyverTimers.h>    // библиотека таймера
int dimmer[DIM_AMOUNT];     // переменная диммера
volatile int counter = 0;   // счётчик цикла

void setup() {
  pinMode(ZERO_PIN, INPUT_PULLUP);
  for (byte i = 0; i < DIM_AMOUNT; i++) pinMode(dimPins[i], OUTPUT);
  attachInterrupt(INT_NUM, isr, FALLING); // для самодельной схемы ставь RISING
  Timer2.enableISR();

  // 37 мкс - период прерываний для 255 шагов и 50 Гц
  // для 60 Гц ставь число 31
  Timer2.setPeriod(37); 
  Serial.begin(9600);
}
void loop() {
  // задаём значение
  //dimmer[0] = map(analogRead(A0), 0, 1023, 0, 9500);
  dimmer[0] = 50;
  dimmer[1] = 120;
  dimmer[2] = 190;
  delay(100); // в реальном коде задержек быть не должно
}

// прерывание детектора нуля
void isr() {
  counter = 255;
  Timer2.restart();
}

// прерывание таймера
ISR(TIMER2_A) {
  for (byte i = 0; i < DIM_AMOUNT; i++) {
    if (counter == dimmer[i]) digitalWrite(dimPins[i], 1);  // на текущем тике включаем
    else if (counter == dimmer[i] - 1) digitalWrite(dimPins[i], 0);  // на следующем выключаем
  }
  counter--;
}
Страница проекта + много полезной инфы про управление мощной нагрузкой
.
=================================
.
Предлагаю всем желающим, с помощью данных примеров потренироваться в создании пользовательского блока для управления несколькими нагрузками одним контроллером.
.
Материалы в помощь:
Создание пользовательского блока из скетча(примера)
Создание пользовательского блока (Code-Basic) простым языком.
Новый редактор ПБ (Code-Professional) Быстрый старт
.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Фазовое регулирование. Ликбез.

#5

Сообщение Dryundel » 28.06.2022{, 16:46}

Алгоритм Брезенхема.

Много раз на форуме его упоминали, но толком так никто не рассказал что это такое.
Из Википедии тоже мало понятно как его привязать к фазному регулированию.
Wikipedia писал(а):Алгоритм Брезенхе́ма (англ. Bresenham's line algorithm) — это алгоритм, определяющий, какие точки двумерного растра нужно закрасить, чтобы получить близкое приближение прямой линии между двумя заданными точками.
Используется алгоритм Брезенхема во многих областях.

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

Увеличьте картинку и все станет понятно.
Брезенхем.jpg
.
Теперь за единицу возьмем одну полуволну синусоиды. Соответственно если равномерно вырезать полуволны, получим разную передаваемую энергию в единицу времени.
15.jpg
16.jpg
17.jpg
.
Плюсы и минусы алгоритма Брезенхема.
- Неприменим для освещения. Лампочка будет сильно моргать на малой мощности.
- Нет скачков "ударов" напряжения, как при срезании части полуволны. Существенное снижение помех. Для ТЭН самое то.

Более подробно про алгоритм Брезенхема можно почитать ЗДЕСЬ.

holodaleksey
Лейтенант
Сообщения: 566
Зарегистрирован: 10.01.2016{, 13:47}
Репутация: 14

Фазовое регулирование. Ликбез.

#6

Сообщение holodaleksey » 28.06.2022{, 22:16}

Dryundel писал(а):
26.06.2022{, 20:07}
Кроме того по типу управления существует аж три варианта.
- Управление напряжением 0-5 В (0-10 В)
- Управление током 4-20 мА (и другие)
- Управление переменным сопротивлением.
как минимум, добавлю, что есть еще ттр с управлением 3(4)...32vdc.
СпойлерПоказать
Изображение
1. и, не реклама, а из личного - ттр фотек, мягко говоря, не лучший вариант.
(нагрузка 5кВт 230VAC, ттр на радиаторе с термопастой, время и характер включения нагрузки одинаков: фотек - разогрев корпуса ттр до 82 градусов, на том же редиаторе ттр овен - разогрев корпуса до 42 градусов.

2. при использовании в качестве ключа для включения импульсных драйверов питания светодиодных светильников - на ттр фотек есть свечение (днем незаметно, ночью сильно заметно). это исправить/изменить/скорректировать нельзя - встроенный снаббер дает наводку. овеновское ттр в этом случае не пробовал, под рукой нет, а ради эксперимента покупать не имею желания.
Подпись удалена мною по требованию администрации форума, что является нарушение демократии )

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Фазовое регулирование. Ликбез.

#7

Сообщение Phazz » 28.06.2022{, 22:32}

holodaleksey, а откройте фотек, там скорее всего симистр стоит меньше номинала ттр. По крайней мере у меня такое было. И нагрев говорит про это же.

holodaleksey
Лейтенант
Сообщения: 566
Зарегистрирован: 10.01.2016{, 13:47}
Репутация: 14

Фазовое регулирование. Ликбез.

#8

Сообщение holodaleksey » 28.06.2022{, 22:39}

Phazz, возможно, но фотек у меня с того момента (когда его на овен поменял, это на даче быстрый прогрев конвекторами к приезду делал) валялся без дела несколько лет, а сейчас (временно) стоит на одном датчике движения (релюха надоела щелкать, а у нее управление 24vdc, вот и воткнул что на ум пришло и под руку попало. когда на всех датчиках движения щелкающие релюхи на самодельные ключи с вта16 поменяю - обещаю вскрыть)
...меньше, не меньше. ну вот даже если он там в номинал - я фотек больше не куплю)
Подпись удалена мною по требованию администрации форума, что является нарушение демократии )

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Фазовое регулирование. Ликбез.

#9

Сообщение Dryundel » 28.06.2022{, 23:22}

holodaleksey писал(а):
28.06.2022{, 22:16}
как минимум, добавлю, что есть еще ттр с управлением 3(4)...32vdc.
holodaleksey, как минимум Вы ошиблись с картинкой. Данное ТТР имеет дискретное управление и не может плавно управлять нагрузкой. Принцип фазорезки в нем не реализован.
ТТР с аналоговым управлением маркируется литерой L.
Например : SSR-25LA
Но за то в данном типе реле реализован zero-cross, что значительно снижает помехи.
Но данная тема посвящена все- таки фазорезам.
.
Русский даташит на FOTEK

valand
Рядовой
Сообщения: 63
Зарегистрирован: 15.07.2018{, 15:12}
Репутация: 13
Имя: Андрей

Фазовое регулирование. Ликбез.

#10

Сообщение valand » 28.06.2022{, 23:45}

Попробую в кратце описать проблему. Возникает она из за того, что есть желание использовать фазорез не совсем в общепринятом назначении. А именно, есть необходимость регулировать отдельно положительную полуволну и отдельно отрицательную. Нужно это для сварки алюминия. Вот на примере картинки, когда даже о фазорезках еще не мечтали, не то что о инверторах)
Изображение
D1 мощный диод через него положительная полуволна проходит полностью
R1 мощное сопротивление, на самом деле переменное, которым регулировалось прохождение отрицательной полуволны.
Осциллятор там был не управляемый и был включен постоянно.
Я собрал осциллятор, который управляется логической единицей и его можно запросто с частотой 100Гц включать выключать.
Соответственно если положительную полуволну включать в начале и выключать в конце. а отрицательную в любом нужном месте, то получится тот же эффект что и с диодом и резистором. Такие решения стали применять чуть позже и вместо ардуины там был фазорез на логике, но схемы как у телевизора, на трех листах А3)
Собственно проблема в том, что для того чтобы разделить полуволны надо два входа с прерываниями одновременно. А в приведенных выше примерах вход только один а выходов много. Как вариант конечно можно попробоватьт на двух ардуинах поэкспериментировать))
Вложения
Рис. 6. 5. Аргоновая установка с осциллятором.jpg
Рис. 6. 5. Аргоновая установка с осциллятором.jpg (29.87 КБ) 3678 просмотров

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Фазовое регулирование. Ликбез.

#11

Сообщение Dryundel » 29.06.2022{, 00:03}

valand писал(а):
28.06.2022{, 23:45}
А именно, есть необходимость регулировать отдельно положительную полуволну и отдельно отрицательную.
На вскидку вижу два варианта для эксперимента. В обоих используем 817 оптопару (однодиодную).
1. Задействуем для прерываний два аппаратных таймера.
2. Задействуем дополнительно два цифровых пина, дабы определить направление и обходимся одним таймером.

valand
Рядовой
Сообщения: 63
Зарегистрирован: 15.07.2018{, 15:12}
Репутация: 13
Имя: Андрей

Фазовое регулирование. Ликбез.

#12

Сообщение valand » 29.06.2022{, 00:30}

Ну я изначально и планировал использовать два блока и два детектора (полудетектора) типа 817, вход одного для положительной полуволны вход другого для отрицательной, а два выхода с ардуины объединить через два диода (сумматор) и на управление. Но оказалось что два блока одновременно не работают. И тут тупик, так как впихнуть готовый скетч в блок я еще с некой вероятностью осилю, а вот "два цифровых пина, дабы определить направление и обходимся одним таймером" это что то за гранью моих познаний)

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Фазовое регулирование. Ликбез.

#13

Сообщение Dryundel » 29.06.2022{, 08:23}

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

Отправлено спустя 8 минут 2 секунды:
Может кто в теме? Будет нормально работать аппарат на 50Гц? Стоит овчинка выделки?

Bentry
Рядовой
Сообщения: 43
Зарегистрирован: 20.09.2017{, 10:22}
Репутация: 7

Фазовое регулирование. Ликбез.

#14

Сообщение Bentry » 29.06.2022{, 10:40}

Управлял освещением (димированием) в двух комнатах на одном контроллере arduino mega.
Т.к. нормальных библиотек не было, в FlProg применил 3 скоростных счетчика. При этом была реализация MQTT, remoteXY. После чего заменил симисторы от DFrobot на обычные твердотелки, т.к. при перегорании лампы накаливания в 90 % симистор пробивает. Менял их десятками. Димирование больше не использую, наигрался!
Получилось, что контроллер пару лет без проблем отслеживал детектор нуля с 3-х устройств. Может просто повезло)

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Фазовое регулирование. Ликбез.

#15

Сообщение Sancho » 29.06.2022{, 12:11}

Dryundel писал(а):
29.06.2022{, 00:03}
2. Задействуем дополнительно два цифровых пина, дабы определить направление и обходимся одним таймером.
Согласен, но сможем обойтись одним.
Используем детектор нуля для обоих полуволн на любимом пине.
Добавляем схему.
2022-06-29_12-05-49.png
2022-06-29_12-05-49.png (7.26 КБ) 3564 просмотра
При обработке прерывания смотрим с неё сигнал - если есть, БЫЛА положительная полуволна, если нет - отрицательная.
На основании полученной инфы выполняем необходимые действия с таймером/счётчиком.
Выходной пин один, входных два, один с прерыванием.
Ёмкость подбираем либо опытным путём, либо по осцилографу. Можно поставить по входу мк, но нужно очень точно попасть со временем RC цепочки.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Фазовое регулирование. Ликбез.

#16

Сообщение Dryundel » 29.06.2022{, 12:41}

Sancho писал(а):
29.06.2022{, 12:11}
Согласен, но сможем обойтись одним.
Используем детектор нуля для обоих полуволн на любимом пине.
Ну как вариант. Либо два пина либо подбор RC цепочки. Я бы туда подстроечник добавил для упрощения настройки последовательно с диодом.
Но вторая оптопара проще и не дороже выйдет. Экономия в пинах. :)

valand
Рядовой
Сообщения: 63
Зарегистрирован: 15.07.2018{, 15:12}
Репутация: 13
Имя: Андрей

Фазовое регулирование. Ликбез.

#17

Сообщение valand » 29.06.2022{, 15:57}

Dryundel писал(а):
29.06.2022{, 08:31}
частоту на порядок выше.
Неее. Точно не на порядок. С "древних" времен варили на 50Гц и при этом еще и спутники в космос запускали)
На данный момент на современных инверторах есть возможность регулировки от 50 до в среднем 200Гц, самое большее что встречал до 300 или 350Гц. Но это все плюшки для удобства. Примерно как абс или гидроусилитель на автомобиле.
Собственно у меня уже первые пробы были без регулировки, и вроде вполне успешные.
Так что я исходя из своих возможностей попробую на двух ардуинах, может что вылезет неучтенное, чтоб по напрасну народ не дергать.

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Фазовое регулирование. Ликбез.

#18

Сообщение Dryundel » 29.06.2022{, 16:05}

valand писал(а):
29.06.2022{, 15:57}
Так что я исходя из своих возможностей попробую на двух ардуинах, может что вылезет неучтенное, чтоб по напрасну народ не дергать.
Ок. Отпишись потом по результатам.

Djon97
Рядовой
Сообщения: 1
Зарегистрирован: 24.01.2022{, 18:46}
Репутация: 0
Имя: Джон97

Фазовое регулирование. Ликбез.

#19

Сообщение Djon97 » 30.06.2022{, 04:38}

Dryundel писал(а):
28.06.2022{, 23:22}
Dryundel писал(а):
26.06.2022{, 20:07}
как минимум, добавлю, что есть еще ттр с управлением 3(4)...32vdc.
holodaleksey, как минимум Вы ошиблись с картинкой. Данное ТТР имеет дискретное управление и не может плавно управлять нагрузкой. Принцип фазорезки в нем не реализован.
ТТР с аналоговым управлением маркируется литерой L.
Например : SSR-25LA
Но за то в данном типе реле реализован zero-cross, что значительно снижает помехи.
Но данная тема посвящена все- таки фазорезам.
.
Русский даташит на FOTEK
Добрый день. То есть, для управления скоростью однофазного вентилятора необходима TTL-LA и алгоритм ШИМ с ПИД-регулированием скважности импульса? А детекцию нуля и фазорезку TTL-LA выполнит само? Так же и с ТЭНом? То есть, применение TTL-LA возможно для индуктивной и резистивной нагрузки?

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Фазовое регулирование. Ликбез.

#20

Сообщение Dryundel » 30.06.2022{, 08:17}

Djon97 писал(а):
30.06.2022{, 04:38}
А детекцию нуля и фазорезку TTL-LA выполнит само?  То есть, применение TTL-LA возможно для индуктивной и резистивной нагрузки?
Ну с мощной индуктивнай нагрузкой всегда возникают некоторые сложности, но в целом да, так и есть. Об этом и статья.

Ответить

Вернуться в «Обучающие примеры работы в FLProg»