步进电机驱动小结

最近工作接触到步进电机的项目,经过一段时间的研究,大概了解了一些知识,现做小结。

首先引用该文:步进电机基本结构和工作原理
已经比较详细的介绍了步进电机的驱动原理。

由上文可知,步进电机是由频率驱动控制,应该属于调频控制
但是控制电机的频率并不是无限且随意的,它有最低启动频率这个参数,一般由厂家提供
或者个人试验得出的,因为频率不够的话,驱动的力矩不足以使电机迅速转动起来

电机的转速公式又上文知道:

---------------------------
N = (θ * f * 60) / 360    -【1】
---------------------------
N:转速RPM[r/min]
θ:步距角:
f :驱动电机的频率
---------------------------

这里又引入一个参数:驱动器细分系数
此为驱动芯片提供决定的参数
细分是控制精度的标志,通过增大细分能改善精度。细分能增加电机平稳性,
通常步进电机都有低频振动的特点,通过加大细分可以改善,使电机运行非常平稳

所以上面的公式变为:

---------------------------
N = (k*θ * f * 60) / 360    -【2】
---------------------------
N:转速RPM[r/min]
k:驱动器细分系数
θ:步距角:
f :驱动电机的频率
---------------------------

如A3979步进电机驱动IC文档给出的

在这里插入图片描述

该芯片的12,13引脚[MS1,MS2]就是驱动器细分系数硬件配置引脚
A3979
如图给出的,MS1,MS2引脚上的电平配置决定了驱动芯片的细分系数,最大为16.

计算转速代码

#define  PULSE_TIMER_FREQ (1000000) //定时器基频:Hz
#define  PULSE_TIME_CONVERT(ld_val)  ((double)ld_val/PULSE_TIMER_FREQ)//定时器周期换算
#define  MOTOR_SPPED_CALC(step_angle,pulse_ld_val,div_k) ((double)(step_angle*div_k)*60/(360*PULSE_TIME_CONVERT(pulse_ld_val)*1.0))//转速计算:单位RPM

附录一个步进电机参考项目链接地址太极创客

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值