步进电机实现正反转
步进电机原理
步进电机的原理可参考B站视频讲解:
https://www.bilibili.com/video/BV1cN4y197TG/
A4988模块驱动28BYJ-48电机
模块图片如下:
模块的主要接线:
STEP | 脉冲控制引脚,给予高低电平的变化是一次脉冲 |
---|---|
EN | 使能控制引脚 |
DIR | 方向控制引脚 |
1B | 蓝线 |
1A | 黄线 |
2A | 粉线 |
2B | 橙线 |
红线 | 公共端 |
---|---|
粉线 | A+ |
黄线 | A- |
蓝线 | B- |
橙线 | B+ |
STM32驱动步进电机注意要点
在编写控制程序之前,检查相序是否正确。对于28BYJ-48电机这款电机来说,红线公共端可以不接,粉线、橙线是一组线圈,黄线、蓝线是一组线圈。实际的接线方式应该是:如上表所示的;(只要是一组线圈即可,可以不管正负性)
接错相序的情况下,会导致无法正常控制电机的正反转!!!
参考程序如下:
#define EN1 PAout(8)
#define Dir1 PAout(11)
#define Step1 PAout(12)
void A4988_Task(u8 EN, u8 dir, u16 steps)
{
int i = 0;
EN1 = EN;
delay_ms(50);
for(i=0;i<(int)steps;i++)
{
Dir1 = dir;
Step1 = 1;
delay_us(10);
Step1 = 0;
delay_ms(25);
}
delay_ms(50);
}