диммер на прерываниях

bwn
Offline
Зарегистрирован: 25.08.2014

Так вы принципиально сами с нуля изобрести хотите? На кибер-плаце вроде уже давно придумали.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Не врите не имеет он такой склонности

Kakmyc
Offline
Зарегистрирован: 15.01.2018

nik182 пишет:

Можно и простой. Но тот код, что приведён в #41, имеет склонность к дёрганию на 1 мс фазы управления. Если это нормально, то да пусть. Имеет право на существование. Мне кажется простой как раз с таймерами и прерываниями - думать не надо. Зарядил таймер и он сам отработает. 


Не врите, нет там никаких склонностей к дерганью.
Давно уже в станке стоит, на частоту обработки жалоб нет.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

unregistered пишет:

Baks пишет:

тоько хотел написать что получволна это 10 мс, а у автора получается отрезает один кусочек от двух полувол.

я вот только создал тему и тоже есть несколько вопросов. http://arduino.ru/forum/proekty/upravlenie-elektro-dvigatelem-ot-stiralnoi-mashinki-s-podderzhaniem-oborotov

добавлю сюда

в ардуино нано есть 2 пина с внешним прерыванием и функция выполняющаяся при наступлении какого то события, attachInterrupt http://arduino.ru/Reference/AttachInterrupt
 
1ВОПРОС - так вот 3 параметр в примрах все выбирают по возрастающему фронту (RISING )
 
почему так делают? ведь на отработку нужно минимальное время и контроллеру и триаку, не правильне ли будет выбрать параметр (FALLING ) по спадающему фронту, ведь все равно это ноль и пока все отработает триак уже будет закрыт и на подеме не будет в начале отрутым?
 
2 ВОПРОС - пины 2 и 3 поддерживают прерывание , если задать 2 разных прерывания не бдут ли пины мешать друг другу, и как обработается прерывание пина №3 если до него уже сработало прерывание пина 2 но еще не выполнилось?
 
 
и еще у автора выставлен таймер на 1мс, следовательно регулировать яркось можно на 1 деление из 10 (10%) я правильно понял?

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

и да получается на 10%, диммер работает но хуево. моргает лампочка на значениях близких к минимуму. это наверное как раз 20 vs 10. я еще отпишусь. Спасибо за поддержку!

Моргает лампочка из за того, что таймер у вас миллисекундный. А в нашем случае, одна миллисекунда, это 10процентов от заданного времени. По мощности и того больше. А таймер то вроде как всё время подстраивается под заданные значения, вот и скачет милисек туда, милисек сюда :-)

unregistered
Offline
Зарегистрирован: 13.04.2017

bwn пишет:

Так вы принципиально сами с нуля изобрести хотите? На кибер-плаце вроде уже давно придумали.

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