stm32控制步进电机

本文详细介绍了如何使用STM32通过PWM控制DM542c步进电机驱动器,实现电机持续转动及精确转角控制。在PWM操作中,需要注意调节定时器参数以避免电机不转或产生噪音。而在转一定角度的场景下,利用定时器的主从模式计算脉冲数,结合驱动器拨码开关设定,可实现特定角度旋转。文中还提供了完整的代码链接供参考。
摘要由CSDN通过智能技术生成

本文使用DM542c驱动器驱动。

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

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

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

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

注:

  • 计数器每溢出一次,发出一次脉冲,产生一次TRGO(触发输出信号)。
  • PWM频率不宜过快,否则可能使步进电机不转,并伴有鸣叫。
  • 开启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,操作更方便哦

评论 55
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值