TMC2209步进电机静音驱动模块的控制引脚挺多,其参数的配置可以通过串口单线完成。

原理图:

接口说明

查资料得到以下有关引脚说明的信息:

根据手册可知,TMC2209可选择内部时钟或外部时钟,模块的CLK引脚默认下拉到GND,且其内部集成有步进脉冲发生器,可选择使用内部脉冲发生器提供脉冲信号还是使用外部脉冲发生器提供脉冲信号(0x22设置为0为外部脉冲模式,不为0内部脉冲模式),即如果使用外部发生器提供脉冲信号,STEP引脚就需要连接。在使用默认配置场合,MS1和MS2、SPREAD可以悬空不用。
第一次使用TMC2209,所以需要做一些简单的测试。测试方式为使用RP2040在Mu Editor下使用 MicroPython进行测试。这个测试使用最简单的程序,不进行任何设置参数的处理,直接驱动EN、DIR,STEP驱动电机转动。买到手的TMC2209 模块没有提供散热器,所以为了安全,先使用工作电流比较小的42步进电机做实验。

电气连接:

实物连接图:

程序代码(test.py):
import machine import utime motor_dir = machine.Pin(0, machine.Pin.OUT) motor_step = machine.Pin(1, machine.Pin.OUT) motor_en = machine.Pin(2, machine.Pin.OUT) button = machine.Pin(15, machine.Pin.IN, machine.Pin.PULL_UP) led = machine.Pin(25, machine.Pin.OUT) motor_en.value(0) motor_dir.value(1) steps = 0 while True: #led.value(1) #utime.sleep(0.5) #led.value(0) #utime.sleep(0.5) # if button.value()==0: # motor_dir.value(0) # led.value(0) # else: # motor_dir.value(1) # led.value(1) steps=(steps+1)%2000 if steps<1000: motor_dir.value(0) led.value(0) else: motor_dir.value(1) led.value(1) motor_step.value(1) utime.sleep(0.001) motor_step.value(0) utime.sleep(0.001)
测试效果:

程序控制电机每走1000步就反转。正常工作一段时间,触摸TMC2209芯片,没有明显升温现象,不错!
我要赚赏金
