Ich arbeite an einem Projekt und leider funktioniert mein Gleichstrommotor nicht. Ich habe es so verkabelt , verwende einen brandneuen Motor (SP BN2A in diesem Dokument, ich habe ihn von einem Bidet gespült, das ich zu Hause hatte) und versorge das gesamte System mit einer Gleichstromversorgung, damit ich die Spannung genau steuern kann Raspberry Pi als Controller und mit folgendem Code:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
enable_pin = 5
coil_A_1_pin = 26
coil_A_2_pin = 19
coil_B_1_pin = 6
coil_B_2_pin = 13
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 forward(delay, steps):
for i in range(0, steps):
setStep(1, 0, 1, 0)
time.sleep(delay)
setStep(0, 1, 1, 0)
time.sleep(delay)
setStep(0, 1, 0, 1)
time.sleep(delay)
setStep(1, 0, 0, 1)
time.sleep(delay)
def backwards(delay, steps):
for i in range(0, steps):
setStep(1, 0, 0, 1)
time.sleep(delay)
setStep(0, 1, 0, 1)
time.sleep(delay)
setStep(0, 1, 1, 0)
time.sleep(delay)
setStep(1, 0, 1, 0)
time.sleep(delay)
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)
while True:
delay = raw_input("Delay between steps (milliseconds)?")
steps = raw_input("How many steps forward? ")
forward(int(delay) / 1000.0, int(steps))
steps = raw_input("How many steps backwards? ")
backwards(int(delay) / 1000.0, int(steps))
Der Motor vibriert und erwärmt sich, wenn ich das System einschalte und den Code ausführe, dreht sich aber nicht. Welcher Teil meines Systems ist falsch? Ist es die Hardware des Motors, die Verkabelung, der Code, die Stromversorgung oder etwas anderes?
Danke, jede Hilfe ist willkommen.
Endlich verstanden! Ich habe den unipolaren Motor durch einen bipolaren ersetzt, und das ganze System funktionierte perfekt, so wie es ist! Um den unipolaren Motor zu verwenden, ist es notwendig, einen Motortreiber-IC speziell für den unipolaren Motor zu verwenden, und der L293D erfüllt diese Aufgabe nicht.
Trevor_G
NeonCop
Andreas Morton
NeonCop
Andreas Morton
Andi aka
John Birkkopf
NeonCop
NeonCop
John Birkkopf