首页 > 其他 > 详细

步进电机驱动程序(二相四线可使用4、8节拍)

时间:2020-04-09 10:26:36      阅读:294      评论:0      收藏:0      [点我收藏+]

二相四线可使用4、8节拍

驱动步进电机,无非是给电机A和B组轮流给连续的脉冲,步进电机就可以驱动了。比如第一步电机的A+先给高电平其他口低电平,第二步B+高电平其他口低电平,第三步A-高电平其他口低电平,第四步B-高电平其他口低电平。这样就完成了四拍的电机驱动。 

以下是STM32F1的代码部分(我是按照8拍的方式写的)

硬件的连线方式单片机IO口PB12   电机A+

                                           PB13   电机A-

                                           PB14   电机B+

                                           PB14   电机B-

#define AA_H GPIO_SetBits(GPIOB, GPIO_Pin_12 );
#define AA_L GPIO_ResetBits(GPIOB, GPIO_Pin_12 );
#define AD_H GPIO_SetBits(GPIOB, GPIO_Pin_13 );
#define AD_L GPIO_ResetBits(GPIOB, GPIO_Pin_13 );
#define BA_H GPIO_SetBits(GPIOB, GPIO_Pin_14 );
#define BA_L GPIO_ResetBits(GPIOB, GPIO_Pin_14 );
#define BD_H GPIO_SetBits(GPIOB, GPIO_Pin_15 );
#define BD_L GPIO_ResetBits(GPIOB, GPIO_Pin_15 );

void motor_run(void)
{
AA_H;
AD_L;
BA_L;
BD_L;
delay_ms(5);
AA_H;
AD_L;
BA_H;
BD_L;
delay_ms(5);
AA_L;
AD_L;
BA_H;
BD_L;
delay_ms(5);
AA_L;
AD_H;
BA_H;
BD_L;
delay_ms(5);
AA_L;
AD_H;
BA_L;
BD_L;
delay_ms(5);
AA_L;
AD_H;
BA_L;
BD_H;
delay_ms(5);
AA_L;
AD_L;
BA_L;
BD_H;
delay_ms(5);
AA_H;
AD_L;
BA_L;
BD_H;
delay_ms(5);
}

 

步进电机驱动程序(二相四线可使用4、8节拍)

原文:https://www.cnblogs.com/255-zx/p/12664613.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!