我已经试着让步进电机工作一个多星期了。它已经有一段时间没有响应我的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文件()应该在里面。我故意删除了它,这样循环就可以继续运行了。这样,我更容易发现任何错误,而不是电机只是做一圈,每次停止。你知道吗
我真的以为马达会因为某种原因坏掉。不知道是怎么回事,也不知道什么时候,但它可能撞到了什么东西,把里面的马达弄坏了。你知道吗
如果有经验丰富的人能告诉我在这种情况下该怎么办,请帮助我。你知道吗
所以我的猜测是,你使用的步进时间(睡眠时间)太短了,在你试图驱动它到下一个位置之前,马达没有足够的时间转到新的位置。有效地说,这个程序正在超越马达的能力。可能是电机中的物理轴承已轻微退化,或者驱动电路无法驱动电机(比工作时的电压/功率低)。电机的技术规格是否提供了可以驱动的最大理论转速?它是否提供了一个最短的步进时间或类似的信息,可以指导这一点?你知道吗
另一方面,如果你说某个东西崩溃了,那么提供堆栈跟踪或其他错误输出是非常有帮助的,这样人们就可以试着帮助理解为什么和什么东西不起作用。你知道吗
相关问题 更多 >
编程相关推荐