Я работаю над проектом, и, к сожалению, мой двигатель постоянного тока не работает. Я подключил его следующим образом , используя совершенно новый двигатель (SP BN2A в этом документе, я взял его из биде, который был у меня дома), питая всю систему от источника постоянного тока, чтобы я мог точно контролировать напряжение, используя Raspberry Pi в качестве контроллера и используя следующий код:
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))
Мотор вибрирует и нагревается, когда я подаю питание на систему и запускаю код, но не вращается. Какая часть моей системы неверна? Это оборудование двигателя, проводка, код, источник питания или что-то еще?
Спасибо, любая помощь приветствуется.
Наконец-то разобрался! Я заменил униполярный двигатель на биполярный, и вся система заработала как есть! Чтобы использовать униполярный двигатель, необходимо использовать ИС управления двигателем специально для униполярного двигателя, и L293D не выполняет эту задачу.
Тревор_G
НеонКоп
Эндрю Мортон
НеонКоп
Эндрю Мортон
Энди ака
Джон Биркхед
НеонКоп
НеонКоп
Джон Биркхед