● 简介
拿到实物也有段时间了,在上期静音步进电机控制实践开箱帖已经详细的分享了TMC2209电机驱动模块的各个接口,而且各接口也焊接好插针,主控Pico及其它外设均已准备完成。此次分享一下,使用自备的Pico开发板,12V电源,步进0.9°的电机,加上活动中购买的TMC2209电机驱动模块,实现基本的驱动控制测试。
● 硬件连线
正如上期帖子中提到的,将TMC2209电机驱动模块的各主要管脚通过杜邦线与树莓派Pico相连接,12V电源也供给TMC2209。
Dir ----> GP16
Step ----> GP17
En ----> GP18

● 程序编写
这里笔者使用Thonny IDE编写MicroPyhton脚本程序,关于Thonny IDE的环境安装,这里就不展开赘述了,非常简单,跟通用软件安装一样。编写的测试程序如下:
from machine import Pin
import time
STEP = Pin(17, Pin.OUT) # Step pulse pin
DIR = Pin(16, Pin.OUT) # Direction control pin
EN = Pin(18, Pin.OUT) # Enable pin (low = enabled)
# Enable driver
EN.value(0)
# Motion parameters
STEPS_180 = 1600 # 180° pulse count for 0.9°
FREQUENCY = 1000 # Step frequency (Hz)
DELAY_US = int(1000000 / FREQUENCY / 2) # Microsecond delay for half period
# Record total loop count
cycle_count = 0
def rotate(target_steps, direction):
# Set direction pin
DIR.value(direction)
# Send step pulses
for _ in range(target_steps):
STEP.value(1)
time.sleep_us(DELAY_US)
STEP.value(0)
time.sleep_us(DELAY_US)
def main():
global cycle_count
while cycle_count < 3:
print("Forward 180°")
rotate(STEPS_180, 1) # 1 = forward
time.sleep(0.5)
print("Reverse 180°")
rotate(STEPS_180, 0) # 0 = reverse
cycle_count += 1
time.sleep(1) # Pause between cycles
EN.value(1) # Disable driver
if __name__ == "__main__":
main()● 视频演示
程序实现了0.9°步进电机运行了3次正转、反转,每次转动180°,大约需1600步,测试了许久,精度非常高,TMC2209模块稳定而不发热,静音高效驱动。该模块还集成串口参数精细控制,证实是一款性价比非常高的步进电机驱动模块。
我要赚赏金
