《使用STM32控制步进电机的精彩之旅》

本文使用DM542c驱动器驱动。

使用前注意根据实际情况调节拨码开关。

本文不会提到GPIO使能,请自行使能。

一、PWM操作驱动器使步进电机一直转

  1. 使能定时器时钟,并配置基本参数。下图以TIM3为例。
  2. 配置输出比较PWM1模式。下图ARR+1=100,故CCR值除以100即占空比。占空比与转速有关。
  3. 使能时钟   TIM_Cmd(TIM3, ENABLE);

注:

  • 计数器每溢出一次,发出一次脉冲,产生一次TRGO(触发输出信号)。
  • PWM频率不宜过快,否则可能使步进电机不转,并伴有鸣叫。
  • CCR可随时更改,用以调速。
  • 开启PWM时,必须同时开启AFIO时钟!!必须配置对应引脚为复用输出!!
  • 二、转一定角度

    使用定时器主从模式,从定时器用于计算脉冲数(脉冲即指PWM波)。脉冲数与旋转角度直接相关,查看驱动器拨码开关设置可知脉冲与角度关系。

    1. 使能从定时器时钟,并配置基本参数。Period(即ARR)+1为期望脉冲数,达到期望数后触发中断。本例从定时器为TIM4.
    2. 使能中断并中断优先级分组。
    3. 设置主定时器并使能,使用更新事件作为触发输出。
    4. 设置从定时器,参数TIM_SlaveMode_External1。
    5. 设置输入触发源,参数TIM_TS_ITR2需要查表。(可以查看本专栏中“stm32定时器”篇“主从模式”)
    6. 设置从定时器触发为外部时钟模式。
    7. 使能从定时器时钟。
    8. 写中断服务函数,关闭定时器以停转步进电机。

    完整代码:

    链接: https://pan.baidu.com/s/1QS8qY06Q4ZaozMid7cW9qQ?pwd=zcg9 提取码: zcg9 复制这段内容后打开百度网盘手机App,操作更方便哦

    物联沃分享整理
    物联沃-IOTWORD物联网 » 《使用STM32控制步进电机的精彩之旅》

    发表评论