目前现在用Raspberry pi控制步进马达来转,不过目前遇到的问题是
4个步进马达转好几百圈之后,每一个步进马达停的位置都不一样
不清楚是因为每一个步进马达买来之后,原始的位置就不同
还是因为程式方面没有做让步进马达归零的动作,目前使用的步进马达是5V步进马达(4相
5线 28BYJ-48-5V)
程式码如下:
def forward( steps ):
for i in range( steps ):
setStep(0, 1, 1, 0)
time.sleep(0.01)
setStep(1, 1, 0, 0)
time.sleep(0.01)
setStep(1, 0, 0, 1)
time.sleep(0.01)
setStep(0, 0, 1, 1)
time.sleep(0.01)
setStep(0, 1, 1, 0)
def backward( steps ):
for i in range( steps ):
setStep(0, 0, 1, 1)
time.sleep(0.01)
setStep(1, 0, 0, 1)
time.sleep(0.01)
setStep(1, 1, 0, 0)
time.sleep(0.01)
setStep(0, 1, 1, 0)
time.sleep(0.01)
setStep(0, 0, 1, 1)
def setStep(w1, w2, w3, w4):
GPIO.output(coil_A_1_pin, w1)
GPIO.output(coil_A_2_pin, w2)
GPIO.output(coil_B_1_pin, w3)
GPIO.output(coil_B_2_pin, w4)
setStep(0, 0, 0, 0)
forward(45)
backward(45)
请各位大大帮忙解惑了,感激不尽!!