这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【let'sdo|2026年第1期】静音步进电机控制实践过程贴——TMC2209

共1条 1/1 1 跳转至

【let'sdo|2026年第1期】静音步进电机控制实践过程贴——TMC2209步进电机驱动测试

助工
2026-05-17 11:08:48     打赏

本次使用RP2040开发板、面包板和杜邦线完成硬件连接,实现 TMC2209 驱动步进电机的基础功能测试。

1、TMC2209引脚说明

TMC2209 是一款静音步进电机驱动芯片,本次测试仅需用到基础控制引脚,各引脚功能与接线要求如下:

TMC2209.png

①电源引脚

  • VM 和相邻的GND:芯片驱动电源输入端,接入12V直流电源,我使用的是路由器12V电源供电。

  • VIO 和相邻的GND:逻辑电平电源端,连接 RP2040 开发板的 3.3V 和 GND,为控制信号提供匹配电平。

②电机接线引脚

  • 1A、1B 对应电机 A 相线圈,接电机 A+、A-。

  • 2A、2B 对应电机 B 相线圈,接电机 B+、B-。

1778986713890109.jpg

注意:线圈接线不可接错,否则电机无法正常转动。

③控制引脚

  • EN使能引脚:低电平电机工作,高电平电机失电停止。

  • DIR方向引脚:通过高低电平控制电机旋转方向。

  • STEP脉冲引脚:输入高低电平脉冲信号,控制电机步数,TMC2209 默认 1/8 微步模式,每输入 8 个脉冲,电机转动对应步进角度(角度值取决于电机参数)。

④电位器调节

TMC2209电机驱动板正面的小型旋钮变阻器,用于调节电机电流参考电平。通过旋转可调电阻,可精准调整 VREF 参考电压,以此限制电机工作电流。TMC2209电机驱动板参考电压满量程为 2.5V,对应最大工作电流 1.77A。为避免电机过载或驱动过热,建议将其设置电流略低于电机额定工作电流,预留安全余量。

限流.JPG

  • 必须先断电,并断开电机(带电调节易烧毁驱动模块)

  • 给模块接上 VM(12V电机电源 )和VIO(逻辑电源 3.3V)

  • 万用表直流电压档,黑表笔接 GND红表笔接可调电阻旁边的VREF测试过孔(DIAG/INDEX 上方的小过孔)

  • 调节顺序:顺时针旋转 → VREF 降低 → 电流减小;逆时针旋转 → VREF升高 → 电流增大

  • 将 VREF 调至约 0.17V(大约顺时针旋转100度)

1778986956384896.jpg

1778986956135603.jpg

2、接线图

硬件清单:RP2040 开发板、RP2040 扩展板、面包板、杜邦线、TMC2209 驱动模块、步进电机。

按照下面示意图完成接线:

接线图.png

连接实物图:

1778987079100524.jpg

3、电机驱动测试

控制逻辑:先拉低EN引脚使能电机,再通过DIR设置旋转方向,最后给STEP发送脉冲信号即可驱动电机。

基于MicroPython驱动电机转动测试,简单测试代码如下:

import machine
import utime

# 引脚定义(根据你的接线)
motor_dir = machine.Pin(5, machine.Pin.OUT)   # 方向
motor_step = machine.Pin(4, machine.Pin.OUT)  # 脉冲
motor_en = machine.Pin(1, machine.Pin.OUT)    # 使能(低有效)

# 启用电机
motor_en.value(0)

# 设置方向(0 或 1,选一个方向即可)
motor_dir.value(1)  # 0向电机,1向外

# TMC2209 默认:1/8 细分(MS1=0, MS2=0)
for _ in range(5800*8):
    motor_step.value(1)
    utime.sleep_us(1000)  # 高电平时间
    motor_step.value(0)
    utime.sleep_us(1000)  # 低电平时间

# 可选:完成后禁用电机(防止发热)
motor_en.value(1)

测试视频:

当前面包板 + 杜邦线连接较为杂乱,易出现接触不良问题,后续计划做一块简单的PCB板,方便下一步测试。





关键词: TMC2209     步进电机    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]