lobzik пише:
Теперь по реализации диммера - правильно ли я понимаю, что симистор нужно включать и выключать синхронно с сетью, думаю завести сигнал ноля синусоиды на ногу прерывания INT атмеги 16, и от момента перехода через ноль таймером отсчитывать время до включения симистора. Потом при следующем прерывании INT выключать симистор и опять ждать таймер. Ход мысли правильный?
Ход мыслей правильный, это фазоимпульсный способ управления выходной мощностью. Один нюанс, на симистор подается короткий импульс включения (обычно 30-50 мксек, надо уточнять по даташит симистора). А закроется симистор сам, когда будет очередной 0.
Есть еще число-импульсный. Ну и конечно, просто вкл/выкл нагревателя. Для работы с нагревателями, как правило, необходимости в фазоимпульсном способе нет. Его основное преимущество - точность поддерживания заданных параметров и непрерывность выходного напряжения. Недостаток - усложнения как в схеме, так и в прошивке и высокий уровень создаваемых помех. Наиболее часто применяется в управлении яркостью ламп накаливания.
Для более инерционных нагрузок лучше использовать число-импульсный, при котором можно всегда включать симистор во время прохождения сетевого напряжения через 0 и избавиться от коммутационных помех. Переход через 0 можно отслеживать (формирователь, прерывания и т.д.), а можно использовать оптопары типа MOC3063, что упростит и схему, и управляющую программу. Недостаток этого способа - мгновенная выходная мощность или 100% или 0%. Счет идет на полупериоды сетевого напряжения, поэтому на инерционной нагрузке это обычно не заметно.