这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【静音步进电机控制实践开箱帖】介绍、环境搭建、工程测试

共1条 1/1 1 跳转至

【静音步进电机控制实践开箱帖】介绍、环境搭建、工程测试

工程师
2026-05-08 16:20:32     打赏

【静音步进电机控制实践开箱帖】介绍、环境搭建、工程测试

感谢 DigiKey 和 EEPW 联合举办的 Let's do 2026 年第 1 期静音步进电机控制实践 活动对物料采购的大力支持。

本文介绍了 Let's do 2026 年第 1 期——静音步进电机控制实践活动  物料采购的相关信息,包括开箱、外观展示、参数特点、资源性能等,进一步完成开发环境搭建、步进电机驱动测试等。

介绍

这里介绍了活动所需和采购物料、TMC2209参数、主控MCU开发板、步进电机参数等。

物料

所需物料包括 TMC2209 模块、树莓派 Pico 2W、尼龙外壳、42步进电机。

package.jpg



TMC2209 驱动模块

TMC2209 SilentStepStick 是一款两相双极步进电机驱动模块,具备 2.8A 峰值电流和 1/256 步进模式;板载 UART 接口和多项专利技术确保步进电机平稳、安静、高精度运行,适用于3D打印、机器人和自动化等项目。

外观

Top view

top.jpg

Bottom view

bottom.jpg

详见:TMC2209SILENTSTEPSTICK Analog Devices Inc./Maxim Integrated | 评估和演示板及套件 | DigiKey .

规格



参数数值说明
峰值电流2.8A (峰值) / 2A (RMS)单相线圈最大驱动能力,RMS 为有效值
电压范围4.75V ~ 29V DC宽电压输入,兼容 12V/24V 系统
导通电阻 (RDSon)170mΩ (典型值 @25°C)高低侧均为 170mΩ,低阻抗减少发热
待机功耗低功耗模式符合待机能源法规要求


特性


特性
说明
基础微步进8/16/32/64 微步(通过引脚配置)
MicroPlyer™ 插值256 微步平滑运行将基础微步插值到 256 细分,无需高频率 STEP 信号
STEP/DIR 接口标准两线控制兼容传统步进驱动器接口


原理图

SCH_tmc2209.jpg


引脚定义

pinout_tmc2209.jpg

  • MS2、MS1 设置细分:通过 MS2 和 MS1 引脚设置步进电机的细分模式。

  • 芯片 17 脚 VREF 输入:VREF 电压越高,对应的电流越大。

  • EN 对应芯片使能,DIR 对应方向控制,STEP 对应脉冲输入。

  • SPREAD 引脚用于选择斩波模式,0=StealthChop(低速效果好),1=SpreadCycle(高速效果好)。

pin_def.jpg


主控

主控 TMC2209 是一款超静音的两相步进电机驱动芯片。

tmc2209_mcu.jpg

持续驱动电流 2A,峰值电流 2.8A;电压范围 4.75V-28V;专利技术包括 spreadCycle4™(高动态斩波器)、stealthChop2™(超静音技术)、microPlyer™(细分控制)、stallguard4™(堵转检测)、coolstep(电流动态调节)。可帮助开发者快速实现步进电机驱动和精确调控。

功能

StealthChop2 静音运行

  • 原理: 使用电压斩波模式,通过 PWM 占空比控制电流,而非传统的电流斩波

  • 优势: 消除电机低速运行时的电流纹波噪音,实现"近乎无声"的运行

SpreadCycle 高动态控制

  • 原理: 周期性的快速衰减 + 慢速衰减组合,优化电流波形

  • 优势: 高动态响应,高转速下仍保持精确扭矩控制;

  • 运行时自动切换,低速用静音模式,高速自动切换到 SpreadCycle 高动态;

StallGuard4 无传感器堵转检测

  • 原理: 通过监测反电动势或电流特性变化检测电机负载;

  • 无需外部编码器或限位开关,可用于归原点、碰撞检测、扭矩控制;

  • 输出: 通过 DIAG 引脚或 UART 读取负载值;

CoolStep 自适应节能

  • 原理: 根据 StallGuard 反馈的实际负载动态调整电流;

  • 最高可节省 75% 能耗,轻载时自动降流,减少发热,延长电机寿命。


系统框图

tmc2209_block.jpg


硬件示意图

CPU通过步进和方向信号操作驱动器。它通过UART接口访问诊断信息并配置TMC2209。CPU管理运动控制,而TMC2209驱动电机并平滑及优化驱动性能。

tmc2209_diagram.jpg


硬件连接

将 TMC2209 驱动器与 MCU 微控制器、步进电机、电源连接;

connection_diagram.jpg

详见:TMC2209 Stepper Motor Driver module .


树莓派 Pico 2W

Raspberry Pi Pico 2W 是一款使用 Raspberry Pi 微控制器 RP2350 的开发板。使用 MicroPython 、 C 或 C++ 进行编程,具有 2.4GHz 无线接口,可实现蓝牙和无线网络连接功能。

外观

Top view

pico_top.jpg

Bottom

pico_bottom.jpg


详见:SC1633 Raspberry Pi | 射频、RFID、无线评估板 | DigiKey .

这里还搭配了 Adafruit 公司适配的外壳

pico_shell.jpg

详见:6252 Adafruit Industries LLC | 评估、开发板外壳 | DigiKey .

特性

  • 采用了 Raspberry Pi 官方自主设计的 RP2350 微控制器芯片;

  • 独特的双核、双架构,搭载了双核 ARM Cortex-M33 处理器和双核 Hazard3 RISC-V 核处理器,运行频率均高达 150MHz 灵活时钟;

  • 内置了 520KB 的 SRAM 和 4MB 的片上 Flash;

  • 支持 Wi-Fi 4 无线网络和 Bluetooth 5.2;

  • 邮票孔设计,可直接焊接集成到用户自主设计的底板上;

  • USB1.1 主机和设备支持;

  • 支持低功耗睡眠和休眠模式;

  • 可通过 USB 识别为大容量存储器进行拖放式下载程序;

  • 多达 26 个多功能的 GPIO 引脚;

  • 2 个 SPI,2 个 I2C,2 个 UART,3 个 12 位 ADC,16 个可控 PWM 通道;

  • 温度传感器;

  • 片上加速浮点库;

  • 12 个可编程 I/O (PIO) 状态机,用于自定义外设支持;

扩展板

为了便于连接测试,为树莓派 Pico 设计扩展板,实物如下

pico_expand.jpg

扩展板设计已开源,详见:树莓派Pico扩展板 .

步进电机

根据 TMC2209 驱动器参数,这里采用 Oukeda 两线四相 NEMA17 步进电机。

stepper_view.jpg


参数


参数数值
类型2 相 4 线 (双极性)
步距角1.8° (200 步/圈)
额定电压12V
额定电流1.33A/相
电阻2.2Ω/相
电感2.5mH/相
保持扭矩22 N·cm
机身42×42×34mm (NEMA17)

由额定电压电流可知,该步进电机与 TMC2209 模块完全匹配,可充分发挥驱动器性能。

详见:SM-42HB34F08AB Olimex LTD | 步进电机 | DigiKey .


硬件连接

根据TMC2209用户手册和示意图硬件连接方案,将电源、树莓派Pico、TMC2209、步进电机等连接如下

connect_stepper.jpg

这里使用直流 12V 工业电源供电,为步进电机提供足够的功率。


环境搭建

  • 下载并安装树莓派 Pico 2W 对应的 MicroPython 开发固件;

  • 下载并安装 Thonny IDE 软件;

详见:MicroPython - Raspberry Pi Documentation .


工程测试

运行 Thonny IDE 新建文件,添加如下代码

 '''
 电机:42步进电机
 电压:直流12V
 步距角:1.8度
 细分:8
 单圈脉冲数:360 / 1.8 * 8 = 1600 个/圈
 '''
 import machine
 import time
 
 # 引脚
 dir = machine.Pin(16, machine.Pin.OUT)
 step = machine.Pin(17, machine.Pin.OUT)
 en = machine.Pin(18, machine.Pin.OUT)
 
 while True:
     # 顺时针 180度
     en.value(0)
     dir.value(0)
     for _ in range(800):  # 180度步数
         step.value(1)
         time.sleep_us(1200)
         step.value(0)
         time.sleep_us(1200)
     en.value(1)
     time.sleep(1)
 
     # 逆时针 90度
     en.value(0)
     dir.value(1)
     for _ in range(400):  # 90度步数
         step.value(1)
         time.sleep_us(1200)
         step.value(0)
         time.sleep_us(1200)
     en.value(1)
     time.sleep(1)

保存代码。


效果

  • Thonny IDE 运行 stepper_run.py ;

  • 步进电机顺时针、逆时针交替旋转;

stepper_run.gif

运行丝滑,没有噪声和振动。


总结

本文介绍了 Let's do 2026 年第 1 期——静音步进电机控制实践活动  物料采购的相关信息,包括开箱、外观展示、参数特点、资源性能等,进一步完成开发环境搭建、步进电机驱动测试等,为后续深入项目研究和开发设计提供了参考。

再次感谢 DigiKey 和 EEPW 联合举办的 Let's do 2026 年第 1 期静音步进电机控制实践 活动对物料采购的大力支持。





关键词: 步进电机     树莓派     控制     python    

共1条 1/1 1 跳转至

回复

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