Nick  Iskrov

Диммер не работает под нагрузкой: MOC3052, PC814, BT139, arduino

2 сообщения в этой теме

Nick Iskrov    0

Здравствуйте, форумчане!

Прошу у вас помощи разобраться в проблеме с диммером лампы накаливания на основе фазового управления.

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

При подключении лампы, напряжение на нагрузке = 0. Во всем диапазоне. Лампа загорается на 100% только когда фаза = 0. При всех остальных значениях фазы, напряжение на нагрузке = 0.

При выключении лампы из цепи нагрузки, фазовое управление работает как надо (судя по осциллографу). Включаю лампу в цепь - диммер перестает работать, лампа загорается только в момент, когда симистор пропускает полное напряжение...

Код ардуинки:

#include <CyberLib.h> //Библиотека от Cyber-Place.ru
volatile uint8_t tic, Dimmer1;
uint8_t data;
int i;

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

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

void  detect_down()  // обработка внешнего прерывания. Сработает по заднему фронту
{   
 StopTimer1(); //остановить таймер
 D4_Low; //логический ноль на выходы
 tic=0;       //обнулить счетчик
 attachInterrupt(0, detect_up, LOW); //перепрограммировать прерывание на другой обработчик
} 
//*************************************************************************
void loop() 
{Start
  if (i >= 0 && i <= 200) {delay(50); Dimmer1 = i; i = i+1;}
  else {i = 0;}
  //Dimmer1=100;  
End}  

 

DIMMER_v2_tst_dlya_foruma.jpg

DIMMER_v2_tst_without_lamp.gif

DIMMER_v2_tst_with_lamp.gif

Изменено пользователем Nick Iskrov
редактировал 10 строку кода (D2_In;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00

Для регулирования "скважности" на синусе нужен более точный детектор перехода через 0.

Вот мой пример, регулирование ступенями по 100uS. 

zcd.GIF

Zero crossing DS3486M_capture 2ms.bmp

Zero crossing DS3486M_capture 5ms.bmp

Zero crossing DS3486M_capture 10us.bmp

Zero crossing DS3486M_capture 500us.bmp

Zero crossing DS3486M_capture1.bmp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Гость Алексей
      Автор: Гость Алексей
      Помогите с прошивкой вылезает ошибка , пытаюсь собрать вот такой девайс http://cxem.net/arduino/arduino148.php
    • Гость Борис
      Автор: Гость Борис
      Народ, подскажите пожалуйста, есть задумка управления транспортерной лентой при помощи ардуино. Смысл таков: при вращении датчика скорости сигнал с опто-пары поступает на ардуино (как тахометр) и при достижении определенного кол-ва оборотов включает реле и удерживает его во включенном положении до тех пор, пока обороты не достигнут нулевого значения. Проблема состоит в написании скетча, пробовал отталкиваться от скетча на тахометр, но на включение реле не хватает тока( даже светодиод горит тускло); от скетча на прерывание опто-прерывателя реле включается когда опто-пара перекрыта и отключается, когда открыта( реле щелкает очень часто). Может кто сталкивался с подобными вещами или знает примерный код ??? 
    • Автор: Uborevich
      Доброго всем времени суток.
      Решился я на изготовление намоточного станочка для трансформаторов и катушек. Мелкая моторика после двух инсультов не дает мне заниматься такими работами.
      Загвоздка возникла с датчиком направления вращения двигателя. Где то встречал что возможно использование кода Грэя, но я далек от всего этого.
      Аппаратная платформа - ардуино уно.  Использовать буду двигатель с редуктором от дворников ВАЗ копейка. Есть в наличии герконы.
      Мое виденье такое - на вал редуктора устанавливается неодимовый магнит и на неподвижную часть пару герконов (допустим G1 и G2) при прохождении герконов магнитом отслеживаем последовательность срабатываний. Допустим - G1,G2 - это по часовой (увеличиваем счетчик оборотов), при срабатывании G2,G1 - против часовой (уменьшаем счетчик оборотов). Или два геркона мало?
      Правильно ли я рассуждаю? может есть идеи воплощенные в жизнь? Помогите пожалуйста. с железками я еще худо бедно разберусь а вот с алгоритмами  - совсем все плохо..
      Ардуино выбрана для последующего апгрейда станочка, т.е. хотелось бы сделать еще у укладку провода на шаговике в зависимости от его диаметра и длинны намотки слоя.
    • Автор: olderman
      Помогите советом. Захотел внуку машину сделать с управлением на Ардуино. Но как подключить мотор если motorshield отсутствует. Спаял мост на биполярных транзисторах. Работает, но большие потери на PN переходах. Мотор слабо тянет. Услышал про МОСФЕТы.
      Приобрел пары SI2101 и SI2102. Спаял прилагаемую схему. Оказалось, что для начала вращения мотора в ту или иную сторону, надо не только подать соответствующие противоположные (1и 0) уровни на управляющие выводы, но и кратковременно коснуться рукой или щупом осциллографа вывода с 0 уровнем (точки А и В ).После этого мотор отлично крутится до смены управляющих сигналов. И опять пуск происходит после касания соответствующей точки. Кто подскажет почему и как исправить схему.
       

    • Автор: Sony
      Помогите с простым скетчем в Ардуино. Требуется нажатием одной кнопки, включать светодиод,  при следующем нажатии гасить первый и включать второй и так 5 светодиодов по циклу.
  • Сообщения

    • Большинство главредов, все-таки, люди адекватные - как-никак, интеллегенция. Публиковался пару раз в одном из тематических журналов, так с меня потребовали скан рукописной расписки - мол, "осознаю свою ответственность в случае нарушения авторских прав, в случае плагиата виновным считать меня"! Интересно, а ДМК, БХВ, Солон-Р, НиТ и прочие - берут с Кошака такие расписки?   Ну, а судя по переписке Гения с редакциями, тут мы уже не афериста и не плагиатора имеем, имхо. Тут про сам сабж впору писать "учебник крепкий"  Потому как рассматриваемая личность, похоже что, типичный "адаптированный психопат": тут мы имеем очень многие признаки. Мегаломания, графомания, склонность к авантюризму, сниженная (мягко говоря) самокритика и неспособность признавать свои ошибки (даже очевидные), манипуляторство, резонерство, стремление состоять во множестве общественных организаций, иметь контакты со знаменитыми людьми (если верить его ВК, то он общался с президентом Финляндии, например); также он считает себя человеком многосторнне развитым, способным к успеху в практически любой сфере, и совесть его, по всей видимости, не мучает никогда... Очень смахивает на "личностное расстройство"... В психиатрии даже термин такой есть - "синдром Хлестакова", наблюдается как раз у авантюрных психопатов. Хотя, чему тут удивляться - человек Чечню прошел, вот и привело к "паталогическому заострению преморбидных черт личности"... Но это - только мое предположение. Синдром Хлестакова
    • Это железяка с частотника трехфазного для 5кВт двигателя.  Списывали, я забрал. Жаль что один пока. 
    • SUNON DP203A , напряжения и токи такие же , лет пять работал в дымоходе .  В чип-дипе недорого. Из защитных решений - реле превышения напряжения и подключение вентилятора  в этом случае через дополнительный  резистор  .
    • Есть возможность изготовить корпус из 2 мм сплава алюминия, который очень легко сверлится и поддается механической обработке ( не вязкий, как чистый алюминий). Корпус получается очень лёгким, также может использоваться в качестве радиатора для отвода тепла. На фото один из вариантов корпуса для мощного усилителя D-класса.
      А тут есть видео:

      Возможна нарезка по вашим размерам, листы не новые, поэтому цены очень доступные .
    • 125. Переключатель без разрывный на 24 положения, круговой (без ограничителей)
      ● Снят с самописца
      ● 2 шт. по 200 руб.