梦的飞翔 发表于 2012-4-25 21:08:38

谁有控制直流电机的教学网站呀???PWM搞不懂

直流电机的PWM搞不懂啊,谁有好的学习网站或是视频教程推荐一下,是51单片机的

raxb 发表于 2012-4-25 22:49:41

PWM就调节占空比来调速

梦的飞翔 发表于 2012-4-26 15:12:37

raxb 发表于 2012-4-25 22:49 static/image/common/back.gif
PWM就调节占空比来调速

这个我知道,我不会使用定时器来调节占空比,延时函数我会用,指导指导

asj1989 发表于 2012-4-26 15:45:15

51没有专门的pwm。。。

梦的飞翔 发表于 2012-4-26 16:40:55

asj1989 发表于 2012-4-26 15:45 static/image/common/back.gif
51没有专门的pwm。。。

我知道,但是可以通过定时器来控制PWM脉冲宽度,改变定时器装的初值就行了,但问题是我不知怎么用定时器来控制,指导指导

asj1989 发表于 2012-4-26 17:08:43

梦的飞翔 发表于 2012-4-26 16:40 static/image/common/back.gif
我知道,但是可以通过定时器来控制PWM脉冲宽度,改变定时器装的初值就行了,但问题是我不知怎么用定时器 ...

比方说 产生20%的占空比,1k的频率。

先定时200us,然后中断来了再定时800us,下次中断再定时200us。。。。。。。,不就完了么。

raxb 发表于 2012-4-26 19:07:27

梦的飞翔 发表于 2012-4-26 15:12 static/image/common/back.gif
这个我知道,我不会使用定时器来调节占空比,延时函数我会用,指导指导 ...

控制电机搞个100Hz就好了,给个例子:
中断定100us,然后:
void        led_change(void)
{
        time_change++;
        if(time_change>=99)
        {
                time_change=0;
                led=1;
        }
        else
        {
                if(time_change>=time_change_vref)
                {
                        led=0;
                }
        }
}

void        led_mode(void)
{
        time_led++;
        if(time_led>=20)
        {
                time_led=0;
                if(f_dec==1)
                {
                        time_change_vref--;
                        if(time_change_vref<=0)
                        {
                                f_dec=0;
                        }
                }
                else
                {
                        time_change_vref++;
                        if(time_change_vref>=100)
                        {
                                f_dec=1;
                        }
                }
        }
}
这是LED渐明渐暗的,马达和这一样一样的

raxb 发表于 2012-4-26 19:09:25

raxb 发表于 2012-4-26 19:07 static/image/common/back.gif
控制电机搞个100Hz就好了,给个例子:
中断定100us,然后:
void        led_change(void)


要产生一个固定占空比,就把time_change_vref给一个固定值

梦的飞翔 发表于 2012-4-26 20:53:15

raxb 发表于 2012-4-26 19:09 static/image/common/back.gif
要产生一个固定占空比,就把time_change_vref给一个固定值

谢谢指导,我琢磨琢磨

梦的飞翔 发表于 2012-4-26 20:54:15

asj1989 发表于 2012-4-26 17:08 static/image/common/back.gif
比方说 产生20%的占空比,1k的频率。

先定时200us,然后中断来了再定时800us,下次中断再定时200us。。 ...

貌似有点懂了,握手谢谢指导,我去试试
页: [1]
查看完整版本: 谁有控制直流电机的教学网站呀???PWM搞不懂