传感技术
直播中

刘小朵

9年用户 3经验值
擅长:接口/总线/驱动
私信 关注
[问答]

A4988驱动步进电机

哪位大神能传一下用A4988驱动两个步进电机的程序吗?

已退回1积分

回帖(12)

小麦地

2015-8-12 23:13:54
勿做伸手趴哦
举报

小麦地

2015-8-12 23:17:25
勿做伸手趴哦
举报

南学cdio

2015-11-11 19:02:56
我也想学学   感谢楼主
举报

皇甫平平

2017-2-28 16:51:38
勿做伸手趴哦   
举报

皇甫平平

2017-2-28 20:36:55
我也想学学   感谢楼主
举报

冷执醉

2017-5-22 13:45:25
程序
举报

归依龙井

2017-5-27 20:28:41
就是一般电机驱动程序就行了
举报

归依龙井

2017-5-27 20:29:42
这只是一个供电机驱动的而不是控制电机的模块
举报

归依龙井

2017-5-27 20:31:18
可以自己试一下
举报

归依龙井

2017-5-27 20:33:10
//初始化步进电机控制端口
//STEP1 PCout(4)
//DIR1 PCout(5)
void STEP_Init(void)
{
        RCC->APB2ENR|=1<<4;    //使能PORTC时钟
        GPIOC->CRL&=0XFF00FFFF;        
        GPIOC->CRL|=0X00330000;
}

//dir:为方向控制,TRUE:正转 FALSE:反转
//period为周期
//steps:脉冲个数
void Step_Control(u8 dir,u16 period,u32 steps)
{
        u32 i;
        for(i=0; i <= steps;i++)
        {
                DIR = dir;
                STEP = 1;
                delay_us(1);
                STEP = 0;
                delay_us(period);
        }
}
#define        TRUE  1
#define FALSE 0
//端口定义
#define STEP PCout(4)
#define DIR PCout(5)
int main(void)
{                                 
        Stm32_Clock_Init(9); //系统时钟设置
        delay_init(72);             //延时初始化        
        STEP_Init();                 //步进电机驱动端口初始化
        LED_Init();                           //初始化与LED连接的硬件接口
        while(1)
        {        
                LED = !LED;
                Step_Control(FALSE,1600,200);
                delay_ms(1000);
                Step_Control(TRUE,1600,400);
                delay_ms(1000);
        }         
}
举报

归依龙井

2017-5-27 20:33:36
程序实现功能:电机反转1圈、正转2圈。
举报

归依龙井

2017-5-27 20:36:09
不改变程序,设置不同的步进模式,观察步进电机的旋转角度。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分