本帖最后由 sanbourn 于 2024-8-16 12:29 编辑
非常感谢eeworld给了这次评测的机会,也是第一次写评测文章,之前一直都是读大佬的文章,这次献丑了。
也非常感谢我们公司团队小伙伴的协助,自己很忙,绝大多数的工作都是小胡同学做的。
一、基本性能
TMC2208具有低噪声、低振动的优点,是一款较为先进的步进电机驱动芯片,相较于我们之前用的A4988、DRV8825等芯片具有更高的精度和稳定性。如图1所示为TMC2208的接线方式。
图1 TMC2208实物引脚及实际接线图
TMC2208支持多种驱动模式:UART模式、OTP模式以及STEP/DIR模式。其中前两种都是由UART传输指令和数据对芯片寄存器进行配置,实现电机驱动控制;STEP/DIR则通过传统的引脚控制,使用STEP控制无法实现256微步进控制,仅可以实现16分步控制,但是由于芯片内部集成的算法和相关功能,依旧可以实现低噪低振动电机驱动,STEP控制可以和UART相混合使用。
表1所示为TMC2208基本性能,TMC2208支持256微步设置,逻辑电压可使用3.3V/5V,可支持负载供电电压为5.5-36V。在实际测试中,根据所使用电机要求,采用了3.3V逻辑电压以及24V的负载供电。
表1 TMC2208基本性能
类别 |
units |
TMC2208 |
驱动电流 |
A |
1.4(2) |
逻辑电压 |
V |
3.3/5 |
参考电压 |
2.5 |
负载供电 |
5.5-36 |
分步 |
|
256(16) |
控制精度 |
|
0.007° |
通信方式 |
|
uart(不支持寻址) |
该芯片在正常电机驱动情况下,通过UART设置最大驱动电流可设置为1.77A,理论长时间正常运转最大值为2A。但在实际正常工作情况下,为保证芯片以最佳性能的稳定运行,电流最大需要保持在1.4A左右的电流值,且需搭配良好的散热设计(包括PCB多层散热设计以及额外配备散热片等散热设备),如图2所示。
图2 添加散热片的TMC2208
图3 UART设置电流参数
TMC2208提供了众多的寄存器配置,在实际测试主要需要配置GCONF、Stealthchop寄存器。通过GCONF寄存器设置芯片为通过UART配置微步进数,在Stealthchop寄存器中可设置微步进数,如图4所示。
图4 UART微步设置
如图5所示,通过示波器测试了输出的波形,两个绕组的电流存在相位差,由于设置了分步可以发现正弦波是由一个个小台阶组成,波形相对与A4988和DRV8825纹波更小(下文有两款的波形),故能够使电机以足够小的声音和振动进行转动。
图5 TMC2208输出波形
二、实际电机驱动性能
公司里面电机比较多,手头的大部分都是淘宝上买的,应该都不是大厂的,随便拿了个电机试试。
通过对32分步和256分步下的TMC2208的运动情况进行了测试,结果如表2所示。可以发现,在32分步下旋转100圈均未发生失步现象,在256设置下多次运转10或20圈同样未出现失步现象。此外,为测试更精确的控制能力,在256微步设置下,驱动电机运转7个微步时,出现0.005°的误差,原因在于过小的旋转步距导致驱动电流难以精准的控制电机的运转。尽管在较小的驱动角度下,但是依旧证明了TMC2208芯片具有很高的控制精度和稳定的驱动性能。
表2 TMC2208电机驱动控制
分步 |
运行圈数 |
初始位置 |
终止位置 |
误差 |
备注 |
32 |
100rat |
103.117° |
103.117° |
0 |
每圈间隔5S |
256 |
10/20rat |
128.847° |
128.847° |
0 |
每圈间隔3S |
0.049°(7步) |
132.099° |
132.143° |
0.005° |
每圈间隔3S |
此外,通过对TMC2208的不同程度分步设置和转速下的运转情况进行了测试,结果如表3所示。
表3 不同分步下电机运转情况
微步设置 |
频率 |
速度 |
噪音 |
温度 |
振动 |
2 |
500Hz |
37.5r/min |
42dB以下 |
- |
无 |
4 |
500Hz |
37.5r/min |
42dB以下 |
- |
无 |
8 |
625Hz |
23.4375r/min |
45dB以下 |
35.1° |
无 |
1kHz |
37.5r/min |
无 |
2.5kHz |
93.75r/min |
45dB |
小 |
16 |
1kHz |
18.75r/min |
- |
33.5° |
无 |
1666.6Hz |
31.25r/min |
- |
无 |
2.5kHz |
46.875r/min |
40dB |
较小 |
5kHz |
93.75r/min |
- |
小 |
32 |
5kHz |
46.875r/min |
42dB以下 |
34.5° |
无 |
10kHz |
93.75r/min |
52db |
37.7° |
明显 |
64 |
10kHz |
46.875r/min |
42dB以下 |
- |
无 |
128 |
10kHz |
23.4375r/min |
42dB以下 |
- |
无 |
256 |
20kHz |
23.4375r/min |
42dB以下 |
33.4° |
小 |
50kHz |
58.59375r/min |
33.5° |
无 |
- |
- |
- |
整体42dB以下 |
37.7(max) |
整体小 |
根据表3及图6所示结果可知,驱动电机整体噪声小于42dB,且存在设备限制和环境噪声影响,实际产生噪声应小于这一数值。TMC2208所集成的Stealthchop2技术,在实际的驱动中速度越低所发出的噪声越小,且具有更加稳定的状态,造成的振动也最小,反而在低速范围内随着速度的升高会使噪声和振动增加。此外,整体的芯片温度经过长时间的运转后最终温度并不高,仅为37.7°。
图6 TMC2208驱动 电机运行噪声结果
在整体的测试中,TMC2208相较于A4988等芯片明显具备更加优异的性能。TMC2208在实际驱动中具备更小的噪声和振动,更高的驱动精度,支持UART和STEP/DIR以及OTP三种控制模式,更加灵活且具备更丰富的功能,能够适用于要求更加苛刻的场景。
手头还有TMC2209、DRV8825和A4988的板子,顺便把测试图也放一下,可以简单对比一下。
图7 TMC2209输出波形
图8 DRV8825输出波形
表4 DRV8825不同分步驱动电机状况
分步
|
频率
|
转速
|
噪声
|
振动
|
2分步
|
1khz
|
150r/min
|
56dB
|
小
|
1333.33Hz
|
200r/min
|
54db
|
较大
|
16分步
|
1666.6Hz
|
31.25r/min
|
60db
|
较小
|
5kHz
|
93.75r/min
|
51db
|
略大
|
32分步
|
5kHz
|
46.875r/min
|
58db
|
较小
|
10kHz
|
93.75r/min
|
50db
|
小
|
图9 A4988输出波形
表5 A4988驱动电机噪声振动对比
分步
|
频率
|
转速
|
噪声
|
振动
|
全步
|
250Hz
|
75r/min
|
58db
|
大
|
500Hz
|
150r/min
|
50db
|
较大
|
16分步
|
1666.6Hz
|
31.25r/min
|
-
|
小
|
2.5kHz
|
46.875r/min
|
60db
|
较大
|
三、总结
在整体的测试中,TMC2208相较于DRV8825、A4988等芯片明显具备更加优异的性能。TMC2208在实际驱动中具备更小的噪声和振动,更高的驱动精度,支持UART和STEP/DIR以及OTP三种控制模式,更加灵活且具备更丰富的功能,能够适用于驱动要求更加苛刻的场景。