Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.04.2016, 15:49   #11
Fmut
Junior Member
 
Регистрация: 29.04.2015
Сообщений: 28
Вес репутации: 0
Fmut is an unknown quantity at this point
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

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

Исправляет очень легко:
Код:
void  detect_down()  // обработка внешнего прерывания. Сработает по заднему фронту
{   
  StopTimer1(); //остановить таймер
  if (Dimmer1 > 0) 
    D4_Low; //логический ноль на выходы 
  if (Dimmer2 > 0) 
    D5_Low; 
  if (Dimmer3 > 0) 
    D6_Low;
  tic=0;       //обнулить счетчик
  attachInterrupt(0, detect_up, LOW); //перепрограммировать прерывание на другой обработчик
}
И получаем полную мощность с идеальной синусоидой.

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

Это хреновая реализация данного экземпляра или это с любыми так? Может быть что-то даст если я подключу снаббер?
Fmut вне форума   Ответить с цитированием
 


Здесь присутствуют: 47 (пользователей: 0 , гостей: 47)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 08:11. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика