【let'sdo|2026年第1期】静音步进电机控制实践过程贴——TMC2209步进电机驱动测试-电子产品世界论坛
【let'sdo|2026年第1期】静音步进电机控制实践过程贴——ATOMS3R+TMC2209步进电机驱动测试-电子产品世界论坛
【let'sdo|2026年第1期】静音步进电机控制实践过程贴——网页控制步进电机滑台-电子产品世界论坛
1、PDN/UART引出
TMC2209的PDN/UART引脚默认未直接引出到外部排针,这也是我此前多次尝试串口通信均失败的根本原因。
查看原理图,在芯片那一面靠近排针焊盘的位置,有3个方形焊盘——这是预留给用户的跳线选择点,焊接上方或下方焊盘即可将UART功能引出到对应引脚。(如下图红框中的位置)

根据@walker2048 大佬的指导,我焊接了下面两个焊盘(如下图红色箭头),成功将UART功能引出到靠近SPREAD标注的PDN/UART引脚。

2、接线图
硬件清单:USB转TTL、杜邦线、TMC2209 驱动模块、TMC2209扩展板、步进电机。
按照下面示意图完成接线:

其他引脚说明:
VM 和相邻的GND:接12V直流电源。
VIO 和相邻的GND:接USB转TTL的 3.3V 和 GND。
EN :接GND。
连接实物图:

3、串口通信测试
使用官方推荐的工具 ScriptCommunicator 进行测试。
ScriptCommunicator下载地址:https://sourceforge.net/projects/scriptcommunicator/files/Windows/
TMC220X.scez配置文件下载地址:https://github.com/watterott/SilentStepStick/tree/master/ScriptCommunicator
TMC220X.scez 是ScriptCommunicator 的配套配置文件,借助 TMC220X.scez,不用熟记繁杂串口指令,就能通过图形化配置 TMC2209 驱动板。
完成 ScriptCommunicator 安装后,双击打开 TMC220X.scez 文件,在界面中选择设备型号 TMC2209 以及对应的串口号,随后点击 Connect 按钮,再参照下图翻译完成参数设置。

重点是配置IRUN运行电流、IHOLD保持电流,需根据所用步进电机的额定电流精准设置,避免电流过大烧毁驱动板或电机。我使用的步进电机建议电流为0.24A,IRUN和IHOLD均设置为3,其余保持默认。(如下图)

设置完,断开串口连接。切换到ScriptCommunicator,将发送、接收数据格式统一设置为HEX十六进制模式。通过设备返回数据判断串口通信是否正常,若有正常回包则证明硬件接线、串口配置均无误,通信链路通畅。
发送测试指令:05 00 06 6F
收到的回复:05 00 06 6F 05 FF 06 21 00 00 40 4F
其中:
05 00 06 6F 是本地回显(单线UART正常现象)
05 FF 06 21 00 00 40 4F 是TMC2209的真实回复
回复解析:
05 = 同步字节
FF = 主机地址
06 = IOIN寄存器
21 00 00 40 = 32位寄存器数据
4F = CRC
关键信息:VERSION = 0x21,芯片识别正常,确认是TMC2209。与TMC220X.scez的信息一致。(如下图)

所有串口控制指令的定义、格式、功能说明,可查阅TMC2209官方数据手册第5章Register Map。(如下图)

4、串口控制电机转动测试
确认串口通信正常后,通过发送自定义串口指令,控制步进电机完成正向转动、停止、反向转动动作,测试指令如下:
① 电机正向转动:指令:05 00 A2 00 FF FC 18 57
参数说明:对应电机速度参数 VACTUAL = 1000,驱动电机慢速正向转动。
② 电机停止:指令:05 00 A2 00 00 00 00 0E
参数说明:清零电机速度参数,立即停止电机转动,实现急停控制。
③ 电机反向转动
指令:05 00 A2 00 00 03 E8 86
参数说明:对应电机速度参数 VACTUAL = -1000,驱动电机慢速反向转动。

说明:串口消息中,红色字符串为发送的消息,黑色为收到的消息。VACTUAL寄存器为Write Only类型,因此没有真实的回复,只有本地回显。
测试效果如下视频:
我要赚赏金
