CoolBird007 发表于 2012-9-11 15:32:03

关于步进电机驱动的疑问

用STM32的IO+ULN2003驱动一个二相五线步进电机(等于两相六线,两个抽头连在一起的),实验代码如下:

//八拍驱动(半步)

        //第一拍
        GPIO_SetBits(GPIOB,GPIO_Pin_5 | GPIO_Pin_6| GPIO_Pin_7);
        Delay(10);
        GPIO_ResetBits(GPIOB,GPIO_Pin_4);
        Delay(n_count);
        //第二拍
        GPIO_SetBits(GPIOB,GPIO_Pin_6 | GPIO_Pin_7);
        Delay(100);
        //GPIO_ResetBits(GPIOB,GPIO_Pin_4 | GPIO_Pin_5);
        GPIO_ResetBits(GPIOB,GPIO_Pin_5);
        Delay(n_count);
        //第三拍
           GPIO_SetBits(GPIOB,GPIO_Pin_4 | GPIO_Pin_6 | GPIO_Pin_7);
        Delay(100);
        //GPIO_ResetBits(GPIOB,GPIO_Pin_5);
        Delay(n_count);

疑问:如果把第三拍中的//GPIO_ResetBits(GPIOB,GPIO_Pin_5);注释掉,电机就会无力。
注释掉的原因是,这一句执不执行,它的电平都是低,因为执行完第二步后,它就是低电平。

如果不注释,就正常,可是明明执行这一句,没有出现一个脉冲的呀。。

哪位高手能解释一下?

kxb 发表于 2013-1-21 20:50:58

示波器看看波型
页: [1]
查看完整版本: 关于步进电机驱动的疑问