4线步进电机+DM420驱动器简介
步进电机
简单解释:步进电机原理是:收到固定数量的(一高一低)脉冲,转动固定的角度,而脉冲是可以通过PWM输出的,所以通过PWM输出可以控制步进电机的控制。
DM420 两相步进电机 驱劢器使用说明
驱动器可以让步进电机的控制更加精确,具体信息参考说明书:
说明书
需要注意的是,即使你的驱动器是DM520之类的,操作都是完全相同的,博主在DM520上也验证过,是可以的。
驱动器接线
DM420驱动器 | PYB |
---|---|
脉冲+ | X1(TIM2,CH1) |
脉冲- | GND |
方向+ | X4 |
方向- | X6 |
- 正极接12V外接电源,负极接负极即可;
- A+、A-、B+、B-需要按照步进电机铭牌标注进行接线。
SW开关调节
博主选择的是Pluse为800的模式,可根据需要自选。具体调节结合代码理解。
步进电机控制代码
from pyb import Pin, Timer
import pyb
#p_A用于输出PWM脉冲
p_A = Pin('X1')
tim1 = pyb.Timer(2, freq=1600) #定时器2设定频率为1600,即每秒输出1600个脉冲数,单位时间内的脉冲数越大,步进电机的速度越快
ch1 = tim1.channel(1, Timer.PWM, pin=p_A) #设定为PWM模式
#设定控制方向的引脚,
dir_ahead = Pin('X4', Pin.OUT_PP)
dir_back = Pin('X6', Pin.OUT_PP)
# while 1:
#向前,方向+高电平。方向-低电平
dir_ahead.high()
dir_back.low()
ch1.pulse_width_percent(50) #输出占空比为50%的PWM脉冲,即在一个脉冲中,高电平脉冲一半时间,低电平脉冲一半时间
pyb.delay(1000)
#向后,相反
dir_back.high()
dir_ahead.low()
ch1.pulse_width_percent(50)
pyb.delay(1000)
dir_ahead.low()
dir_back.low()