TMC5130笔记

1步进电机简介

步进电机是一种将电脉冲信号转换程机械唯一的机电执行元件。每当一个脉冲信号施加于电机的控制绕组时,其转轴就转过一个固定的角度(步距角),顺序连续的发给脉冲,则电机轴一步接一步的运转。

1.1步进电机结构

步进电机主要由转子和定子构成。结构如图1.1.1所示:

              图 1.1.1 电机结构示意图

1.2步进电机基本参数

(1)相数:产生不同对极N、S磁场的激磁线圈对数。常用m表示。

(2)拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数。

(3)步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。θ=360度/(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。

(4)定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的) 静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。

2 TMC5130硬件连接

TMC5130的电路图如图2.1所示。单片机与TMC5130通讯方式为SPI。

图2.1 TMC5130电路图

3 TMC5130各模块说明及配置

本设计中所用TMC5130的晶振为16MHz,阻值为100mΩ。本设计的所有计算均以图3.1电机参数为例进行计算。

图 3.1 电机参数示例

3.1 stealthChop

stealthChop是对步进电机的一种非常安静的电机操作模式。基于电压模式PWM脉宽调制技术,主要是在低速和静止时使电机几乎静音。

3.1.1两种电流管理模式

两种模式为:电流反馈的自动模式(pwm_autoscale = 1)和速度前馈控制模式(pwm_autoscale = 0)。一般选用前者。在此需要设置PWM的频率。一般其频率应在30-50kHz。由于本电路中芯片选用的晶振频率为16MHz,由表3-1所示,若选择PWM频率为46.9kHz,因此寄存器PWMCONF(0x70)的16和17位的pwm_freq0和pwm_freq1设置为01。

表 3-1

表3-2

寄存器名称

寄存器地址

位名称

位数

设置值

1

PWMCONF

0x70

pwm_freq0

16

0

2

pwm_freq1

17

1

3

pwm_autoscale

18

1

3.1.2  Automatic Scaling 

   驱动程序测量斩波电流并用比例调节器来管理PWM_SCALE以达到调节电机电流达到目标电流的目的。PWM_GRAD是该调节器的比例系数。由于电机供电电压和电机温度往往变化缓慢,因此PWM_GRAD设置为最小值1。

在自动电流调节模式(pwm_autoscale = 1)下,PWM_GRAD设置应针对所需的最快加速斜坡进行优化。 使用电流探头检查电机电流在(快速)加速期间。 设置为1可能会导致调节过慢,而设置为15会对速度变化产生快速响应,但可能会在某些星座中产生调节不稳定性。 一般设置为4。

表3-3

寄存器名称

寄存器地址

位名称

位数

设置值

1

PWMCONF

0x70

PWM_GRAD

8 - 15

4

3.1.3 Velocity Based Scaling


3.1.4 stealthChop  和 spreadCycle相结合

对于需要高速运动的应用, spreadCycle在高速运行更稳定。为了将无噪音与最高的动态性能相结合,可以设置速度阈值将spreadCycle和stealthChop结合在一起(图3.2 )。 stealthChop只在低于这个速度阈值时有效。

图 3.1.4.1 切换到 spreadCycle 的速度阈值 TPWMTHRS

3.2 采样电阻选择


3.3 stallGuard2 负载检测

图3.3.1 SG变化图

如图3.3.1所示,当负载增大时,SGT值减小。SG值要根据具体系统测试所得。

3.4 TMC5130常用参数说明

图3.4.1 斜坡发生器运动寄存器

3.4.1 位置说明

如图3.4.1所示:对于寄存器XACTUAL,其单位为usteps,即1微步。若XACTUAL设置值为10000,其意义为发送10000个脉冲,电机运行10000微步。

3.4.2 速度说明

3.4.3 加速度说明

3.5 编码器

TMC5130的编码器为增量式编码器接口,如图3.5.1所示。

图3.5.1

本设计中所用的编码器接口如图3.5.2所示(接口为DB15公头)。

                   图3.5.2编码器接口

编码器连接简图如图3.5.3所示,A+、B+为正交信号,N为信号清除。(A-、B-、E信号暂时没用

                                                  图3.5.3编码器连接简图

最大连续计数频率受输入滤波限制为 fCLK 2 / 3,由于本设计中fCLK = 16MHz,所以最大连续计数频率约为10.7MHz。

表3.5-1

光栅尺栅距

20um

光栅尺分辨率

0.1um

编码器分辨率

0.1um

编码器可检测的最高速度

0.25m/s

编码器时钟

4MHz

编码器接口为Ri接口,编号为RI0200A04B,编号意义如图3.5.4所示。

编码器资料:https://wenku.baidu.com/view/d319ed795ef7ba0d4b733b25.html

3.6 问题汇总

(1)左右限位开关停止问题

调试过程出现问题:
首先使能右参考开关有效时电机停止,其次输入有效电平,但电机不停止。

问题原因:
使能右参考开关有效时电机停止后,只能电机向右运转时同时检测到有效电平,电机才会停止;若此时电机向左运转,即使检测到有效电平,电机也不会停止。

解决方法:
将TMC5130的寄存器0x34的bit4置高,即交换左右参考开关输入 REFL 和 REFR。

(2)位置模式下电机无法停止

问题描述:

比如驱动一个电机,在位置模式驱动电机到4433198这个位置,就是把4433198这些脉冲写入TMC5130_XTARGET(0x2D)寄存器,但当读取TMC5130_XACTUAL(0x21)时发现这个寄存器的值一直在4433198附近跳动,一直读不到电机停止。

问题原因:

运动斜坡设置有误。一般VSTART要大于VSTOP,V1要等于约一半VMAX。

(3)电机实现撞停时由于SGT阈值比较粗会使得电机在比较大的阈值下无法撞停,而减小了阈值会使电机无法运行。

这个问题不太好解决啊

  • 20
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值