永发信息网

问个关于四线风扇pwm调速的问题,怎样能够控制速度

答案:1  悬赏:80  手机版
解决时间 2021-03-29 16:45
  • 提问者网友:孤山下
  • 2021-03-28 16:30
问个关于四线风扇pwm调速的问题,怎样能够控制速度
最佳答案
  • 五星知识达人网友:山有枢
  • 2021-03-28 16:46
#include lt;reg52.h
sbit FAN = P1^3; //要控制的风扇
sbit SW1 = P1^5; //按键 - 转速
sbit SW2 = P1^6; //按键 + 转速
unsigned char timer1,time=50;

void system_Ini()
{
TMOD = 0x10;
TH1 = 0xfe;
TL1 = 0x33;
TR1 = 1;
IE = 0x8A;
}

void delay_us(unsigned int x)
{
unsigned int i=0;
for(i=0;ilt;x;i++);
}

main()
{
system_Ini();
while(1)
{

if(SW1 == 0)
{
delay_us(200);
if(SW1 == 0)
{
time++;
if(time 100) time = 100;
delay_us(30000);
}
}

if(SW2 == 0)
{
delay_us(200);
if(SW2 == 0)
{
time--;
if(time 250) time = 0;
delay_us(30000);
}
}

}
}


void T1zd(void) interrupt 3 //定时器1
{
TH1 = 0xfe;
TL1 = 0x33;
timer1++;
if(timer1 = 100) timer1 = 0;
if(timer1lt;time) FAN=0;
else FAN=1;

}

你试试上面的程序,看看能不能看到调速的过程,如果还快,就把delay_us(30000)修改成
delay_us(65535);

至于你说的由低速到调速,直流电机抱死,那个程序上不好处理,这是直流电机的问题,你只能是通过加大直流电机电压(不能超过最大电压),或者改变电机结构减少扭矩来处理.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯