|
20.03.2017, 22:59 | #1 |
Junior Member
Регистрация: 02.01.2017
Сообщений: 16
Вес репутации: 0 |
Уже все перепробовал, и диммер собирал на других компонентах(номиналы те же) - все никак не могу заставить его работать.
При подаче 5v на 1 и 2 ноги MOC3021 лампа загорается - следовательно сам MOC и симистор рабочие, так? Продаю 220V на подключенный к arduino диммер - лампа не горит, хотя изредка бывает загорается в полный накал(т.е втыкнул вилку - не горит, вытащил и еще раз втыкнул - загорелась). На переданные значения не реагирует. При снятии провода с 2 пина при не горящей лампе(питание есть) - лампа загорается с задержкой в секунды 3, горит в полный накал. Подключаем пин 2 - лампа сразу гаснет. Снимаем повод +5v при подключенном пин 2 - лампа загорается, ставим на место - гаснет. Если задеть пальцем 2 пин(провод с него снят) - свечение лампы ослабевает примерно на 50%, палец убираем - горит в полный накал. Проблема у меня в PC814 или в коде получается? Может резисторы попробовать другие на PC814 поставить? Если да - какие номиналы? Можно ли как-нибудь проверить работу кода не на диммере? Ошибок при компиляции нету, библиотека подключена, код из первого сообщения. Просто уже не знаю на что думать. Знаний самому разобраться с этим не хватает. |
21.03.2017, 00:08 | #2 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Цитата:
Пока не запустите на диммере блинк, нет смысла смотреть в сторону PC814 |
|
22.03.2017, 22:11 | #3 |
Junior Member
Регистрация: 02.01.2017
Сообщений: 16
Вес репутации: 0 |
|
22.03.2017, 23:25 | #4 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Теперь проверьте что на выходе PC814
Осциллограф есть? |
22.03.2017, 23:30 | #5 |
Junior Member
Регистрация: 02.01.2017
Сообщений: 16
Вес репутации: 0 |
Осциллографа, увы, нету.
Есть ли варианты без него? |
25.03.2017, 12:05 | #6 |
Junior Member
Регистрация: 29.01.2017
Сообщений: 10
Вес репутации: 0 |
Работу 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; } } |
25.03.2017, 15:54 | #7 |
Junior Member
Регистрация: 02.01.2017
Сообщений: 16
Вес репутации: 0 |
Работает, выводит 50 Hz.
Так же менял значения в коде - при присвоении значения "0" переменной Dimmer1 - лампа горит в пол накала, при любых других значениях лампа не горит. Не изменяя код, при вводе того же нуля в монитор ничего не происходит, лампа не горит. |
25.03.2017, 16:10 | #8 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Через монитор приходят значения в ASC-II кодировке
|
23.03.2017, 00:33 | #9 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Можно попробовать прописать выходна D13 вместо D4
|
25.03.2017, 16:08 | #10 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Спасибо!
Небольшое дополнение влияющее на точность измерения PHP код:
|
Здесь присутствуют: 66 (пользователей: 0 , гостей: 66) | |
|
|