这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 用TMC2209模块驱动步进电机

共1条 1/1 1 跳转至

用TMC2209模块驱动步进电机

工程师
2026-05-07 15:53:41     打赏

开箱

5fd8a070e863f5d211f5e8c39cad44ea.jpg1f695cecb3d9dfc7947b10f097b23057.jpg

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

image.png

image.png

搭建测试环境

59523eddd9691f6200e08c6f6dd5bf8e.jpg

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

db2a88a99154ce87d438d2a8bb556680.jpg

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圈。电机旋转很顺滑,并且多圈旋转后,位置依然精准。








共1条 1/1 1 跳转至

回复

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