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

Вернуться   Форум обсуждения оборудования "Умный дом" > Форум умного дома > Сделай сам

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.12.2016, 17:48   #711
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 8,811
Вес репутации: 9008
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

43к на 0.25Вт подойдут.Я так понимаю маленькие
510 минимум 0,5Вт
Admin вне форума   Ответить с цитированием
Старый 02.01.2017, 12:38   #712
Ilya
Junior Member
 
Регистрация: 02.01.2017
Адрес: Москва
Сообщений: 3
Вес репутации: 0
Ilya is an unknown quantity at this point
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Здравствуйте.
Пытаюсь завести диммер из шапки с Arduino UNO.
Заранее уточнил на офф.сайте:

Подключаю по следующей схеме:


Взял код из первого поста с малейшими изменениями, которые отражены в комментариях:
PHP код:
#include <CyberLib.h>
volatile uint8_t ticDimmer1Dimmer2Dimmer3;
uint8_t data;

void setup() 

  
D5_OutD6_OutD13_Out// Заменил D4 на D13 для отслеживания изменений на диоде L
  
D5_LowD6_LowD13_Low// т.к. D4 на uno не поддерживает pwm
  
D2_In;
  
attachInterrupt(0detect_upLOW);
  
StartTimer1(halfcycle40);
  
StopTimer1();
  
UART_Init(9600);
}

void halfcycle()

  
tic++;
  if(
Dimmer1 tic D5_High;
  if(
Dimmer2 tic D6_High;
  if(
Dimmer3 tic D13_High// Заменил D4 на D13
}

void  detect_up()
{  
 
tic=0;
 
ResumeTimer1();
 
attachInterrupt(0detect_downHIGH);
 
UART_SendByte('U'); // Отладочный дамп для отслеживания срабатывания прерывания
}  

void  detect_down()
{   
 
StopTimer1();
 
D5_LowD6_LowD13_Low// Заменил D4 на D13
 
tic=0;
 
attachInterrupt(0detect_upLOW);
 
UART_SendByte('D'); // Отладочный дамп для отслеживания срабатывания прерывания
}

void loop() 
{
Start
  Dimmer2
=255// D6
  
if(UART_ReadByte(data))
  {
    
Dimmer1=data// D5
    
Dimmer3=data// D13
  
}
End
В итоге получаю следующее:
  • консоль бешено дампит UDUDUD..., то есть делаю вывод, что прерывания отрабатывают
  • посылаю из консоли указанные в шапке параметры("Г", "d", " "):
    • Г - диод L горит с минимальной яркостью, лампа светит по максимуму
    • d - диод L горит со средней яркостью, лампа светит по максимуму
    • Символ пробела - диод L горит с максимальной яркостью, лампа все так же светит по максимуму
  • при установке диммера на D6, который, как видно из кода, всегда должен быть погашен, лампа всё так же горит

Помогите, пожалуйста, понять, что же я мог сделать не так?
Миниатюры
Нажмите на изображение для увеличения
Название: rect5889.jpg
Просмотров: 160
Размер:	43.8 Кб
ID:	4038   Нажмите на изображение для увеличения
Название: 123.PNG
Просмотров: 159
Размер:	5.1 Кб
ID:	4039  

Последний раз редактировалось Ilya; 02.01.2017 в 14:11.
Ilya вне форума   Ответить с цитированием
Старый 02.01.2017, 16:20   #713
Ilnur
Junior Member
 
Регистрация: 02.01.2017
Сообщений: 2
Вес репутации: 0
Ilnur is an unknown quantity at this point
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Возможно ли этим диммером управлять мощностью нагревательного элемента на 3500Вт? Длительность включения нагревательного элемента - 0,5-2 минуты, не больше.

Последний раз редактировалось Ilnur; 02.01.2017 в 16:23.
Ilnur вне форума   Ответить с цитированием
Старый 02.01.2017, 17:49   #714
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 8,811
Вес репутации: 9008
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Цитата:
Сообщение от Ilya Посмотреть сообщение
Здравствуйте.
Пытаюсь завести диммер из шапки с Arduino UNO.

Взял код из первого поста с малейшими изменениями, которые отражены в комментариях:
PHP код:
#include <CyberLib.h>
volatile uint8_t ticDimmer1Dimmer2Dimmer3;
uint8_t data;

void setup() 

  
D5_OutD6_OutD13_Out// Заменил D4 на D13 для отслеживания изменений на диоде L
  
D5_LowD6_LowD13_Low// т.к. D4 на uno не поддерживает pwm
  
D2_In;
  
attachInterrupt(0detect_upLOW);
  
StartTimer1(halfcycle40);
  
StopTimer1();
  
UART_Init(9600);
}

void halfcycle()

  
tic++;
  if(
Dimmer1 tic D5_High;
  if(
Dimmer2 tic D6_High;
  if(
Dimmer3 tic D13_High// Заменил D4 на D13
}

void  detect_up()
{  
 
tic=0;
 
ResumeTimer1();
 
attachInterrupt(0detect_downHIGH);
 
UART_SendByte('U'); // Отладочный дамп для отслеживания срабатывания прерывания
}  

void  detect_down()
{   
 
StopTimer1();
 
D5_LowD6_LowD13_Low// Заменил D4 на D13
 
tic=0;
 
attachInterrupt(0detect_upLOW);
 
UART_SendByte('D'); // Отладочный дамп для отслеживания срабатывания прерывания
}

void loop() 
{
Start
  Dimmer2
=255// D6
  
if(UART_ReadByte(data))
  {
    
Dimmer1=data// D5
    
Dimmer3=data// D13
  
}
End
В итоге получаю следующее:
  • консоль бешено дампит UDUDUD..., то есть делаю вывод, что прерывания отрабатывают
  • посылаю из консоли указанные в шапке параметры("Г", "d", " "):
    • Г - диод L горит с минимальной яркостью, лампа светит по максимуму
    • d - диод L горит со средней яркостью, лампа светит по максимуму
    • Символ пробела - диод L горит с максимальной яркостью, лампа все так же светит по максимуму
  • при установке диммера на D6, который, как видно из кода, всегда должен быть погашен, лампа всё так же горит

Помогите, пожалуйста, понять, что же я мог сделать не так?
Уберите свои изменения
и все будет работать
Admin вне форума   Ответить с цитированием
Старый 02.01.2017, 22:40   #715
Ilya
Junior Member
 
Регистрация: 02.01.2017
Адрес: Москва
Сообщений: 3
Вес репутации: 0
Ilya is an unknown quantity at this point
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Цитата:
Сообщение от Admin Посмотреть сообщение
Уберите свои изменения
и все будет работать
Поведение от этого не изменилось
Ilya вне форума   Ответить с цитированием
Старый 06.01.2017, 23:00   #716
Ilya
Junior Member
 
Регистрация: 02.01.2017
Адрес: Москва
Сообщений: 3
Вес репутации: 0
Ilya is an unknown quantity at this point
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Поменял диммер на другой и всё заработало. Спасибо.
Ilya вне форума   Ответить с цитированием
Старый 08.01.2017, 04:29   #717
WarIock
Junior Member
 
Регистрация: 08.01.2017
Сообщений: 1
Вес репутации: 0
WarIock is an unknown quantity at this point
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Камрады, подскажите, всю голову сломал... Mega, скетч из 627 сообщения, все шикарно работает... Но вот при попытке скрестить с датчиком температуры ds18, при добавлении в скетч даже одной единственной строки ds.write(0x??) появляется легкое мерцание. 2 строки - мерцание уже невыносимо. Полный опрос c задержкой (неважно, delay или без него) - мигает с периодом задержки. Причем неважно, подключен реально датчик, или нет. Смена пинов и прерывания не дает эффекта. Как победить?

Последний раз редактировалось WarIock; 08.01.2017 в 04:33.
WarIock вне форума   Ответить с цитированием
Старый 08.01.2017, 17:28   #718
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 8,811
Вес репутации: 9008
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Опрашивайте датчик 1 раз в минуту
Admin вне форума   Ответить с цитированием
Старый 10.01.2017, 17:15   #719
MSapogov
Junior Member
 
Регистрация: 10.01.2017
Сообщений: 1
Вес репутации: 0
MSapogov is an unknown quantity at this point
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Вот после возникновения прерывания (детектор нуля), выдерживаем необходимую паузу и подаем "1" на открытие тиристора и так и удерживаем пока не изменится прерывание? Или подаем небольшой импульс для открытия (он ведь сам потом закроется).

А много-ли придется изменить в библиотеке dimmer если вместо тиристора применять мощный высоковольтный полевик. По вот такой схеме -
http://embdev.net/attachment/286449/Dimmer.png

А если мне необходимо отсекать не переднюю, а заднюю часть синусоиды (Trailing edge dimmer), то малой кровью как обойтись?


PS: Как правило электронные баласты для галагенных ламп и LED лампы с димированием , корректно димируются только с использованием Trailing edge dimmer.

Последний раз редактировалось MSapogov; 10.01.2017 в 19:23.
MSapogov вне форума   Ответить с цитированием
Старый 10.01.2017, 21:09   #720
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 8,811
Вес репутации: 9008
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

Цитата:
Вот после возникновения прерывания (детектор нуля), выдерживаем необходимую паузу и подаем "1" на открытие тиристора и так и удерживаем пока не изменится прерывание? Или подаем небольшой импульс для открытия (он ведь сам потом закроется).
Подаем импульс на открытие, а потом по достижении нуля он сам закроется

Цитата:
А много-ли придется изменить в библиотеке dimmer если вместо тиристора применять мощный высоковольтный полевик. По вот такой схеме -
http://embdev.net/attachment/286449/Dimmer.png
Схема примерно такая же, но код нужно переделывать
Admin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 8 (пользователей: 0 , гостей: 8)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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


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


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