关于步进电机驱动的疑问
用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);注释掉,电机就会无力。
注释掉的原因是,这一句执不执行,它的电平都是低,因为执行完第二步后,它就是低电平。
如果不注释,就正常,可是明明执行这一句,没有出现一个脉冲的呀。。
哪位高手能解释一下? 示波器看看波型
页:
[1]