我一直试图让步进电机工作一个多星期。它已经有一段时间没有响应我的 python 脚本了。
当我刚购买步进电机时,一切正常,我的问题为零。现在,几周后,它似乎没有回应。ULN2003 板上的灯亮起,但电机本身没有转动,只是在振动。这让我认为这是一个线路或脚本问题,但看起来不像。我尝试了其他一些脚本并更改了几次电线,但无济于事。
这是曾经工作的代码:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
# 7=A, 11=B, 13=C, 15=D
control_pins = [7,11,13,15]
while 1:
for pin in control_pins:
GPIO.setup(pin, GPIO.OUT)
GPIO.output(pin, 0)
halfstep_seq = [
[1,0,0,0], # Step 1
[1,1,0,0], # Step 2
[0,1,0,0], # Step 3
[0,1,1,0], # Step 4
[0,0,1,0], # Step 5
[0,0,1,1], # Step 6
[0,0,0,1], # Step 7
[1,0,0,1] # Step 8
]
for i in range(512):
for halfstep in range(8):
for pin in range(4):
GPIO.output(control_pins[pin], halfstep_seq[halfstep][pin])
time.sleep(0.001)
是的,我知道 GPIO.cleanup() 应该在那里。我故意将其删除,以便循环继续运行。这样我就更容易发现任何错误,而不是电机只绕一圈然后每次都停下来。
老实说,我希望电机由于某种原因而坏了。不知道是怎么回事,也不知道是什么时候,但它可能撞到了导致内部电机损坏的东西。
如果有更多经验的人可以告诉我在这种情况下该怎么做,请帮助我。