Страница 1 из 1

Регулятор для вентилятора переменного тока

Добавлено: Вт июн 17, 2008 11:27:03
Anjey_N
Как на АВРе сделать регулировку скорости вращения вентилятора переменного тока?

Добавлено: Вт июн 17, 2008 13:16:56
delay
Для этого можно задействовать ШИМ (PWM) таймера. Управляя шириной импульса, а точнее задержкой перед установкой имульса управлять углом открывания симистора, таким образом регулировать скорость вращения мотора. А отсчет задержки синхронизировать с точкой прохождения фазы через 0. Здесь где-то был обсуждение.
Только проще это сделать не на МК, а по обычной схеме управления нагрузкой в цепи переменного тока. Таких простеньких схем много.
http://www.radiokot.ru/forum/viewtopic. ... 225#106225

Re: Вопросик

Добавлено: Вт июн 17, 2008 13:36:16
tych
Anjey_N писал(а):Как на АВРе сделать регулировку скорости вращения вентилятора переменного тока ?


Смотря какой мотор там - могут быть варианты.

Схема регулятора и пример програмирования ШИМ - задача 8 под кнопкой Изображение ниже.

Хорошо бы топик назвать НОРМАЛЬНО.

Добавлено: Вт июн 17, 2008 14:09:48
ARV
вентиляторы переменного тока обычно асинхронные (да еще и с фазосдвигающими конденсаторами). по теме регулирования скорости вращения асинхронных моторчиков есть несколько тем на форуме.

ШИМ и фазовое регулирование, грубо говоря, тут притянуты за уши.

хорошо бы читать вопрос, прежде чем давать ответ.

Добавлено: Вт июн 17, 2008 16:41:29
delay
ARV писал(а):ШИМ и фазовое регулирование, грубо говоря, тут притянуты за уши.
хорошо бы читать вопрос, прежде чем давать ответ.

Вы хотите сказать, что таким образом нельзя будет управлять скоростью вращения вентилятора?

Добавлено: Вт июн 17, 2008 20:26:25
ARV
слишком много всяких нюансов... возможно, фазовое регулирование позволит как-то менять скорость, но не поручусь, что будет хорошо... вообще же, самый толковый способ регулирования скорости асинхронника - частотный. и повторяю - здесь есть уже не одна тема, где довольно много об этом рассказано, ищите.

Добавлено: Вт июн 17, 2008 23:35:01
delay
ARV писал(а):слишком много всяких нюансов... возможно, фазовое регулирование позволит как-то менять скорость, но не поручусь, что будет хорошо...

Я всем советую: не слушайте советов!

Добавлено: Чт июн 19, 2008 11:44:05
Anjey_N
Для этого можно задействовать ШИМ (PWM) таймера. Управляя шириной импульса, а точнее задержкой перед установкой имульса управлять углом открывания симистора, таким образом регулировать скорость вращения мотора. А отсчет задержки синхронизировать с точкой прохождения фазы через 0.


А может не применять ШИМ, а просто отсчитать нужное время для задержки после прохождения 0. Например, для половинной мощности после прохождения сети через 0 отсчитать таймером 5 мсек и подать импульс на открівание симистора. А при следующем прохождении через 0 импульс снять?

Добавлено: Чт июн 19, 2008 12:54:15
delay
Anjey_N писал(а):А может не применять ШИМ, а просто отсчитать нужное время для задержки после прохождения 0. Например, для половинной мощности после прохождения сети через 0 отсчитать таймером 5 мсек и подать импульс на открівание симистора. А при следующем прохождении через 0 импульс снять?

я в своем проекте так и делал т.к. pwm использовать у меня не поулчилсь почему-то. По сути я сделал программно фазо-импульсное управление.

interrupt [EXT_INT1] void ext_int1_isr(void)
{
//фаза прошла через 0
//Произошло внешнее прерывание - запуситить таймер
TCNT1H=(char)(PHAZA>>8 );
TCNT1L=(char)(PHAZA);
TCCR1B=0x04; //Старт T1
STEP++; //счет для повтора значений данной ширины импульса определенное число раз
}


Когда таймер отсчитает (закончилась задержка) - сработает прерывание для открывания симистора.

// Timer 1 overflow interrupt service routine
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
//Таймер отработал - выдать импульс открывания симистора
TCCR1B=0x00;//Stop T1
OUT = 1;
delay_us(300);
OUT = 0;
}

Ширина Импульса - 300мкс. Этого достаточно для открывания симистора, а закроется он сам после перехода фзы через 0.

Мнеяя значение PHAZA управляю мощностью. У меня таким оброзом плавно зажигается и тухнет лампа. Эта операция описанна в теле основной функции программы. В моем случае от значения переменной STEP зависит скорость изменения яркости.
Писал в CodeVision. Но граммотнее это конечно сделать используя аппаратный pwm. Готового решения я не нешел, а у меня получилось так.
Вы так и не сказали вашу основную цель. Нужен ли действительно МК?

Добавлено: Пт июн 20, 2008 10:49:03
Anjey_N
МК нужен. Кроме вентилятора он будет управлять 2 лампами накаливания, индикацией на двухцветных светодиодах и опрашивать 1 кнопку и 4 выключателя