Micropython——PWM控制驱动器+步进电机
4线步进电机+DM420驱动器简介
步进电机
简单解释:步进电机原理是:收到固定数量的(一高一低)脉冲,转动固定的角度,而脉冲是可以通过PWM输出的,所以通过PWM输出可以控制步进电机的控制。
DM420 两相步进电机 驱劢器使用说明
驱动器可以让步进电机的控制更加精确,具体信息参考说明书: 需要注意的是,即使你的驱动器是DM520之类的,操作都是完全相同的,博主在DM520上也验证过,是可以的。
驱动器接线
-
正极接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()
