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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.03.2017, 22:59   #1
Ilnur
Junior Member
 
Регистрация: 02.01.2017
Сообщений: 16
Вес репутации: 0
Ilnur is an unknown quantity at this point
По умолчанию

Уже все перепробовал, и диммер собирал на других компонентах(номиналы те же) - все никак не могу заставить его работать.
При подаче 5v на 1 и 2 ноги MOC3021 лампа загорается - следовательно сам MOC и симистор рабочие, так?

Продаю 220V на подключенный к arduino диммер - лампа не горит, хотя изредка бывает загорается в полный накал(т.е втыкнул вилку - не горит, вытащил и еще раз втыкнул - загорелась). На переданные значения не реагирует.

При снятии провода с 2 пина при не горящей лампе(питание есть) - лампа загорается с задержкой в секунды 3, горит в полный накал. Подключаем пин 2 - лампа сразу гаснет.

Снимаем повод +5v при подключенном пин 2 - лампа загорается, ставим на место - гаснет.

Если задеть пальцем 2 пин(провод с него снят) - свечение лампы ослабевает примерно на 50%, палец убираем - горит в полный накал.

Проблема у меня в PC814 или в коде получается?
Может резисторы попробовать другие на PC814 поставить? Если да - какие номиналы?

Можно ли как-нибудь проверить работу кода не на диммере? Ошибок при компиляции нету, библиотека подключена, код из первого сообщения.

Просто уже не знаю на что думать. Знаний самому разобраться с этим не хватает.
Ilnur вне форума   Ответить с цитированием
Старый 21.03.2017, 00:08   #2
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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
По умолчанию

Цитата:
При подаче 5v на 1 и 2 ноги MOC3021 лампа загорается - следовательно сам MOC и симистор рабочие, так?
Если подать LOW то гаснет?

Пока не запустите на диммере блинк, нет смысла смотреть в сторону PC814
Admin вне форума   Ответить с цитированием
Старый 22.03.2017, 22:11   #3
Ilnur
Junior Member
 
Регистрация: 02.01.2017
Сообщений: 16
Вес репутации: 0
Ilnur is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от Admin Посмотреть сообщение
Если подать LOW то гаснет?

Пока не запустите на диммере блинк, нет смысла смотреть в сторону PC814
PHP код:
#include "CyberLib.h"

void setup()
{
  
D4_Out;
}

void loop()

 
D4_Low;
 
delay_ms(1000);
 
D4_High;
 
delay_ms(1000);

Ноги MOC3021 1 на D4, 2 на GND.
Лампа мигает.
Ilnur вне форума   Ответить с цитированием
Старый 22.03.2017, 23:25   #4
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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
По умолчанию

Теперь проверьте что на выходе PC814
Осциллограф есть?
Admin вне форума   Ответить с цитированием
Старый 22.03.2017, 23:30   #5
Ilnur
Junior Member
 
Регистрация: 02.01.2017
Сообщений: 16
Вес репутации: 0
Ilnur is an unknown quantity at this point
По умолчанию

Осциллографа, увы, нету.
Есть ли варианты без него?
Ilnur вне форума   Ответить с цитированием
Старый 25.03.2017, 12:05   #6
RaySun
Junior Member
 
Регистрация: 29.01.2017
Сообщений: 10
Вес репутации: 0
RaySun is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от Ilnur Посмотреть сообщение
Осциллографа, увы, нету.
Есть ли варианты без него?
Работу PC814 можно проверить так:

Код HTML:
unsigned long curTime, loopTime; // Время работы программы
volatile int Hz = 0;            // Назовем частотой в сети переменного тока .

void setup()
{
  attachInterrupt(0, zero_crosss, RISING);  // прерывание на D2
  Serial.begin(115200);
}

void zero_crosss()
{
  Hz += 1; // считаем переход через0
}

void loop()  {
  // Вывод значений в сериал 2 раза в секунду
  curTime = millis();
  if (curTime >= (loopTime + 500)) {
    Serial.print(Hz); Serial.print(" Hz");  Serial.println();
    Hz = 0;        // обнуляем количество циклов.
    loopTime = curTime;
  }
}
RaySun вне форума   Ответить с цитированием
Старый 25.03.2017, 15:54   #7
Ilnur
Junior Member
 
Регистрация: 02.01.2017
Сообщений: 16
Вес репутации: 0
Ilnur is an unknown quantity at this point
По умолчанию

Цитата:
Сообщение от RaySun Посмотреть сообщение
Работу PC814 можно проверить так:
Работает, выводит 50 Hz.


Так же менял значения в коде - при присвоении значения "0" переменной Dimmer1 - лампа горит в пол накала, при любых других значениях лампа не горит.

Не изменяя код, при вводе того же нуля в монитор ничего не происходит, лампа не горит.
Ilnur вне форума   Ответить с цитированием
Старый 25.03.2017, 16:10   #8
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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
По умолчанию

Цитата:
Сообщение от Ilnur Посмотреть сообщение
Не изменяя код, при вводе того же нуля в монитор ничего не происходит, лампа не горит.
Через монитор приходят значения в ASC-II кодировке
Admin вне форума   Ответить с цитированием
Старый 23.03.2017, 00:33   #9
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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
По умолчанию

Можно попробовать прописать выходна D13 вместо D4
Admin вне форума   Ответить с цитированием
Старый 25.03.2017, 16:08   #10
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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
По умолчанию

Спасибо!
Небольшое дополнение влияющее на точность измерения
PHP код:
unsigned long curTimeloopTime// Время работы программы
volatile int Hz 0;            // Назовем частотой в сети переменного тока .

void setup()
{
  
attachInterrupt(0zero_crosssRISING);  // прерывание на D2
  
Serial.begin(115200);
}

void zero_crosss()
{
  
Hz++; // считаем переход через 0
}

void loop()  

  
curTime millis();
  if (
curTime >= (loopTime 500)) 
  {
    
loopTime curTime;
    
Serial.print(Hz); 
    
Hz 0;
    
Serial.println(" Hz");
  }

Admin вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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