好吧 谢谢 发布到那呀 论坛上吗
B
brcy
@brcy
0
声望
32
楼层
981
资料浏览
0
粉丝
0
关注
brcy 发布的帖子
-
源代吗应用出错
from pyb import udelay from machine import Pin class Stepper: def __init__(self, step_pin, dir_pin, step_time=200): #初始化 self.stp = step_pin self.dir = dir_pin self.stp.init(Pin.OUT_PP) self.dir.init(Pin.OUT_PP) self.step_time = step_time # us self.steps_per_rev = 1600 self.current_position = 0 def steps(self, step_count=1): #驱动电机走几步 self.dir.value(0 if step_count > 0 else 1) for i in range(abs(step_count)): self.stp.value(1) udelay(self.step_time) self.stp.value(0) udelay(self.step_time) self.current_position += step_count def rel_angle(self, angle): #驱动电机旋转相应的角度(相对角度控制) steps = int(angle / 360 * self.steps_per_rev) self.steps(steps) def abs_angle(self, angle): #驱动电机旋转到相应的位置(绝对角度控制) steps = int(angle / 360 * self.steps_per_rev) steps -= self.current_position % self.steps_per_rev self.steps(steps) ![0_1539501830853_QQ截图20181014152333.bmp](正在上传 100%)
-
步进电机问题
![0_1538810620589_QQ截图20181006152227.bmp](正在上传 100%)
from pyb import udelay from machine import Pin class Stepper: def __init__(self, step_pin, dir_pin, step_time=200): #初始化 self.stp = step_pin self.dir = dir_pin self.stp.init(Pin.OUT_PP) self.dir.init(Pin.OUT_PP) self.step_time = step_time # us self.steps_per_rev = 1600 self.current_position = 0 def steps(self, step_count=1): #驱动电机走几步 self.dir.value(0 if step_count > 0 else 1)#当step_count为正数的时候,设置dir引脚为低电平。否则为高电平。 for i in range(abs(step_count)):#发送step_count数量的脉冲 self.stp.value(1) udelay(self.step_time) self.stp.value(0) udelay(self.step_time) self.current_position += step_count#记录现在的角度