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

2020-02-04 09:05发布

直流电机的PWM搞不懂啊,谁有好的学习网站或是视频教程推荐一下,是51单片机的
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
raxb
1楼-- · 2020-02-04 14:54
PWM就调节占空比来调速
梦的飞翔
2楼-- · 2020-02-04 17:38
 精彩回答 2  元偷偷看……
asj1989
3楼-- · 2020-02-04 21:42
51没有专门的pwm。。。
梦的飞翔
4楼-- · 2020-02-05 00:37
asj1989 发表于 2012-4-26 15:45
51没有专门的pwm。。。

我知道,但是可以通过定时器来控制PWM脉冲宽度,改变定时器装的初值就行了,但问题是我不知怎么用定时器来控制,指导指导
asj1989
5楼-- · 2020-02-05 03:58
梦的飞翔 发表于 2012-4-26 16:40
我知道,但是可以通过定时器来控制PWM脉冲宽度,改变定时器装的初值就行了,但问题是我不知怎么用定时器 ...

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

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

raxb
6楼-- · 2020-02-05 07:34
梦的飞翔 发表于 2012-4-26 15:12
这个我知道,我不会使用定时器来调节占空比,延时函数我会用,指导指导 ...

控制电机搞个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渐明渐暗的,马达和这一样一样的

一周热门 更多>