Помогите не работает диммер на Arduino

9744
Offline
Зарегистрирован: 14.06.2016
решил собрать димер на ардуино по видео http://www.youtube.com/watch?v=-YyuncOGa1U&t=1s
 
но почему то не работает всё перепроверил 100 раз не могу понять в чём дело ((
 
вот схема этого димера на ней я зелёным пометил то что я использую в замен предложного по схеме

и скетч проекта  

/* AC Light Dimmer - Inmojo  AC Voltage dimmer with Zero cross detection 
 Author: Charith Fernanado http://www.inmojo.com charith@inmojo.com
 License: Released under the Creative Commons Attribution Share-Alike 3.0 License.
 http://creativecommons.org/licenses/by-sa/3.0 
*/

int AC_LOAD = 3;    // Выход для управления семистором
volatile int dimming = 128;  // Уровень яркости (0-128)  0 = ON, 128 = OFF

void setup()
{
  pinMode(AC_LOAD, OUTPUT);                     // Пин на выход
  attachInterrupt(0, zero_crosss_int, RISING);  // Установить прерывание при переходе сетевого напряжжения через "0"
}

void zero_crosss_int()                          // функцию, вызываемая при пересечении нуля, для регулировки яркостью
{
  // Рассчет угла включения :: 50Hz-> 10ms (1/2 цикла)
  // (10000us - 10us) / 128 = 75 (приблизительно)
  int dimtime = (75*dimming);      
  delayMicroseconds(dimtime);    // Период включенного состояния
  digitalWrite(AC_LOAD, HIGH);   // Включаем симистор
  delayMicroseconds(10);         // triac On propogation delay
  digitalWrite(AC_LOAD, LOW);    // Выключаем симистор
}

void loop()
{
  dimming = 128; 
  delay(1000);
  dimming = 75;  
  delay(1000);
  dimming = 25;  
  delay(1000);
  dimming = 0;  
  delay(1000);
}
проверил уже всё !!!
 
загрузил пример блинк работает отлично
 
дальше загрузил вот такой код для проверки детектор нуля и здесь всё работает при подаче 220v на плату в Serial бегут 0 

void setup()
{
  Serial.begin(9600);
  attachInterrupt(0, zero_crosss_int, RISING); 
}

void zero_crosss_int()                         
{
   Serial.println("0");
}

void loop()
{

}

в чём дело ?

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

Так у вас же на схеме красным по белому написано NOT ZerroCross!!! А вы ставите ZerroCross.

Это такой вид садомазо?

9744
Offline
Зарегистрирован: 14.06.2016

)) на MOC3063 не получится ? 

спасибо буду тогда искать MOC3051 

b707
Offline
Зарегистрирован: 26.05.2017

а кто пояснит, нафига такая схема чудная...

ИМХО, всю верхнюю часть с оптопарой и диодным мостом можно выкинуть и оставить только симистор и моську...

GarryC
Offline
Зарегистрирован: 08.08.2016

Верхняя часть - это детектор нуля.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

9744 пишет:

)) на MOC3063 не получится ? 

спасибо буду тогда искать MOC3051 

На МОС3063 не получится. Можно 3023 поставить.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

b707 пишет:

а кто пояснит, нафига такая схема чудная...

ИМХО, всю верхнюю часть с оптопарой и диодным мостом можно выкинуть и оставить только симистор и моську...

 

А 0 чем детектировать?

bwn
Offline
Зарегистрирован: 25.08.2014

b707 пишет:

а кто пояснит, нафига такая схема чудная...

ИМХО, всю верхнюю часть с оптопарой и диодным мостом можно выкинуть и оставить только симистор и моську...

Ни, без нее никак ни можна. И обязательно без зеро гросса.)))

-NMi-
Offline
Зарегистрирован: 20.08.2018

asam пишет:

b707 пишет:

а кто пояснит, нафига такая схема чудная...

 

А 0 чем детектировать?

Нахрена тебе "0" нужен-то?  Берёшь диодный мост и MOSFET в качестве нагрузки моста а в разрыв переменки нагрузку и ФФсё...  Ну, для плизиру... можешь RC цепочку поставить.

PS: у меня так сделан термостабилизатор. AtTiny85 + два светодиода для вымаргивания температуры + кнопка смены температуры + на таймере PWM на MOSFET. Управление ПИД 8 бит. Можно и 16 сделать...  Усё робит уже несколько лет)))

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

-NMi- пишет:

PS: у меня так сделан термостабилизатор. AtTiny85 + два светодиода для вымаргивания температуры + кнопка смены температуры + на таймере PWM на MOSFET. Управление ПИД 8 бит. Можно и 16 сделать...  Усё робит уже несколько лет)))

А FM приёмники рядом работають? 

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

-NMi- пишет:

Нахрена тебе "0" нужен-то?  Берёшь диодный мост и MOSFET в качестве нагрузки моста а в разрыв переменки нагрузку и ФФсё...  Ну, для плизиру... можешь RC цепочку поставить.

PS: у меня так сделан термостабилизатор. AtTiny85 + два светодиода для вымаргивания температуры + кнопка смены температуры + на таймере PWM на MOSFET. Управление ПИД 8 бит. Можно и 16 сделать...  Усё робит уже несколько лет)))

А какая частота шима? И мощность нагрузки?

Green
Онлайн
Зарегистрирован: 01.10.2015

asam пишет:

А 0 чем детектировать?

Тостаточно одного резистора на пару мом.
Ну ладно, двух.

SLKH
Offline
Зарегистрирован: 17.08.2015

DetSimen пишет:

-NMi- пишет:

PS: у меня так сделан термостабилизатор. AtTiny85 + два светодиода для вымаргивания температуры + кнопка смены температуры + на таймере PWM на MOSFET. Управление ПИД 8 бит. Можно и 16 сделать...  Усё робит уже несколько лет)))

А FM приёмники рядом работають? 

Фазоимпульсное управление трёхкиловаттным ТЭНом по приведенной ТС схеме тоже вряд ли обрадует радиоприемника.

Looka
Offline
Зарегистрирован: 24.04.2012

-NMi- пишет:

PS: у меня так сделан термостабилизатор. AtTiny85 + два светодиода для вымаргивания температуры + кнопка смены температуры + на таймере PWM на MOSFET. Управление ПИД 8 бит. Можно и 16 сделать...  Усё робит уже несколько лет)))

Так вы при этом в каждом периоде кусочек  синусоиды не вырезаете, а попускаете часть периаодов?
Хотя даже если режете часть периода,  ....  для регулирвки тэна не принципиально, а вот лампочка помаргивать будет....  Для лампочки точная привязка в каждом периоде нужна.

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

И если возможно, покажите код и схему, пожалуйста

 

-NMi-
Offline
Зарегистрирован: 20.08.2018

DetSimen пишет:

А FM приёмники рядом работають? 

Да, работают.

Причём слева стоит термостат на твердотелке БЕЗ ZC на 2 кВт нагревателе. А справа в (из) холодильника сделан термостат. Посередине стоит стол с компом и ноутом. Там-же FM радиоприёмник Sony от автомобиля + БП от компа в качестве источника питания + усилок и сабвуфер. Приём FM отличный )))  Всё это в подвале!

-NMi-
Offline
Зарегистрирован: 20.08.2018

Looka пишет:

И если возможно, покажите код и схему, пожалуйста

Схема дома в протеусе. Я на вахте.

С кодом всё гораздо сложнее, т.к. оччень люблю ассемблер и всякие вставки в виде готовых процедур СОБСТВЕННОГО написания.  ПоЭтому возможны проблемы с компиляцией и тд. Да, T0 в дурдуине используется mills - я не пишу на дурдуине и соответственно, Т0 у меня в PWM и обработчик T0_OVF собственнописаный.

Там, короче, много нюансов.

 

 

-NMi-
Offline
Зарегистрирован: 20.08.2018

asam пишет:

А какая частота шима? И мощность нагрузки?

А какая разница? На МОЩНОЙ нагрузке проще посчитать 100 ZC и регулировать полными полупериодами % нагрева. На ШИМ всё чуть сложнее - если "фпипирить" максимум на Т0 при 16мГц тактовке с FPWM будет 62 с копейками кГц... соответственно... нужен...драйвер на MOSFET иначе он будет греЦЦа. Так шо...

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

-NMi- пишет:
А какая разница? На МОЩНОЙ нагрузке проще посчитать 100 ZC и регулировать полными полупериодами % нагрева.

Напомню, что изначально речь шла

-NMi- пишет:
Нахрена тебе "0" нужен-то?

И как регулировать полными полупериодами без детектирования 0?

SLKH
Offline
Зарегистрирован: 17.08.2015

asam пишет:

-NMi- пишет:
А какая разница? На МОЩНОЙ нагрузке проще посчитать 100 ZC и регулировать полными полупериодами % нагрева.

Напомню, что изначально речь шла

-NMi- пишет:
Нахрена тебе "0" нужен-то?

И как регулировать полными полупериодами без детектирования 0?

Да нефиг там детектировать - ZeroCross оптопара сама с этим разберется.

 

Полагаю, что включение n-киловаттной нагрузки тиристором или мосфетом (а для мосфета ещё и выключение) близко к максимуму синусоиды - варварство.