Обсуждаем контроллеры компании Atmel.
Ответить

Вопрос по фазовому регулятору с AVR-управлением

Пн фев 04, 2019 10:54:39

Добрый день.

В данной статье http://avr-start.ru/?p=3983 описан способ управления симистором с помощью микроконтроллера. В ходе его реализации у меня возник вопрос: предложенная в этой статье схема требует соблюдения правильного подключения нуля и фазы, иначе ничего не будет работать, поскольку фазовый сигнал нужен в качестве обратной связи для отслеживания пересечения нуля. Посоветуйте, как можно модифицировать схему, чтобы она была не зависима от положения фазы и нуля?

И еще попутно один вопрос. Набросал схему в протеусе, написал код, правда немного отличный от предложенного. Предложенный в статье код опирается на аппаратном прерывании, у меня же происходит отслеживание изменения логического состояния на входном пине по таймеру. В остальном фактически то же самое. Т.е. в обработчике прерывания таймера идет проверка смены логического стояния на входном пине ОС. Как только произошла смена лог. состояния, запускается отсчет задержки, который идет до определенного значения (предела задержки). Как только предел задержки достигнут, в текущем цикле на управляющий пин отправляется лог. 1, а следующем лог. 0 (т.е. генерируется управляющий импульс). Таким образом происходит открытие симистора с задержкой после прохождения нуля.

Изображение Изображение

Код:
#define CTRL_SIGN_OFF 0
#define CTRL_SIGN_ON  1

//Отправка  управляющего сигнала в PORTC.0
void SetCtrlSignal(unsigned char state)
{
   
   if (state == CTRL_SIGN_ON) PORTC |= 1;
    else PORTC &= ~1;
}

//Считывание сигнала обратной связи PINA.7
unsigned char GeFbSignal(void)
{
    return (PINA & 0x80);
}

//Функция фазовой регулировки (вызывается в теле обработчика прерывания таймера)
void PhaseRegulation(void)
{
      curFbSignal = GetFbSignal(); //получить текущее логическое состояние сигнала обратной связи
      
      if (DelayBeg == TRUE) //Если запущен отсчет задержки
      {
         if (DalayCntr == DelayLim) //Если достигнут предел отсчета
         {
            SetCtrlSignal(CTRL_SIGN_OFF); //Прекратить управляющий импульс
            DalayBeg = FALSE; //Остановить отсчет задержки
         }
         else if (dvBoundDalayCntr == DelayLim - 1) //Если достигнут предел отсчета минус 1
         {
            SetCtrlSignal(CTRL_SIGN_ON); //Запустить управляющий импульс
         }
         
         DelayCntr++; //увеличить счетчик задержки
      }
      else if (oldFbSignal != curFbSignal) //Если произошла смена логического состояния сигнала ОС
      {
         SetCtrlSignal(CTRL_SIGN_OFF); //Прекратить управляющий сигнал
         DelayBeg = TRUE; //Запустить отсчет задержки
         DelayCntr = 0; //Обнулить счетчик задержки
      }
      
      oldFbSignal = curFbSignal;   
}


В протеусе все запускается и как бы работает, но спустя секунд 3-5 вываливается такая ошибка. Подскажите, что ему не хватает?

Изображение

Добавлено after 26 minutes 35 seconds:
Модифицировал схему вот так, в протеусе работает (так же вылетает ошибка, но осциллограмма правильная), как думаете в реале будет такая схема работать?

Изображение

Re: Вопрос по фазовому регулятору с AVR-управлением

Пн фев 04, 2019 11:53:49

С1, D1, D2 лишние.
ошибка протеуса возникает потому, что вы смешали аналоговые компоненты и цифровые. например, модель резистора может быть аналоговой или цифровой, светодиод тоже. при моделировании аналоговых цепей протеус порой лажает - требуется тонкая и загадочно-непонятная настройка его поведения. лично я в подобных случаях отказываюсь о моделирования аналога, ограничиваясь только цифрой (если полностью понятно, как аналоговая часть яработает).
не одобряю метод определения перехода через ноль, т.е. путем опроса. но хозяин барин.
многократно проверенная схема фазового регулятора:
Изображение

Re: Вопрос по фазовому регулятору с AVR-управлением

Пн фев 04, 2019 12:08:13

Если уж оптрон на выходе, то и гальванразвязка на входе...
Вот типа такой
http://img.radiokot.ru/files/20529/1r6lu2clr1.JPG
:roll:

Re: Вопрос по фазовому регулятору с AVR-управлением

Пн фев 04, 2019 12:33:35

В протеусе все запускается и как бы работает, но спустя секунд 3-5 вываливается такая ошибка. Подскажите, что ему не хватает?

это попробовать:
https://radiokot.ru/forum/viewtopic.php ... 07#p198207

Re: Вопрос по фазовому регулятору с AVR-управлением

Пн фев 04, 2019 15:02:19

входной каскад можно так (работает более 15 лет) и на выход оптрон без Zero Crossing
переход через ноль лучше контролировать через прерывание на входе int
Вложения
5.png
входной каскад
(5.6 KiB) Скачиваний: 412

Re: Вопрос по фазовому регулятору с AVR-управлением

Пн фев 04, 2019 15:20:25

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

Re: Вопрос по фазовому регулятору с AVR-управлением

Пн фев 04, 2019 15:27:58

в принципе обе рабочие если нужен галваноразвяз чесный но в китайпроме повално его неделают лет 10как катот триаку подвешивают к +5 а нать замыкается через ОК ирезистор на землю синхру просто берут с анода триаку
http://arv.radioliga.com/images/stories/fun/sch.gif не рекоиндую ток управы ограничен выходом мк треьуется чуткий ирикак группы Е и при пропое все сгорит 7ах включая мк лучше повесить буферный транзюлек нужной мощи тогда можно пережить бах сохраниф мк

Re: Вопрос по фазовому регулятору с AVR-управлением

Пн фев 04, 2019 17:05:32

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

https://www.owen.ru/uploads/re_mv110-8df_1824.pdf
стр.38

Re: Вопрос по фазовому регулятору с AVR-управлением

Пн фев 04, 2019 17:43:31

За доку плюсик - в коллекции не помешает...
Однако... Я и силовую голову и датчики предпочитаю на самом объекте ставить.
А сигнал гонится старой - доброй "20 мА токовой петлей".
Сегодня махоньких МК о 6-8 лапках в избытке. Особо и проблем нету.
Фазовой особо баловаться не довелось - уж больно помех от нее моного.
Да и экономия в проводе значительная - силовой кабель "не петляет" , а телефонна "лапша" как-то дешевше...
А вот ключевой с "выборкой количества периодов" на крайний случай (в самоделках)
мал повозился.
:dont_know:

Re: Вопрос по фазовому регулятору с AVR-управлением

Вт фев 05, 2019 04:51:18

В протеусе все запускается и как бы работает, но спустя секунд 3-5 вываливается такая ошибка. Подскажите, что ему не хватает?

это попробовать:
https://radiokot.ru/forum/viewtopic.php ... 07#p198207


Да, спасибо большое, эти настройки помогли! Ошибка больше не вываливается!

Добавлено after 6 minutes 33 seconds:
Спасибо всем отписавшимся за предложенные варианты! Сейчас буду более детально с ними разбираться.

Добавлено after 1 hour 35 minutes 1 second:
В общем, все-таки решил пойти по пути оптической гальваноразвяки. Переделал схему в протеусе таким образом, как предложил technik-1017.
Но после запуска симуляции, в осциллограмме есть небольшие недочеты. На нижней осциллограмме (выход оптопары) низ меандра не совсем прямоугольный, из-за чего не совсем корректно определяется момент прохождения через ноль. Подскажите, как можно выровнять меандр?
И еще вопрос - каково назначение резистора R6 и конденсатора С1?

Изображение Изображение

Добавлено after 6 minutes 15 seconds:
Уменьшил номинал резисторов R3 и R5 со 180к до 60к - стало значительно лучше. Думаю так пойдет. Посчитал - при данном суммарном сопротивлении (120к) через светодиод будет проходить максимум 2-3 мА тока, но правда при таком токе мощность резисторов должна быть по 0,5 Вт. Остался вопрос за резистор R6 и конденсатор С1 -нужны ли они и для чего?

Изображение

Re: Вопрос по фазовому регулятору с AVR-управлением

Вт фев 05, 2019 08:43:54

р6с1 помехи коих в сети полно гасят
р6 совмесно с р3зр5 задают порок синуса на сработку с1ё убивает вч шум от всякой шняыги вроди ИБП и ЭПРА
номиналом резистора можно кстати тож поигратся чля четкого строб сигнала нужной ширины стропа

Re: Вопрос по фазовому регулятору с AVR-управлением

Вт фев 05, 2019 09:02:40

Наверно лучше использовать оптрон k3010 иначе при смене фаза-ноль будете иметь разные переходы (0-1 или 1-0) на входе микроконтроллера.
При использовании оптрона k3010 будете иметь короткие импульсы на входе микроконтроллера в момент перехода фазы через 0.
Рабочий ток оптрона pc817 5 mA, резисторы R3 и R5 надо уменьшать.
R6 и C1 фильтр от помех, но большие номиналы ставить не следует, можете импульс завалить

Re: Вопрос по фазовому регулятору с AVR-управлением

Вт фев 05, 2019 09:05:17

р6с1 помехи коих в сети полно гасят
р6 совмесно с р3зр5 задают порок синуса на сработку с1ё убивает вч шум от всякой шняыги вроди ИБП и ЭПРА
номиналом резистора можно кстати тож поигратся чля четкого строб сигнала нужной ширины стропа

Ок, понял, спасибо!

Re: Вопрос по фазовому регулятору с AVR-управлением

Вт фев 05, 2019 09:21:13

насчет к3010 я согласен он дает 2 стоба за период 817 тока 1 в ряде случаеф это критично но при отсутствии 3010 или подобных 2 817 впаралель рулят тока диоды надо включитьвстречно паралелно
этот вариан боле народный ибо цена 817 в лавках ок 5-20р а 3011 надо еше найти и цена там может неприятно удивить

Re: Вопрос по фазовому регулятору с AVR-управлением

Вт фев 05, 2019 10:10:33

Наверно лучше использовать оптрон k3010 иначе при смене фаза-ноль будете иметь разные переходы (0-1 или 1-0) на входе микроконтроллера.

С этим проблем нет, т.к. важна именно смена логического состояния, при этом без разницы с 0 на 1 или 1 на 0. С этим оптроном в симуляции прекрасно работает.

Рабочий ток оптрона pc817 5 mA, резисторы R3 и R5 надо уменьшать.
R6 и C1 фильтр от помех, но большие номиналы ставить не следует, можете импульс завалить

Ок, спасибо, про рабочий ток учту.

Добавлено after 3 minutes 2 seconds:
насчет к3010 я согласен он дает 2 стоба за период 817 тока 1 в ряде случаеф это критично но при отсутствии 3010 или подобных 2 817 впаралель рулят тока диоды надо включитьвстречно паралелно
этот вариан боле народный ибо цена 817 в лавках ок 5-20р а 3011 надо еше найти и цена там может неприятно удивить

Так вот именно, что детали закупаю в интернете и 3011 нет в наличии, придется долго ждать, а 817 как раз навалом (они почти в каждом импульсном БП).

Re: Вопрос по фазовому регулятору с AVR-управлением

Вт фев 05, 2019 11:57:16

k3010 (не k3011) есть в наличии
https://www.promelec.ru/product/112491/
https://www.chipdip.ru/product/kp3010b

тем более через интернет, цена 15-20 руб

Re: Вопрос по фазовому регулятору с AVR-управлением

Вт фев 05, 2019 14:26:50

В ЧиДе есть не спорю, и даже уже в корзину положил, только ехать до меня будет 10-14 дней. Я имел в виду, что у меня в наличии нет, нужно долго будет ждать :))

Re: Вопрос по фазовому регулятору с AVR-управлением

Ср фев 06, 2019 02:41:11

Давно использовал для этих целей TLP126.

Re: Вопрос по фазовому регулятору с AVR-управлением

Пт фев 22, 2019 17:14:26

В рабочей схеме использую PC817 для снятия синхро импульса, далее пускаю его через 74HC14 (Скажем на всякий случай) . Симистором силовым управляю через moc3052.
Итого регулировка мощности нагрузкой 6х3.6 кВт . (в качестве нагрузке лампы ИК). На форуме есть где то тема в которой обсуждал некоторые нюансы ФИУ.
Потом ушел на схему с применением IGBT транзисторов, как по мне более стабильная схема правда есть одно но (нужно активное охлаждение).
Зато без каких либо проблем регулировка 6 каналов по 4.4 кВт.

Все Схемы\Прошивки оставлял на форуме. (т.к много кто помогал разобраться в тонкостях программирования мк.)
Ответить