打算在自制的彩色3D打印机上实现一些激进的设计,所以步进电机驱动选择了 TMC2130。

既然选择了 TMC2130,当然是要使用它的 SPI 模式啦,但是目前市面上(好吧我是说某宝)绝大多数在售的 TMC2130 板子默认是处于 Step/DIR 模式的,这么做我猜大概是考虑到部分用户需要在不改动固件的情况下快速替换原有驱动。对于需要启用 SPI 模式的用户需要对电路做一些调整。以我了解到的情况,目前最新在售的几种不同版本操作相同,如图

移除 R5 处的焊锡或贴片电阻,将 CFG5 三点中的外侧两点焊在一起,将 CFG4 三点中的内侧两点焊在一起,即可完成切换。

Marlin 固件的官网上有相关说明以及 FYSETC v1.1 版的改动示意图。

特别需要指出,改动为 SPI 模式后,原先引脚中的 MS1、MS2、MS3、NC (A4988中为 RESET) 脚将用于 SPI 通讯,部分售货商仍保留向下插入的引脚,你需要将这四个脚钳断。

之后,如果你需要步进电机以不可思议的静音状态运行的话,可能还需要调整一下工作电流,工作电流值越大驱动能力越强,但相应的噪音越大。将电压表的红笔戳到电位器上,黑笔戳到 GND 脚,计算公式为 I = Vref × 1.9。请谨慎操作,如果你手抖戳短路了请发到底下留言区让我开心一下……

TMC2130 的一大亮点是拥有 286 细分超静音驱动,但其使用方式与 A4988、DRV8825、LV8729略有不同,它会在芯片内部将 16 细分计算成 286 细分,也就是说你只需要假装它是 16 细分去使用就行了,并不需要更改 Marlin 固件 Configuration.h 中的 XYZ_MICROSTEPS 的值。至于跳线帽,在 SPI 模式中已不起任何作用,不用在意插拔设置,Step/DIR 模式下该怎么插可以参考一下数据手册。

除了传统的两排引脚,TMC2130 上还有额外的三个孔,如上图,最常使用的是 DIAG1 孔,在 Marlin 中它被设置为失速信号输出脚,既在步进电机带动的运动部件撞击热床或划轨终端时将会反馈信号,常用于代替限位开关、Z 轴探针等。

最后附上 Marlin 固件中 RAMPS 板的 SPI 引脚设置。

首先建议在 Configuration_adv.h 中取消注释 #define TMC_USE_SW_SPI 项以启用软件 SPI,因为硬件设定的 SPI 脚通常用于显示屏了,你需要在接头上再焊上引脚才能使用,很麻烦。默认使用的引脚写在 pins_RAMPS.h 中了,MOSI:66,MISO:44,SCK:64 。当然,你可以在 Configuration_adv.h 中覆盖更改使用的引脚。之后在 pins_RAMPS.h 中修改 X_CS_PIN、Y_CS_PIN、Z_CS_PIN 所代表的引脚号,你可以在 RAMPS 的 AUX-1 及 AUX-2 区中挑选合适的引脚,保证引脚不重复使用即可。保存,编译,烧写,have fun !

2018.11.26

CC BY-SA

使用图片版权未知,侵删