一:前言
在之前的帖子中,我们实现了树莓派以PWM方式实现呼吸灯效果。下面我们进行步进电机的控制。
二:硬件准备:
1:42步进电机的滑台一个
2:手持示波器:用来测量有无波形输出
3:正点原子DP100可调电源:给驱动模块供电
4:主控:RP2040主控芯片
三:驱动芯片介绍:
TMC2209 是用于台式解决方案的终极步进驱动器,可同时进行失速检测和极其安静的运行。与数个传统驱动器兼容引脚,支持更高的电流,同时降低了冷却要求。TMC2209 是一款极其安静的步进驱动器 IC,也可作为 SilentStepStick 使用。使用针对高达2 A (RMS) 和 29 V 的 2 相步进电机的电机驱动器,可以并联使用 StallGuard4™ 和 StealthChop2™,从而确保无噪音运行,而无需限位开关。
四:硬件连接:
GP1 :电机速度控制输出引脚
GP0:电机方向控制输出引脚
EN:驱动芯片引脚使能,低电平有效
VIO:3.3v 供电正
VM:驱动板供电:DC12V
GND:供电负
五:核心代码如下:
from machine import Pin, PWM, Timer # 配置 PWM pwm_pin = Pin(1) pwm = PWM(pwm_pin) pwm.freq(1000) pwm.duty_u16(32767) # 定义占空比变量 duty = 0 direction = 1 # 1 表示增加,-1 表示减少 # 定时器回调函数 def update_pwm(timer): global duty, direction duty += direction * 500 # 每次增加或减少 200 if duty >= 65535 or duty <= 0: direction *= -1 # 反转方向 # pwm.duty_u16(duty) pwm.freq(2300) pwm.duty_u16(32767) # 配置定时器 timer = Timer() timer.init(period=10, mode=Timer.PERIODIC, callback=update_pwm) # 每 10ms 触发一次
六:实物验证:

我要赚赏金
