Hi Ich habe mir einen L293D gekauft, um damit einen Schrittmotor anzusteuern (http://www.reichelt.de/?ACTION=3;ARTICLE=9661;SEARCH=L293d)
Der Schrittmotor ist ein (http://www.pollin.de/shop/dt/OTAzOT…N01CN_1_8_.html)
Ich habe eine Verkabelung und einen Python Code gefunden, wobei ich gehofft hatte, dass das nach Plug and Play funktionieren würde... Leider bewegt sich der Schrittmotor jedoch nicht.
Es wäre klasse, wenn mir jemand helfen könnte.
Zur Übersicht habe ich meinen Aufbau via Fritzing digitalisiert, der Code wurde auch angefügt.
Ich verwende einen 100 Ohm Widerstand (Ist das richtig?) und ein externes Netzteil mit 12 Volt.
Code
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
coil_A_1_pin = 12 # pink
coil_A_2_pin = 13 # orange
coil_B_1_pin = 15 # blau
coil_B_2_pin = 16 # gelb
#enable_pin = 7 # Nur bei bestimmten Motoren benoetigt (+Zeile 24 und 30)
# anpassen, falls andere Sequenz
StepCount = 8
Seq = list(range(0, StepCount))
Seq[0] = [0,1,0,0]
Seq[1] = [0,1,0,1]
Seq[2] = [0,0,0,1]
Seq[3] = [1,0,0,1]
Seq[4] = [1,0,0,0]
Seq[5] = [1,0,1,0]
Seq[6] = [0,0,1,0]
Seq[7] = [0,1,1,0]
#GPIO.setup(enable_pin, GPIO.OUT)
GPIO.setup(coil_A_1_pin, GPIO.OUT)
GPIO.setup(coil_A_2_pin, GPIO.OUT)
GPIO.setup(coil_B_1_pin, GPIO.OUT)
GPIO.setup(coil_B_2_pin, GPIO.OUT)
#GPIO.output(enable_pin, 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)
def forward(delay, steps):
for i in range(steps):
for j in range(StepCount):
setStep(Seq[j][0], Seq[j][1], Seq[j][2], Seq[j][3])
time.sleep(delay)
def backwards(delay, steps):
for i in range(steps):
for j in reversed(range(StepCount)):
setStep(Seq[j][0], Seq[j][1], Seq[j][2], Seq[j][3])
time.sleep(delay)
if __name__ == '__main__':
while True:
delay = raw_input("Zeitverzoegerung (ms)?")
steps = raw_input("Wie viele Schritte vorwaerts? ")
forward(int(delay) / 1000.0, int(steps))
steps = raw_input("Wie viele Schritte rueckwaerts? ")
backwards(int(delay) / 1000.0, int(steps))
Alles anzeigen
Ist der Fehler im Code zu finden, oder in der Verkabelung? Ich bin etwas ratlos...