• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

步进电机控制疑问

FEItwo 2018-09-29 浏览量:738
请问各位大神,STM32F407怎样发脉冲控制步进电机运行,程序怎么写呢?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 不建议直接使用单片机IO来驱动步进电机,有很多模块可以选择,如:A4988、L298N、DRV8825、ULN2003、TB6560等。

    以A4988为例,只要两个GPIO就可以控制步进电机了,DIR:控制正反转,=1:正转,=0:反转;STEP:接PWM,每个脉冲转对应一个角度;

    控制代码如下:


    //参数
    //  dir:FALSE 正转TRUE反转
    //  period 周期
    //  step   脉冲
    void Step_Control(u8 diru16 periodu32 steps)
    {
        u32 i;
      for(i=0; i <= steps;i++)
      {
        DIR = dir;
        STEP = 1;
        delay_us(1);
        STEP = 0;
        delay_us(period); //period 
    }


    ​int main(void)
    {
        int i=0;
      delay_init();
    LED_Init();
      MOTOR_Init();
    Step_Micr(1);//1/2/4/8/16 
    while(1)
    {
    for(i=0;i<10;i++)
     {
    Step_Control(TRUE1600100);//正转
        delay_ms(1000);
     
    Step_Control(FALSE1600100);//反转
        delay_ms(1000);
     }
        Step_Enable();//抱死
    }
    }

    void MOTOR_Init(void)
    {
      RCC->APB2ENR|=1<<3;
      GPIOB->CRH&=0xff000000;
      GPIOB->CRH|=0x00333333;
    }

    • 发布于 2018-09-29
    • 举报
    • 评论 0
    • 2
    • 0

其他答案 数量:10
  • 步进电机是通过发出的脉冲个数来转动的,STM32本身输出PWM的脉冲电压和电流不够即功率不够,需要用诸如L298N这种模块进行一级驱动。

    • 发布于2018-09-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 网上的例程是非常多的,可以参考,然后自己改一下就可以了
    • 发布于2018-09-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 步进电机每次收到一个脉冲就运行一步,这里可以用F407开个定时器,然后这个定时器输出一路PWM,通过PWM来实现这个脉冲
    • 发布于2018-09-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 最简单的方法是不用定时器,

    直接用IO发出高低电平来实现脉冲的产生

    • 发布于2018-09-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 使用定时器产生PWM波啊,PWM频率就是你的速度。想输出给定个脉冲可以使用高级定时器1、8.可以参考正点原子的步进电机控制例程
    • 发布于2018-10-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般的单片机都有PWM模块,用对应的PWM模块产生和控制PWM输出就可以
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 用你的单片机引脚模拟PWM输出控制电机的转动也是可以的
    • 发布于2018-10-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 用你的定时器中断来翻转IO,这样可以不用使用PWM模块
    • 发布于2018-10-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 用单片机的定时器中断可以控制IO的输出翻转
    • 发布于2018-11-11
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

步进电机控制疑问