开箱


TMC2209 是一款超静音的两相步进电机驱动芯片,持续驱动电流 2A,峰值电流 2.8A.电压范围 4.75V-28V DC;带有丏利技术 spreadCycle4™(高动态斩波器)、stealthChop2™(超静音技术)、microPlyer™(细分控制)、stallguard4™(堵转检测)、coolstep(电流动态调节)。
产品参数
产品尺寸:15.24mm*20.32mm
电源电压(VM):4.75V---28V DC;
峰值电流:2.8A;
有效电流:2A;
细分可选:8、16 、32 、64(细化为 256)
最大细分:256 细分;
工作模式: STEP/DIR 和 UART


搭建测试环境

找了个步进电机,使用面包板将TMC2209 驱动板与步进电机连接起来。这里需要留意,这个步进电机是两相四线电机,输出口是A1、B1、A2、B2,与驱动板的管脚排布并不一致,所以用杜邦线进行了调整。电机是24V输入,但是手头没有24V的电源,暂时给了15V电源供电。

TMC2209 最简单的理解,就是通过STEP管脚提供高低电平的脉冲信号,TMC2209 的四个输出脚就会给出步进电机的驱动信号,驱动步进电机旋转。DIR脚可以通过高低电平,控制电机旋转的方向;EN可以控制是否输出驱动信号,当EN为低电平时,驱动板开始工作,高电平时停止输出,其余管脚可以暂时不管。按这个思路将TMC2209 驱动板与树莓派PICO连接。
import machine import utime motor_dir = machine.Pin(16, machine.Pin.OUT) motor_step = machine.Pin(17, machine.Pin.OUT) motor_en = machine.Pin(18, 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(0) for step in range(96*8): motor_step.value(1) utime.sleep_us(1200) motor_step.value(0) utime.sleep_us(1200) motor_en.value(1) utime.sleep(0.5) motor_en.value(0) motor_dir.value(1) for step in range(96*8): motor_step.value(1) utime.sleep_us(1200) motor_step.value(0) utime.sleep_us(1200) motor_en.value(1)
PICO的16、17、18三个脚,分别与TMC2209 的DIR、STEP、EN相连接。步进电机是单步为3.75°。TMC2209 板子默认为8细分,所以给96*8个信号,步进电机就旋转1圈,然后稍作停顿,再反向旋转1圈。电机旋转很顺滑,并且多圈旋转后,位置依然精准。
我要赚赏金
